INGENIERÍA Y SERVICIOS IT

Sistema Heredado

Un sistema heredado (o sistema legacy) es un sistema informático (equipos informáticos o aplicaciones) que ha quedado anticuado pero que sigue siendo utilizado por el usuario (generalmente, una organización o empresa) y no se quiere o no se puede reemplazar o actualizar de forma sencilla.

Las compañías gastan mucho dinero en sistemas informáticos y, para obtener un beneficio de esa inversión, el software o el hardware debe utilizarse varios años. El tiempo de vida de los sistemas informáticos es muy variable, pero muchos sistemas grandes se pueden llegar a utilizar hasta más de 20 años. Muchos de estos sistemas antiguos aún son importantes para sus respectivos negocios, es decir, las empresas cuentan con los servicios suministrados por estos sistemas y cualquier fallo en estos servicios tendría un efecto serio en el funcionamiento de la organización. Estos sistemas antiguos reciben el nombre de sistemas heredados.

Lo habitual es que los sistemas heredados, los que ya suponen un problema para una empresa u organización por la dificultad para sustituirlos, no sean los mismos sistemas que originalmente se empezaron a utilizar en la empresa. Muchos factores externos e internos, como el estado de las economías nacional e internacional, los mercados cambiantes, los cambios en las leyes, los cambios de administración o la reorganización estructural, conducen a que los negocios experimenten cambios continuos. Estos cambios generan o modifican los requerimientos del sistema de información, por lo que éste va sufriendo cambios conforme cambian los negocios. Por esta razón, los sistemas heredados incorporan un gran número de actualizaciones hechas a lo largo de su vida útil. Muchas personas diferentes pueden haber estado involucradas en la realización de estas modificaciones a lo largo del tiempo, y es inusual para cualquier usuario o administrador del sistema tener un conocimiento completo del mismo, sobre todo cuando éste tiene una cierta envergadura , esto sin tener en cuenta la inversión horas/hombre requerida para capacitar a los trabajadores del área de sistemas para familiarizarlos con el mismo y sean capaces de mantenerlo (entre 2 y cuatro años ) .

Riesgos de la migración de un sistema heredado
Los sistemas heredados son considerados potencialmente problemáticos por numerosos ingenieros de software por diversos motivos. Dichos sistemas a menudo operan en ordenadores obsoletos y lentos, cuyo mantenimiento tiene elevados costes y son difíciles de actualizar por falta de componentes adecuados o de mantenimiento.

Los negocios por lo general reemplazan sus equipos y maquinaria con sistemas más modernos. Sin embargo, desechar un sistema informático y reemplazarlo con hardware y software moderno conduce a riesgos de negocio significativos. Reemplazar un sistema heredado es una estrategia de negocios arriesgada por varias razones:

Rara vez existe una especificación completa de los sistemas heredados. Si existe una especificación, no es probable que tenga los detalles de todos los cambios hechos en el sistema. Por lo tanto, no existe ninguna forma directa de especificar un nuevo sistema que sea funcionalmente idéntico al sistema que se utiliza.
Los procesos de negocios y las formas en que los sistemas heredados operan a menudo están intrincadamente entrelazados. Estos procesos se diseñaron para aprovechar los servicios del software y evitar sus debilidades. Si el sistema se reemplaza, estos procesos también tendrán que cambiar, con costos y consecuencias impredecibles.
Las reglas de negocio importantes están contenidas en el software y no suelen estar anotadas en ningún documento de la empresa. Una regla de negocio es una restricción que aparece en algunas funciones del negocio y romper esa restricción puede tener consecuencias impredecibles para éste. Por ejemplo, las reglas para valorar el riesgo de la aplicación de una política de una compañía de seguros pueden estar contemplados en su software. Si a estas reglas no se les da mantenimiento, la compañía puede aceptar políticas de riesgo altas que conduzcan a costosas reclamaciones.
El desarrollo de nuevo software es por sí mismo arriesgado, ya que pueden existir problemas inesperados. Puede ser, por ejemplo, que no se entregue a tiempo con el precio previsto.
Costes de mantenimiento de un sistema heredado
Seguir utilizando los sistemas heredados evita los mencionados riesgos del reemplazo, pero hacer cambios al sistema existente en vez de cambiarlo por uno más moderno puede ser más costoso puesto que éste es cada vez más viejo. Las razones de este coste de mantenimiento de sistemas que ya tienen una cierta antigüedad son:

Las diversas partes del sistema pueden haber sido implementadas por diferentes equipos. Por lo tanto, existen estilos de programación no consistentes a lo largo del sistema.
Parte del sistema o todo él pudo implementarse utilizando un lenguaje de programación que ahora es obsoleto. Es difícil encontrar personal que tenga conocimiento de estos lenguajes de programación, por lo que se requiere consultoría externa costosa para dar mantenimiento al sistema.
A menudo, la documentación del sistema no es adecuada y no está actualizada. En algunos casos, la única documentación existente es el código fuente del sistema. En los casos más graves el código fuente pudo haberse perdido y sólo está disponible la versión ejecutable del sistema.
Por lo general, muchos años de mantenimiento dañan la estructura del sistema, haciéndola cada vez más difícil de comprender. Tal vez se agregaron nuevos programas que interactúan con otras partes del sistema de una forma adyacente.
El sistema se pudo optimizar para la utilización del espacio o para la velocidad de ejecución más que para comprenderlo del todo. Esto provoca dificultades importantes a los programadores que conocen las técnicas modernas de ingeniería de software pero no conocen los trucos de programación utilizados por quienes desarrollaron el sistema original (quienes probablemente desconocían los conceptos de la ingeniería de software actual).
Los datos procesados por el sistema se conservan en diferentes archivos que pueden tener estructuras o formatos incompatibles. Puede existir duplicación de datos y los datos mismos pueden no estar actualizados, ser imprecisos o estar incompletos.
Alternativas
Los negocios que tienen sistemas informáticos anticuados se enfrentan a un dilema fundamental. Si continúan utilizando los sistemas heredados y realizan los cambios requeridos, sus costos se incrementarán de forma inevitable. Si deciden reemplazar sus sistemas heredados con nuevos sistemas, esto tendrá un coste y puede ocurrir que los nuevos sistemas no provean apoyo efectivo al negocio como lo hacen los sistemas heredados.

Mantener el sistema heredado
Muchos negocios están buscando técnicas de ingeniería de software que prolonguen el tiempo de vida de los sistemas heredados y que reduzcan los costos de seguir utilizando estos sistemas.

La Arquitectura Orientada a Servicios (SOA)
Una solución a este tipo de casuísticas tan complejas podría ser la implementación de una arquitectura orientada a servicios o SOA (por sus siglas en inglés), donde las aplicaciones de los sistemas heredados podrían ser publicadas como servicios. El carácter modular de una SOA, también hace que sea fácil poder adaptarse a los cambios de mercado con la simple creación o publicación de servicios sin tener que depender de una macro-estructura tan compleja. Aun así habría que tener en cuenta los posibles riesgos que entraña.

Solución monolítica
Otra solución a los sistemas heredados puede ser la aplicación de un sistema integrado y monolítico que reemplace los sistemas legados, con procesos de negocio estándares para los diferentes requerimientos de la organización. Algunas de las soluciones monolíticas más famosas son la implementación de sistemas ERP.

Anuncios
SEGURIDAD

SNIFFER

Un sniffer es una aplicación especializada para el análisis de redes informáticas, que permite capturar y estudiar los paquetes que se envían y reciben por la red. Desde un sniffer es posible saber, por ejemplo, el remitente de la información, el destinatario de la misma, el servidor que se ocupa del proceso y el tipo de paquete de datos que se está transmitiendo. Un sniffer se puede instalar en cualquier equipo de la red local, puede estar oculto o no. Un sniffer también puede ser un dispositivo físico, como por ejemplo un router, que se conecta en la red LAN.

