martes, 28 de junio de 2011

Antiforense

Durante los últimos años he participado en bastantes proyectos de análisis forense informático en casos de incidentes de seguridad. Y hay un tema de conversación que siempre acaba surgiendo con compañeros o con expertos en la materia: Las metodologías forenses clásicas necesitan ser renovadas.

A pesar de que la tecnología informática ha avanzado a pasos agigantados, las técnicas de forense clásico han cambiado poco y en algunos casos no se adaptan al perfil de intruso o delincuente informático actual.


Esto se debe en parte a que la labor de peritaje informático ha sido asumida tradicionalmente por ingenieros no especialistas en seguridad, que desconocen las técnicas de hacking modernas y en algunos casos incluso las técnicas de hacking más básicas o clásicas (old-school hacking).

En la mayoría de peritajes informáticos puede que no sean necesarios estos conocimientos (acoso laboral, trabajadores descontentos, robo de documentos) porque el causante no es un experto en hacking. Pero cuando estamos tratando incidentes en entornos críticos muchas veces nos enfrentamos a expertos en seguridad que saben cómo burlar las medidas de protección básicas y como dificultar el trabajo de análisis forense.

En estos casos las metodologías clásicas son insuficientes y es necesario conocer las técnicas antiforense habituales y saber cómo recuperar las pocas evidencias que pueden ser validas y desechar las que no lo son (o no son fiables).

Las técnicas de ocultación clásicas son entre otras:
• Acceso por red a través de proxys o equipos intermedios.
• Manipulación de logs del equipo para ocultar aquellos registros relativos a la intrusión.
• Uso de puertas traseras para acceder al equipo fácilmente y sin ser detectado.
• Ocultación de estas puertas traseras en servicios legítimos.
• Borrado de herramientas o exploits subidos al sistema.
• Manipulación de los timestamps de ficheros para ocultar la fecha de su modificación.
• Instalación de rootkits para ocultar conexiones, procesos y ficheros sospechosos.
• Uso de herramientas de borrado seguro, que sobre-escriben los datos con basura antes de eliminar el fichero, para dificultar su recuperación.

El grado de sofisticación de estas técnicas depende de la capacidad del intruso, del objetivo real de su ataque y del tiempo que utilice para borrar sus huellas.

En la mayoría de casos la eliminación de evidencias no es completa y normalmente siempre es posible recuperar suficiente información para deducir el impacto real de la intrusión. Por eso las técnicas de ocultación se han ido perfeccionando para intentar reducir el número de evidencias que puedan quedar en el sistema tras un ataque.

Las técnicas modernas suelen incluir:
• Acceso por red solo mediante protocolos cifrados para evitar la detección por parte de sensores NIDS.
• Acceso al sistema mediante exploits que permiten inyectar código en un proceso legitimo para evitar crear nuevos procesos.
• Ejecución directa en memoria de todas las herramientas y exploits para evitar que queden rastros en el sistema de ficheros.
• Uso de puertas traseras minimalistas que realizan modificaciones muy sutiles en el sistema para pasar desapercibidas.
• Instalación de rootkits que funcionan a muy bajo nivel para dificultar su detección.
• En el caso de necesidad inevitable de crear nuevos archivos, se hace en un sistema de ficheros temporal en memoria (por ejemplo con tmpfs) y se vigila que no se produzca su volcado a la swap en disco.

Estas técnicas no son incompatibles con las clásicas y en muchas ocasiones se utilizan de forma combinada.

Para realizar un análisis de equipos atacados utilizando estas técnicas las metodologías forenses deben diseñarse para conservar el mayor número posible de evidencias volátiles. Pasando de un enfoque post-mortem clásico a un enfoque de análisis en vivo pero que contemple la posibilidad de que las herramientas del sistema hayan sido manipuladas.

viernes, 24 de junio de 2011

Estrategia Española de Seguridad y las ciberamenazas

Este viernes, 24 de junio de 2011, el consejo de ministros ha aprobado el envió a las cortes de la primera Estrategia Española de Seguridad (EES). Este documento define las amenazas a la seguridad en España, y fija las líneas de respuesta y de mecanismos de coordinación. El documento propone además la creación de un nuevo órgano, el Consejo Español de Seguridad

Es destacable como en su capítulo 4: “Amenazas, riesgos y respuestas” recoge a las ciberamenazas, al mismo nivel y dedicándole una extensión equivalente que a otros retos a la seguridad más tradicionales como son el terrorismo, los flujos migratorios incontrolados o la proliferación de armas de destrucción masiva.

Según reconoce el documento los ciberataques son una amenaza en crecimiento que puede poner en dificultades infraestructuras críticas cuya pérdida de disponibilidad puede suponer serios daños a un país. Además del riesgo de las infraestructuras criticas se recogen también los potenciales peligros del ciberespacio como escenario de operaciones de espionaje o el peligro para los ciudadanos derivado de la vulneración y el trafico con sus datos personales por parte de la ciberdelincuencia.

Para mejorar la seguridad en el ciberespacio se propone fortalecer la legislación sin poner en riesgo la privacidad, y fomentar la colaboración entre el sector público y privado. Entre otras medidas concretas el documento plantea invertir más en tecnologías de seguridad y en formación de personal especializado, apoyar el desarrollo de empresas privadas nacionales en un sector estratégico como éste (donde como resalta el informe puede ser peligrosa la dependencia de empresas extranjeras), así como promover tanto en el ámbito público como privado los estándares y certificaciones de seguridad.

Desde Areopago21 no podemos si no aplaudir este documento y esperamos que se desarrolle en medidas y actuaciones concretas que efectivamente permitan que en nuestro país pueda dotarse unas capacidades de ciberdefensa.

