La semana pasada Google publicó una nueva extensión llamada Password Alert diseñada específicamente para poder detectar posibles webs maliciosas y evitar que los usuarios caigan en las técnicas de phishing de los piratas informáticos. Esta extensión analiza el código de las páginas web para ver si parecen webs maliciosas y a la vez controla todo lo que escribimos en ellas para evitar introducir nuestros credenciales y que estos puedan ser robados por terceras personas.
Aunque esta extensión podía ser una gran forma de proteger a los usuarios de las webs malintencionadas, varios investigadores de seguridad han estado buscando posibles debilidades en el funcionamiento de la misma, demostrando que aunque la intención de Google ha sido buena, esta extensión no protege a los usuarios como debería hacerlo.
Primer fallo de seguridad para Password Alert (Solucionado)
Password Alert se distribuye como una extensión para el navegador Google Chrome que nos mostrará una notificación siempre que introduzcamos nuestros credenciales de Google en una página web cualquiera evitando, por ejemplo, ser víctimas de ataques de phishing. Esta extensión no guarda los credenciales completamente (para evitar que pudieran recuperarse de nuestro ordenador), sino que guarda una pequeña parte salteada del código SHA1.
Esto podía permitir a atacantes obtener una parte de la contraseña que, mediante diferentes técnicas, podrían regenerar la contraseña correcta asociada a la extensión. Aunque es muy complicado que esto ocurra, la posibilidad existía, por lo que había que desarrollar una solución lo antes posible.
Este fallo de seguridad fue solucionado a las pocas horas de reportarlo, sin embargo, junto a la solución se iniciaba un nuevo problema.
Segundo fallo de seguridad para Password Alert (Solucionado)
La extensión analiza lo que escribimos en las páginas web para buscar posibles coincidencias con nuestros credenciales y avisarnos así si introducimos la contraseña donde no debemos. De esta manera, un simple código en JavaScript escrito en cualquier parte del código de una web es capaz de evitar que esta extensión monitorice y controle las contraseñas que introducimos en dicha web siendo imposible así notificarnos si comprometemos nuestros credenciales.
El código en JavaScript era el siguiente:
En la siguiente actualización este fallo de seguridad fue solucionado, aunque dio lugar a uno nuevo.
Tercer fallo de seguridad para Password Alert (Solucionado)
Una nueva versión de la extensión y una nueva forma de evitarla. En esta versión basta con registrar un evento keypress que refrescara la página cada vez que se detectaba una pulsación de teclado.
De esta manera se evita que la extensión sea capaz de controlar lo que tecleamos, sin embargo, obliga al usuario a escribir la contraseña bastante rápido para que la extensión no tenga tiempo de ejecutarse.
Una técnica bastante complicada (debido a la velocidad a la que debemos introducir nuestra contraseña) pero que, una vez más, permitía evadir la extensión se seguridad. Google, una vez más, actualiza su extensión para solucionar esta forma de evadir su seguridad, aunque aparece un cuarto fallo en la versión más reciente (aún sin corregir).
Cuarto fallo de seguridad para Parrword Alert (versión 1.6 – aún vulnerable)
Una cuarta forma de evadir la seguridad de esta extensión es simplemente introduciendo la web de inicio de sesión dentro de un iframe con el atributo ‘sandbox=»allow-forms»‘. De esta manera se bloqueará todo el código JavaScript en dicha web pero se permitirá la introducción de formularios en la misma, por lo que esta extensión no podrá analizar lo que escribimos en la web.
Igualmente se puede evitar que la extensión detecte la página como sospechosa repitiendo múltiples etiquetas «meta» al principio de la misma para conseguir superar los 100 Kilobytes que analiza esta.
Los usuarios que quieran instalar esta extensión para proteger sus credenciales la pueden descargar de forma gratuita desde la Chrome Store.
¿Crees que Google se ha pillado los dedos con la seguridad de la extensión Password Alert?