Es difícil detectar un sniffer malicioso instalado secretamente en un equipo o en la red, ya que su comportamiento no corresponde a un malware, y un antivirus típico no podría detectarlo. Existen aplicaciones tipo anti-spyware, que son programas capaces de encontrar sniffers como por ejemplo Reimage, Malwarebytes.

El tipo de uso que se le puede dar a un sniffer es muy variado, y el resultado depende de la intensión del usuario que ejecute el análisis. Por ejemplo, con un sniffer es posible monitorear y administrar todo lo que ocurre dentro de la red LAN que se haya organizado en una empresa específica, también se pueden hacer auditorías completas de las redes, comprobar el tráfico que entra y sale de la empresa y monitorizar en base a ello el comportamiento del mismo. Con un sniffer también es posible atacar las redes de una empresa, comprobando por ejemplo cuáles son las vulnerabilidades que existen en las mismas. Con un sniffer también se puede robar información sensible transmitida a través de la red (interceptar chats, correos electrónicos, información no encriptada enviada en formularios de páginas web, etc). Un sniffer no interfiere con la operación de la red LAN, ni busca infectar el sistema con ningún tipo de malware. El uso malintencionado de una aplicación de este tipo se centra en violar la privacidad de la red y conocer su estructura.

Un sniffer de uso muy extendido, tanto en sistemas operativos Linux y Windows, es Wireshark. Este es un analizador de trafico de red open-source, su uso principal es el análisis de tráfico, y es muy útil en el análisis de las comunicaciones y para la resolución de problemas de red. Tiene una amplia gama de filtros que facilitan la definición de criterios de búsqueda para los más de 1100 protocolos soportados actualmente, cuenta con una interfaz sencilla que permite interpretar fácilmente los resultados de un análisis.

Wireshark_screenshot.png

SEGURIDAD

HACKING Y SEGURIDAD EN VEHÍCULOS

El uso de internet y de tecnología en los objetos de uso diario (IoT) también se ve reflejado en los automóviles, por ejemplo, incorporando funciones de encendido desde teléfonos inteligentes, de auto-parqueo o de geolocalización. Pero el uso de las tecnologías de la información en los automóviles incrementa las vulnerabilidades informáticas a las que está expuesto un vehículo, por ejemplo:

Las llaves: Las llaves de los vehículos ahora son chips electrónicos con códigos que pueden ser descifrados, por ejemplo, mediante una técnica llamada chip slicing, la cual consiste en analizar mediante un microscopio a los pequeños transistores que lo conforman, para así interferir con el algoritmo que programa el funcionamiento de la llave.

El motor: El motor de la mayoría de los vehículos incorpora el ECU (Unidades de Control Electrónico) y desde este dispositivo se controlan los aspectos funcionales del auto, incluyendo aceleración, frenado, dirección y bocina. A dicho dispositivo se le puede implementar un software que envía instrucciones a la computadora de la red del vehículo y reemplaza los comandos de los controladores reales de la unidad, alterando la funcionalidad del automóvil.

El tablero: En un tablero digital de un vehículo se pueden modificar los índices de combustible o velocidad. Interviniendo las redes inalámbricas del vehículo, es posible intervenir la radio, tocar la bocina, activar y desactivar limpiaparabrisas, controlar el aire acondicionado etc.

Estas son algunas marcas de automóviles y sus respectivas vulnerabilidades:

BMW X3: Es posible acceder al sistema BMW Connected Drive y sus conexiones Bluetooth y Wi-fi, permitiendo controlar las funciones del vehículo desde cualquier dispositivo móvil o computador, como por ejemplo conducción semiautomática, estacionamiento, ejecución de aplicaciones del tablero, etc.

Chrysler 300: El sistema de infoentretenimiento Uconnect permite acceso al control de funcionalidades del vehículo, como ejecución de aplicaciones, control de la navegación y geolocalización, administración de las comunicaciones a través del manos libres, control de voz con Siri,etc .

