Una nueva función de medición de tiempo en HTML5 puede ser explotada
por sitios malignos para apropiarse de información presentada en las
páginas abiertas en el navegador. La charla fue
presentada en Black Hat.
Expertos en seguridad informática de la empresa Context Information
Security han logrado en pruebas de laboratorio extraer información
confidencial de sitios web al analizar la velocidad con que los
elementos CSS y gráficos SVG son generados en pantalla.
Paul Stone, analista jefe en Context
declaró a la publicación The Register
que la información sobre tiempo transcurrido, que puede alcanzar una
precisión cercana a las millonésimas de segundo, permite determinar el
color de pixeles de páginas malignas, y así reconstruir palabras y
números, aparte de datos de navegación.
La función de medición de tiempo fue diseñada con el objetivo de
facilitar la transición a animaciones en páginas web, y puede ser
utilizada para calcular e tiempo que toma redibujar parte, o todo, el
contenido de una página abierta.
Los
expertos de Context crearon un procedimiento basado en JavaScript
mediante el cual se aplican filtros a una página abierta, pudiendo así
medir el tiempo exacto que toma presentar algunos de sus elementos. Al
contar con esa información es posible determinar qué píxeles han sido
activados y así identificar patrones como texto y números.
En un
documento explicativo [
PDF], Stone escribe que la nueva API de HTML5,
"requestAnimationFrame",
puede cronometrar las operaciones de visualización del navegador, e
inferir datos midiendo el tiempo que toma generarlos. Instalando el
JavaScript en un sitio maligno, intrusos podrían en teoría robar
información al usuario.
Cabe señalar que el ataque en cuestión sólo ha funcionado en el ámbito
controlado de un laboratorio, y los propios autores del informe acotan
que sería un reto implementarlo eficazmente en el ciberespacio.
Con todo, recuerdan que las técnicas básicas descritas en su informe
inevitablemente serán mejoradas para incrementar su velocidad, eficacia y
aplicaciones reales.
Context comunicó sus conclusiones a Google, Microsoft y Mozilla
Foundation. Las tres empresas estarían investigando el tema e intentando
crear una protección que impida estos
ataques, por ahora teóricos. Por
el momento los desarrolladores puede evitar el ataque a través del
Header HTTP X-Frame, la misma que se utiliza para evitar
ataques de Click-Jacking.