martes, mayo 05, 2015

¡Tócala otra vez, Slash!: Sistemas de autenticación basados en habilidades para evitar ataques Ruber Hose

No cabe duda de que el uso de mecanismos de autenticación de doble factor mejora la seguridad de las identidades. Pese a esto, siguen existiendo determinadas circunstancias que representan un riesgo, incluso en el uso de métodos de autenticación robusta. Pondremos a continuación algunos ejemplos. Sin ir más lejos, los tokens físicos pueden ser robados. También puede ocurrir que la semilla que genera las Time One-Time Password sea comprometida, como ya le ocurrió en una ocasión al conocido fabricante RSA, o los tokens por SMS que se envían vía GSM pueden ser capturados por el uso de estaciones base antiguas [Hacking comunicaciones móviles]

Figura 1: ¡Tócala otra vez, Slash!: Sistemas de autenticación
basados en habilidades para evitar ataques Ruber Hose

Como vemos en los dos ejemplos anteriores, el elemento de autenticación “algo que el usuario tiene” se convierte en “algo que el atacante ha obtenido” (de una forma u otra), y no es por tanto útil de cara a considerar la autenticación robusta por sí sola. Es por eso que no solo basta con confiar la seguridad de una identidad a los segundos factores como Latch, y hay que evitar el uso de passwords para proteger las identidades.

Métodos de autenticación vulnerables al ataque Rubber Hose

Por otro lado, muchos de los métodos biométricos de autenticación existentes han demostrado ser vulnerables a distintos ataques como el del hacker que fue capaz de clonar la huella dactilar de la ministra de defensa alemana. En dichos casos, el predicado “algo que el usuario es” tampoco tiene por qué ser necesariamente válido. En el caso de las contraseñas, "algo que el usuario sabe", como ya es conocido, éstas pueden ser interceptadas, adivinadas, cedidas, etc....  Además, en algunos casos, los usuarios pueden ser obligados a revelar los secretos de autenticación que conocen, y/o a entregar sus tokens, tarjetas de autenticación, o sistemas de autenticación fuerte. A esto se le denomina ataque “Rubber Hose”.

Figura 2: Ataque Ruber Hose

Es por todo lo anterior que nos encontramos con ciertos elementos del proceso de autenticación que se pueden ver comprometidos en un momento dado, haciendo que la autenticación múltiple y robusta no sea tan efectiva como cabría esperar. Idóneamente, sería interesante encontrar un mecanismo de autenticación en el que ni bien un elemento físico fuese comprometido, ni elementos biométricos pudiesen ser suplantados, y que ni siquiera fuese posible conseguir la clave u otras credenciales del usuario por más que se obligase a éste a dárnosla mediante coacciones o la propia fuerza.

Figura 3: Ataque Ruber Hose explicado por XKCD

La idea es que el usuario no pueda ceder, ni siquiera bajo presión, los secretos de autenticación que le dan acceso a los sistemas, servicios, instalaciones, etcétera. Para dar solución a dicha problemática, podríamos utilizar mecanismos relacionados con la rama de la neurociencia. De cara a que se produzca la autenticación, se podrían utilizar habilidades que el usuario ha adquirido expresamente de forma previa, o incluso se podrían utilizar características de uso únicas al usuario, como desarrollaremos más adelante.


Figura 4: SmartID, solución de Eleven Paths para la autenticación robusta sin passwords

La razón por la que nos interesamos por estas soluciones tienen que ver con lo que ya hemos dicho: los métodos actuales de doble autenticación presentan vulnerabilidades que creemos se eliminan mediante la utilización de sistemas de autenticación fuerte, y para evitar ataques tipo Ruber Hose os presentamos estas otras técnicas que paso a describir a continuación.

Autenticación mediante interceptación de secuencias

El método que vamos a describir ha sido desarrollado por Hristo Bojinov, Daniel Sanchez, Paul Reber, Dan Boneh y Patrick Lincoln, y fue presentado en el congreso USENIX 2012 (“Designing Crypto Primitives Secure Against Rubber Hose Attacks”).

Figura 5: La neurociencia se encuentra con la criptografía

La idea es entrenar a los usuarios en una habilidad o juego determinado. De esta forma, el usuario aprende a resolver un problema concreto y único a dicho usuario. Al autenticar al usuario en base a su habilidad para resolver dicho problema, hacemos materialmente inviable el extraer dicho conocimiento del usuario. Es más, el usuario, ni aún queriendo, ni aún estando sometido a presión, podrá transmitir dicho conocimiento a otra persona.

Lo que estamos haciendo es utilizar el conocimiento de tipo procedural (ej. habilidad) del usuario, y no el conocimiento declarativo (ej. contraseña) del mismo. De alguna forma estamos implantando en la mente del usuario cierto conocimiento que por otra parte nadie más puede adquirir sin un entrenamiento específico, al cual sólo el usuario legítimo tiene acceso.

Figura 6: Popular juego Guitar Hero

Un ejemplo de dicha habilidad la tenemos en el popular videojuego “Guitar Hero” (e incluso el Air Guitar).  En él, el jugador tiene que ir pulsando determinados botones a medida que ciertas “notas” van bajando por la pantalla. Es necesario tener habilidad para superar el juego con éxito, habilidad que se consigue a través de entrenamiento. Una vez que el jugador conoce cierta pieza musical a base de tocarla repetidas veces, se adquiere una habilidad que le permite tocarla cometiendo cada vez menos y menos fallos. Llegado a cierto punto, el jugador ha desarrollado una habilidad que le permite ejecutar la pieza, con un porcentaje de acierto muy superior a alguien ajeno a dicha combinación pieza-habilidad, y que se enfrente al problema por primera vez. Podemos ver a continuación una adaptación del popular juego, utilizada por los autores de este estudio:

Figura 7: Autenticación basada en habilidad de secuenciar "a lo guitar hero"

Al igual que en el caso del videojuego “Guitar Hero”, determinados círculos van bajando con distinta cadencia, y el usuario tiene que interceptarlos una vez llegan abajo del todo, mediante la pulsación de ciertas teclas. Como vemos, se trata prácticamente del mismo juego que el descrito anteriormente. En neurociencia se conoce a este tipo de juegos como problemas de interceptación de secuencias.

Es importante destacar que hay que entrenar al usuario previamente. El entrenamiento se realiza utilizando una misma secuencia. Se persigue un porcentaje de aciertos de alrededor del 70%. El hecho de que al usuario se le entrene en una secuencia determinada permite al usuario aprender la secuencia que, por otra parte, será desconocida a otros usuarios también entrenados en su propia secuencia particular.

Figura 8: Tocando Guitar Hero sin guitarra

Además, también se debe destacar que el usuario no puede revelar, aunque quiera, la secuencia, ya que se limita exclusivamente a ejecutarla, sin poder memorizarla. Es más, la velocidad es tal, que el usuario puede aprender a resolver la secuencia, pero es algo que se produce de manera natural debido a la práctica. En ningún momento el usuario tiene tiempo para pensar, sólo ejecuta y aprende.

Relacionado con el estudio que acabamos de ver, es interesante el hecho de que los investigadores utilizaron como base de pruebas el servicio Amazon Mechanical Turk, de forma que entrenaron a humanos de carne y hueso, solo que a distancia, de forma que pudieron obtener resultados de una manera muy rápida.

Autenticación mediante reconocimiento de imágenes SVC degradadas

En este caso, al igual que en el caso anterior, el usuario a autenticar aprenderá una habilidad, tras una etapa de entrenamiento. Una vez aprendida dicha habilidad, el usuario no podrá transmitir el conocimiento ni siquiera bajo coacción. La habilidad aprendida en este caso, tiene que ver con el reconocimiento de imágenes.  El estudio de Tamara Denning, Kevin Bowers, Marten van Dijk y Ari JuelsExploring Implicit Memory for Painless Password Recovery” se basa en el reconocimiento de imágenes de tipo Snodgrass-Vanderwart-Corwin.

Figura 9: Exploring Implicit Memory for Painless Password Recovery

Estas imágenes no son ni más ni menos que un conjunto finito de objetos cotidianos del mundo real que se utilizan para estudios cognitivos. El conjunto de imágenes puede (y en nuestro caso debe) variar. El método de autenticación es sencillo: en una primera fase, el usuario es entrenado; se le presentan pares de imágenes: por un lado la imagen SVC, y por otro, la misma imagen degradada. Además se le pide que etiquete la imagen con una palabra. La idea es que el usuario sea capaz de asociar la imagen degradada con la etiqueta, la palabra, que el usuario ha elegido para dicha imagen.

Figura 10: Secuencia de imágenes SVC

Una vez que el usuario ha sido entrenado, en la fase de autenticación se le pide que etiquete, con palabras también, las tres imágenes SVC degradadas que se le muestran, siempre de tres en tres. A continuación se muestra un gráfico que condensa tanto la idea detrás de la fase de entrenamiento, como el reto que se le presenta cada vez al usuario

Discernimiento de imágenes conocidas frente a imágenes no conocidas

Se trata de un método bastante parecido al anterior, aunque presenta algunas diferencias. Fue un método propuesto por Daphna Weinshall y Scott Kirkpatrick, de la Universidad Hebrea de Jerusalem (“Passwords you’ll never forget, but can’t recall”).

Figura 11: Contraseñas que no olvidarás, pero que no puedes recordar

En este caso, también se entrena al usuario. Se le muestran imágenes que inevitablemente quedarán implantadas en su mente tras cierto tiempo de entrenamiento. En la fase de autenticación se le muestran al usuario un conjunto de imágenes, y tiene que elegir aquellas que conoce, e ignorar el resto.

Figura 12: Ejemplo de imágenes usadas para autenticar

Al igual que en el caso anterior, este conocimiento no puede ser transmitido a terceros ni siquiera bajo presión o coacciones.

Autenticación mediante reconocimiento de patrones mecanográficos

Se trata de identificar ciertos patrones en la manera de escribir que tienen los usuarios. Este método fue inicialmente explorado por R. Stockton Gaines, William Lisowski, S. James Press y Norman Shapiro en 1980. (“Authentication by keystroke timing: some preliminary results”)

Figura 13: Autenticación basada en reconocer tu forma de teclear

Según la hipótesis inicial que se plantearon, al igual que en el caso de la firmas hechas con bolígrafo, que tienen no solo una forma, sino también una aceleración a la hora de realizarlas, y una presión ejercida con el bolígrafo, que quedan impresas y forman parte de la propia firma; las pulsaciones de teclado también pueden denotar ciertas características únicas al usuario.

Figura 14: Coursera reconoce que has sido tú quién ha hecho un curso por tus pulsaciones

Efectivamente, demostraron que la hipótesis era correcta, y que se podía diferenciar a distintos individuos por la cadencia a la hora de teclear. Este método es utilizado, por ejemplo, por la organización Coursera, de cara a expedir certificados oficiales de asistencia y superación de los cursos que imparten:

Autenticación de las soluciones de firma manuscrítica biometrica

Algunas empresas, como Eleven Paths, proveen una solución similar para autenticar al firmante de un documento mediante el reconocimiento de los patrones con que hace una firma manuscrita en un dispositivo móvil. La idea es poder reconocer a una persona por medio de la habilidad de realizar una firma manuscrita con velocidades, presión y trazos aprendidos durante mucho tiempo.


Figura 15: Demostración de SealSing en el MovilForum 2015

Este tipo de sistemas están utilizándose ya en el mundo empresarial en muchas compañías para la firma de contratos o la autorización de ordenes por medio de un documento firmado de forma manuscrita en una tableta.

Pros y Contras de las soluciones estudiadas

Las ventajas de las soluciones presentadas han quedado patentes. Hemos descrito métodos que no sólo permiten autenticar a los usuarios, sino que además no son transferibles a terceros, lo cual es algo que aporta gran valor a los mecanismos tradicionales de autenticación, incluso a aquellos que se consideran más avanzados. Estas soluciones, permiten proteger los secretos de cara a posibles coacciones, negligencias o usos malintencionados.

Probablemente lo peor que tienen este tipo de soluciones, son lo poco prácticas que son, teniendo en cuenta por ejemplo los tiempos necesarios tanto de cara a entrenar a los usuarios, como de cara a que los usuarios se autentiquen, salvo aquellas características como la firma manuscrita donde el usuario ya viene entrenado después de años practicando su firma, y por ello se ha popularizado más en entornos empresariales.

Además, algunas de las condicione que se tienen que dar para que estos métodos sean efectivos, limitan mucho su campo de aplicación. Por ejemplo, la solución basada en interceptación de secuencias parte de la base de que el usuario no tiene la capacidad de grabar la secuencia, lo que limita la aplicación de este método. El usuario se tendría que enfrentar al reto, por ejemplo, en un espacio físico controlado, y no se podría utilizar esta autenticación de forma remota, sino in-situ. Es por eso que el campo de aplicación de dichas soluciones es muy limitado. Esto aplica sobre todo a las soluciones que tienen que ver con la interceptación de secuencias y el reconocimiento de imágenes. 

La solución relativa a la cadencia del usuario a la hora de teclear, es bastante interesante, y de hecho, variantes de ella son utilizadas como mecanismos adicionales de autenticación/autorización de determinados productos que hacen scoring de riesgo a la hora de reconocer un patrón habitual o no en un usuario que hace una operación.

Autor: Ángel Blázquez

5 comentarios:

Anónimo dijo...

Como sería que estos métodos no se puede coaccionar? Es cierto que se basan en algo que solo el usuario puede hacer y no puede transferir a tercero, pero naturalmente siempre es posible coaccionar el usuario a que ejecute el mismo esas acciones.

Maligno dijo...

@Anónimo, sí, pero tienes que tener a la persona. Es decir, la persona es el token de autenticación. No puedes quitárselo. Esa es la idea.

Saludos!

Anónimo dijo...

No hace falta tener a la persona para conseguir el token de autenticación, sólo hace falta acceso a algo o alguien que le interese se información o persona y asi poder coaccionarlo para que te proporcione la información necesaría. Más fácil desde mi punto de vista

Anónimo dijo...

"Discernimiento de imágenes conocidas frente a imágenes no conocidas" .. se podría craquear observando el lenguaje corporal del sujeto, de forma similar a la lectura fría.

¿Te pueden capturar un SMS? Si, pero pensar en esta posibilidad me ha parecido un poco paranoico. Esto implica que se trata de un ataque dirigido a tí, ya que por un lado tienen que conseguir las credenciales (user+pass) y por otro interceptar los SMS.

Anónimo dijo...

Me parece muy interesante todo lo expuesto, pero estaba yo pensando ahora en la falsa seguridad en la que confiamos hoy en día a raíz de lo que has comentado de la posibilidad de falsear las pruebas biometricas. En concreto estaba pensando en la firma digitalizada (esa que se realiza a través de una tablet cuando pagas en ciertos comercios o a través de Internet a veces). Si un juez me llamara como perito, ¿qué cara iba a poner cuando le dijera que ningún sistema puede asegurar que esa firma la haya hecho esa persona? Estaría bien un artículo sobre este tema y sobre la posibilidad de que llegue el día en que se anulen todos los contratos firmados así.

Entrada destacada

Infraestructuras Críticas y Sistemas Industriales: Auditorías de Seguridad y Fortificación de @0xWord

Desde hoy está disponible a la venta un nuevo libro de 0xWord centrado en la seguridad de los Sistemas Industriales y las Infraestructuras...

Entradas populares