FSM criptoanálisis WEP (II)

Tras la introducción de ayer y la descripción de la relación que existe entre la clave de cifrado maestra y los IVs de la cadena que conforma la entrada al algoritmo KSA, hoy continuaremos con el análisis del algoritmo KSA. El código de éste se puede observar a continuación.

     KSA

     for i = 0 to 255
          S[i] := i
     j := 0
     for i = 0 to 255
          j := (j + S[i] + Clave[i mod “tamañodelaclave"]) mod 256
          Intercambia(S[i], S[j])

Vemos que principalmente esta compuesto por dos bucles; un primer bucle que inicializa un vector de enteros S, muy importate como posteriormente veremos, y una segunda iteración que tiene como objetivo desordenar el vector anterior en función de la clave maestra. En este caso el valor de la variable “tamañodelaclave“ será 5 para 64 bits y 16 para 128 bits. Realicemos una pequeña traza de las tres primeras iteraciones que nos ayudaran a comprender su funcionamiento. En el estado inicial, tras la inicialización del vector S, el valor de las variables es el siguiente:

     Clave[] = (A+3, 255, X, Clave[3], …, Clave[A+3], …)
     S[] = (0, 1, 2, …, A+3, …, 255)

Partiendo de este estado vamos a aplicar las tres primeras iteraciones para observar el comportamiento del algoritmo.

     Iteración 0
     
     i = 0
     j = 0 + 0 + Clave[0] = A+3
     S[] = (A+3, 1, 2, ..., 0, ...) 

     Iteración 1

     i = 1
     j = (A+3) + 1 + 255 = A+3                  [Ya que se aplica “j mod 256"]
     S[] = (A+3, 0, 2, ..., 1, ...)

     Iteración 2

     i = 2
     j = (A+3) + 2 + X
     S[] = (A+3, 0, S[j], ..., 1, ...)

[Read more…]

FSM criptoanálisis WEP (I)

Es de sobra conocido que el algoritmo de seguridad inalámbrica WEP presenta numerosas vulnerabilidades que hacen que su despliegue en redes 802.11 represente una puerta abierta a cualquier atacante. Una de ellas y quizás la mas significativa es la que utiliza técnicas estadísticas y de fuerza bruta para recuperar completamente la clave de cifrado. A continuación, y en sucesivas entradas, trataremos de determinar los entresijos de estas técnicas.

La vulnerabilidad descubierta por Scott Fluhrer, Itsik Mantin y Adi Shamir, y a la que a partir de ahora nos referiremos como FMS, trata de explotar diversas carencias en el algoritmo RC4 que permiten la obtención de la clave de cifrado utilizando para ello ataques estadísticos. Con la diferencia de que este ataque supone una vulnerabilidad total del sistema de cifrado WEP, ya que no sólo es posible desencriptar un paquete de datos, sino que es posible obtener la clave permitiendo el acceso total a la red inalámbrica y a los datos que por ella circulan. Son muchos los estudios posteriores que se han realizado a partir de la investigación de Fluhrer, Mantin y Shamir (FMS, en adelante), y que mejoran su trabajo reduciendo el tiempo de recuperación de la clave. Básicamente esta vulnerabilidad se centra en el modo de operación de RC4 y sus dos módulos KSA y PNRG ya comentados en secciones anteriores. El estudio demuestra matemáticamente la existencia de un vulnerabilidad en la fase KSA del algoritmo RC4. Trataremos de evitar —dentro de lo posible— la complejidad matemática asumiendo algunos hechos que pueden ser consultados y analizados mas a fondo en el artículo de FMS.

Pasemos a definir qué es lo que hace tan vulnerable a este algoritmo de cifrado, estableciendo dos premisas claves. En primera instancia como ya sabemos, todo texto plano a trasmitir lleva como prefijo 3 bytes del vector de inicialización IV y que hacen única a la trama. Por otra parte FMS observaron mediante el estudio del tráfico de una red 802.11, que los tres primeros bytes de la trama en texto plano generalmente son los mismos: «0xAA:0xAA:0x03». Dichos bytes son los pertenecientes a la cabecera SNAP (Subnetwort Access Protocol. Véase B. Schneier. Applied Cryptography. Protocols, Algorithms, and Source Code in C. John Wiley & Sons, Inc. 1994.) e identifican al protocolo. Dadas estas dos premisas analizaron la relación que existía entre los IVs de la cadena que conforma la entrada al algoritmo KSA y la clave maestra de cifrado, observando que ciertos IVs reflejaban información acerca de dicha clave. A estos vectores de inicialización los llamaron WeakIV o IVs débiles. Pudieron llegar a la conclusión, y esto se reserva como consulta a su articulo, de que los IVs débiles tenían la forma

[A+3, 255, X]

donde «A» es el índice del primer byte de la clave maestra y «X» es un valor cualquiera. Así pues, para un valor de “A = 0″ estaríamos haciendo referencia al primer byte de la contraseña. Como ya comentamos anteriormente, estos 3 bytes de forma característica, son concatenados a la clave maestra formando la cadena de entrada al algoritmo KSA, por lo que una encriptación WEP de 64 bits tendría como vector de entrada la siguiente cadena:

[A+3, 255, X, ?, ?, ?, ?, ?]

donde los signos “?» representan la clave que tanto la estación como el Acess Point conocen. Cabe destacar que para una encriptación de 128 bits los caracteres “?» se extenderían hasta 13. Y con esto lo dejamos por hoy. Mañana entraremos a analizar el algoritmo KSA, para rematar el viernes con el último capítulo de la serie.

«Conectividad limitada o nula»

¿Conectividad limitada o nula? Madre mía, pero si tengo el AP en la habitación de al lado…

¿Cuántas veces hemos tenido que deambular por la casa portátil en mano alejándonos de zonas de sombra de cobertura, buscando incrementar la señal? Sí, bueno, ya se lo que pensaréis, ese escenario es ligeramente diferente al primero, ya que puede que el Access Point en cuestión no se encuentre en nuestra casa. Pues bien, hablando de cobertura, el profesor Ermanno Pietrosemoli de la escuela latinoamericana de Redes ha batido el récord, este mes pasado, de cobertura WiFi. Nada más y nada menos que ha conseguido establecer una conexión direccional a 382 Kilómetros de distancia, con un ancho de banda de 3 Mb en ambos sentidos, superando el antiguo récord establecido en 310 Km.

Esta tecnología aplicada a largas distancia no es tan robusta como podría ser WiMax, pero… ¿alguien sabe cuanto cuesta una torre WiMax? (creo que en ebay hay alguna de segunda mano). Así pues WiFi puede ser una solución a coberturas de larga distancia que requieran un ancho de banda limitado, y aquí tenemos la prueba. Eso sí, los problemas que pueden suponer alinear correctamente las antenas, los obstáculos en visión directa o la propia curvatura de la Tierra dificultan «bastante» el despliegue.

Y además 382 km dan mucho espacio para poner un sniffer.

Esperando lo inesperado

Un día cualquiera, te levantas, te lavas la cara y te dispones, como todas las mañanas, a ir al “tajo». Cuando llegas observas que tu bonita oficina, está en llamas. Dios, te preguntas: ¿Sigo dormido? ¿O de verdad ha funcionado ese deseo estúpido que pedí en San Juan mientras como un cangurito saltaba las olas?

Pero señores, como de algún sitio hemos de sacar ese dinerillo para hacernos con esos objetos tan indispensables en nuestras vidas como PowerBalls, Gadgets lanzamisiles o tazas USB, es necesario que las contingencias o situaciones de emergencia estén previstas, si no se quiere sufrir pérdidas importantes en el negocio. Desastres naturales, operacionales, o humanos son sólo algunos de los aspectos que un buen gestor de continuidad debe prever. Es por eso que surge la necesidad de planificar, en cierta manera, una solución que nos aporte un mínimo nivel de operatividad en nuestros negocios. De esta necesidad surge el concepto de Continuidad de Negocio y Recuperación ante desastres. Ambos conceptos pueden parecer similares pero detrás de ellos se esconden propósitos muy diferentes. Mientras que el primero estaría orientado a los procesos de negocio que la empresa maneja, el otro estaría dirigido a la recuperación de los servicios de TI. Ambos conceptos podrían ser cubiertos mediante lo que sería un plan de contingencias. Pero, ¿de qué consta este plan? Pues bien, básicamente de un fabuloso Plan de Continuidad de Negocio (PCN) y de un magnífico Plan de Recuperación ante Desastres (PRD). Aunque ambos proyectos pueden ser emprendidos de forma independiente, en la mayoría de los casos se opta por una solución integral.

Muy bien pues, ya estamos motivados, sabemos lo que queremos y vamos comenzar con el plan, pero… ¿Qué ocurre con el jefe? Es fundamental que obtengamos apoyo total por parte de la gerencia de la empresa o en otro caso todo el proyecto no servirá más que de falca en la mesa de reuniones.

Obtenido el beneplácito del todopoderoso, debemos comenzar a estudiar al paciente. El análisis y comprensión del negocio es el primer escalón de la larga escalera de la continuidad. Empleados clave, logística utilizada, unidades de negocio que se manejan, herramientas de trabajo utilizadas, conforman el comienzo del PCN. Por otra parte, condiciones del entorno, equipos, servidores, herramientas de respaldo y backup, elementos de comunicación y estaciones de trabajo, formarían la estructura del PRD. Muy bien, ya hemos realizado una cantidad de trabajo considerable, y ahora le toca el turno a analizar el impacto que una contingencia tendría en nuestro negocio. Criticidad de operaciones (estableciendo tiempos máximos de recuperación o RTO’s), equipos y servicios, así como una identificación de los posibles riesgos a tener en cuenta.

El siguiente paso es pues, el Análisis de Riesgos. Es entonces cuando nos preocupamos de cómo administrar estos riesgos y su posible mitigación si una eliminación total no es posible. Superado con éxito lo realizado hasta el momento, estamos dispuestos a evaluar las diferentes estrategias a seguir para ofrecer una garantía de continuidad y recuperación. No cabe decir que todo lo dicho hasta el momento debe estar claramente documentado.

Estamos dispuestos en este momento a generar un plan que se ciña a la estrategia elegida. Personal responsable de aplicar el plan, procedimientos a seguir. Cabe destacar el hecho de que existan varios planes, dependiendo de la magnitud del negocio, donde se recojan soluciones a las diferentes líneas de negocio.

Es fundamental que tanto el PRD como el PCN sean probados como mínimo una vez al año. Así pues, estas pruebas conceden al personal la asimilación de un aspecto clave en el éxito del BCM, la conciencia de BCM. Hemos hecho las maletas, puesto en marcha el plan estratégicamente preparado, todo ha funcionado a la perfección (menos ese cd de Windows que no lee), pero ahora ¿cómo volvemos a casa? Efectivamente necesitamos un nuevo plan que nos estructure como realizamos ese proceso de vuelta a casa.

En fin, como mi buen amigo Charly decía, “Las llonganas no son lombrices» es por eso que no hay que confundir Plan de Continuidad de Negocio, con Plan de Recuperación ante Desastres.

(Para mucha más información, ver PAS56, BS 25999, Revista Hackin9 edición Marzo 2007, y The Business Continuity Institute)