Land Rover Range Rover Evoque: Tiene implementado un sistema de infoentretenimiento InControl, que controla elementos multimedia, navegación y geolocalización. Adicionalmente tiene acceso sin llave, conexión Wi-Fi o Bluetooth.

Toyota Prius 2010: Cuenta con varios elementos inseguros: vulnerabilidad de la radio, conexión de Bluetooth, acceso sin llave, conectividad con el teléfono móvil y sistema Safety Connect, el cual mantiene conectado y geolocalizado el vehículo permanentemente.

Infiniti Q50: Cuenta con sistema de infoentretenimiento, la radio y demás componentes electrónicos están conectados con la dirección, el motor y los frenos. Un ataque al sistema de infoentretenimiento podría permitir el control de funciones principales del vehiculo.

Jeep Cherokee: Los frenos, el motor y la dirección son los elementos más expuestos en este modelo. El sistema Uconnect puede permitir interceptar la radio del Cherokee, e incluso apagar el motor del automóvil.

Cadillac Escalade 2015: El sistema OnStar, incluido en multitud de vehículos de General Motors, al conectarse mediante una red inalámbrica puede permitir la captura de comandos enviados desde un teléfono inteligente, permitiendo así posibles violaciones de privacidad o robo de información.

SEGURIDAD

HACKING A MARCA PASOS

Barnaby Jack fue un hacker, programador y experto en seguridad informática. Entre sus trabajos más notables se encuentran la explotación de diversos dispositivos médicos, incluidos marcapasos y bombas de insulina. En el momento de su muerte, en 2013, era el Director de Embedded Device Security en IOActive, una empresa de seguridad informática con sede en Seattle y Londres.

Uno de sus trabajos más importantes, y en el cual muchos los consideran pionero, se relaciona con hacking a marcapasos, y esto se da principalmente porque muchos de estos dispositivos médicos disponen de conexiones inalámbricas que les permiten intercambiar información con los equipos de hospitales y médicos. El objetivo de permitir este tipo de conexiones, e permitir la configuración y ajustes del dispositivo, así como el control y monitoreo del paciente por parte de su médico.

Ya en el año 2008, un equipo de investigadores del Centro Arquímedes para la Seguridad de Dispositivos Médicos de la Universidad de Michigan había realizado demostraciones de hackeo a marcapasos cuando el portador del dispositivo estaba muy cerca, pero en 2013 Barnaby iba a explicar como realizar ese tipo de ataques a través de comunicación inalámbrica a distancias superiores a 15 metros, cosa que no pudo realizar porque falleció justo antes del congreso Blackhat donde participaría como conferencista.

En el año 2017, La firma de seguridad WhiteScope publicó un informe en el que detalla cerca de 8.000 vulnerabilidades de seguridad digital que encontraron en marcapasos de uso común. Los principales hallazgos de seguridad analizados en dicho informe se centran en que muchos de estos dispositivos utilizan componentes o se apoyan en servicios (incluyendo aspectos de conectividad y software) prestados por terceros. El estudio demostró que existe la posibilidad de intervenir el programador de un marcapasos, alterando su funcionamiento y pudiendo incluso causar una falla cardiaca al paciente.

VARIOS

RED NEURONAL ARTIFICIAL

Las redes neuronales artificiales (también conocidas como sistemas conexionistas) son un modelo computacional vagamente inspirado en el comportamiento observado en su homólogo biológico. Consiste en un conjunto de unidades, llamadas neuronas artificiales, conectadas entre sí para transmitirse señales. La información de entrada atraviesa la red neuronal (donde se somete a diversas operaciones) produciendo unos valores de salida.

Cada neurona está conectada con otras a través de unos enlaces. En estos enlaces el valor de salida de la neurona anterior es multiplicado por un valor de peso. Estos pesos en los enlaces pueden incrementar o inhibir el estado de activación de las neuronas adyacentes. Del mismo modo, a la salida de la neurona, puede existir una función limitadora o umbral, que modifica el valor resultado o impone un límite que se debe sobrepasar antes de propagarse a otra neurona. Esta función se conoce como función de activación.

Estos sistemas aprenden y se forman a sí mismos, en lugar de ser programados de forma explícita, y sobresalen en áreas donde la detección de soluciones o características es difícil de expresar con la programación convencional. Para realizar este aprendizaje automático, normalmente, se intenta minimizar una función de pérdida que evalúa la red en su total. Los valores de los pesos de las neuronas se van actualizando buscando reducir el valor de la función de pérdida. Este proceso se realiza mediante la propagación hacia atrás.

El objetivo de la red neuronal es resolver los problemas de la misma manera que el cerebro humano, aunque las redes neuronales son más abstractas. Las redes neuronales actuales suelen contener desde unos miles a unos pocos millones de unidades neuronales.

Nuevas investigaciones sobre el cerebro a menudo estimulan la creación de nuevos patrones en las redes neuronales. Un nuevo enfoque está utilizando conexiones que se extienden mucho más allá y capas de procesamiento de enlace en lugar de estar siempre localizado en las neuronas adyacentes. Otra investigación está estudiando los diferentes tipos de señal en el tiempo que los axones se propagan, como el aprendizaje profundo, interpola una mayor complejidad que un conjunto de variables booleanas que son simplemente encendido o apagado.

Las redes neuronales se han utilizado para resolver una amplia variedad de tareas, como la visión por computador y el reconocimiento de voz, que son difíciles de resolver usando la ordinaria programación basado en reglas. Históricamente, el uso de modelos de redes neuronales marcó un cambio de dirección a finales de los años ochenta de alto nivel, que se caracteriza por sistemas expertos con conocimiento incorporado en si-entonces las reglas, a bajo nivel de aprendizaje automático, caracterizado por el conocimiento incorporado en los parámetros de un modelo cognitivo con algún sistema dinámico.

INGENIERÍA Y SERVICIOS IT, SEGURIDAD

NORMA ISO/IEC 27017 – CONTROLES DE SEGURIDAD PARA SERVICIOS CLOUD

Tecnología de la información – Técnicas de seguridad – Código de prácticas para los controles de seguridad de la información en base a la norma ISO/IEC 27002 para los servicios en la nube.

Utilizada conjuntamente con la familia de normas ISO 27001, la norma ISO/IEC 27017 proporciona controles para proveedores y clientes de servicios en la nube. A diferencia de muchas otras normas relacionadas con la tecnología, ISO/IEC 27017 aclara las funciones y responsabilidades de ambas partes para ayudar a que los servicios en la nube sean tan seguros como el resto de los datos incluidos en un sistema de gestión de la información certificado.

La norma proporciona una guía con 37 controles en la nube basados en ISO/IEC 27002, pero también ofrece siete nuevos controles cloud que tratan los siguientes puntos:

  • Quién es responsable de lo que ocurre entre el proveedor del servicio cloud y el cliente cloud
  • La eliminación/devolución de activos cuando un contrato se resuelve
  • Protección y separación del entorno virtual del cliente
  • Configuración de una máquina virtual
  • Operaciones y procedimientos administrativos relacionados con el entorno cloud
  • Seguimiento de la actividad de clientes en la nube
  • Alineación del entorno de la red virtual y cloud

https://www.isotools.org/2017/03/16/iso-27017-controles-seguridad-servicios-la-nube/

INGENIERÍA Y SERVICIOS IT, SEGURIDAD

ISO/IEC 27002

ISO/IEC 27002 es un estándar para la seguridad de la información publicado por la Organización Internacional de Normalización y la Comisión Electrotécnica Internacional. La versión más reciente es la ISO/IEC 27002:2013.

ISO/IEC 27002 proporciona recomendaciones de las mejores prácticas en la gestión de la seguridad de la información a todos los interesados y responsables en iniciar, implantar o mantener sistemas de gestión de la seguridad de la información. La seguridad de la información se define en el estándar como “la preservación de la confidencialidad (asegurando que sólo quienes estén autorizados pueden acceder a la información), integridad (asegurando que la información y sus métodos de proceso son exactos y completos) y disponibilidad (asegurando que los usuarios autorizados tienen acceso a la información y a sus activos asociados cuando lo requieran)”.

