Blog de robótica e inteligencia artificial

3/26/2015

Explícame cómo se hackea el WiFi

Sí, el término habitual es hackear WiFi, a pesar de que la palabra hacker esté siendo tan denostada. En este artículo, voy a intentar explicar qué hace una de las herramientas más típicas para nuestro propósito. Este software se llama AirCrack, y es un programa desarrollado por el especialista de seguridad, Christoph Devine.

Si probáis a poner en YouTube el término de búsqueda "hackear WiFi" os van a aparecer miles de vídeos de demostración donde se ve paso a paso cómo se utiliza AirCrack, y sobre todo en Linux. En este artículo yo voy a limitarme a explicar qué ocurre con el protocolo WEP, y antes de continuar, recuerdo que el hackear una red WiFi sin consentimiento de su propietario está tipificado como delito.

WEP (Wired Equivalent Privacy) fue el primer protocolo de encriptación introducido en el primer estándar IEEE 802.11 allá por 1999, y no fue creado por expertos en seguridad o criptografía. Su cifrado funciona de la siguiente manera (extraído de aquí):


Y el paquete que se emite es este:


donde cada celda corresponde a los siguientes puntos:

  • Cabecera 802.11: contendrá información relativa al tipo de paquete, las direcciones MAC del emisor y receptor del mensaje y determinada información de sincronismo.
  • Vector de inicialización (IV): es la clave dinámica generada por el emisor y utilizada para concatenar con la clave estática dando origen a la semilla RC4. Como se puede observar esta secuencia de bits crítica para preservar correctamente la privacidad de los datos viaja por la red sin ningún tipo de cifrado.
  • Datos encriptados: el mensaje que se desea transmitir de manera segura desde un nodo emisor a un nodo receptor.
  • CRC encriptado: código de redundancia cíclica correspondiente al mensaje que se va a transmitir.
  • CRC del paquete: código de redundancia cíclica correspondiente al paquete completo. El CRC, dicho de manera simple, es el checksum para comprobar la integridad del mensaje. Este sistema era muy bueno para detectar ruido en transmisión de señales, pero deja un poco que desear en su nueva misión de cifrado, y mejores alternativas son MD5 o SHA-1

Han aparecido numerosas variantes para atacar el cifrado WEP, pero la original y más extendida es la basada en el RC4. El RC4 es un sistema de cifrado creado en 1987. Fue tratado como alto secreto, hasta que un anónimo coló en una lista de correo en 1994 cómo funcionaba, y ya en 1995 publicaron la primera vulnerabilidad.

Si miramos el cuadro de cifrado WEP, el RC4 crea una cadena de 64 bits, 40 de las cuales corresponden a la clave estática, y 24 al vector de inicialización (IV). Esta clave estática es la contraseña que anhelan los que intentan hackear la red WiFi en cuestión. Sin embargo, tal y como se ve en el cuadro, el IV es transmitido sin cifrado en el paquete final, y este es el pilar sobre el que se fundamenta el ataque. La razón es que el atacante puede capturar estos paquetes sin ningún problema. 3 bytes corresponden al IV y el resto es mensaje cifrado.

El vector IV al ser de 24 bits solo puede estar formado mediante 16 millones de combinaciones posibles, y el objetivo que persigue es cifrar con claves diferentes para así intentar impedir que un atacante pueda recopilar tráfico suficiente para poder deducir la contraseña. Sin embargo, el WEP no especifica cómo varía el vector de inicialización, quedando en manos de los fabricantes la decisión sobre este aspecto.

La consecuencia de esto es que buena parte de las implementaciones optan por una solución sencilla: cada vez que arranca la tarjeta de red, se fija el IV a 0 y se incrementa en 1 para cada trama. Y esto ocasiona que las primeras combinaciones de IVs y clave secreta se repitan muy frecuentemente. Más aún si tenemos en cuenta que cada estación utiliza la misma clave secreta, por lo que las tramas con igual clave se multiplican en el medio (fuente).

Al ser el número de combinaciones posibles tan reducido, incluso en el mejor de los casos, incluso eligiendo un vector al azar hay un 50% de posibilades que el IV se repita con menos de 5000 paquetes (la paradoja del cumpleaños). Y aquí está el meollo del asunto, ya que probablemente lo que ocurra es que usemos el mismo vector de inicialización para cifrar el mismo mensaje. Esto es lo inaceptable (y eso que Microsoft lo volvió a usar en 2005 con el Word).

Por si fuera poca la vulnerabilidad de que el IV sea cíclico, el RC4 tampoco se queda corto. En su implementación en el cifrado WEP, se ha visto que el RC4 genera claves más débiles que otras. "Claves débiles" significa que la correlación entre el input y el output del cifrado tienen más correlación y parecido de lo conveniente. Por lo tanto, es sencillo capturar unos 9000 paquetes, quedarnos con aquellos que sugieran una "clave débil" y probar con unas pocas contraseñas.

Los ataques WEP tuvieron una mejoría muy sustancial cuando se descubrió cómo el atacante podía inyectar paquetes nuevos en el sistema: con este sistema, la fuente se veía obligada a generar paquetes más rápidamente, ya que los paquetes falsos eran aceptados sin ningún problema.

