2008 el año de las grandes fallas en Internet

Este 2008 fue el año de las grandes catástrofes en Internet segun Hispasec, término que me parece muy interesante y cierto pues ha habido una serie de problemas que afectan a Internet en general como en ningún otro año hubo.

  • El descuido del OpenSSL en Debian : Debian ha sido una de las distribuciones más estables y seguras, con la premisa de mantener solamente versiones estables de software, aunque viejas. En 2006 un desarrollador comentó una línea de código del paquete open-ssl para evitar algunas molestas alertas del compilador, aunque antes se asesoró con los desarrolladores de open-ssl para tener la certeza de que no estaba haciendo nada mal. El problema de comentar esa línea es que se redujo drásticamente el rango de valores para escoger llaves publicas, provocando que la “aleatoriedad” al escoger llaves ya no sirviera como medida de seguridad, y se pudieron calcular muchísimas listas que contenían todas las posibles llaves. Esta falla ya esta solucionada.
  • Kaminsky y los DNS : En julio Dan Kaminsky descubre una vulnerabilidad en el protocolo, lo que permitiría falsificar las respuestas de un DNS, y así un atacante podría apoderarse de una zona o dominio entero; y, por consiguiente el atacante podría enviar páginas falsas pareciendo correctas a miles de personas. Esta falla ya esta solucionada
  • La falla en la arquitectura del BGP : Tony Kapela y Alex Pilosov demostraron una ataque que permite interceptar el tráfico de Internet en una forma casi idetectable. Es una falla en la arquitectura del protocolo BGP (Border Gateway Protocol), que permite interceptar y hasta modificar el tráfico de Internet que no esté cifrado y sin que ninguna persona pueda darse cuenta. Esta vulnerabilidad no se basa en algún error de software, es una falla en la arquitectura del protocolo BGP, ya que este protocolo que se basa en la confianza mutua. La falla no esta solucionada, y la solución que proponen es que los routers en su comunicación usen certificados de seguridad que eviten la confianza mutua.
  • La supuesta denegación de servicio del TCP : Outpost24 presume haber descubierto una vulnerabilidad en el protocolo TCP, que podría causar una denegación de servicio a cualquier implementación del mismo. Cabe destacar que el protocolo TCP es el más importante para la comunicación en todo Internet. No se han dado detalles del problema.
  • Los avances en la inseguridad de Wireless : Este año se caracterizó entre otras cosas por empezar a sacar provecho de los GPU. Hay que señalar que un GPU es el procesador de las tarjetas gráficas. Algunas compañías aseguran poder crackear una clave WPA mucho más rapidamente mediante el uso combinado de GPU y CPU. Poco después se descubren vulnerabilidades en el algoritmo TKIP (un cifrado muy utilizado en WPA). Todo el mundo comentaba que la seguridad en redes wireless está por los suelos, pero la verdad es que el problema con TKIP ni siquiera facilita la obtención de la clave, sólo permite descifrar parcialmente los paquetes; y, para realmente obtener una aceleración impresionante en el crackeo por GPU necesitaríamos una tarjeta gráfica realmente cara, no una convencional como anunciaban esas empresas de software.
  • El clickjacking : Jeremiah Grossman y Robert Hansen, dos expertos en seguridad Web, se reunen para demostrar una vulnerabilidad basada principalmente en las etiquetas iframe. La vulnerabilidad permite a un atacante forzar a que un usuario, sin saberlo, “haga click” en un vínculo que el atacante quiera. Lo peor es que todos los navegadores son vulnerables y la única forma en la que se puede evitar es deshabilitando las etiquetas iframe en el navegador.

¡ Esperemos un mejor año !

¿Qué hubiera pasado si la bomba de Hiroshima hubiera caido en México?


Muy interesante este calculador de destrucción llamado Ground Zero, en el que da a elegir entre una serie de armas de destrucción y con ayuda de google maps puedes seleccionar en que parte del mundo quieres ver, creo que es una forma para que veamos lo terribles que pueden llegar a ser estas armas de destrucción masiva, y un NO a la guerra.

