viernes, junio 21, 2019

RUBIKA: Un sistema Anti-Rubber Hose basado en un cubo de Rubik (Parte 1 de 5)

La historia de Rubika es una historia que viene de hace tiempo. Es uno de esos proyectos que llevamos un par de años trabajando en el equipo, pero que tiene un pasado mucho mayor simplemente hasta llegar al punto de su concepción como "Idea Loca". Ayer fue el día en el que lo presentamos al público por primera vez dentro de la charla de OpenExpo Europe 2019, así que dejadme que os cuente en este artículo en qué consiste, cómo se concibió y cómo se ha implementado, que ha sido un trabajo de tiempo.

Figura 1: RUBIKA: Un sistema Anti-Rubber Hose basado en un cubo de Rubik (Parte 1 de 5)

En esta primera parte del artículo, dejadme que os cuento los antecedentes de cómo llegamos a pensar en hacer este proyecto. Normalmente se suele usar la expresión de "Idea Feliz" para algo nuevo, pero la realidad es que suele haber una conexión de puntos hacia atrás que explica que la conclusión natural sea la creación de este proyecto. Así que vamos a comenzar por los antecedentes históricos de este proyecto con tres puntos a unis:
  1. El Cubo de Rubik
  2. Ciberseguidad y los ataques Rubber Hose
  3. Machine Learning e Inteligencia Artificial
El Cubo de Rubik en ElevenPaths

Para comenzar la historia, hay que tener en cuenta que en ElevenPaths nos vimos infectados por el virus del cubo de Rubik por culpa de uno de nuestros compañeros. En concreto de Javier Espinosa, hoy en día Technical Lead del proyecto Movistar Home, pero hace siete años solo una joven promesa del programa Talentum que seleccioné para entrar luego en ElevenPaths dentro de Telefónica


Figura 2: Monólogo de Javier Espinosa "Cómo ligar con el cubo de Rubik"

Nuestro querido Javier - que ha sido uno de los jóvenes líderes del futuro elegido por la campaña de El Mundo - tiene una afición mortal al cubo de Rubik, y como buen hacker que es, hace cosas muy divertidas y curiosas con él. Por ejemplo, tiene un monólogo que presentó en el año 2013 sobre "Cómo ligar con el Cubo de Rubik" que usó para un concurso en la universidad. 


Pero también se dedica a hacer mosaicos en Kukinet con cubos de Rubik que hace para fiestas y eventos. Se trata de hacer un diseño que use los colores de las caras del cubo y pixelarlo en grupos de 9 bits que luego se montan juntos. El resultado es lo que veis en la foto, decoraciones espectaculares fabricadas a base de cubos de Rubik.


Por supuesto ha transmitido ese veneno dentro de no solo ElevenPaths, sino de toda la unidad CDO, así que son muchos los que hemos aprendido a resolverlo solo por la pasión con la que Javier lo hace en todo momento.

El Virtual Rubik del 2017

Como consecuencia de ver cubos de Rubik todos los días por la oficina, era natural que en uno de nuestros Equinox - el hackathon de 24 horas en el que se hacen proyectos tecnológicos - acabara apareciendo algún proyecto que lo utilizara. Y eso sucedió en la primavera del año 2017, donde dos compañeros - que podéis ver en este vídeo - construyeron un cubo de Rubik muy especial. Primero por que funcionaba con luces de colores, y segundo porque se giraba con gestos de la mano que reconocía un sistema de Visión Artificial desde una webcam.


Figura 5: Virtual Rubik Timelaps

El proyecto gustó mucho, así que los miembros del jurado - entre los que estaba yo aquel año - le concedimos el premio. Pero antes, para probar su valía, el proyecto debería tener la aprobación de nuestro compañero Javier Espinosa, así que en la presentación le hicimos que lo probara.


Figura 6: Presentación de Virtual Rubik

Como podéis ver, el Virtual Rubik funcionó y se llevó el merecido premio de nuestro Equinox porque a todos nos encantó el proyecto por muchas cosas. Por lo original, por el uso de Visión Artificial, por el trabajo con el Hardware, etcétera.

Ataques Rubber Hose