La versión de 2013 del estándar describe los siguientes catorce dominios principales:

  1. Políticas de Seguridad: Sobre las directrices y conjunto de políticas para la seguridad de la información. Revisión de las políticas para la seguridad de la información.
  2. Organización de la Seguridad de la Información: Trata sobre la organización interna: asignación de responsabilidades relacionadas a la seguridad de la información, segregación de funciones, contacto con las autoridades, contacto con grupos de interés especial y seguridad de la información en la gestión de proyectos.
  3. Seguridad de los Recursos Humanos: Comprende aspectos a tomar en cuenta antes, durante y para el cese o cambio de trabajo. Para antes de la contratación se sugiere investigar los antecedentes de los postulantes y la revisión de los términos y condiciones de los contratos. Durante la contratación se propone se traten los temas de responsabilidad de gestión, concienciación, educación y capacitación en seguridad de la información. Para el caso de despido o cambio de puesto de trabajo también deben tomarse medidas de seguridad, como lo es des habilitación o actualización de privilegios o accesos.
  4. Gestión de los Activos: En esta parte se toca la responsabilidad sobre los activos (inventario, uso aceptable, propiedad y devolución de activos), la clasificación de la información (directrices, etiquetado y manipulación, manipulación) y manejo de los soportes de almacenamiento (gestión de soporte extraíbles, eliminación y soportes físicos en tránsito).
  5. Control de Accesos: Se refiere a los requisitos de la organización para el control de accesos, la gestión de acceso de los usuarios, responsabilidad de los usuarios y el control de acceso a sistemas y aplicaciones.
  6. Cifrado: Versa sobre los controles como políticas de uso de controles de cifrado y la gestión de claves.
  7. Seguridad Física y Ambiental: Habla sobre el establecimiento de áreas seguras (perímetro de seguridad física, controles físicos de entrada, seguridad de oficinas, despacho y recursos, protección contra amenazas externas y ambientales, trabajo en áreas seguras y áreas de acceso público) y la seguridad de los equipos (emplazamiento y protección de equipos, instalaciones de suministro, seguridad del cableado, mantenimiento de equipos, salida de activos fuera de las instalaciones, seguridad de equipos y activos fuera de las instalaciones, reutilización o retiro de equipo de almacenamiento, equipo de usuario desatendido y política de puesto de trabajo y bloqueo de pantalla).
  8. Seguridad de las Operaciones: procedimientos y responsabilidades; protección contra malware; resguardo; registro de actividad y monitorización; control del software operativo; gestión de las vulnerabilidades técnicas; coordinación de la auditoría de sistemas de información.
  9. Seguridad de las Comunicaciones: gestión de la seguridad de la red; gestión de las transferencias de información.
  10. Adquisición de sistemas, desarrollo y mantenimiento: requisitos de seguridad de los sistemas de información; seguridad en los procesos de desarrollo y soporte; datos para pruebas.
  11. Relaciones con los Proveedores: seguridad de la información en las relaciones con los proveedores; gestión de la entrega de servicios por proveedores.
  12. Gestión de Incidencias que afectan a la Seguridad de la Información: gestión de las incidencias que afectan a la seguridad de la información; mejoras.
  13. Aspectos de Seguridad de la Información para la Gestión de la Continuidad del Negocio: continuidad de la seguridad de la información; redundancias.
  14. Conformidad: conformidad con requisitos legales y contractuales; revisiones de la seguridad de la información.

Dentro de cada sección, se especifican los objetivos de los distintos controles para la seguridad de la información. Para cada uno de los controles se indica asimismo una guía para su implantación. El número total de controles suma 114 entre todas las secciones aunque cada organización debe considerar previamente cuántos serán realmente los aplicables según sus propias necesidades.