Seguridad mediante obscuridad

llave bajo el tapeteHay quienes creen que si un atacante no conoce la URL de una página tienen seguridad, y en parte tienen un poco de razón; pero sólo si además de no conocer la URL, esta está protegida por contraseña y tiene tal vez algún otro mecanismo de seguridad. Aunque a lo que realmente se refiere el término seguridad mediante obscuridad es a usar la obscuridad como mecanismo para aumentar la seguridad. Yo en lo personal creo que no lo hace.

Muchas páginas de internet tienen una validación de usuario y contraseña, a veces hasta tienen SSL, a lo cual muchos dirían “esta bastante seguro”; pero cuando vemos más detenidamente la dirección a la que te lleva depués de iniciar sesión correctamente, así como todas las que le siguen, nos damos cuenta que se puede acceder ahí sin haber iniciado sesión forzosamente. Habrá algunos que no sepan que hay que cuidarse de eso, pero hay otros que garantizan que eso es seguro, además argumentado que es para facilitarle la vida a sus empleados y poder guardar en favoritos la dirección, dejando correr el riesgo y siendo algo totalmente inseguro y falso.

En cualquier momento alguien podría intentar atinarle a alguna de las páginas y no es muy difícil, pensando en que el login se encuentre en pagina.com/system/login.php, podemos intentar en users.php, o en menu.php o menu.html, cualquiera de esas páginas nos llevará a una que contenga toda la lista de links a las demas, y si su única protección es “que nadie conoce los links” estarán en graves problemas. Otra posible técnica es una búsqueda en google de “Index of” site:pagina.com, ésto nos desplegará todos los directorios que ha indexado google con sus respectivos contenidos; a menos que se configure el servidor web para negar el listado de los directorios del sitio.

Y así hay muchas razones por las cuales no debemos confiar en la Seguridad mediante obscuridad

Otro conexto en el que aplica este término es quien dice el código cerrado es mucho más seguro, cosa que para mi punto de vista es totalmente falso, y lo ha demostrado Linux. Tal vez si alguien analiza el código fuente de Linux le ayude a encontrar alguna falla, pero definitivamente no va a ser como en Windows que 10 años despues encuentran una falla crítica en Windows 98 que no se habían dado cuenta, y que ha sido heredada por todo el árbol genealógico de Windows hasta llegar a Windows Vista.

Seguridad mediante obscuridad es como dejar la llave de tu casa abajo del tapete o en la maceta, tal vez nadie la encuentre, pero tal vez sí.

¿Porque SPEI cierra a las 4?

SPEI es el Sistema de Pagos Electronicos Interbancarios de México, ¿pero porqué después de las 4 no puedes hacer movimientos? Es una buena pregunta siempre lo he querido saber, ¿qué acaso las computadoras dejan de trabajar a las 4? ¿o tal vez los servidores se gastan por estar prendidos tanto tiempo? ¿o que el enlace dedicado solo lo contratan de 8am a 4pm en dias hábiles?, ¿o hay cientos de personas revisando las transferencias interbancarias que se hacen en el día y dejan de trabajar a las 4? ¿o tal vez solo es un if(hora < 8 || hora > 16) return false;?, siempre me lo he preguntado pero tal vez es algo que nunca pueda comprender…

Los terroristas usaron Google Earth!! además de barcos, comida, coches…

Muy buen artículo de Bruce Schneier en el cual en respuesta a lo que algunos medios de comunicación dijeron “Los terroristas de Mumbai usaron Google Earth”, él dice,

claro que usaron google earth, además seguramente usaron barcos, y comieron en los restaurantes

Lo cual es muy lógico, pues habrá quienes aprovechen la tecnología para bien, y obviamente habrá quien la use para otros fines, pero eso no debe llevarnos a pensar que la tecnología es la causante de que ocurra algun acto terrorista, con o sin Google Earth seguramente hubieran hecho lo mismo, solo que tal vez les facilitó un poco más las cosas, asi como tambien llevar un coche les facilita a los ladrones robar un banco.

John the Ripper

John the Ripper es un programa para crackear contraseñas “hasheadas” en diversos formatos, entre ellos: LM, MD5 y SHA1. MD5 y SHA1 son los formatos con los que guardan Unix y Linux sus contraseñas; LM (DES) es el formato con el que guarda Windows, de forma muy insegura, sus contraseñas.

Resulta que Windows en sus versiones anteriores a NT sólo usaba LM y esto implica, por las características de LM, que las contraseñas tenían que ser divididas en dos partes de 7 caracteres cada una y tranformadas sus letras a mayúsculas. Luego de varias quejas sobre la inseguridad de LM incluyeron NTLM (MD4), que no necesita dividir las contraseñas en dos partes. El problema es que continuaron con el soporte habilitado para LM hasta Windows XP. Aunque si la contraseña es mayor a 14 caracteres, entonces no utiliza LM, sólo NTLM.

Las implicaciones de inseguridad para LM son graves. Si las contraseñas se guardan partidas en dos partes de 7 caracteres y convertidas a mayúsculas, se elimina gran parte de la complejidad para crackear casi cualquier contraseña. Si sólamente se usan letras y números en la contraseña, la cantidad de contraseñas posibles serían: (10 (dígitos del cero al 9) + 27 (letras en mayúscula) ) elevado a la 7. Es decir (10 + 27)^7 = 94,931,877,133 contraseñas posibles. Algo cercano a 95 mil millones de combinaciones diferentes. Cosa que es muy poca para un procesador moderno y menos aún para los de doble núcleo, que puede probar cerca de 90 millones de contraseñas por segundo. Luego considerando que estadísticamente la gente utiliza contraseñas de entre 6 y 8 caracteres, y la gran mayoría utiliza sólo dígitos y letras, entonces muy problemente las contraseñas estarán guardadas usando el formato LM.

Obteniendo contraseñas en Windows

Windows guarda sus contraseñas en formato LM dentro del archivo SAM, el cual sólo puede ser leído por usuarios del sistema con permisos de administrador. Pero también se puede tener acceso a ese archivo por otros medios; lo que comúnmente se hace es iniciar la computadora desde una distribución Linux en Live CD, como Backtrack, y ejecutar dos comandos para obtener el archivo SAM. En ésta página hay un video que muestra cómo se hace.

Una vez obtenido el SAM, utilizamos John the Ripper para obtener la contraseña deseada. En éste sitio podemos encontrar una modificación de John the Ripper que soporta procesamiento paralelo; basta después con bajar y compilar MPICH para poder ejecutar JTR en dos procesos paralelos. Esto aprovechará los dos núcleos de nuestros procesador y reducirá a la mitad el tiempo que hay que esperar para obtener la contraseña.

La manera de ejecutar JTR usando MPICH, para que utilice dos procesos paralelos, es la siguiente:

mpirun -v -np 2 ./john sam.txt

Después de dos horas muy probablemente hayamos obtenido la contraseña de Windows que queremos, aunque la contraseña devuelta estará en mayúsculas, por aquello del LM. Si queremos la contraseña real, que puede contener mayúsculas y minúsculas, se tienen que hacer dos pasos más. En esta página explican cómo obtener finalmente las contraseñas reales. La única condición es contar con un JTR con soporte para formato NTLM. Lo mejor de todo es que todo esto se puede hacer usando el mismo archivo SAM de Windows que habíamos obtenido con anterioridad.

En el caso de Linux, Unix y Vista es más dificil, de hecho, un password en Linux de 8 caracteres ya lo es, y si en lugar de ser de 8 es de 9 resulta muchísimo más dificil.