Vamos ahora a la parte de los antecedentes por el área de seguridad. Hace ya tiempo, publiqué en este blog un curioso artículo que me había enviado un alumno sobre cómo se había creado un sistema de autenticación basado en tocar la guitarra en el Guitar Hero para luchar contra los ataques Rubber Hose.
Este tipo de ataques, los Rubber Hose, se basan en que si un sistema de identificación pueden sacártelo a golpes, entonces tiene una debilidad. Mientras que si el sistema de identificación se basa en un "comportamiento o patrón aprendido" que no puede ser entregado ni aunque se quiera, entonces no es vulnerable a que te lo saquen a golpes. 


Figura 8: Cómo medir movimientos musculares para sacar patrones

Así, la forma en la que una persona camina, la forma en la que una persona corre, cómo toca la guitarra, o cómo canta, o cómo hace alguna otra cosa. Aquel artículo me encantó, sobre todo porque nosotros teníamos un sistema de identificación en ElevenPaths Anti-Rubber Hose.

SealSign Biometric ID

Como os he dicho, en ElevenPaths habíamos adquirido la empresa SmartAccess en el año 2014 - si la memoria no me falla - y con ella llegó la tecnología SealSign. Esta tecnología reconoce una firma manuscrita usando la biometría de cómo se ha hecho. La velocidad, la presión, el grafo, etcétera. 


Figura 9: Demo de Sealsign Biometric ID

Se basa en unos algoritmos que desarrollamos con la Universidad Carlos III y que pusimos en nuestros productos para poder hacer cosas tan curiosas como autenticar a una persona firmando en un tablet. 


Figura 10: El Rey Felipe VI probando SealSign Biometric ID

Esta fue la demo que yo le hice al Rey en el año 2015, y que podéis ver resumida en este pequeño vídeo que usé ayer en la presentación para enseñar su funcionamiento. A día de hoy, SealSign Biometric ID es una tecnología que seguimos comercializando en ElevenPaths con mucho éxito.

Machine Learning & Artificial Intelligence

El último punto que hay que conectar hacia atrás en los antecedentes del proyecto es el uso de Machine Learning e Inteligencia Artificial en general a temas de Ciberseguridad. Como sabéis, en el año 2016 presentamos LUCA, nuestra unidad especializada en soluciones de Big Data - y por lo tanto mucho Machine Learning -, dentro de la unidad CDO - donde está también ElevenPaths -.
Para hacer proyectos con ella, el equipo de Ideas Locas, y los laboratorios de Innovación, comenzaron a exprimir al máximo todo lo que tuviera que ver con Machine Learning y Ciberseguridad, y algunos compañeros acabaron por escribir un libro en 0xWord del que ya os he hablado de Machine Learning aplicado a ciberseguridad que merece la pena que leáis.


Figura 12: Una IA generando a Chema Alonso en tiempo real

Pero también os hemos contado cosas que tienen que ver con ataques más modernos, como los de FaceSwapping o el último ejemplo en el que una IA crea a Chema Alonso en tiempo real del que os hablamos en el post de Autoencoders y GANs.

Y así llegó Rubika

Y llegamos a Rubika, una idea que se me vino a la mente en el mes de Abril o Mayo del 2017, y que unía estos puntos. La pregunta fue:
 ¿Y si hacemos un cubo de Rubik en 3D especial que recoja todos los datos de cómo se maneja el cubo con las manos y usando Machine Learning reconocemos si es la misma persona la que lo ha resuelto?
Recordad que, a aquellas alturas, aún no había salido ningún cubo de Rubik con electrónica o BlueTooth para hacer este tipo de cosas, así que deberíamos crearlo desde cero.
En Junio de 2017 os dejé entrever en un post que llevaba tiempo pensando en esta idea en la que ha ido participando muchos compañeros. Pero así son estos procesos, a veces das con la tecla rápido, otras veces no. Además, como os podéis imaginar, este proyecto de investigación no estaba entre las prioridades más altas de la empresa, así que hemos ido trabajándolo a ratitos hasta que ayer lo presentamos. Pero será en la siguiente parte en la que os cuente cómo lo hemos ido trabajando.

Saludos Malignos!

2 comentarios:

Gobekli dijo...

No tienes ni idea es de los pocos que contestan , cuando vale la pena.

JGaleno dijo...

Si te rompe la nariz no son ciber criminales, la mejor tecnología sería una en la que puedas identificarte si esta todo en orden, y alertar si eres tu pero necesitas ayuda. todo el comportamiento humano basado o características naturales una vez que se transforman en datos, son reproducibles biológica o artificialmente en algún momento.

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