El primer ataque basado en reventar WEP basado en la debilidad RC4 es de 2001, y se denomina FMS en honor a sus autores Scott Fluhrer, Itsik Mantin y Adi Shamir. Sin embargo, rara vez se usa el ataque exactamente en la forma que lo describieron ellos.

Desde entonces, han aparecido muchas variantes (como el KoreK, el PTW, y algunos con nombres tan atractivos como café latte) y herramientas como el Aircrack implementan estas vulnerabilidades fácilmente. Las variantes de ataques pueden ser distintas metodologías de descubrir la clave estática con el menor número de paquetes a partir de la debilidad IV y RC4 descrita aquí. No es baladí la matemática que emplean para el común de los mortales, sino que usan muchas funciones lógicas y matemáticas propias de criptografía. Pero es capaz de implementarse en un software sin mucho esfuerzo y lo único que se precisa para atacar es una red que genere bastante tráfico y estar bastante cerca del punto de acceso a atacar.

Lo explicado en este artículo está lleno de simplificaciones, y dejo al lector multitud de textos sobre el tema para profundizar. El cifrado WEP tiene más vulnerabilidades que las que aquí he descrito (aquí aparecen explicadas de manera sencilla las principales), y definitivamente se ha relegado a un cifrado de uso doméstico y muerto para los que nos tomamos la seguridad en serio.







Encrypt Your Wireless Traffic to Avoid Getting Hacked
- Understanding WEP weaknesses
- Distintos ataques WEP
- What's wrong with WEP
- What's the deal with RC4?
- Artículo que describe matemática el ataque FMS, KoreK y PTW
- Cracking WiFi WEP with aircrack-ng
- Interpretación de qué hace un software línea a línea
- Seguridad WiFi (historia y descripción de problemas, en ESP)
- Explicación de debilidades WEP desde el punto de vista de criptografía
- Cómo no funciona el WEP


Comparte:

3/15/2015

Si los Formula1 fueran robots

El lector habitual del blog sabrá de mi afición a la Formula1, cuya edición número 66 ha comenzado hoy en Australia. El post de hoy viene a colación de tal acontecimiento, y ahí va la pregunta:

¿Qué criterio emplean los pilotos de F1 para trazar las curvas? ¿Van por el trazado más corto para recorrer una vuelta completa? ¿O circulan por el trazado que les permite ir siempre a la máxima velocidad posible? 

Si vemos las siguientes imágenes, parece que el trazado a) es mejor que el b), ya que realiza giros con más sentido común y sin cambios bruscos de trayectoria. Sin embargo, puede que no sea la mejor solución.




Como datos de partida, diremos que todos los equipos tienen el mismo criterio y que este es aplicable no sólo a la máxima competición del motor, sino a cualquier otra modalidad que consista en vueltas periódicas al mismo dibujo. Y la respuesta es única.

En la disciplina ingenieril de teoría de control, la respuesta a la pregunta la da el principio del Mínimo de Pontryagrin, que busca los parámetros de control óptimos en cada instante para que el tiempo de una acción sea mínimo. Y esa es la respuesta a la pregunta: los F1 recorren el trazado que les permite dar la vuelta en menos tiempo

No deseo entrar en los detalles de programación de este control en programas de simulación. El problema de que sistemas dinámicos vayan de un estado A a otro B ha sido estudiado con profundidad a lo largo de los últimos años, pero ahora está un poco más de moda por el boom de coches autónomos. Apostaría en que Audi, para realizar el récord de circuito que consiguió hace unos meses, empleó el principio de Pontryagrin, entre otras herramientas. El coche estaba programado para dar la vuelta perfecta y llevaba las instrucciones grabadas: donde un ser humano no tiene la precisión suficiente para ir siempre al máximo del rendimiento de la máquina, una máquina no tiene problema.

Solucionar este problema del Principio del Mínimo de Pontryagrin no es baladí, y todo parte de un modelo matemático que reproduzca de manera fiable el comportamiento de un coche. Pero después, el control no se reduce a dar la orden "siempre gas a fondo" y listo. No. 

Hay que ir con gas a fondo siempre que se pueda, pero hay restricciones físicas inviolables en el caso que estemos hablando de vehículos que realizan maniobras extremas. Hay que programar la función de control del coche para las siguientes condiciones:

- si nuestro coche tiene que durar X vueltas, no podemos ir al máximo en todas las vueltas, sino al máximo para llegar casi casi sin gasolina a la meta al final.

- no podemos ir tan rápido que el coche en curva tenga peligro de volcar por exceso de aceleración lateral.

- un correcto trazado en curva se basa en un punto de frenado tardío, una buena tracción y una entrada bien dirigida en curva. Todo eso no se reduce a "gas a fondo".

y un sinfín más de condiciones, como cuidado de neumáticos, aprovechamiento de la aerodinámica, etc. Todo esto lo estoy asumiendo para un coche que circula en solitario por un circuito. Incluir otros competidores en la pista complicaría mil veces el problema.