No obstante sí que encontramos en el informe alguna propuesta de dudosa aplicación práctica, por ejemplo en el apartado internacional, donde el plan propone el control de las “ciberarmas” tal y como ocurre con las nucleares. Una propuesta que se nos antoja de difícil, si no imposible, aplicación. Un tema este que tratemos en futuras entradas en este blog.

Documento: Estrategia Española de Seguridad (pdf).

miércoles, 15 de junio de 2011

Vulnerabilidades COTS

En terminología de defensa se suele utilizar el término COTS (Comercial Off The Shelf) para denominar al uso de aquellos productos o tecnologías directamente disponibles en el mercado civil en aplicaciones militares. El propio nombre  COTS tiene su origen en que estos productos, en un sentido figurado, se adquieren directamente de la estantería como cuando uno acude a un gran almacén. El auge de la filosofía COTS en la electrónica militar se presentó con el fin de la guerra fría y el extraordinario desarrollo de las tecnologías de la información en el mundo civil.


Desde el final de la segunda guerra mundial la tecnología militar solía ser fruto de la I+D mas puntera, la carrera armamentística entre las superpotencias supuso que se dedicaran enormes esfuerzos al desarrollo y a la aplicación militar de tecnologías. Estas tecnologías eran primero adoptadas para uso militar y solo posteriormente para uso civil. Un ejemplo seria la creación de la red militar Arpanet que luego se convertiría en lo que actualmente conocemos como Internet.

Sin embargo durante los años 90 se produjo una curiosa paradoja: la tendencia de invirtió. El fin de la guerra fría y los recortes presupuestarios en defensa hacían inviable destinar enormes cantidades en desarrollo de sofisticados programas de armamento. Al mismo tiempo la revolución de las nuevas tecnologías, con su amplia difusión en el mundo civil y la consecuente reducción de precios por la economía de escalas hizo que la tecnología disponible al ciudadano de a pie no solo superara a cualquier cosa que pudiera existir en el mundo militar sino que además lo hacía de forma más barata.

La consecuencia lógica en el sector de la defensa fue aprovechar esta tendencia, mediante el uso de productos COTS es posible abaratar costes y reducir tiempos de desarrollo. COTS no tiene porque significar usar directamente productos ya terminados, normalmente lo que se emplea son componentes específicos disponibles para formar un sistema militar. Un ejemplo típico seria el implementar un sistema militar en torno a una CPU disponible en el mercado (x86, ARM, etc.) en lugar de diseñar un sistema informático desde cero como se hacía hasta los años 80.

Pongamos como muestra un caso curioso, los SUGV. iRobot fabrica la familia de robots militares Small Unmanned Ground Vehicle, se trata de pequeños dispositivos controlados a control remoto, de un tamaño reducido como para ser transportado en una mochila. Estos robots permiten al soldado en el campo de batalla realizar tareas de reconocimiento como ver que hay al otro lado de una esquina o aventurarse en un edificio, así como tareas como la manipulación de objetos para la neutralización de artefactos explosivos a distancia.

iRobot incorpora diversas tecnologías COTS y de hecho un ejemplo de la sinergia entre el mundo civil y el militar en robotica es que iRobot es también el fabricante de los conocidos robots de limpieza caseros Roomba. La curiosidad COTS viene derivada de que el mando de control que se usa para este robot en el campo de batalla es ni más ni menos que el mando de la conocida consola Xbox. Seguro que durante el desarrollo del robot un ingeniero tuvo que hacer la siguiente elección, que es mejor como interfaz de control ¿un dispositivo a medida con los gastos asociados de diseño, desarrollo, test y posterior fabricación a pequeña escala? ¿un mando barato, ampliamente disponible y que sabe manejar hasta un niño?


¿Y que supone COTS en cuanto a seguridad informática? Pues el cambio es evidente, anteriormente los sistemas de defensa estaban compuestos por aplicaciones, hardware y protocolos diseñados a medida para el mundo militar e imposibles de ver fuera de este ámbito. Eso se traducía en Seguridad a través de la oscuridad, quizá no la mejor forma de seguridad pero desde luego efectiva, especialmente si se combina con una buena seguridad “real”. Sirva de ejemplo que incluso hoy en día fallos en sistemas tan críticos como SCADA continúan ocultos por la simple razón de que los dispositivos tienen un mercado pequeño, tremendamente especifico y de altos costos lo que los hace difíciles de llegar a las manos de la mayoría de los investigadores de seguridad.

El cambio hacia el empleo de COTS nos quedo patente en lo que pudimos observar durante nuestra visita a la última edición de la feria de Seguridad Homsec, todos los sistemas allí presentados que necesitaban hacer uso de un ordenador, ya fuera como interfaz con el operador humano o como plataforma, lo hacían mediante sistemas operativos de la familia Windows, con una única excepción de una consola para submarinos basada en Linux. Esos sistemas en otros tiempos hubieran estado basados en sistemas arcanos como Solaris con toolkits gráficos escritos a medida, sistemas embebidos como VxWorks o incluso sistemas operativos diseñados exprofeso. Y cabe preguntarse ¿Qué es más fácil de explotar para un intruso? ¿Un sistema poco conocido , para el que prácticamente no existen herramientas de ataque, o uno idéntico al usado por la mayoría de usuarios y para el que se conocen multitud de vulnerabilidades?

En definitiva COTS es un concepto lleno de bondades, pero también de algunas desventajas: la rápida incorporación de tecnologías ampliamente conocidas por los intrusos puede tener como consecuencia la transfusión de vulnerabilidades del mundo civil al mundo militar.