Archivo de autor

Por Roberto Amado, 14 de Mayo de 2008 | Imprime

Todo jefe, director o gestor de proyectos informáticos conoce las fases del ciclo de vida de un proyecto cual patrón de barco conoce la ruta a puerto seguro. Concepción, Organización, Desarrollo y Cierre conforman esa hoja de ruta que conducirá a patrón y marineros hacia el éxito de la aventura. Es sabido que ningún proyecto emprendido está exento de contingencias y desviaciones en la planificación trazada a priori, mapa en mano.

Así pues, a menudo se encuentran escollos y arrecifes que no estaban documentados en los mapas cartográficos y que generan retrasos y costes que en ocasiones pueden ser desmedidos. Esta situaciones son normales, así como es habitual que ese otro capitán que saborea un trago de ron junto a nuestra persona en la taberna te susurre de forma arrogante:

¡Ja ja! ¡Yo estuve navegando el mes pasado por esas aguas y ví los arrecifes que hundieron parte de tu nave esta mañana!
¡Valiente grumete, ¿y no los identificaste en el mapa para que los demás patrones no incidieran en el error?!— contestamos golpeando la mesa y derramando el poco ron que quedaba en el vaso.

No me gusta esta entradaMe gusta esta entrada (Sin votos todavía)
Loading ... Loading ...






Por Roberto Amado, 7 de Abril de 2008 | Imprime

Si hace un par de meses se consiguió determinar el sistema de cifrado de las tarjetas Mifare, esta vez le ha tocado el turno a los chicos de microchip en la serie de integrados criptográficos que implementan KeeLoq, dejando en evidencia las deficiencias de seguridad de algunas de las soluciones propietarias criptológicas que pretenden otorgar a sistemas RFID del uso de trasmisiones seguras.

Este tipo de chips son ampliamente utilizados como sistema inmobilizador o de apertura de puertas por compañías del automóvil como Chrysler, Daewoo, Fiat, General Motors, Honda, Toyota, Volvo, Volkswagen y Jaguar, así como en sistemas de acceso a garajes.

Según afirma el investigador y profesor Christof Paar de la “School of Electronics and Information Technology” un individuo situado en un rango de 100 metros al transponder puede capturar el tráfico intercambiado por el sistema para clonar la clave digital y hacerse con el control del coche o incluso denegar el acceso al propio dueño.

El sistema propietario parece que utiliza un algoritmo de encriptación no lineal, que genera la clave de 64 bits a partir de un vector de inicialización de 32 bits y un código aleatorio. Pero el problema reside en una clave maestra que la compañía fabricante introduce en sus integrados y que el profesor Paar ha descubierto mediante el analisis de la señal mediante DPA (Differential Power Analysis) y DEMA (Differential ElectroMagnetic Analysis). De esta forma, una vez determinada la clave maestra tan solo es necesario hacerse con cierto tráfico transmitido por el sistema para conseguir la clave del usuario utilizada. Puede consultar en este enlace los detalles del ataque.

No me gusta esta entradaMe gusta esta entrada (Sin votos todavía)
Loading ... Loading ...






Por Roberto Amado, 1 de Abril de 2008 | Imprime

Mifare es la tecnología de tarjetas inteligente sin contacto más difundida en el mundo. Utilizada como monedero electrónico, en sistemas de ticketing, peajes, parquímetros, cabinas telefónicas, sustituye a los billetes tradicionales o dinero en efectivo. Esta tecnología RFID trabaja en la frecuencia de los 13,56 MHz y presenta capacidad de lectura y escritura mediante comandos simples de incremento decremento.

El pasado mes de diciembre Karsten Nohl, Starbug y Henryk Plötz consiguieron mediante ingeniería inversa romper el sistema de cifrado propietario de esta tecnología, con todo lo que ello implica. Pensemos por un momento las consecuencias del resultado de su investigación: sistemas de control de acceso vulnerados, control de encendido de automóviles burlado, posibles fraudes en monedero electrónico o viajes gratis en transportes públicos. Estas son algunas de las posibles consecuencias de este grupo de trabajo. Más allá de sus consencuencias, lo que más sorprende es la metodología utilizada para llevar a cabo el “asalto”.

No me gusta esta entradaMe gusta esta entrada (Sin votos todavía)
Loading ... Loading ...






Por Roberto Amado, 12 de Febrero de 2008 | Imprime

Tras la introducción teórica del funcionamiento del proceso de autenticación, comentada la semana pasada (I y II), es hora de abordar la metodología utilizada por las herramientas de seguridad inalámbricas que permiten realizar ataques de diccionario a la PSK, aplicaciones como Airolib (de la suite Aircrack) o Cowpatty. Aunque en un inicio pensamos separar esta entrada en dos, hemos llegado a la conclusión de que no tiene sentido, y que aunque sea un poco largo, aquellos interesados lo agradecerán.

El estándar 802.11i, y en concreto WPA, conforma un protocolo de seguridad complejo y fiable, si es utilizado de la manera adecuada. No obstante, no esta exento de ser susceptible a ataques de diccionario y fuerza bruta. En este post se detalla de forma teórica el principal “Talón de Aquiles” que presenta este protocolo. Éste reside en el proceso de autenticación entre las estaciones de la red y el punto de acceso, el llamado saludo a cuatro vías o “4 way-handshake“; dicho proceso consta del intercambio de 4 paquetes para la gestión del acceso a la red. La brecha de seguridad a la que nos referimos, y que un atacante podría utilizar, se encuentra tanto en el segundo como en el cuarto paquete, ya que en ambos la estación transmite al AP el MIC o control de integridad, y el mensaje EAPoL en claro. (Recordad que el valor MIC conforma el resultado de aplicar el algoritmo de control de integridad “Michael” al mensaje EAPoL. Dicha función toma como entrada el paquete de datos mismo, las direcciones MAC origen/destino, y parte de la PTK; todo ello genera mediante la función de HASH HMAC_MD5 la cadena de control de integridad.)

No me gusta esta entradaMe gusta esta entrada (Sin votos todavía)
Loading ... Loading ...






Por Roberto Amado, 5 de Febrero de 2008 | Imprime

Si leyeron la entrada de ayer, nos quedamos preguntándonos por los elementos que se utilizan para construir la PMK. La respuesta es muy sencilla: la contraseña precompartida, el ESSID del AP, la longitud del ESSID, y un barajado de 4096 procesos. Todo ello es generado por una función matemática llamada PBKDF2 (PBKDF2 es una función de PKCS #5 v2.0: Password-based Cryptography Standard) ofreciendo como resultado una clave PMK de 256 bits:

PMK = PBKDF2 (Frase secreta, ESSID, Long(ESSID), 4096, 256)

Una vez obtenida esta clave, comienza el proceso de autenticación con el AP al que se denomina 4-Way Handshake, o saludo inicial, que se puede ver en la imagen al final del post. En ese proceso, tanto la estación como el AP generan la PTK y la GTK utilizadas para cifrar los datos, siendo ambas diferentes en cada sesión.

No me gusta esta entradaMe gusta esta entrada (Sin votos todavía)
Loading ... Loading ...






Por Roberto Amado, 4 de Febrero de 2008 | Imprime

[N.d.E. Comenzamos con esta entrada una serie de tres artículos, de cierto nivel técnico, en relación con WPA, concretamente con WPA-PSK. Los dos primeros posts están dedicados a la exposición teórica del problema, mientras que los dos últimos entrarán en detalles prácticos. Para aquellos menos introducidos en temas WiFi, les prometo un artículo en breve describiendo los conceptos relacionados con esta tecnología.]

El método empleado por WPA para autenticar a las estaciones WiFi supone uno de los puntos débiles de este protocolo de seguridad, como veremos a continuación. Por lo que respecta a la autenticación, en función del entorno de aplicación, es posible emplear dos modos de autenticación diferentes WPA-PSK (Pre Shared Key) o WPA-EAP (Extensible Autentication Protocol).

En entornos personales, como usuarios residenciales y pequeños comercios, se utiliza WPA con clave pre-compartida o también llamada WPA-PSK y autenticación IEEE802.1X. En estos entornos no es posible contar con un servidor de autenticación centralizado, tal y como hace la autenticación EAP. En este contexto, WPA se ejecuta en un modo especial conocido como “Home Mode” o PSK, que permite la utilización de claves configuradas manualmente y facilitar así el proceso de configuración del usuario domestico.

No me gusta esta entradaMe gusta esta entrada (+1 rating, 1 votes)
Loading ... Loading ...






Por Roberto Amado, 31 de Enero de 2008 | Imprime

Para aquellos profesionales que estén buscando ampliar conocimientos (o gestores intentando exprimir el presupuesto departamental) y hayan pensado en realizar alguna certificación o curso, a continuación se proponen un listado de las principales certificaciones relacionadas, directa o tangencialmente, con el área de la seguridad informática. No están todas las que son, pero sí son todas las que están:

  • ITIL. Marco de trabajo de las mejores prácticas destinadas a facilitar la entrega de servicios de tecnologías de la información (TI) de alta calidad. Ofrecido por la OGC británica (Office of Government Commerce UK).
  • CISSP (Certified Information Systems Security Professional) de ISC2, certificación de seguridad independiente. Trata de abarcar diversos dominios de seguridad TIC, desde controles de acceso a criptografía o continuidad de negocio.
No me gusta esta entradaMe gusta esta entrada (Sin votos todavía)
Loading ... Loading ...






Por Roberto Amado, 16 de Enero de 2008 | Imprime

El pasado fin de semana estuve dando un paseo portátil en mano por la ciudad de valencia obteniendo resultados aterradores. Las capturas de datos en el escenario de pruebas ofrecieron la posibilidad de establecer una categorización del uso de los métodos de cifrado inalambrico por parte de la población consultada, permitiendo medir el nivel de seguridad de las redes Wireless en la capital del Turia.

Se obtuvieron como resultado cuatro grandes grupos: redes abiertas “OPN”, Access Points (AP) con seguridad WEP, redes que hacen uso de WPA, y puntos de acceso con WPA2. Los datos recabados reflejan el grado de seguridad de las conexiones inalámbricas que utilizan el estándar IEEE802.11, estimando de esta forma la exposición de riesgo de la población que hace uso de este tipo de tecnología. El gráfico de la izquierda establece el porcentaje de uso de cada protocolo obtenido de una muestra de 2658 puntos de acceso tomada en el escenario de pruebas, con la siguiente distribución:

» 538 puntos de acceso sin cifrado de datos.
» 1514 con seguridad WEP.
» 513 redes con el protocolo de seguridad WPA activado.
» 93 AP’s que usan WPA2.

Como se puede observar, el 20% de los puntos de acceso no contempla ningún tipo de cifrado de datos o control de acceso. El 57% utiliza seguridad WEP, mientras que el 19% hace uso de WPA en su punto de acceso inalámbrico. En último lugar aparece WPA2 con un escaso 3% de uso.

Teniendo en cuenta estos datos, podemos casi asumir con certeza que el 99% de los puntos de acceso con WEP son explotables de forma exitosa. Me aventuraré aún más y diré que el 15% de los puntos de acceso con WPA pueden ser atacados con resultados positivos. De la misma forma, el 15% de los AP’s con WPA2 lo son también, debido a que los métodos de ataque son los mismos: diccionario y Rainbow tables (precomputación del SHA-1 (guardado en forma de listado hash) de WPA y WPA2 para acelerar el proceso de crackeo; véase este enlace). Si a ello le sumamos el porcentaje de las redes abiertas obtenemos el siguiente resultado:

Podemos decir por tanto que sí, el 80% de las redes inalámbricas en la ciudad de Valencia son potencialmente vulnerables.

No me gusta esta entradaMe gusta esta entrada (Sin votos todavía)
Loading ... Loading ...






Por Roberto Amado, 11 de Enero de 2008 | Imprime

Si recuerdan, y no se nos han perdido por el camino, en la entrada de ayer nos quedamos con el cálculo de SA+3[A+3] (es decir, elemento A+3 del array S en la iteración A+3) mediante el algoritmo PRGA. No obstante, como les decíamos, no parece muy factible asumir que los valores de S[0], S[1] y S[A+3] permanecerán quietos tras el barajado de KSA. Y aquí es donde entra en juego la estadística; FMS calcularon mediante la fórmula

formula.jpg

que un 5% de las veces dichos valores no se veían alterados, mientras que el 95% restante no permanecían en las posiciones deseadas. Esto aunque no lo parezca es un dato muy alentador en cuanto a la ruptura del algoritmo se refiere, ya que con una cantidad muy grande de paquetes (del orden de 2000000) se puede detectar que el valor que devuelve el PRGA es nuestro SA+3[A+3].

En este punto recordemos una de las dos premisas que presentamos al comienzo del análisis: conocemos el texto plano del primer byte del paquete, ya que corresponde con el valor 0xAA. Realizando un XOR de ese byte con el primer byte encriptado podemos conocer un 5% de las veces el valor de SA+3[A+3]. Retrocediendo aun mas con este valor podemos calcular el jA+3 y con ello determinar el valor de Clave[A+3]. Una vez determinado el byte A, podremos ir incrementando el valor del índice (A+1) para buscar el siguiente byte de la clave [A+3+1, 255, X], y vuelta a empezar. Poco a poco incrementaremos el valor de A averiguando por completo el total del vector Clave[].

No me gusta esta entradaMe gusta esta entrada (Sin votos todavía)
Loading ... Loading ...






Por Roberto Amado, 10 de Enero de 2008 | Imprime

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, ...)

No me gusta esta entradaMe gusta esta entrada (Sin votos todavía)
Loading ... Loading ...