La aplicación de este principio está verde, pero se plantea como opción de control para vehículos híbridos de calle y hace tiempo que ya existen patentes que se basan en este principio (esta de 2005). En robótica experimental, ya es una realidad.

A quién le guste salsear, puede obtener información de teoría de control sobre cómo se resolvía este problema anterioridad en las curvas de Dubins, o las de Reeds y Sheep.





Fuente

Comparte:

3/05/2015

La pregunta Naukas 2015

En la plataforma de divulgación Naukas se están publicando a lo largo de este mes las respuestas a la una pregunta que nos han planteado a todos los autores que estamos ahí metidos. Ninguno sabemos lo que responden los demás hasta que no se publica. Se trata de una iniciativa que Naukas comenzó el año pasado en honor a The Verge. Probablemente, mejor que yo lo expliquen ellos mismos aquí:



Este año la pregunta era: 

¿Qué avance o descubrimiento de la ciencia moderna ha hecho progresar más a la Humanidad?

Entendemos como ciencia moderna desde Copérnico hasta nuestros días.




No consigo decidirme por qué invento ha sido más determinante. Me vienen a la cabeza el avión, la máquina de vapor, los rayos X o la tecnología espacial.

Sin embargo, sí que creo que hay un factor común a la hora de dar pasos grandes en la ciencia. No solo en la ciencia moderna, sino desde tiempos de nuestros más antiguos antepasados: en la mayoría de los grandes avances, la actitud humana que más ha permitido desarrollar importantes tecnologías ha sido el ser conscientes que tenían algo peligroso en sus manos, y aún así, seguir profundizando en su estudio.

¿Acaso creemos que el dominio del fuego en la Antigüedad ocurrió sin más contratiempos? ¿No es el fuego una de los fenómenos más peligrosos y a la vez más valiosos, de los primeros hombres? ¿No prohíben ahora las madres a sus hijos pequeños que no jueguen con fuego? ¿No es esta actitud una de las características fundamentales que distingue a seres humanos y animales?

Algunos de los inventos que costó miles de vidas incorporarlas de manera segura a nuestro día a día han sido el avión, la máquina de vapor, los rayos X o la tecnología espacial.

De cara al futuro, será imprescindible hacer frente a retos que nos pueden parecer igual de arriesgados. Hoy en día hay detractores de la inteligencia artificial, los alimentos transgénicos, la investigación de células madre, mecánica cuántica, viajes espaciales más largos, etc. Estos detractores critican o la inutilidad de inversión de recursos de estas disciplinas o la peligrosidad de su desarrollo para la sociedad.

Quizás dentro de algunos siglos estemos hablando de los nuevos medios de transporte, terapias genéticas, curas médicas o incluso formas de vida diferentes a la nuestra como consecuencia de haber afrontado hoy los peligros y obstáculos que presentan las ciencias y oportunidades de mi penúltimo párrafo.

Comparte:

3/01/2015

Asedio con matemáticas: fundíbulo

¿Qué es un fundíbulo, trabuquete o lanzapiedras medieval? Esto:



A cualquiera que haya pasado un rato, o muchas horas, con juegos del estilo Age of Empires, Empire Earth o similares, seguro que le es familiar. Esta arma de asedio lanza proyectiles con la siguiente secuencia (fuente): 
El fundíbulo parece que es originario de China y se introdujo en Europa en el siglo XIII. Se trata de un arma de asedio pesada que lanza proyectiles como piedras contra una fortaleza desde una gran distancia.

Si consideramos el proyectil como una única partícula sólida, podríamos calcular varios movimientos de esta máquina con ecuaciones físicas elementales. Una de ellas dice cuál es el máximo alcance de una partícula lanzada con un cierto ángulo y una velocidad inicial:

donde R es el alcance, v es la velocidad inicial, g es la gravedad y alfa representa el ángulo en el momento en el que la piedra se separa del arma. Por lo tanto, el valor máximo de R se obtiene cuando alfa es 45º. Es decir, algo así (fuente):




Lo más curioso de la fórmula precedente es ver que el lanzamiento no depende de la longitud de los brazos del fundíbulo, al contrario de lo que pueden pensar alumnos de universidades en los que se suele reproducir este experimento.

Aunque los técnicos medievales no lo superan, estaban empleando un péndulo doble para el asedio, algo que ahora es muy típico en robótica para hablar de equilibrio de un sistema y su control. De hecho, cosas de estas son claves en el funcionamiento del famoso Segway.

El caso es que muchos futbolistas y golfistas emplean un doble péndulo para dar sus mejores golpes, tal y como lo demuestra artículos como este o este otro. De hecho, el segundo paper recoge un experimento en el que se modela la pierna de un futbolista como un doble péndulo. De la cadera hasta la rodilla va un péndulo, y de la rodilla al tobillo otro. Cada uno de las articulaciones corporales tiene su propio sistema de referencia. Sin embargo, se demuestra que para que el tobillo alcance la velocidad máxima es conveniente que la rodilla gire todo lo que pueda, ya que se suman velocidades. Lo mismo ocurre en el golf.


Comparte:

Sígueme en redes:

descripción descripción descripción

En mi mesilla

Blog Archive