El WebUSB de Chrome permiten a los hackers saltarse las protecciones U2F de Yubikey
No hay mejor manera de protegerse del azote universal de los ataques de phishing que con un token de hardware como Yubikey, que obstaculiza a los atacantes incluso si accidentalmente les entrega su nombre de usuario y contraseña. Pero mientras que el fabricante de Yubikey, Yubico, describe su producto como "unphishable", un par de investigadores ha demostrado que la empresa está equivocada, con una técnica que permite a los astutos phishers eludir incluso la protección de inicio de sesión de Yubico.
Hace dos semanas, en una presentación en la conferencia de seguridad Ofensiva Con, en Berlín, los investigadores de seguridad Markus Vervier y Michele Orrù detallaron un método que explota una característica nueva y oscura del navegador Chrome de Google para evitar las protecciones de la cuenta de cualquier víctima que use el Yubikey Neo, uno de los tokens más conocidos de Universal Two-Factor o U2F, que los expertos en seguridad recomiendan como la forma más sólida de protección contra los ataques de phishing.
Con un sitio de phishing suficientemente convincente y una función en Chrome conocida como WebUSB, un hacker podría engañar a la víctima para que escriba su nombre de usuario y contraseña, como con todos los esquemas de phishing, y luego también enviar una consulta directamente desde su sitio web malicioso a la víctima. Y usar la respuesta de Yubikey que proporciona para desbloquear la cuenta de esa persona.
Vervier y Orrù, que trabajan para la consultora de seguridad X41, tienen cuidado de señalar que su técnica no demuestra un defecto en los productos de Yubico sino un subproducto no deseado de la función WebUSB de Chrome, que el navegador agregó el año pasado. "U2F técnicamente no está roto, pero todavía es frágil, lo que mucha gente pensó que era imposible", dice Vervier. "Es un gran ejemplo de cómo las nuevas interfaces permiten formas de atacar la tecnología que se cree que es irrompible".
El gerente de productos de seguridad de Google, Christian Brand, respondió que la compañía tomó conocimiento del ataque de los investigadores después de su presentación Ofensiva Con. Si bien Google considera que el ataque es un caso extremo, la compañía está trabajando con el organismo de estándares U2F, la Alianza FIDO, para solucionar el problema. "Siempre apreciamos el trabajo de los investigadores para ayudar a proteger a nuestros usuarios", escribió Brand en un comunicado. "Tendremos una mitigación a corto plazo en la próxima versión de Chrome, y estamos trabajando en estrecha colaboración con la Alianza FIDO para desarrollar una solución a más largo plazo también. No tenemos conocimiento de ninguna evidencia de que la vulnerabilidad haya sido explotado."
Cuidado con WebUSB
Seamos claros: los hallazgos de Vervier y Orrù no cambian el hecho de que agregar autenticación de dos factores sigue siendo uno de los pasos más básicos y cruciales para proteger sus cuentas confidenciales, y un token U2F como Yubikey es la forma más segura de esa protección puedes usar. Incluso los métodos de autenticación de dos factores, como los mensajes de texto o Google Authenticator, aún se basan en códigos temporales que el usuario ingresa cuando inicia sesión; un sitio de phishing convincente puede engañarlo para que le entregue esos códigos junto con su nombre de usuario y contraseña. Un token U2F como el Yubikey en su lugar realiza un protocolo de autenticación con un sitio web que no solo demuestra que el sitio web es su clave única, sino que también requiere que el sitio web demuestre su identidad, evitando que los sitios similares roban credenciales.
Pero una grieta en esas protecciones puede haber aparecido el año pasado cuando Chrome agregó WebUSB, una característica que permite que los sitios web se conecten directamente a dispositivos USB, desde auriculares VR a impresoras 3D. Vervier y Orrù descubrieron que podían codificar un sitio web para conectarse al Yubikey Neo con esa función WebUSB, en lugar de con la habitual API de Chrome para U2F que está diseñada para usar. Al hacerlo, podrían eludir los controles que realiza el navegador antes de consultar el Yubikey, los controles que confirman que los sitios web son los que dicen ser.
Eso podría permitir, advierten los investigadores, un ataque de "man-in-the-middle". Si la víctima inicia sesión en un sitio falso de Google, el sitio de suplantación de identidad transfiere su nombre de usuario y contraseña a la página de inicio de sesión real de Google. Luego, el sitio falsificado devuelve la solicitud de Google para el token U2F del usuario y recopila la respuesta única de Yubikey, todo a través de WebUSB. Cuando esa respuesta se presenta en el sitio real de Google, los atacantes obtienen acceso a la cuenta de la víctima.
"Los desarrolladores de navegadores ponen una API adecuada que hace un uso cuidadoso de cualquier token U2F en la computadora", dice Joern Schneeweisz, un investigador de seguridad de Recurity Labs que revisó los hallazgos de Vervier y Orrù. "Y luego ponen otra característica que subvierte toda la seguridad que pondrían en su lugar".
Un sofisticado Phish
El ataque de Vervier y Orrù imagine que no es exactamente fácil de realizar, y probablemente solo sea utilizado por hackers sofisticados que se dirijan a cuentas de gran valor. Además de solicitar primero que un sitio de phishing engañe a la víctima para que ingrese su nombre de usuario y contraseña, el sitio de phishing también deberá solicitar permiso al usuario para habilitar el acceso de WebUSB a su Yubikey y luego presionar el botón físico en la tecla. Pero todo eso se puede lograr con un phishing que engañan a los usuarios con un mensaje que les pide que "actualicen" su token U2F o alguna otra estafa. Después de todo, el único cambio respecto del proceso habitual de inicio de sesión sería que se solicitara un permiso agregado. "Podrías proponer un pretexto bastante plausible", dice Orrù. "El usuario solo tiene que hacer clic una vez".
Vervier y Orrù señalan que su técnica solo funcionaría con claves U2F que ofrecen protocolos para conectarse a un navegador distinto de la manera habitual de que las señales U2F se comuniquen con una computadora, conocida como Dispositivo de interfaz humana o HID, que no es vulnerable al ataque. El Yubikey Neo, por ejemplo, también puede conectarse a través de la interfaz CCID utilizada por los lectores de tarjetas inteligentes, ofreciendo otra vía de explotación, pero el Yubikey Nano, 4 Series, y el Yubikey original y más barato no son vulnerables, dicen o no, en sus pruebas, fueron las teclas de Feitian recomendadas por Google para su configuración de protección avanzada de bloqueo.
"Esto parece una suposición hecha por Chrome de que todo U2F es HID, lo que no es válido para el Neo, mientras que Yubico asumió que el USB nunca será accesible directamente en las páginas web", explica Jonathan Rudenberg, un investigador de seguridad independiente. quien se ha enfocado en implementaciones de U2F en el pasado. La combinación de esas dos suposiciones se suma a una vulnerabilidad de seguridad significativa.
Un problema más grande
Una corrección a largo plazo podría tomar la forma de ajustes a Chrome para bloquear las conexiones WebUSB a ciertos dispositivos como el Yubikey Neo. Pero el problema podría ir mucho más allá que Yubikeys solo, exponiendo potencialmente toda una nueva clase de dispositivos a interacciones inesperadas con sitios web. Vervier y Orrù dicen que creen que los sistemas de autenticación de tarjetas inteligentes también podrían ser vulnerables, por ejemplo, aunque aún no los hayan probado.
"Google nunca debería haber implementado WebUSB", dice Rudenberg. "No se puede esperar que los usuarios entiendan las implicaciones de seguridad de exponer sus dispositivos USB a códigos potencialmente maliciosos ... No creo que esta sea la última vez que veamos que el WebUSB solía romper cosas". Rudenberg llegó a codificar rápidamente una extensión de Chrome que deshabilita WebUSB, que recomienda que todos instalen y utilicen hasta que tengan un motivo para habilitar la característica. Rudenberg dice que no hay otra manera fácil de desactivar la función.
Cuando contactarón con Yubico para que den explicaciones, el portavoz Ronnie Manning esencialmente culpó al buscador de Google. "Según el protocolo U2F, la clave de seguridad no es responsable de hacer esa verificación" del origen de las solicitudes de autenticación, dijo Manning en un comunicado. "De hecho, no pueden hacerlo de manera efectiva, ya que tendrían que depender de los datos pasados por el navegador, y si el navegador no es confiable, tampoco lo son los datos".
Manning también señaló que Chrome podría ofrecer a los usuarios la opción de apagar WebUSB o poner en lista negra dispositivos vulnerables como el Yubikey Neo. Pero agrega que "a menos que tal lista negra sea completa y perfecta, problemas como este son posibles con la implementación actual de WebUSB".
En cuanto a los propios Vervier y Orrù, dicen que los usuarios de Yubikey afectados deberían deshabilitar WebUSB, y que los administradores de TI incluso deberían considerar establecer una política que lo bloquee para todos sus empleados. Y sugieren una solución más simple también: que los usuarios se mantengan cautelosos en línea y piensen dos veces sobre dónde ingresan sus contraseñas.