HTML5: el bueno, el malo y el feo

Esta es la última entrega de la serie sobre el análisis de las nuevas funciones en HTML5, que hace que el desarrolla de aplicaciones web sea mucho más fácil, pero que también permite una mayor apertura del lenguaje a nuevas amenazas. No todo son malas noticias, pero tampoco son todas buenas… ¡también hay algún detalle un tanto desagradable!

Tags: HTML5 BITB red zombi ataque botnet BrowserGuard

 

Madrid, 15 de diciembre 2011 - Este post es el tercero y último de la serie de 3 entregas que hemos realizado sobre HTML5. Puede acceder a las dos últimas entradas: HTML5-El Bueno , y HTML5-El Malo .

Bienvenido al último capítulo de nuestra miniserie sobre HTML5 y los problemas de seguridad que le rodean. Desde aquí, vamos a echar un vistazo a lo que, en mi opinión, es el más temible problema de seguridad que HTML5 plantea: BITB (Botnets In The Browser).

Con HTML5, el atacante ahora puede crear un botnet o red zombi que se ejecutará en cualquier sistema operativo, en cualquier lugar y en cualquier dispositivo. Al estar en gran medida basado en la memoria, que apenas toca el disco, se hace más difícil su detección con los antivirus tradicionales basados en archivos. El código JavaScript es muy fácil de confundir, por lo que la firma IDS de red también se encuentra con problemas . Finalmente, al estar basado en web, será muy fácil que pase por la mayoría de firewalls.

A continuación se muestra un extracto del trabajo que recientemente hemos publicado sobre los Ataques HTML5:

Etapas de un Ataque Botnet Basado en el Navegador

  1. Infección : la infección del sistema de un usuario se realiza convenciéndole para ejecutar el código JavaScript inicial. Hay una larga lista de maneras para lograr esto, entre las que se incluyen XSS, hacer click en un link en un email o mensaje instantáneo, técnicas de Blackhat SEO (Optimización del Motor de Búsqueda), ingeniería social, comprometiendo un sitio web y otros muchos.
  2. Persitencia : un botnet basado en el navegador por su propia naturaleza no será tan persistente como un botnet tradicional. Tan pronto como la víctima cierra la pestaña del navegador, se detendrá la ejecución del código malicioso. Un atacante deberá considerar esto, ya que las tareas encomendadas a botnets basados en el navegador podrían ser diseñadas para tener en cuenta la naturaleza transitoria de los nodos botnet. La capacidad para reinfectar fácilmente los sistemas es importante, por lo que los vectores de ataque tales como el uso persistente de XSS y la técnica de comprometer sitios son los más factibles. Otro enfoque es combinar clickjacking y tabnabbing. El clickjacking es utilizado primero para forzar a la víctima a abrir otra página web con el mismo contenido que la página original. Mientras la víctima navega por el contenido que espera ver, esa pestaña con contenido malicioso se ejecuta en un segundo plano. Para alargar aún más la vida de esta etiqueta maliciosa, el atacante puede utilizar el tabnabbing - señalar la etiqueta original y la página como una página abierta frecuentemente tal y como si se tratara de Google o YouTube . Quizás, una forma más sencilla aún de persistencia es ofrecer la página maliciosa como un juego interactivo. Lo ideal sería que el juego estuviese diseñado para que el usuario lo mantenga abierto todo el día, puesto que de vez en cuando volverá a él para completar alguna tarea nueva.
  3. Payload o Carga útil : este ataque puede dar lugar a las siguiente posibilidades:

Personalmente, considero que esto supone una nueva capacidad importante en el arsenal de un atacante y, sin duda, es algo que vamos a ver crecer en un futuro no muy lejano –especialmente en el área de ataques dirigidos. Mientras las defensas tradicionales contra el malware no son ideales para bloquear este nuevo vector de ataque- hay dos herramientas gratuitas que pueden ofrecer una muy buena protección:

El documento "Visión general de HTML5: un vistazo por los escenarios de ataque en HTML5 ”, ya se encuentra disponible para su descarga online .