viernes, abril 01, 2022

"Cognitive Services & Cyber Security: Ideas Locas": Pupil PinPad, PianoWord & Rubika

Como ya hemos visto en las partes anteriores, los Cognitive Services se pueden utilizar como punto de ataque de un sistema que los utiliza como interfaz, se puede utilizar para hacer esquemas de ataque muy humanos como vimos con las DeepFakes, y viendo que además los seres humanos confían más en las caras creadas por Cognitive Services que caras reales creadas por puro ADN, y también pueden tener bugs y debilidades como sesgos que hay que revisar. Pero de lo que vamos a hablar ahora es de cómo podemos sacar partido de ellos en la creación de nuevas experiencias de seguridad.

Figura 23: "Cognitive Services & Cyber Security: Ideas Locas".
Pupil PinPad, PianoWord & Rubika

Para ello, en el equipo de Ideas Locas hemos estado trabajando en diferentes experimentos que tienen en común el uso de Cognitive Services en servicios de Cyber Security, que es lo que vamos a ver ahora mismo.

Pupil Pointer in Pin Pads

Uno de los servicios con los que habíamos trabajado en el pasado es con los Cognitive Services de Visión Artificial aplicados a reconocer dónde está mirando en una pantalla una persona por medio de "mirar" con la webcam su pupila. Es decir, hacer una inferencia de qué parte de una pantalla está siendo mirada por una persona a base de mirar con un Cognitive Service de Visión Artificial su pupila. 

Esta es una opción de accesibilidad que a personas con movilidad reducida extrema les puede cambiar la vida, y existen interfaces desde hace mucho tiempo que permiten a personas con movilidad reducida de cuello hacia abajo, interactuar con la tecnología por medio de sus ojos.

Figura 24: Explicación de Triangulación de "Pupil Pointer"

Ahora, con los Cognitive Services, realizar estos interfaces es bastante sencillo usando esta aproximación. Nosotros primero lo utilizamos para que los niños pequeños interactuaran - sin saber -, con los cuentos, mediante el acto de mirar a un personaje, que hablaba y actuaba cuando "detectaba" que estaba siendo mirado por el lector.


Todo este trabajo lo presentamos en una charla que yo impartí en el pasado South Summit 2021 y que se llamaba "Cuéntame un cuento", e hicimos pruebas de concepto con El Gigante de los Juguetes, y con nuestra querida Mara Turing de Javier Padilla


Darle una vuelta de tuerca a este proceso para hacer que un PIN Pad, como por ejemplo el de desbloquear una puerta de entrada, desbloquear el móvil o el de introducir el PIN en un cajero automático, se pudiera hacer con solo mirar los números que hay que introducir, fue uno de los primeros experimentos que realizamos, y que puedes ver en estos vídeos.

Figura 27: Desbloqueo de móvil con Pupil Pointer con 2 números (Correcto)

En cada uno de ellos estamos introduciendo primero el PIN correcto, luego lo tecleamos con la vista y la ayuda de un cursor que manejamos con la pupila y, por último, con el máximo de seguridad para que no quede ningún rastro de qué punto de la pantalla está siendo mirado por el usuario en cada instante de tiempo y dificultar el proceso de robar el PIN.

Figura 28: Demo de intento de desbloqueo con Pupil Pointer con 4 números (error)

Aplicar esta idea a cualquier web, aplicación móvil, sistema de seguridad de acceso a una habitación, o un cajero, solo necesita del uso de un Webcam y un Cognitive Service de Visión Artificial especialmente entrenado para reconocer las partes del teclado que se están mirando con la pupila. Sencillo.

PianoWord: Un 2FA silencioso basado en IA

Otra de las ideas que teníamos era enseñar a una Inteligencia Artificial, utilizando un algoritmo de Machine Learning, a reconocer el patrón y la cadencia de tecleado de una contraseña por una persona. La idea es tan sencilla como esa. Como que cuando una persona escribe una contraseña se aprenda cuál es el ritmo con que se escribe.

Figura 29: PianoWord una PoC de 2FA silencioso basado en IA

De esa forma, el número de posibilidades de escribir una contraseña es infinito, ya que por cada contraseña solo hay una ( o un conjunto de ellas ) con una cadencia correcta que sea reconocible por la Inteligencia ArtificialEsto hace que, si una persona sabe la contraseña, pero no tiene la habilidad de escribirla como lo hace el dueño de la password, entonces no puede utilizarla. Básicamente se trata de crear un 2FA basado en un "Anti-Rubber Hose" patrón que evite que la contraseña sea útil si el que la utiliza no es la persona que la teclea habitualmente.

Figura 30: Libro de Machine Learning aplicado a Ciberseguridad de
Carmen Torrano, Fran Ramírez, Paloma Recuero, José Torres y Santiago Hernández

El funcionamiento es muy sencillo, se trata de tener un modelo de IA que se entrena solo con la introducción de cinco contraseñas al inicio - y que va aprendiendo con el paso del tiempo con los accesos correctos e incorrectos -, para poder saber en qué tiempos y a que velocidad se introducen los caracteres de la contraseña.

Figura 31: Creando el 2FA silencioso con ML

Nosotros hemos elegido este mecanismo de tener cinco grabaciones de la password antes de que la cuenta sea operativa, pero podría hacerse a lo largo de un mes o dos meses, o de cien procesos de login correctos, donde se realiza el entrenamiento de la IA, y luego se activa este mecanismo de protección.

Figura 32: El 2FA es silencioso en el proceso de login

Y además, no tiene porque ser un 2FA, y podría ser un 3FA silencioso que solo generase alertas en los algoritmos de riesgo, por ejemplo, de una entidad bancaria o un sistema de wallets de criptomonedas. De tal manera que, aunque se tenga la password y el 2FA, si falla el 3FA se bloquean, por ejemplo, las transferencias de más de una determinada cantidad de dinero. 

Figura 33: Prueba de PianoWord

Con esta idea en la cabeza hicimos el entrenamiento de este modelo, que podéis ver funcionando en el vídeo que tenéis en la figura anterior. Por supuesto, uno de los ataques que este modelo de 2FA silencioso basado en IA elimina de raíz, es cualquier sistema de diccionario, fuerza bruta o introducción de passwords de forma automatizada, pues perdería todo patrón de cadencia de tecleo.

Rubika: Un patrón Anti-Rubber Hose basado en IA

Otro ejemplo de los patrones de identificación o autenticación basados en Inteligencia Artificial fue Rubika, un modelo de 2FA basado en un algoritmo de Machine Learning que hacía algo similar a PianoWord, pero en este caso entrenábamos el modelo con los movimientos que se hacían para resolver el cubo de Rubik, y que presentamos en la OpenExpo Europe de 2019 con la ayuda de Mi Hacker y Mi Survivor.


Figura 34: Rubika, un sistema de autenticación Anti-Rubber Hose basado en un cubo de Rubik

De él os escribí un artículo largo, que podéis leer en cinco partes en: RUBIKA: Un sistema Anti-Rubber Hose basado en un cubo de Rubik ya que el trabajo incluyó hardware, impresión en 3D, sensorización, y luego algoritmos de Machine Learning. Una auténtica Idea Loca que hicimos en su momento.

¡Saludos Malignos!

*****************************************************************************************
*****************************************************************************************

Autor: Chema Alonso (Contactar con Chema Alonso)  


No hay comentarios:

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares