Authcode: mejoramos nuestro sistema de autenticación continua con la Universidad de Murcia

Área de Innovación y Laboratorio de ElevenPaths    11 febrero, 2020
Authcode: mejoramos nuestro sistema de autenticación continua con la Universidad de Murcia

La protección de datos e información de usuarios, sistemas y aplicaciones posee un elevado factor de riesgo en el acceso físico a los dispositivos. Debe ser seguro para evitar el uso no autorizado pero supone un verdadero reto a la hora de implantar medidas que garanticen que no se están evadiendo controles de seguridad. Por ejemplo, el uso de un dispositivo sin bloquear y sin vigilancia por parte de una persona no autorizada.

Aunque los mecanismos de autenticación tradicionales como las contraseñas o los PINs siguen siendo lo más extendidos, otros, biométricos como la huella digital o detección facial han comenzado a ganar importancia. Sin embargo, aún se requieren soluciones de autenticación más avanzadas que solucionen las debilidades de los sistemas actualmente en uso. Una de las que ha cobrado especial importancia es la autenticación continua. El usuario es evaluado ininterrumpidamente y no solo una vez como en los métodos de autenticación actuales. De esta forma, la evaluación del usuario se realiza en base a su comportamiento y no a una contraseña o a un elemento biométrico.

Como principales ventajas de la autenticación continua, cabe destacar que mejoran la calidad de la experiencia del usuario y el nivel de seguridad de los dispositivos. De este modo, para que este tipo de sistemas funcionen correctamente, uno de los desafíos clave es la utilización de los datos apropiados junto a las técnicas de evaluación óptimas de forma continua y no invasiva, para así superar las limitaciones de los métodos de autenticación tradicionales.

ElevenPaths, la Universidad de Murcia y las JNIC

La presente herramienta surge de la colaboración entre ElevenPaths y la Universidad de Murcia, enmarcada en el Track de Transferencia 2018 de las Jornadas Nacionales en Investigación en Ciberseguridad (JNIC). De este modo, ElevenPaths propuso como uno de los retos el desarrollo a modo de prueba de concepto de un sistema de autenticación continua para PC, siendo el Departamento de Ingeniería de la Información y las Comunicaciones de la Universidad de Murcia el encargado de la resolución del reto.

El desarrollo de la herramienta ha sido financiado bajo el proyecto AuthCode (AUTHentication for COntinuous access On DEvices) por parte de la Fundación Séneca – Agencia de Ciencia y Tecnología de la Región de Murcia. El propósito de proyecto es financiar durante 2019 el desarrollo de la prueba de concepto resultante de un reto anterior, enfocada en autenticación continua en dispositivos móviles, con el fin de promover la consecución de un producto final apto para el mercado. Sin embargo, siguiendo los intereses de ElevenPaths y en línea con el nuevo reto de transferencia, se ha pivotado el desarrollo del proyecto hacia un sistema de autenticación continua para entornos de escritorio, al mismo tiempo que también se ha continuado mejorando la versión de móvil con el fin de poder combinar las soluciones de móvil y PC.

Finalmente, la solución al reto propuesto obtuvo el premio a mejor solución en relación con los retos del Track de Transferencia presentados en las JNIC 2019, repitiendo el premio obtenido en la edición anterior (JNIC 2018) por la prueba de concepto para dispositivos móviles.

Parte técnica

Desde el plano técnico, la solución planteada está basada en la generación de patrones de comportamiento de los usuarios cuando hacen uso de sus ordenadores personales, para posteriormente proceder con la autenticación de estos a través de técnicas de Machine Learning (ML).

Los patrones de comportamiento son modelados en forma de perfiles que tienen en cuenta tres tipos de características:

  • Uso del teclado
  • Uso del ratón
  • Estadísticas de uso de las aplicaciones instaladas y recursos (RAM, CPU, etc.) de los dispositivos

Cada una de las categorías proporciona un conjunto relevante información que garantiza un modelado diferenciado de los perfiles de usuario y, por tanto, la posterior autenticación de los usuarios cuando hacen uso del dispositivo. Para que los perfiles de comportamiento representen de forma fiel al usuario, en primer lugar, es necesaria una fase en la que el usuario interactúe con el equipo de forma habitual y sus estadísticas sean recopiladas de forma periódica.

El sistema está orientado al paradigma de computación en la nube (cloud), por lo que el procesamiento de los datos y la aplicación de los algoritmos de inteligencia artificial se realizan en una entidad externa al dispositivo del usuario. Esto garantiza la privacidad puesto que sólo se envía información anonimizada.

De este modo, se diseñó un prototipo para el servidor de recogida de datos que permite el login y registro de usuarios, así como la recepción de vectores y el cálculo de la autenticación en tiempo real. Por otro lado, se diseñó un prototipo de la aplicación cliente que monitoriza las distintas dimensiones mencionadas anteriormente y genera los vectores con el comportamiento del cliente, que envía posteriormente a la nube. La figura muestra los niveles de procesamiento en la nube.

https://empresas.blogthinkbig.com/wp-content/uploads/2019/04/authcode4.png?resize=297%2C320
Diagrama de la arquitectura de la aplicación
  • Módulo de monitorización (monitoring): adquiere en tiempo real los datos generados por los dispositivos de escritorio, los preprocesa y los envía al siguiente módulo de la arquitectura. El módulo de monitorización está compuesto por aplicaciones cliente que corren en ordenadores personales.
  • Módulo de procesamiento de datos (data processing): filtra, agrega y administra los datos anteriores para generar características relevantes que componen los perfiles de comportamiento de los usuarios.
  • Módulo de decisión (decision): genera los modelos utilizando algoritmos de Machine Learning para clasificar a los usuarios según su comportamiento. El módulo de decisión es el núcleo del sistema y tiene un componente de “Generación de Modelos” que se encarga de generar los modelos cuando el administrador del sistema lo requiere. Además, también está formado por otro componente llamado “Clasificador” que es el encargado de evaluar el comportamiento del usuario y autenticar a este.
  • Módulo de reacción (reaction): establece diferentes niveles de sensibilidad para autenticar a los usuarios considerando la salida de los módulos anteriores. Además, proporciona las interfaces para habilitar un mecanismo de autenticación, enviando a las aplicaciones instaladas en los dispositivos las acciones a realizar en base al resultado de la evaluación del usuario.

Se ha implementado a través de una prueba de concepto. El módulo de monitorización se ha implementado para los sistemas operativos Windows y Linux. El resto de módulos (procesamiento, decisión y reacción) se ha implementado en Python utilizando librerías multiplataforma, por lo que la parte del servidor es capaz de correr tanto en entornos Linux como Windows.

INERTIA (INtelligent and contiNuous computER auThentIcAtion system): ejemplo y caso de uso

Con la prueba de concepto ya implementada, se han desarrollado dos casos de uso con la intención de mostrar la utilidad del sistema de autenticación continua en un entorno real. El primer caso de uso consiste en aplicar la herramienta para realizar un control de “mecanografiado” del usuario y analizar su periodos de actividad e inactividad. De este modo, la solución es capaz de monitorizar el tiempo en el que el usuario ha estado trabajando con su equipo, relacionando la información con horarios laborales, rutinas, etc. El segundo caso de uso consiste en la protección del dispositivo ante un uso no autorizado por parte de algún atacante. De este modo, el sistema añade un nivel extra de seguridad para evitar el acceso no autorizado al dispositivo y la información contenida en éste.

Finalmente, estos casos de uso han sido validados utilizando usuarios de prueba que generan datos reales sobre su comportamiento, demostrando el funcionamiento de la herramienta y su despliegue en entornos reales.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *