24.9.12

Los riesgos de navegar “a pelo”

Originalmente publicado por Luis Enrique Corredera, en elreservado.es,  23 de junio de 2010

Los servidores Web son ordenadores que se encuentran conectados a Internet idealmente todos los días, a todas horas, y que interactúan con los navegadores Web haciendo uso del protocolo HTTP [1,2] y otros convencionalismos de comunicación, por ejemplo para la gestión de la sesión [3,4].

Los programas que usamos para “navegar” por Internet reciben el nombre de navegadores (web browsers en inglés), y los más comunes en la actualidad son Microsoft Internet Explorer [5], Mozilla Firefox [6], Opera [7], Apple Safari [8] y Google Chrome [9]. Estos navegadores interpretan el “lenguaje de marcado” con que se escriben las páginas Web (que recibe el nombre de código HTML, y cuya estandarización es labor del organismo World Wide Web Consortium [10]).

La navegación por páginas Web expone de forma continuada al navegador Web a contenidos digitales, típicamente compuestos por código HTML, que tras ser interpretado por el navegador, empieza la carga automática de otros contenidos como imágenes, vídeos, documentos (de Word, Pdf, etc.), animaciones digitales (Macromedia Flash), y otros contenidos dinámicos, como programas informáticos escritos en lenguajes de script (por ejemplo, Javascript) que dotan de una mayor interactividad a las páginas Web.

Riesgos y sus consecuencias nefastas

Para el usuario sin los adecuados conocimientos, estos contenidos son simplemente contenidos digitales, sin embargo para el usuario avanzado en informática y para el experto, cualquier tipo de los citados contenidos supone un riesgo que puede traer nefastas consecuencias en el sistema informático. Sin ánimo de ser exhaustivos citaremos algunos de los riesgos asociados a los contenidos digitales:

* Código Javascript: navegar por Internet sin una protección para el código Javascript, por páginas Web en las que los contenidos no son de confianza, puede terminar derivando en un control remoto del ordenador del usuario. Para ello hay incluso sistemas disponibles en Internet que permiten a un usuario con unos conocimientos moderados montar un ataque de este tipo. Pongamos el ejemplo del vídeo referido en [11]: un atacante incluye código javascript en una página Web para ejecutar el programa Beef [12] (que es una suite de control remoto a través de Web, que entre otras cosas, permite a un atacante remoto conocer las teclas que está pulsando el usuario), y combinándolo con Metasploit [13] (que es una herramienta de prueba de vulnerabilidades en ordenadores) consigue la completa dominación del ordenador de la persona que navega por Internet.
* Imágenes y vídeos: no es la primera vez que los sistemas operativos de los ordenadores tienen problemas para el tratamiento de gráficos. Tanto los ordenadores con sistema operativo Windows como los de Apple han tenido recientemente problemas en el tratamiento de determinados tipos de imágenes [14,15,16,17], y también en otros sistemas operativos como diferentes Linux [18].
* Documentos Word y PDF: el programa Microsoft Word y los programas de la suite Microsoft office ha tenido incidencias de seguridad que permitían la ejecución remota de código al abrir documentos especialmente preparados para explotar esta vulnerabilidad (por ejemplo [19,20,21]), y el programa Adobe Reader también ha tenido sus serios problemas de seguridad, por ejemplo [22,23] entre otros muchos incidentes. Mantener los programas actualizados minimiza el riesgo, pero existe un periodo de tiempo en el cual muchos problemas son conocidos y el fabricante aún no ha puesto remedio en los programas, por lo que se asume el riesgo de exposición a estos problemas.
* Vídeos: la visualización de vídeos no escapa a la problemática presentada en los anteriores puntos, existiendo también un importante historial de seguridad a este respecto, tanto para vídeos flash (flv) [24], como para los programas Windows Media Player [25] o VideoLan [26], entre otros muchos.
* Animaciones Flash: las animaciones Flash requieren que el ordenador del usuario tenga instalado el programa “Adobe Flash Player” (o algún sustitutivo) y éste programa tiene un intenso historial de seguridad, algunos de sus fallos permitiendo la denegación de servicios [27], ejecución remota de código arbitrario [28] o el descubrimiento de nombres de archivos en el ordenador del usuario [29], que combinados con otras vulnerabilidades [30,31] permitirían a un atacante acceder a una gran cantidad de información en el ordenador del usuario.

Los riesgos aquí descritos son producto de fallos en diversos elementos software, y este tipo de errores van apareciendo de forma periódica, a lo largo del tiempo, existiendo la mayoría de las veces una ventana temporal en el que el riesgo es efectivo, y si los sistemas informáticos no son actualizados con frecuencia, este tiempo es enorme.

Los ataques se centran en las redes sociales

El frecuente uso además de las redes sociales, y la gran masa de usuarios de las mismas han hecho a los profesionales de los ataques informáticos centrar su vista en este emergente tipo de páginas de Internet como Facebook o Tuenti, que últimamente están recibiendo una buena cantidad de ataques de diversa sofisticación [31,32,33,34,35,36,37], así como ataques de robo de contraseñas (Phising), que tienen un fuerte impacto debido a la costumbre del usuario medio de reutilizar el mismo usuario y clave en diferentes sitios Web, servicios y ordenadores.

En muchos casos estos problemas son usados para la inserción de troyanos bancarios, o troyanos que nos hacen miembros de redes de bots en los ordenadores. Aunque son muchos los peligros que nos acechan.

Tras esta reflexión y explicación de los riesgos que asumimos al navegar por Internet, si yo fuera tú, desconfiaría de los enlaces que veas en tu correo electrónico, o en Facebook, o en el Messenger… Igual que en Matrix, cualquier contenido digital podría llevar dentro un “agente Smith”.

Referencias para los riesgos asociados a la navegación por Internet:

1. RFC2616: Hyper Text Transfer Protocol 1.1. http://tools.ietf.org/html/rfc2616
2. RFC1945: Hyper Text Transfer Protocol 1.0. http://tools.ietf.org/html/rfc1945
3. RFC2109: Mecanismo HTTP para la gestión del estado.  (Obsoleto por el RFC 2965) http://tools.ietf.org/html/rfc2109
4. RFC2965: Mecanismo HTTP para la gestión del estado.  (Sustituye al RFC 2109) http://tools.ietf.org/html/rfc2965
5. Microsoft Internet Explorer: http://www.microsoft.com/spain/windows/internet-explorer/
6. Mozilla Firefox: http://www.firefox.com
7. Opera: http://www.opera.com
8. Apple Safari: http://www.apple.com/es/safari/
9. Google Chrome: http://www.google.com/chrome
10. World Wide Web Consortium: http://www.w3.org
11. Video: Hacking Web visitors With Beef and Metasploit: http://www.securitytube.net/Hacking-Web-Users-using-BeEF-and-Metasploit-video.aspx
12. Beef: http://www.bindshell.net/tools/beef/
13. Metasploit: http://www.metasploit.com/
14. Microsoft GDI Remote Code Execution (2008): http://www.iss.net/threats/290.html
15. Microsoft vulnerabilities in GDI could allow remote code execution (2007): http://www.microsoft.com/technet/security/bulletin/ms07-017.mspx
16. Microsoft Buffer Overrun in GDI could allow remote code execution (2004): http://www.microsoft.com/technet/security/bulletin/ms04-028.mspx
17. LibTiff Buffer Overflow allows remote code execution in Mac: http://docs.info.apple.com/article.html?artnum=304063
18. LibTiff Buffer Overflow allows remote code execution: http://www.iss.net/security_center/reference/vuln/Image_TIFF_LibTiff_FetchShortPair_Overflow.htm
19. Microsoft: vulnerabilities in Microsoft Word could allow remote code execution (2008): http://www.microsoft.com/technet/security/bulletin/ms08-072.mspx
20. Microsoft Office remote code execution (2006): http://www.microsoft.com/technet/security/bulletin/ms06-012.mspx
21. Vulnerabilities in Microsoft Office could allow remote code execution (2010): http://www.microsoft.com/technet/security/bulletin/ms10-003.mspx
22. Security Update for Adobe Reader 8.1.2 fixes remote code execution (2008): http://www.adobe.com/support/security/bulletins/apsb08-15.html
23. Security Update for Adobe Reader 9.1.3 fixes remote code execution (2009): http://www.adobe.com/support/security/bulletins/apsb09-15.html
24. Remote code execution through FLV Video: http://www.mindedsecurity.com/MSA01110707.html
25. Una vulnerabilidad en Windows Media Player podría permitir ejecución remota de código: http://support.microsoft.com/kb/936782
26. VideoLAN VLC Media Player MP4 Demuxer Remote Code Execution Vulnerability: http://www.securityfocus.com/bid/28007
27. Adobe Flash Player Denial of Service: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0187
28. Adobe Flash Player remote code execution on unload Movie (2010): http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-0379
29. Adobe Flash remote file names disclosure: http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-3951
30. Microsoft Internet Explorer 5.01 SP4, 6, 6 SP1, 7, and 8 does not prevent rendering of non-HTML local files as HTML documents, which allows remote attackers to bypass intended access restrictions and read arbitrary files via vectors involving JavaScript exploit code that constructs a reference to a file://127.0.0.1 URL, aka the dynamic OBJECT tag vulnerability, as demonstrated by obtaining the data from an index.dat file, a variant of CVE-2009-1140 and related to CVE-2008-1448: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0255
31. Microsoft Internet Explorer 5.01 SP4, 6, 6 SP1, 7, and 8 does not prevent rendering of non-HTML local files as HTML documents, which allows remote attackers to bypass intended access restrictions and read arbitrary files via vectors involving the product's use of text/html as the default content type for files that are encountered after a redirection, aka the URLMON sniffing vulnerability, a variant of CVE-2009-1140 and related to CVE-2008-1448: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0555
32. Gusano de Facebook LikeJacking: http://www.sophos.com/blogs/sophoslabs/?p=9783
33. Facebook Likejacking: http://www.crn.com/security/225300204
34. Gusano Viral en Facebook: http://www.csospain.es/El-gusano-viral-Like-infecta-cuentas-de-Facebook-mediante-cl/seccion-actualidad/noticia-95320
35. Auto-invitación en Facebook: http://www.sophos.com/blogs/sophoslabs/?p=9809
36. Ataque a Tuenti: http://www.tutuenti.es/ataque-hacker-a-la-red-social-tuenti/
37. Ataque de Phising a Tuenti: http://antivirus.es/tuenti-victima-de-un-ataque-de-phishing-424

17.9.12

La trasposición: cómo evitar que el enemigo lea nuestros mensajes

Originalmente publicado por Luis Enrique Corredera, en elreservado.es,  17 de noviembre de 2010

Continuando el camino que empezamos juntos en la anterior entrega sobre la esteganografía, el arte de la escritura secreta, veamos las primeras técnicas conocidas para escribir los mensajes de modo que, aunque la esteganografía fuera descubierta, los enemigos no pudieran conocer los mensajes que debían permanecer secretos.

Los métodos más sencillos y antiguos conocidos son la trasposición, en la que se altera el orden de las letras y palabras para evitar que el enemigo pueda conocer el contenido del mensaje, a pesar de haberlo interceptado y la sustitución, en la que se cambian unas letras por otras para que los mensajes no tengan ningún sentido a la vista.

La trasposición es una forma de cifrado en la que se hace uso del mismo alfabeto de entrada que de salida y lo único que se hace es cambiar el orden del mensaje, de forma pactada por el emisor y el receptor, para que cualquier intercepción en el canal de comunicación, sin conocer la forma en que ha sido cambiado el orden, no tenga éxito a la hora de reconstruir el mensaje original.

La trasposición admite muchas variantes y complejidades. Entre ellas vamos a revisar algunas con la finalidad de ilustrar el concepto de forma práctica:

•    Trasposición de riel: el mensaje se escribe alternando las letras en dos líneas separadas. A continuación, la secuencia de letras de la línea inferior, se añade al final de la secuencia de la línea superior, creando el mensaje cifrado. El mensaje se recupera simplemente invirtiendo el proceso.


Ilustración 1: Ejemplo de trasposición de riel

•    El escitalo espartano: en el siglo V antes de Cristo (año 404 a.C.), los espartanos escribían letras transversalmente en tiras de cuero enrolladas alrededor de un escitalo (vara de madera). Al desenrollarla, el mensaje quedaba traspuesto, y sólo el volver a enrollar el cuero sobre una vara de igual diámetro podía revelar el mensaje. Gracias a esta técnica, un mensajero que sobrevivió a su viaje desde Persia pudo entregar su cinturón a Lisadro de Esparta, quien lo enrolló alrededor de su escitalo, y gracias a ello supo que Farnabazo de Persia planeaba atacarlo, y así pudo prepararse para repeler el ataque.


Ilustración 2: Escitalo espartano

•    Otro clásico ejemplo de trasposición más común en disponer el mensaje en una tabla de un ancho determinado y después escribir el mensaje leyéndolo por columnas en lugar de por filas. Por ejemplo, si queremos ocultar un mensaje como el siguiente: “El Reservado es mi diario online favorito”, tras escribirlo en una tabla de 4 caracteres de ancho y leerlo en el orden contrario, podemos codificar el mensaje como “ESASIOIAILEDMAONVTRROIRNEOOEVEDILFR”.

1    2    3    4
E    L    R    E
S    E    R    V
A    D    O   E
S    M    I    D
I     A    R    I
O    O    N   L
I     N    E    F
A    V    O   R
I     T    O  

Como mayor sofisticación a la trasposición, se puede establecer una clave conocida por emisor y receptor, que representa el orden en que hay que leer las columnas. En nuestro ejemplo, la clave sería 1234.

Antes de despedirme, os dejo deberes para la siguiente entrega: “NLDLRREAOVEEEERDOISELSVO”.

10.9.12

Cómo ocultar información a ojos ajenos

Originalmente publicado por Luis Enrique Corredera, en elreservado.es,  10 de noviembre de 2010

Desde tiempos pretéritos el ser humano ha tenido la necesidad de preservar los factores de la seguridad de la información, especialmente confidencialidad, integridad y autenticidad de la información. Mientras que unos hombres han hecho uso de su ingenio a lo largo de la historia para proteger la información (criptógrafos) otros han hecho uso de su conocimiento y astucia para poder leer, desproteger y en algunos casos modificar la información (criptoanalistas).

Según la RAE, la palabra criptografía se define como el “Arte de escribir mensajes con una clave secreta o de modo enigmático" [1]. Esta definición es un poco desafortunada para definir lo que hoy en día se entiende por criptografía, pues en primer lugar, no se trata de un arte sino de una ciencia.

Los sistemas actuales usan más de una clave, no todos los sistemas utilizan claves secretas -los sistemas de clave pública utilizan dos: una privada o secreta y otra pública-, y por último la representación final de los mensajes cifrados es binaria que aunque se trata de una representación enigmática para los seres humanos, no lo es para los computadores -pues es su lenguaje natural-. En nuestro contexto es necesario dar una definición más adecuada del concepto de criptografía (Lucena, 2002 [2]; Schneier, 1996 [3]).

Una posible definición es la siguiente: “Rama de las Matemáticas, y en la actualidad de la Informática y la Telemática, que hace uso de métodos y técnicas matemáticas con el objetivo principal de cifrar un mensaje o archivo por medio de un algoritmo, usando una o más claves. Esto da lugar a los criptosistemas que permiten asegurar cuatro aspectos fundamentales de la seguridad informática: la confidencialidad, integridad, disponibilidad y no repudio de emisor y receptor”.

Los primeros métodos de ocultación de información no eran sofisticados algoritmos de cifrado, sino que representan las primeras apariciones de esteganografía, hace más de 2000 años. Otros modos más sofisticados de abordar la ciencia de la escritura secreta se ha basado en la sustitución de caracteres, o en la trasposición de las mismas.

La esteganografía ha aparecido a lo largo de la historia de diferentes formas, cada cual más ingeniosa. Se conoce la existencia de mensajes ocultos en pequeñas bolitas de seda con mensajes escritos [4], envueltas en cera y usadas como adornos de los botones. Un escondite tan sutil para los mensajes secretos pasaba desapercibido para quienes intentaban interceptar a los mensajeros.

Otro método histórico de ocultar información se basaba en la grabación de mensajes en tablas de madera que después eran “borradas” con cera. De esta forma, las tablas parecían estar en un estado virgen, para poder ser escritas y sólo quien esperara recibir el mensaje derretía la cera para dejar la información oculta al descubierto.

También se dice que en época del imperio romano, algunos mensajeros portaban sus mensajes en el cuero cabelludo: éste había sido escrito después de haberles cortado el pelo a ras, y el propio crecimiento del pelo ocultaba el mensaje. En su destino, el mensaje se hacía visible cortando el pelo del mensajero. La esteganografía no ha quedado olvidada en los tiempos pasados, sino que nos ha acompañado hasta tiempos muy recientes y, en materia de informática, incluso tiempos actuales.

  • En la Segunda Guerra Mundial se hizo un uso muy extendido por parte de los alemanes del “micropunto”: reducían una hoja entera con el mensaje secreto a una microficha de menos de un milímetro de diámetro mediante técnicas fotográficas, y la pegaban algún “punto” de una carta aparentemente inocua. Este “microfilm” luego podía ser despegado del punto y leído. Los aliados no fueron conscientes de esta técnica hasta 1941, gracias a la ayuda de un soplo que les reveló que tenían que buscar un punto ligeramente más brillante en las cartas. Ejemplo de micropunto.-

  • En la actualidad hay programas informáticos que se sirven de la esteganografía para la ocultación de información [5,6]. Con menos sofisticación, pero no menos importantes, programas como “kamaleon[7] sirvieron durante meses a principios del siglo XXI para esconder ficheros mp3 en ficheros de fotografía, con la finalidad de burlar los filtros de contenido de los proveedores de alojamientos gratuitos.

  • En la actualidad, y en el ámbito de la seguridad informática, la esteganografía se usa para evadir las medidas de detección de ataques típicas, basadas en la inspección de tráfico. Para ello típicamente se encapsula el tráfico “secreto” como si fuera tráfico normal de otros protocolos permitidos (por ejemplo, ICMP [8] o HTTP [9]). De esta forma, el tráfico no autorizado puede atravesar los controles como si fueran conexiones legítimas de navegación Web o de señalización de redes.

La esteganografía es muy importante en la gestión de seguridad de la información, sin embargo sólo es una de las técnicas usadas, la más antigua que se conoce. En siguientes entregas recorreremos juntos el camino por la historia y las diferentes técnicas de la escritura secreta.

Bibliografía  y referencias
1. Definición de criptografía según la RAE: http://buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_HTML=2&TIPO_BUS=3&LEMA=criptograf%C3%ADa
2. Lucena, M. J. (2002). Criptografía y Seguridad en Computadores. Tercera Edición. Disponible en http://wwwdi.ujaen.es/~mlucena/
3. Schneier, B. (1996) Applied Cryptography. Second Edition. John Wiley & Sons.
4. Singh, S. (1999): The code Book. (Los códigos secretos, 2000, Tr. a español, Ed. Debate).
5. TrueCrypt: http://www.truecrypt.org
6. Invisible Secrets: http://www.invisiblesecrets.com
7. Kamaleon Soft: http://kamaleon.softonic.com/
8. Ping Tunnel: http://www.cs.uit.no/~daniels/PingTunnel/
9. HTTP Tunnel: http://www.nocrew.org/software/httptunnel.html

3.9.12

Anonymous, Lulzsec y la OTAN ¿la primera cyber-guerra mundial?

Originalmente publicado por Luis Enrique Corredera, en elreservado.es,  14 de junio de 2011

Estamos atravesando unas semanas inciertas en el mundo de la seguridad informática, donde un disparate parece que sigue a otro en una competición de alcance sin precedentes: el robo de los 70.000.000 de datos de usuarios y medios de pago a clientes de Sony [1], las 100.000 aplicaciones de Facebook que han podido robar datos de los perfiles de usuarios [2], los 200.000 clientes de Citygroup cuyos datos de tarjetas de crédito han quedado al descubierto [3], los datos de 40.000 clientes del fabricante de ordenadores ACER [3], por citar algunos.
Otros gigantes de la tecnología como Google, Yahoo, Skype, Live.com o Mozilla se vieron afectados también por el ataque a la entidad certificadora COMODO que permitió la emisión de certificados digitales que permitían suplantar a estos proveedores sin provocar desconfianza[4].
En otro plano, el panorama ha empezado a ponerse grave: a INTECO, un organismo público de referencia para lo relativo a tecnología y seguridad, le roban datos de 20.000 suscriptores en su página Web [5], por no hablar de 40.000.000 de tokens RSA que han sido comprometidos en el ataque a este gigante de la seguridad en marzo de 2011, y las implicaciones que ello ha podido tener en robo de información a los contratistas de tecnología militar Loockheed Martin, L3 Communications y Northrop Grumman.

Mientras que el MI6 combate el terrorismo al más puro estilo de Benny Hill, sustituyendo las recetas para fabricación de explosivos por recetas de magdalenas [6] en páginas Web afines a Al-Qaeda, al otro lado del océano las cosas están cada vez más serias, e incluso el gobierno americano ha estimado considerar los ciberataques como actos de guerra [7] en función de su alcance, y considerar las cyber-herramientas como armas cuyo uso tenga que autorizar el presidente del gobierno [8].

Como si se tratara de una novela Cyberpunk de principios de los 90, las temidas cyber-guerras (cyber-warfare) parece que están empezando a tomar dimensiones alarmantes, intercambiando amenazas entre la OTAN, que anuncia que infiltrará personas en Anonymous [9] y perseguirá a los ciberactivistas, mientras que Anonymous responde con amenazas a la OTAN [10] de forma intimidatoria, y anunciando que atacarán a la red de embajadas de Siria por todo el mundo (Siria no está en la OTAN).
Casi al tiempo de este anuncio, la agrupación hacker Lulzsec (responsable de los últimos ataques a Sony Pictures tras la puesta en marcha del servicio PSN por parte de Sony) ha publicado haber comprometido la seguridad de un afiliado del FBI en el área de Atlanta [11], con un inquietante mensaje: “LulzSec versus FBI (we challenge you, NATO!)” [LulzSec contra el FBI (te retamos, OTAN)].
Caminamos hacia tiempos difíciles y sin precedentes. En momentos como este, merece la pena seguir de cerca ElReservado.es, y sus publicaciones sobre seguridad informática, espionaje e inteligencia militar. Si tenemos que recorrer un nuevo camino, mejor recorrerlo juntos.

[1] http://www.wired.com/gamelife/2011/04/playstation-network-hacked/

[2] http://blog.segu-info.com.ar/2011/06/citibank-hackeado.html

[3] http://www.theinquirer.es/2011/06/06/sustraen-los-datos-de-40-000-clientes-de-acer.html

[4] http://www.comodo.com/Comodo-Fraud-Incident-2011-03-23.html

[5] http://www.net-security.org/secworld.php?id=11122

[6] http://www.telegraph.co.uk/news/uknews/terrorism-in-the-uk/8553366/MI6-attacks-al-Qaeda-in-Operation-Cupcake.html
[7] http://threatpost.com/en_us/blogs/report-us-needs-cyber-monroe-doctrine-053111

[8] http://threatpost.com/en_us/blogs/pentagon-adds-cyber-weapons-list-arms-060111

[9] http://arstechnica.com/security/news/2011/06/even-with-nuclear-weapons-nato-fears-anonymous.ars

[10] http://www.pcmag.com/article2/0,2817,2386576,00.asp

[11] http://pastebin.com/MQG0a130