jueves, 25 de agosto de 2011

¿Contra quién estamos luchando?

Este post inicialmente se iba a llamar “¿Contra quién vamos a luchar?”, pero como dice mi compañero Leo, es que ¡Ya estamos en guerra!

Este año 2011 ha estado salpicado más que nunca de noticias relativas a graves compromisos de seguridad en grandes corporaciones, gobiernos y contratistas militares.

Y esto confirma que estamos ante un enemigo cada vez más potente y efectivo. Los americanos lo llaman Advanced Persistent Threat o APT (Amenaza Persistente y Avanzada).

Un APT sería un grupo organizado o nación, con recursos suficientes, que pretende infiltrarse y dañar a un grupo o nación rival a largo plazo.

Es un término anterior al de ciberguerra pero que toma su mayor significado en el entorno informático actual.

En el espionaje clásico se consideraban como APTs por ejemplo aquellas naciones que se dedicaban a introducir agentes “durmientes” en la jerarquía de una potencia rival con el fin de que llegasen a puestos importantes con el paso del tiempo.

APT en el entorno cibernético se suele asociar principalmente al uso de malware que va siendo introducido de forma subrepticia en los sistemas informáticos del enemigo y que se mantiene inactivo. Aunque el termino se extendería a cualquier actividad continuada de hacking que no es detectada.

El mayor riesgo de este tipo de amenazas no es que sean avanzadas o persistentes es que la cultura de seguridad informática predominante es claramente insuficiente para luchar contra ellas. Somos muy vulnerables.

La mayoría de herramientas de protección que existen hoy en día están diseñadas para defendernos contra atacantes casuales, tales como jóvenes aburridos, distribuidores de SPAM o pequeños ciber-delincuentes. Estas herramientas no son suficientes para contener ataques dirigidos.

La inversión en normativas (ISO27002, LOPD, PCI), los antivirus estándares, los IDS/IPS comerciales, los sistemas SIEM, etc. Están muy bien para sentar las bases para unas redes más seguras y crean un entorno para la gestión de la seguridad familiar y cómodo, pero no son suficientes ante las nuevas amenazas.

La experiencia ha demostrado que estas soluciones a pesar de ser relativamente eficientes para disuadir a atacantes casuales son muy limitadas a la hora de contener a un atacante decidido y persistente.

Toda organización que se prepara solo contra ataques conocidos y puntuales está cometiendo un gran error.

El atacante ni siquiera tiene que ser especialmente hábil, es suficiente con que sea perseverante. Es cuestión de tiempo que encuentre una brecha en la seguridad perimetral o que aprenda lo suficiente para abrir una.

Es difícil dar una receta rápida sobre cómo protegerse contra los APTs. Pero principalmente yo recomendaría ser proactivos. Formar equipos especializados que estudien, analicen y preparen defensas ante las nuevas amenazas. Equipos que aprovechen la potencia de las herramientas de seguridad estándares, pero que conozcan sus limitaciones y sepan solventarlas.

viernes, 19 de agosto de 2011

Romper la criptografía haciendo trampas.

Los criptoanalistas rara vez admiten que necesitan ayuda. Hay una feroz independencia innata que caracteriza el negocio. Sin embargo, no siempre tienen éxito a través del criptoanálisis clásico. Se sabe que han llegado a hacer trampas. Y no son siempre honestos sobre esto a veces incluso mienten acerca de sus trampas.

El párrafo anterior es la traducción literal del inicio de un articulo desclasificado, titulado “The Sting - Enabling Codebreaking in the Twentieth Century” publicado originalmente en Cryptologic Quaterly una revista interna de la NSA.

Cuando se habla de seguridad de comunicaciones uno piensa automáticamente en criptografía y si se trata de romper esta criptografía vienen a la mente los dos ataques básicos, la fuerza bruta y el criptoanalis. El primero consiste en la comprobación exhaustiva de todas las posibles claves mediante el uso de la potencia pura de computación, mientras que el segundo supone la búsqueda de debilidades en los algoritmos criptográficos, o en la forman en la que se implementan, que permitan finalmente descifrar el contenido de las comunicaciones.

Sin embargo y tal como advertía el artículo de Cryptologic Quarterly no siempre es posible utilizar algunas de estas vías, puede darse el caso de un algoritmo del que no se conozcan debilidades y que implementado correctamente no puede ser atacado mediante criptoanálisis. Y aunque siempre queda la fuerza bruta en muchas ocasiones el recorrer el espacio de claves posibles se mide en cientos o en miles de años, y no es extraño el caso en la que la resistencia de un algoritmo se considera tal que el tiempo requerido para su cracking supera al tiempo que los astrofísicos suponen que le queda de vida a nuestro universo, al menos usando los ordenadores actuales.

Por tanto hay ocasiones en las que aquellos que deben romper la criptografía deben hacer trampas. Muchas veces esas trampas, a las que se refiere el artículo de la NSA consisten en obtener atajos para descifrar las comunicaciones, con artimañas poco honorables como robar, extorsionar o sobornar. La típica operación de servicio de inteligencia que recluta al encargado de cifra empleado en la sala de comunicaciones de la embajada de turno, para que directamente proporcione las claves utilizadas. Aunque otra opción es capturar un equipo de cifrado del enemigo o material de clave, aunque sea anticuado, para acelerar el proceso de criptoanálisis clásico.

No obstante existe otra forma bastante más elegante de hacer trampas, y consiste en usar argucias para que el enemigo deje voluntariamente de usar la criptografía y pase a comunicarse en texto plano o en claro. ¿Misión imposible?

En el mundo de internet estamos acostumbrados a que la criptografía desde el punto de vista del usuario sea prácticamente transparente y no tenga apenas ninguna penalización. Pero no siempre es así. Los sistemas de cifrado acrecientan la complejidad en los sistemas de comunicación, aumentan los puntos de fallo. Especialmente cuando se trata de comunicaciones por radio pueden darse casos en los que la criptografía provoca errores que hacen imposibles la comunicación, las claves criptográficas pueden estar incorrectamente configuradas, por ejemplo por un error de transcripción. También puede ocurrir que los sistemas de cifrado necesiten de una sincronización previa a la comunicación y esta falle, algo bastante común en los sistemas de secrafonia analógica usados para hacer ininteligible la voz en la comunicación por radio, en los primitivos sistemas de cifrado que se basaban en algoritmos de flujo , o en los sistemas de salto de frecuencia que dependen de una cuidadosa sincronización con un tiempo de referencia compartido de alta exactitud.

Un ataque contra estos sistemas consiste en interrumpir selectivamente las comunicaciones del contrario cuando estas son cifradas (por ejemplo mediante perturbadores de frecuencia) y en cambio no realizar ninguna acción cuando el enemigo intenta comunicarse en claro. Así el ingenuo operador de radio entiende que el fallo de comunicación es debido a algún problema de malfuncionamiento del equipo y desactiva el cifrado moviendo el conmutador correspondiente a la posición PLAIN. Entonces todo funciona con normalidad y ante la necesidad de comunicarse continua emitiendo en voz o texto plano.


Este tipo de ataque no es exclusivo de la guerra electrónica en mitad de una batalla, si no que recientemente se han publicado en el ámbito de la seguridad informática diversos ataques y las herramientas asociadas que hacen uso de esta técnica.

En la última edición de Usenix celebrada hace escasos días un grupo de investigadores de seguridad, entre los que se incluyen algunos nombres bastante conocidos como los de Matt Blaze o Travis Goodspeed, presento "Why (Special Agent) Johnny (Still) Can’t Encrypt:
A Security Analysis of the APCO Project 25 Two-Way Radio System". Se trata de un estudio de vulnerabilidades en el sistema de radio APCO 25, el utilizado habitualmente por la emisoras y walky-talkies de policías y organismos de seguridad en EEUU. La investigación incluía entre otras posibles vulnerabilidades una demostración de un interferidor inteligente basado en un transmisor de juguete, que se vende por unos pocos dólares, reprogramado. Este aparato una vez modificado no solo es capaz de bloquear la señal, si no que lo hace de forma inteligente, detectado el inicio de las tramas de datos y provocado errores que hacen descartar el frame entero. Una técnica que permite realizar la interferencia bastante eficiente.


Lo interesante es que coincidiendo con el escenario de ataque que planteábamos, también han implementado la capacidad de realizar esta interferencia de forma selectiva, de tal manera que solo interfiera las comunicaciones cifradas y deje pasar las comunicaciones en claro. Lo que permitiría la escucha ya que existen receptores de radio en el mercado capaces de recibir estas comunicaciones digitales cuando no van cifradas, siendo posible mediante el ataque convencer al usuario de la radio de que el problema está en su equipo, y que mágicamente este desaparece si desactiva la opción de cifrado y que entonces puede usar la radio normalmente. Especialmente si el usuario es un policía sometido en ese momento a una situación de estrés como dar respuesta un delito en curso.

Otra herramienta que implementa este tipo de ataque aunque con otro sistema inalámbrico bien distinto es MDK3 , se trata de una suite para la realización de ataques de denegación de servicio sobre redes Wifi, incorporando opciones como Floodeo de beacon frames malformados o de-autenticación automática estaciones . Desde la versión 5 este software añade el que denomina WPA-Downgrade Test , una curiosa funcionalidad por la cual desconecta mediante de-autenticaciones spoofeadas a los usuarios de una red wireless cuando emplean WPA y sin embargo les permite la conexión cuando se emplea el cifrado WEP vulnerable o se desactiva el cifrado dejando la red abierta. Todo ello con la esperanza de que el administrador de la red inexperto piense que eso del WPA "no funciona bien" desistiendo del uso del cifrado y deje la red accesible.


Finalmente y salvando las distancias también se podría incluir en este tipo de ataques algunos man in the middle destinados a eliminar el cifrado de una forma más o menos automática, que a diferencia de la técnica objeto de esta entrada, no se requiere la participación activa del usuario. Dentro de esta categoria estaría la captura de comunicaciones GSM utilizando BTS maliciosas que desactivan el cifrado o el famoso SSLstrip , la herramienta que permite sniffar SSL no rompiendo la criptografía, si no eliminado al propio cifrado de la ecuación.

La próxima vez que se encuentre ante un problema de comunicación entre dispositivos encriptados y este desaparezca incomprensiblemente cuando desactivamos el cifrado lo más probable es que se trate de un simple error de configuración…. o quizá no.