CAPÍTULO 5. EVALUACIÓN Y VALIDACIÓN DE LA PROPUESTA

En esta sección se detallan los experimentos realizados para poder evaluar y validar la propuesta. En primer lugar, se evalúa el flujo de trabajo propuesto en el Capítulo 3. Finalmente, se evalúa el método propuesto en el Capítulo 4 para la combinación de información de comportamientos.

5.1. Evaluación del flujo de trabajo

5.1.1. Desarrollo del entorno de trabajo y conjunto de datos UEBA

Con el objetivo de poder evaluar el flujo de trabajo propuesto, se ha desarrollado un entorno de trabajo totalmente funcional que implementa la gestión de identidades federada. Para ello, se ha desarrollado una aplicación de chat, cuyo rol es el de RP, y un IdP cuya función es la de gestionar las identidades digitales necesarias para realizar los experimentos.

El chat se ha desarrollado utilizando la aplicación de código abierto Letschat [142], el cual se encuentra bajo la licencia MIT. Esta aplicación se ha desarrollado en Node.js [143] y utiliza una base de datos MongoDB [144] para almacenar toda la información necesaria. La aplicación es compatible con la mayoría de navegadores web del mercado y es multidipositivo. En el presente trabajo de tesis, esta aplicación ha sido ejecutada en un ordenador portátil MSI GF62 8RD-256XES equipado con un procesador Intel Core i7 8750H (2.2 GHz, 9MB). Además, tiene una memoria RAM de 16 GB DDRIV (2666 MHz).

Por otro lado, se ha desarrollado un componente que se integra dentro del chat con el objetivo de recopilar la información de comportamiento. Este componente, desarrollado en Javascript y basado en el trabajo [145], se integra en el cliente web donde se ejecuta la aplicación. Su funcionalidad es la de recoger la información relacionada con los eventos de pulsación de teclas en el teclado y de movimientos de ratón y almacenarla. Los eventos relacionados con el teclado son recopilados cada vez que suceden, sin embargo, los eventos de ratón se han de recoger por pooling, es decir, cada cierto tiempo. En este caso concreto los eventos de pooling se han recopilado cada 200 milisegundos debido a los recursos de memoria y computación disponibles.

Finalmente, el IdP se ha desarrollado utilizando el framework OpenAM [146]. De esta forma, se ha hecho uso del Web application Resource (WAR) para instalar la versión 13.5. Una vez instalado, y teniendo en cuenta los requisitos del presente trabajo, se ha implementado un cliente OAuth 2.0/OpenID Connect. Este cliente proporciona de forma sencilla todos los mecanismos para poder realizar los flujos de autorización y autenticación disponibles en dichas especificaciones.

Este desarrollo, ha dado lugar a el conjunto de datos denominado Keystroke and Mouse Dynamics for UEBA Dataset, el cual ha sido recopilado para el presente trabajo de tesis doctoral y está disponible públicamente para la comunidad científica [147]. Para recopilar el conjunto de datos, un grupo de once investigadores de la Universidad Rey Juan Carlos heterogéneos en cuanto a edad y género, han hecho uso de la aplicación de chat. Todos los participantes, mayores de edad, han recibido información sobre la finalidad del experimento y han participado en él de manera completamente voluntaria, sin recibir ningún tipo de presión y proporcionando para ello su consentimiento explícito. A todos se les ha informado de los mínimos riesgos que corrían, ya que solo se recogían datos relacionados con el uso explícito de la aplicación de chat, que no permiten identificarles y que además no se asociaban a sus datos personales. De este modo, se han recopilado dos bases de datos denominadas EVTRACKINFO y EVTRACKTRACK. Estas bases de datos mantienen una relación 1:N entre ellas respectivamente. EVTRACKINFO contiene información de sesión, es decir, almacena los atributos estáticos como, por ejemplo, el usuario autenticado, agente de usuario y la resolución de la pantalla asociado a cada sesión (ver Sección 3.3.1). Por otro lado, EVTRACKTRACK contiene la información asociada a las dinámicas de comportamiento de cada sesión. Esto es, los eventos derivados de las pulsaciones de teclado y de ratón.

En total, 347 y 142691 registros han sido recopilados para EVTRACKINFO y EVTRACK-TRACK respectivamente. Del total de las dinámicas de comportamiento, 113471 pertenecen a dinámicas de teclado, mientras que 29220 pertenecen a dinámicas de ratón. Para cada usuario, se han obtenido un total de 28524 ± 18541 registros (media ± desviación típica).

El entorno de trabajo desarrollado y el conjunto de datos obtenido se han utilizado para evaluar y validar todas las tareas que componen el flujo de trabajo propuesto. De aquí en adelante, se detalla la implementación de cada una de estas tareas.

5.1.2. Selección de la huella digital en el conjunto de datos UEBA

En el caso del chat desarrollado, se ha seleccionado una RP con un perfil de seguridad medio (ver Sección 3.3.1). Hay que destacar, que de acuerdo con los bajos recursos computacionales del servidor donde se ejecuta la aplicación y a la gran cantidad de usuarios que pueden interactuar con la aplicación de forma simultánea, la huella digital debe ser lo más simple posible con el objetivo de no saturar el sistema, pero lo suficientemente discriminatoria para poder diferenciar entre los distintos comportamientos de los usuarios.

De esta forma, el agente de usuario y la resolución de pantalla se han seleccionado como atributos estáticos, mientras que las dinámicas de teclado y las dinámicas de ratón se han seleccionado como atributos dinámicos. Cabe destacar que, debido a la naturaleza de la aplicación de chat, se espera obtener una recopilación masiva de datos, ya que el teclado y el ratón van a ser utilizados asiduamente por los usuarios.

5.1.3. Generación de la huella digital en el conjunto de datos UEBA

El objetivo de esta tarea es generar una huella digital para cada usuario con la suficiente singularidad como para ser distintiva entre usuarios. De esta forma, los atributos estáticos y los atributos dinámicos son recopilados haciendo uso del componente específicamente desarrollado para ello. Esta información está recogida en bruto y, por tanto, se trata para poder extraer conocimiento y generar características significativas que puedan alimentar a los modelos de aprendizaje máquina. En el caso de los atributos estáticos la información en bruto es transformada directamente a variables categóricas. En el caso de los atributos dinámicos se distinguen dos posibles casuísticas: las dinámicas de teclado y las dinámicas de ratón.

En el caso de las dinámicas de teclado, cada pulsación de una tecla, es decir, cada interacción, genera dos tipos de eventos principalmente (debido a la tecnología seleccionada para su implementación): keydown y keyup. El evento de Keydown contiene la marca de tiempo sobre cuándo se ha inicializado la pulsación, mientras que el evento keyup contiene la marca de tiempo de cuando la pulsación ha concluido, es decir, cuando el usuario ha dejado de mantener la tecla pulsada. Estas interacciones se agrupan en ventanas temporales de dos pulsaciones formando digrafos. De esta forma, cada digrafo contiene cuatro marcas de tiempo (para cada pulsación un evento de keyupX y otro de KeydownX, donde X representa el número de interacción). De esta forma, se calculan seis características o variables para cada digrafo [105]:

▪ H1 (keyupl-Keydownl): tiempo transcurrido para la primera interacción.

▪ H2 (Keyup2-Keydown2): tiempo transcurrido para la segunda interacción.

▪ HP (Keydown2-Keyup1): tiempo transcurrido desde que termina la primera interacción hasta que se inicia la segunda interacción.

▪ PP (Keydown2-Keydown1): tiempo transcurrido desde que se inicia la primera interacción hasta que se inicia la segunda interacción.

▪ HH (Keyup2-Keyup1): tiempo transcurrido desde que acaba la primera interacción hasta que acaba la segunda interacción.

▪ PH (Keyup2-Keydown1): tiempo transcurrido desde que se inicia la primera interacción hasta que acaba la segunda interacción.

Además, se almacena información sobre la propia tecla pulsada, esto es, se almacenan los caracteres específicos pulsados para cada digrafo. Estos caracteres se categorizan teniendo en cuenta una división física del teclado, seleccionando las teclas que se encuentran a la izquierda del teclado y aquellas a la derecha en otro grupo. También se incluye la posición en el eje vertical, arriba y abajo para cada uno de los grupos anteriormente mencionados. De esta forma, esta categoría puede tomar cuatro valores distintos.

En el caso de las dinámicas del ratón, se han extraído cinco características. Al igual que en el caso del teclado, los eventos del ratón se han agrupado formando digrafos. Para cada digrafo se ha calculado: el ángulo, la distancia, la velocidad, el tiempo total transcurrido y el tipo de evento de Javascript.

Utilizando las características recopiladas, se genera una huella digital para cada usuario. Esta huella contiene tres componentes: el componente de los atributos estáticos, el componente de las dinámicas de teclado y el componente de las dinámicas de ratón. La información de cada uno de los componentes está almacenada en forma de vector.

5.1.4. Modelado y evaluación

Los procesos de modelado y evaluación tienen como objetivo construir los modelos de aprendizaje máquina, basados en UEBA, que clasifican las dinámicas de comportamiento. Estos procesos se han considerado conjuntamente en esta sección, pues se van a realizar de forma simultánea, avanzando y retrocediendo hasta llegar a unos modelos con alta capacidad de generalización, robustos y con eficacia alta.

Los experimentos aquí detallados se han centrado en desarrollar un modelo de aprendizaje máquina capaz de comparar y evaluar las huellas digitales generadas en los pasos anteriores. En primer lugar, los datos recopilados se han separado en tres conjuntos: conjunto de entrenamiento, test y validación. El conjunto de entrenamiento contiene el 70 % de los datos de cada usuario específico (muestras genuinas). Los conjuntos de test y de validación contienen, respectivamente, un 15 % de los datos restantes. Los conjuntos de test y validación son completados utilizando muestras atípicas para simular comportamientos anómalos, es decir, comportamientos que pueden suponer una brecha de seguridad y por tanto se quieren detectar (muestras de impostores). Para llevarlo a cabo, se seleccionan de forma aleatoria tantas muestras del resto de usuarios como tenga el propio usuario para cada uno de los conjuntos. En conclusión, el conjunto de entrenamiento solo contiene muestras genuinas y se utiliza para entrenar los modelos de detección de anomalías pertinentes. Por otro lado, los conjuntos de test y validación contienen muestras tanto genuinas, como anómalas, y se utilizan para evaluar la eficacia de los modelos propuestos y determinar si son robustos y capaces de generalizar correctamente.

En cuanto a la comparación de huellas digitales, cada componente (atributos estáticos, dinámicas de teclado y dinámicas de ratón) se modela de forma independiente. De esta forma, los componentes pueden ser activados o desactivados para poder evaluar la comparación de huellas digitales de forma independiente para cada uno de ellos.

En primer lugar se ha implementado un NB para comparar los atributos estáticos. Este clasificador asume que cada variable es totalmente independiente y, por lo tanto, cada variable determina la probabilidad de pertenecer a la clase genuina o a la impostora [148]. Debido al bajo número de participantes en el conjunto de datos UEBA, los resultados obtenidos muestran una clasificación perfecta. Esto quiere decir que simplemente considerando el agente de usuario y la resolución de pantalla, este simple clasificador es capaz de determinar si un usuario es genuino o impostor de forma exacta. En el caso de que el número de usuarios aumentase, el número de atributos estáticos que habría que considerar sería mayor y muy probablemente no se conseguirá esta clasificación perfecta. Además, estos atributos estáticos son fáciles de manipular y falsear (para los atributos dinámicos la complejidad de manipulación o falseo es mayor o incluso imposible). Por otro lado, ciertos ataques pueden tomar el control de la máquina del usuario genuino y por lo tanto hacer que estos atributos sean idénticos a los esperados e imposibles de detectar por el modelo. Es por esto que en caso de que el número de usuarios aumente, se recomienda aumentar el nivel de seguridad de las RPs (actualmente se ha seleccionado un nivel medio de seguridad).

En el caso de las dinámicas de teclado, los digrafos generados se agrupan en n-gramas [149]. De esta forma se concatenan los digrafos formando vectores de longitud dos, tres y seis. Sobre estos vectores se utiliza la distancia de Manhattan [150] para comparar las dinámicas de comportamiento asociadas al teclado [85].

El conjunto de entrenamiento para cada usuario se utiliza para calcular la media de cada característica recopilada. Posteriormente se extraen los vectores de características para el conjunto de test. De esta forma se utiliza la distancia de Manhattan para comparar estos vectores con la media calculada en el conjunto de entrenamiento. De este modo se obtiene la similitud entre estas muestras y lo esperado. Con estas similitudes calculadas en el conjunto de test se puede fijar un umbral de decisión utilizando el EER. En caso de que la similitud entre las muestras sea menor al umbral determinado se clasifica como genuina, mientras que en caso de que supere el umbral se clasifica como impostor.

Con el umbral ya fijado, se procede a evaluar el conjunto de validación. Los datos almacenados en este conjunto no han sido nunca antes vistos por el modelo y, por lo tanto, permiten evaluar el modelo de forma justa y analizar la capacidad de generalización del modelo obtenido. Los resultados obtenidos para este modelo son bastante pobres, obteniendo un EER de 0,511 ± 0,124 (media ± desviación típica). Estos resultados se obtienen porque los datos recopilados no tienen una frecuencia o distribución predeterminada, a diferencia de otros trabajos del estado del arte que sí asumen un patrón determinado (usuarios introduciendo la misma contraseña un número determinado de veces). Es por esto que se deben incluir ciertas mejoras en el modelo para obtener unos resultados óptimos.

Siguiendo esta línea se ha realizado un proceso de exploración de datos más exhaustivo, permitiendo determinar que los vectores que comienzan con la misma pulsación, tienden a ser más similares entre sí que los que comienzan con una pulsación distinta (p. ej. los vectores que comienzan por la pulsación del carácter ’a’ son más similares entre sí, a los que comienzan por el carácter ’b’ y viceversa). De esta forma, se han agrupado los vectores en función de su primera pulsación. En este caso, también se ha observado que el vector medias que se utiliza en el conjunto de entrenamiento no es lo suficientemente discriminatorio debido a la alta dispersión de los datos de cada usuario. Es por esto que se ha decidido sustituir este vector medias por un modelo de KNN utilizando la misma distancia de Manhattan. De esta forma, cada muestra no se va a comparar contra el vector media de características, sino contra la etiqueta conocida que posean los n-vecinos más cercanos. Al igual que para el modelo anterior, se utiliza el EER para fijar un umbral óptimo de clasificación.

Los resultados obtenidos se pueden observar en la Tabla 5.1. Estos resultados confirman que el modelo mejorado representa de forma óptima el comportamiento de los usuarios y por consiguiente clasifica correctamente un número elevado de muestras, es decir, obtiene valores de EER FAR y FRR menores.

Test

Validación

N-grama

FAR

FRR

EER

FAR

FRR

2

0,257

0,265

0,296 (0,099)

0,321

0,304

3

0,284

0,294

0,308 (0,099)

0,317

0,309

6

0,279

0,294

0,347 (0,141)

0,267

0,299

Tabla 5.1: Resultados del modelo de clasificación KNN utilizando la distancia de Manhattan para las dinámicas de teclado agrupando por tecla pulsada: FAR, FRR y EER (desviación típica).

El modelo obtenido compara cada vector de características de forma totalmente independiente. Sin embargo, en un entorno real, estos vectores de características se van generando a lo largo del tiempo y de forma ordenada a medida que los usuarios van interaccionando con la aplicación. Esto se traduce, en que las distancias obtenidas pueden también ordenarse y analizarse a lo largo del tiempo y no compararse una a una como se ha hecho hasta ahora. Para realizar esto, se propone utilizar un buffer temporal. En este caso, las distancias entre vectores se utilizan para llenar el buffer. De esta manera, si la distancia obtenida para un vector concreto supera el umbral determinado, el buffer se llenará. En caso contrario, es decir, si la distancia es menor que el umbral, el buffer disminuirá. El valor a aumentar o disminuir en el buffer es la distancia a dicho umbral. De esta forma, se determina un nuevo umbral de clasificación para este buffer basándose, al igual que para los modelos previos, en el menor EER.

A continuación se utilizan los conjuntos de test y validación para evaluar el modelo. En esta ocasión, los datos pertenecientes a usuarios impostores se concatenan al final de las muestras genuinas. Los resultados para este experimento se encuentran en la Tabla 5.2. Tal y como se puede observar, incluir la información temporal hace que el modelo aumente considerablemente su eficacia a la hora de clasificar las muestras de test correctamente. Además, el modelo obtenido es robusto, pues también obtiene resultados semejantes y óptimos para el conjunto de validación. Sin embargo, este modelo contiene un sesgo pues se está asumiendo que los comportamientos anómalos suceden siempre al final de las muestras genuinas, algo que en un escenario real no es así necesariamente. En un escenario real las anomalías de comportamiento pueden suceder en cualquier instante temporal pues no se puede saber a priori cuando un usuario va a sufrir un ataque ni la duración del mismo. Es por esto que el modelo generado, a pesar de no ser una buena solución para un entorno real, sirve para corroborar que, si se considera la suficiente información de comportamientos, se pueden obtener resultados óptimos a la hora de clasificar las muestras. Es decir, sirve para generar un modelo de referencia cuyos resultados son los mejores que se pueden obtener siguiendo los pasos aquí descritos.

Test

Validación

N-grama

FAR

FRR

EER

FAR

FRR

2

0,125

0,128

0,133 (0,107)

0,012

0,156

3

0,087

0,091

0,099 (0,126)

0,050

0,082

6

0,130

0,140

0,175 (0,156)

0,068

0,144

Tabla 5.2: Resultados del modelo de clasificación KNN utilizando la distancia de Manhattan y el buffer temporal para las dinámicas de teclado: FAR, FRR y EER (desviación típica). Modelo de referencia.

Con el objetivo de definir un experimento más realista y semejante a un entorno real, los vectores de características se agrupan en sesiones utilizando ventanas temporales. De esta forma, los vectores de características se agrupan en sesiones de longitud 5, 10 y 20. Por ejemplo, para una longitud de sesión de 10, 10 vectores genuinos se concatenan con 10 vectores impostores. Este vector resultante va a formar una sesión independiente. Los resultados obtenidos para esta situación más realista se pueden encontrar en la Tabla 5.3 y la Tabla 5.4. Los mejores resultados se obtienen utilizando n-gramas de longitud 2 y 3. Los resultados obtenidos son peores que los obtenidos para el modelo que se toma como referencia en el paso anterior, sin embargo, se llega a una clasificación mejor a medida que el tamaño de sesión aumenta. Esto corrobora que, cuanta más información es considerada, mejores resultados se obtienen.

Tamaño de sesión

N-grama

FAR

FRR

EER

5

2

0,221

0,213

0,238 (0,172)

5

3

0,254

0,242

0,205 (0,136)

5

6

0,235

0,197

0,247 (0,195)

10

2

0,169

0,162

0,279 (0,120)

10

3

0,185

0,194

0,188 (0,157)

10

6

0,221

0,228

0,206 (0,206)

20

2

0,141

0,162

0,128 (0,140)

20

3

0,172

0,140

0,145 (0,189)

20

6

0,153

0,172

0,174 (0,208)

Tabla 5.3: Resultados del modelo de clasificación KNN utilizando la distancia de Manhattan y el buffer temporal para las dinámicas de teclado divididas en sesiones utilizando en el conjunto de test: FAR, FRR y EER (desviación típica).

Tamaño de sesión

N-grama

FAR

FRR

5

2

0,199

0,220

5

3

0,213

0,213

5

6

0,262

0,211

10

2

0,170

0,216

10

3

0,170

0,170

10

6

0,155

0,196

20

2

0,126

0,188

20

3

0,161

0,110

20

6

0,155

0,180

Tabla 5.4: Resultados del modelo de clasificación KNN utilizando la distancia de Manhattan y el buffer temporal para las dinámicas de teclado divididas en sesiones utilizando en el conjunto de validación: FAR y FRR.

La Figura 5.1 ilustra un ejemplo de los valores del buffer para un usuario concreto. La línea azul representa el valor del buffer a lo largo del tiempo. La línea negra horizontal representa el umbral de decisión. La línea verde representa que una predicción se ha realizado correctamente, tanto en el caso de clasificar una muestra genuina como en el de clasificar una muestra de un impostor. La línea roja representa una predicción errónea.

Figura 5.1: Valores del buffer utilizando las dinámicas de teclado para un usuario concreto.

Finalmente, los mismos pasos se han seguido para el caso de las dinámicas de ratón. En primer lugar, se han utilizado n-gramas de longitud 1,2,3 y 6. Posteriormente, se ha considerado la distancia de Manhattan para comparar de forma independiente cada vector contra el vector medias. Al igual que para el caso del teclado, los resultados obtenidos son bastante pobres, obteniendo un EER de 0,496 ±0,160 para la mejor selección del parámetro (longitud de n-grama 6). En este caso concreto, para mejorar el modelo inicial, se ha optado por utilizar OC-SVM. Los resultados obtenidos se pueden observar en la Tabla 5.5. Estos resultados no se pueden comparar con los obtenidos para las dinámicas de teclado pues pertenecen a dos fuentes de datos totalmente distintas.

Test

Validación

N-grama

FAR

FRR

EER

FAR

FRR

1

0,447

0,448

0,455 (0,028)

0,440

0,441

2

0,442

0,443

0,427 (0,058)

0,444

0,447

3

0,440

0,440

0,432 (0,060)

0,442

0,445

6

0,447

0,419

0,407 (0,081)

0,476

0,468

Tabla 5.5: Resultados del modelo de clasificación OC-SVM para las dinámicas de ratón de forma independiente: FAR, FRR y EER (desviación típica).

Siguiendo las líneas definidas para el caso de las dinámicas de teclado, se procede a utilizar un buffer temporal. En esta primera aproximación, para los conjuntos de test y de validación, se concatenan todas las muestras de impostores al final de las muestras genuinas. Los resultados obtenidos se pueden observar en la Tabla 5.6. Estos son los resultados pertenecientes al modelo referencia.

Test

Validación

N-grama

FAR

FRR

EER

FAR

FRR

1

0,072

0,108

0,151 (0,083)

0,115

0,093

2

0,205

0,214

0,249 (0,162)

0,168

0,088

3

0,399

0,399

0,409 (0,081)

0,306

0,173

6

0,415

0,447

0,399 (0,088)

0,460

0,479

Tabla 5.6: Resultados del modelo de clasificación OC-SVM utilizando el buffer temporal para las dinámicas de ratón: FAR, FRR y EER (desviación típica). Modelo de referencia.

Con el objetivo de contemplar un escenario real, se procede a agrupar la información en sesiones, al igual que en el caso del teclado. Los resultados se pueden observar en la Tabla 5.7 y la Tabla 5.8. En la Figura 5.2 se muestra un ejemplo de los valores del buffer para un usuario concreto. Centrando la atención en la sesión 2, se puede observar que el umbral óptimo definido en este caso es ligeramente restrictivo pues el modelo clasifica como impostor dicha sesión a pesar de los valores bajos del buffer en ese instante. Esto hace que el sistema sea más seguro a la hora de detectar impostores pero también repercute en que el sistema considere a un usuario genuino como impostor en más ocasiones.

Tamaño de sesión

N-grama

FAR

FRR

EER

5

1

0,352

0,357

0,373 (0,071)

5

2

0,376

0,388

0,337 (0,131)

5

3

0,376

0,360

0,381 (0,076)

5

6

0,366

0,386

0,296 (0,175)

10

1

0,237

0,225

0,242 (0,131)

10

2

0,292

0,306

0,279 (0,120)

10

3

0,329

0,325

0,327 (0,119)

10

6

0,285

0,381

0,278 (0,181)

20

1

0,151

0,151

0,143 (0,122)

20

2

0,232

0,232

0,220 (0,135)

20

3

0,274

0,246

0,240 (0,205)

20

6

0,258

0,366

0,248 (0,188)

Tabla 5.7: Resultados del modelo de clasificación OC-SVM utilizando el buffer temporal para las dinámicas de ratón divididas en sesiones utilizando en el conjunto de test: FAR, FRR y EER (desviación típica).

Tamaño de sesión

N-grama

FAR

FRR

5

1

0,353

0,355

5

2

0,381

0,410

5

3

0,430

0,426

5

6

0,425

0,451

10

1

0,307

0,329

10

2

0,341

0,372

10

3

0,370

0,380

10

6

0,386

0,462

20

1

0,256

0,277

20

2

0,295

0,356

20

3

0,355

0,385

20

6

0,363

0,368

Tabla 5.8: Resultados del modelo de clasificación OC-SVM utilizando el buffer temporal para las dinámicas de ratón divididas en sesiones utilizando en el conjunto de validación: FAR y FRR.

Figura 5.2: Valores del buffer utilizando las dinámicas de ratón para un usuario concreto.

En resumen, los mejores resultados para la RP específica propuesta en el caso de uso (chat) se obtienen modelando las dinámicas de teclado. En particular, los mejores resultados para este escenario se obtienen utilizando la distancia de Manhattan con un número de vecinos igual a 3 para el modelo de KNN y para sesiones de longitud 20. Por otro lado, para el caso de las dinámicas de ratón, los mejores resultados se obtienen utilizando una OC-SVM con n-gramas de longitud 1 y para sesiones de longitud 20. En ambos casos, tal y como ha quedado demostrado anteriormente, cuanto mayor es la duración de la sesión más información se considera y, por lo tanto, se obtienen mejores resultados.

5.1.5. Integración en los estándares de federación de identidades

La integración del flujo de trabajo propuesto depende del caso de uso en cuestión. Considerando los casos de uso vistos en la Sección 3.2, se precisan realizar modificaciones que se detallan a continuación y que se pueden ver esquematizadas en la Figura 5.3. El entorno de trabajo desarrollado implementa el estándar federado OIDC (ver Sección 5.1.1), sin embargo, todos estos casos de uso son igualmente aplicables a cualquier estándar federado.

Figura 5.3: Modificaciones necesarias en el flujo de OpenId Connect para incorporar los casos de uso del flujo de trabajo propuesto. Caso de uso 1 en azul, caso de uso 2 en verde y caso de uso 3 en naranja.

En el caso de uso 1 solo se requiere realizar una pequeña modificación en el flujo de autenticación. Esta modificación consiste en marcar como obligatorio el parámetro, actualmente considerado como opcional, acr_values de la petición de autorización/autenticación. De esta forma la RP debe utilizar este valor para especificar el LoA que requiere por parte del usuario final para completar el proceso de autenticación frente al IdP. Cuanto mayor sea el riesgo asociado a la petición de acceso, porque el modelo ha determinado una probabilidad alta de que sea un comportamiento anormal (impostor), mayor será el LoA requerido. De este mismo modo, el parámetro acr_values del ID token también se vuelve obligatorio. Así, el IdP debe informar a la RP del método utilizado para autenticar al usuario final cumpliendo con el LoA previamente determinado. Por la parte del IdP se han de contemplar diferentes métodos y procesos para autenticar a los usuarios. Todas estas consideraciones de implementación no afectan a la especificación federada, sino que han de solventarse a nivel de implementación de código por parte del IdP y la RP.

En el caso de uso 2 la RPs debe en primer lugar invalidar los tokens asociados a la sesión activa. Para ello, debe enviar dichos tokens al Token Revocation Endpoint [151]. De esta forma, la sesión activa del usuario queda invalidada. Posteriormente, la RP debe iniciar nuevamente el proceso enviado una nueva petición de autorización/autenticación al Authorization Server Endpoint, el cual volverá nuevamente a solicitar al usuario los autenticadores pertinentes. Este caso de uso se puede combinar con el caso de uso 1, pues la RP al detectar la anomalía puede solicitar un LoA mayor aumentando así los niveles de seguridad. Para este caso de uso, no se requiere ninguna modificación de los flujos de las especificaciones federadas. Se requiere una implementación a nivel de código por parte de la RP para forzar que se invaliden los tokens activos y se realice una nueva petición de ellos cada vez que los modelos de autenticación continua determinen que se ha producido una anomalía de comportamiento y, por consiguiente, pueda estar sucediendo un ataque (p. ej. un secuestro de sesión). Esto desencadena una nueva petición de autorización/autenticación inicializando nuevamente el proceso.

En el caso de uso 3 no se ven afectados los estándares tradicionales de gestión de identidades federados. Nuevamente, implica implementar nuevos procedimientos en la RP para poder gestionar las situaciones adversas y procedimientos para comunicárselo al resto de agentes implicados en caso de que suceda un ataque de suplantación de identidad.

En resumen, para poder integrar el flujo de trabajo propuesto en los principales esquemas de gestión de identidades, el único cambio que habría que realizar sobre ellos es marcar como obligatorios dos parámetros (uno en el ID token y otro en el access token) que actualmente se encuentran como opcionales. De esta forma, se puede corroborar que la integración del flujo de trabajo es muy simple y, por consiguiente, facilita de forma notoria la integración e implantación del mismo por parte de multitud de RPs.

5.1.6. Eficiencia y análisis de seguridad

En las secciones anteriores se ha mencionado que las técnicas de UEBA pueden ser utilizadas en múltiples casos de uso y en diversas RPs de diferente naturaleza y dominios, ejecutadas sobre plataformas heterogeneas. Es por esto que uno de los puntos clave a analizar para lograr una adopción del flujo de trabajo propuesto es la eficiencia del mismo. De este modo, el consumo de recursos computacionales ha de ser mínimo y las posibles latencias introducidas no deben afectar al funcionamiento normal de una RP (en el caso de uso 2), o a la experiencia de usuario (en el caso de uso 1).

En este sentido, el tiempo medio de ejecución a la hora de comprar dos vectores de comportamiento utilizando el KNN y la distancia de Manhattan es de 0,000416 ± 0,000883 nanosegundos ejecutando sobre la máquina descrita en la Sección 5.1.1. En el caso de la OC-SVM, el tiempo medio de ejecución al comparar dos vectores de comportamiento es de 0,000040±0,0000923. Estos tiempos corroboran que las técnicas de UEBA propuestas no afectan para la implantación e integración del flujo de trabajo para ninguno de los casos de uso propuestos, ya sean para autenticación estática o autenticación continua.

El último grupo de experimentos realizados se centran en analizar la mejora en cuanto a seguridad que ofrecen las técnicas de UEBA en el caso de uso más complejo. Recordemos que el caso de uso 2 requiere autenticación continua. Para lograr esto, se han incluido dos tipos de ataques. En primer lugar una suplantación de identidad por medio de un robo de credenciales. Los participantes en el experimento tuvieron que hacer públicas sus credenciales, de tal manera que todos los usuarios podían autenticarse como cualquier otro usuario, suplantando así su identidad. En segundo lugar, un secuestro de sesión. Los participantes tenían acceso a los diferentes dispositivos del resto de usuarios y, por lo tanto, tenían vía libre para poder hacerse pasar por cualquiera de ellos, nuevamente suplantando su identidad. Para evaluar este experimento, se han utilizado los mejores modelos obtenidos en la Sección 5.1.4.

Los resultados para el primer ataque se pueden observar en la Tabla 5.9. Se ha necesitado una media de 12,200 ± 4,176 interacciones para detectar a un impostor utilizando las dinámicas de teclado. Por otro lado, una media de 18,800 ± 2,081 interacciones se han necesitado para detectar a un impostor utilizando las dinámicas de ratón. Tal y como se ha mencionado en la Sección 5.1.4, utilizar atributos estáticos implica una clasificación perfecta debido al bajo número de participantes.

Tipo

FAR

FRR

Atributos estáticos

0

0

Dinámicas de teclado

0,104

0,082

Dinámicas de ratón

0,146

0,127

Tabla 5.9: Resultados para el ataque de robo de credenciales en el caso de uso 2.

Los resultados para el segundo ataque, es decir, para el secuestro de sesión utilizando el dispositivo de la víctima, se pueden observar en la Tabla 5.10. Para las dinámicas de teclado se han necesitado una media de 13,100 ± 4,223 interacciones para detectar a un impostor, mientras que para las dinámicas de ratón 18,100 ± 2,714. En este caso, al utilizar el dispositivo de la víctima, los atributos estáticos no son útiles para detectar a ningún impostor pues siempre van a tener el mismo valor esperado.

Tipo

FAR

FRR

Atributos estáticos

1

1

Dinámicas de teclado

0,149

0,104

Dinámicas de ratón

0,175

0,168

Tabla 5.10: Resultados para el ataque de secuestro de sesión en el caso de uso 2.

Como se puede observar, los resultados obtenidos para el primer ataque son mejores que para el segundo, por lo que, se puede afirmar que los modelos propuestos son mejores a la hora de detectar ataques de robo de identidad que ataques de secuestro de sesión.

5.2. Evaluación del método de combinación de la información

Hasta el momento ha quedado demostrado que es posible implementar el flujo de trabajo propuesto y, por consiguiente, integrar modelos de análisis de comportamiento dentro de los principales estándares de gestión de identidades federados. Sin embargo, los modelos de análisis de comportamiento desarrollados hasta el momento, aun funcionales, poseen multitud de limitaciones, entre las que cabe destacar la eficacia de los modelos. De aquí en adelante se evalúa el modelo de combinación de información propuesto que supera estas limitaciones.

5.2.1. Evaluación del método de combinación en el conjunto de datos UEBA

En esta sección se va a analizar la evaluación del modelo de combinación de información propuesto en el conjunto de datos UEBA. En primer lugar, se realiza el proceso de extracción de características. Para ello, en el caso del teclado se utilizan las características H1, H2, HP, PP, HH y PH descritas en la Sección 5.1.3. En el caso de las dinámicas de ratón, cada digrafo se ha agrupado en ventanas temporales de 5 segundos. Se han considerado el número de interacciones contenidas en la ventana temporal, el tiempo total transcurrido, la distancia, velocidad, ángulo y velocidad angular. De este modo se han calculado las medidas de dispersión (mínimo, máximo, media y desviación típica) para cada característica considerada anteriormente (tiempo transcurrido, distancia, etc). De esta forma, el vector de comportamiento obtenido, para el caso del ratón, contiene un total de 21 características (número de interacciones contenidas en la ventana temporal y cuatro medidas de dispersión de cinco variables). En resumen, para cada usuario se obtienen dos vectores (uno para cada fuente de información) que contiene la información de comportamiento.

Con el objetivo de entrenar y posteriormente poder evaluar el método, la información, ya procesada para cada usuario, se separa en tres conjuntos denominados: entrenamiento, test y validación. El conjunto de entrenamiento representa el 70 % de la información total del usuario objetivo, es decir, contiene únicamente muestras genuinas. Por otro lado, el conjunto de test está formado por muestras tanto genuinas como pertenecientes a usuarios impostores. Para el caso de las muestras genuinas, del 30 % restante (no seleccionado para entrenamiento) se selecciona un total del 60 % (es decir, un 18 % del total de muestras genuinas). Para el caso de las muestras de impostores, el mismo número de muestras que para el caso de las genuinas son aleatoriamente seleccionadas del resto de usuarios. Además, se asegura que esta información de los usuarios impostores contenga muestras de ambas fuentes de información (teclado y ratón). Esto significa que el resto de los usuarios actúan como impostores a la hora de evaluar a un usuario específico. Finalmente, el conjunto de validación está formado por el 12 % restante de muestras genuinas y por el mismo número de muestras de usuarios impostores siguiendo los mismos criterios que para el conjunto de test.

En primer lugar, para cada usuario, el conjunto de entrenamiento se utiliza para estandarizar el resto de los conjuntos de datos. Esto se logra calculando la media y desviación típica para cada una de las fuentes de información y aplicando la fórmula que sigue:

zi=xiX¯Sx

donde zi es el valor estandarizado para la muestra i, xi es el valor original de la muestra i, X¯ es la media del conjunto de muestras y SX es la desviación típica.

Una vez estandarizados los datos, se utiliza el conjunto de entrenamiento para entrenar el algoritmo de RTE. El resultado de este proceso es la secuencia de símbolos que representa el comportamiento de un usuario. Esta secuencia, se separa en n-gramas utilizando el parámetro NGL, obteniendo múltiples secuencias que representan la información de comportamiento de un usuario concreto. Estos n-gramas se utilizan para generar la matriz de distancias, comparándolas en pares utilizando el algoritmo de alineamiento de secuencias de ADN. A continuación, la matriz de distancias se utiliza para entrenar el algoritmo de DBSCAN. El resultado son los núcleos de comportamiento que representan el conocimiento adquirido para un usuario concreto y, por tanto, concluyendo el proceso de entrenamiento.

Posteriormente, las muestras de test (ya estandarizadas) se evalúan sobre el RTE previamente entrenado. De esta forma y al igual que en el caso anterior, se obtiene la secuencia de símbolos y se divide en n-gramas. Estos n-gramas se comparan uno a uno contra todos los n-gramas contenidos en los núcleos de comportamiento utilizando el algoritmo de alineamiento de secuencias de ADN. El resultado son múltiples vectores de distancias. Cada vector contiene la distancia de cada muestra a los núcleos de comportamiento. Estos vectores se utilizan para entrenar el modelo de riesgos, agrupándose en ventanas temporales en función del parámetro WinS ize y pudiendo fijar el umbral óptimo de decisión.

Por último, el conjunto de validación se utiliza para evaluar todo el proceso con muestras que el método propuesto no ha considerado nunca. Este conjunto de datos permite analizar la capacidad de generalización y la efectividad del método propuesto. Esto se debe a que, al evaluar este conjunto de datos, todos los modelos que se integran en el método, así como el umbral de decisión, han sido previamente entrenados y fijados.

Una vez obtenidos los tres conjuntos de datos, se evalúa el método teniendo en cuenta las tres casuísticas asociadas a las fuentes de información. Esto es, considerando únicamente el teclado, considerando únicamente el ratón y considerando la combinación de ambas fuentes de información. Los resultados se pueden observar en las Tablas 5.11, 5.12 y 5.13 respectivamente. Los resultados mostrados para cada métrica de evaluación se corresponden con la media obtenida para todos los usuarios.

NGL

WinSize

EER

FAR

FRR

FAR_val

FRR_val

5

5

0.457

0.457

0.457

0.442

0.397

5

10

0.423

0.423

0.423

0.439

0.392

5

20

0.356

0.356

0.366

0.420

0.287

5

50

0.268

0.239

0.282

0.323

0.207

5

100

0.000

0.000

0.048

0.250

0.062

10

5

0.384

0.381

0.386

0.303

0.453

10

10

0.343

0.333

0.343

0.189

0.414

10

20

0.276

0.276

0.286

0.122

0.250

10

50

0.059

0.059

0.074

0.015

0.167

10

100

0.000

0.000

0.047

0.000

0.186

20

5

0.304

0.301

0.305

0.297

0.141

20

10

0.226

0.228

0.226

0.230

0.030

20

20

0.145

0.145

0.147

0.163

0.019

20

50

0.050

0.051

0.050

0.043

0.027

20

100

0.000

0.000

0.011

0.003

0.026

30

5

0.267

0.267

0.270

0.236

0.254

30

10

0.177

0.175

0.178

0.142

0.097

30

20

0.091

0.090

0.091

0.038

0.038

30

50

0.006

0.000

0.008

0.000

0.002

30

100

0.000

0.000

0.012

0.000

0.009

Tabla 5.11: Resultados obtenidos para las dinámicas de teclado utilizando el método de combinación en el conjunto de datos UEBA. El sufijo _val se refiere a conjunto de validación. Los mejores resultados obtenidos para cada métrica se muestran en negrita.

NGL

WinSize

EER

FAR

FRR

FAR_val

FRR_val

5

5

0.438

0.438

0.438

0.308

0.390

5

10

0.392

0.392

0.396

0.234

0.359

5

20

0.347

0.343

0.351

0.146

0.280

5

50

0.265

0.265

0.265

0.031

0.076

5

100

0.034

0.024

0.065

0.506

0.513

10

5

0.354

0.354

0.358

0.329

0.306

10

10

0.306

0.302

0.306

0.261

0.176

10

20

0.202

0.198

0.202

0.129

0.129

10

50

0.090

0.090

0.094

8.000

0.000

10

100

0.000

0.000

0.031

0.500

0.500

20

5

0.147

0.139

0.151

0.133

0.223

20

10

0.077

0.073

0.081

0.112

0.050

20

20

0.034

0.030

0.034

0.053

0.000

20

50

0.000

0.000

0.016

0.000

0.000

20

100

0.000

0.000

0.026

0.000

0.000

30

5

0.090

0.090

0.090

0.080

0.049

30

10

0.025

0.025

0.025

0.013

0.006

30

20

0.004

0.000

0.012

0.000

0.011

30

50

0.000

0.000

0.007

0.000

0.041

30

100

0.000

0.000

0.011

0.000

0.092

Tabla 5.12: Resultados obtenidos para las dinámicas de ratón utilizando el método de combinación en el conjunto de datos UEBA. El sufijo _val se refiere a conjunto de validación. Los mejores resultados obtenidos para cada métrica se muestran en negrita.

NGL

WinSize

EER

FAR

FRR

FAR_val

FRR_val

5

5

0.397

0.397

0.397

0.342

0.486

5

10

0.364

0.364

0.366

0.294

0.501

5

20

0.320

0.317

0.320

0.273

0.484

5

50

0.229

0.223

0.232

0.131

0.489

5

100

0.112

0.115

0.112

0.049

0.448

10

5

0.289

0.284

0.292

0.322

0.329

10

10

0.219

0.222

0.219

0.284

0.296

10

20

0.141

0.138

0.144

0.154

0.263

10

50

0.029

0.024

0.032

0.019

0.100

10

100

0.000

0.000

0.007

0.000

0.019

20

5

0.167

0.167

0.169

0.117

0.146

20

10

0.080

0.075

0.085

0.052

0.070

20

20

0.006

0.006

0.010

0.016

0.015

20

50

0.000

0.000

0.006

0.000

0.008

20

100

0.000

0.000

0.008

0.000

0.011

30

5

0.128

0.128

0.131

0.217

0.116

30

10

0.054

0.068

0.054

0.165

0.030

30

20

0.020

0.014

0.023

0.098

0.001

30

50

0.000

0.000

0.006

0.000

0.008

30

100

0.000

0.000

0.004

0.000

0.000

Tabla 5.13: Resultados obtenidos para la combinación de información en el conjunto de datos UEBA. El sufijo _val se refiere a conjunto de validación. Los mejores resultados obtenidos para cada métrica se muestran en negrita.

Para todas las casuísticas de fuentes de información, los valores de EER, FAR y FRR disminuyen (mejoran los resultados) cuando los valores de los parámetros NGL o WinS ize aumentan. Esto se debe a que, cuanto mayor son los parámetros, más información se está considerando para realizar una predicción. De este modo, los valores máximos de EER para cada caso de uso (0,457, 0,438 y 0,397 respectivamente) se obtienen para los valores NGL = 5 y WinS ize = 5. Por otro lado, se obtienen predicciones casi perfectas cuando se fijan los parámetros a los valores NGL = 30 y WinS ize = 100. Unicamente fijando el parámetro WinsS ize a 100, se obtienen buenos resultados independientemente del valor de NGL. Sin embargo, estos resultados se vuelven cada vez más robustos a medida que aumenta el parámetro NGL para el conjunto de validación.

Los mejores resultados para test y validación simultáneamente se obtienen para el caso de uso de combinación de la información. Esto corrobora que combinar información de múltiples fuentes ayuda a mejorar la eficacia de los sistemas de autenticación continua que solo consideran una única fuente.

5.2.2. Evaluación del método de combinación en el conjunto de datos TWOS

En esta sección se evalúa el método de combinación de información propuesto sobre el conjunto de datos TWOS. El conjunto de datos TWOS [105] se recogió durante la competición organizada por la Universidad de Singapur de tecnología y diseño en marzo de 2017. Los datos provienen de seis fuentes de información: teclado, ratón, tráfico de red, registros Simple Mail Transfer Protocol (SMTP), información de inicio de sesión e información de la máquina anfitriona. Además, posee información relacionada a un test psicológico de personalidad realizado a cada uno de los participantes. En total, veinticuatro usuarios participaron en la recogida de datos durante un periodo de cinco días.

Al igual que para el conjunto de datos UEBA, se ha seleccionado la información que proviene de las fuentes de información del teclado y del ratón. Esta información se ha procesado y dividido en los conjuntos de entrenamiento, test y validación siguiendo las mismas directrices marcadas en el caso anterior. En definitiva, se han extraído los núcleos de comportamiento y se ha entrenado el modelo de riesgos con el objetivo de poder evaluar los tres casos de uso.

Los resultados se pueden observar en las Tablas 5.14, 5.15 y 5.16, respectivamente. Al igual que en la sección anterior, se han considerado todas las posibles combinaciones de los parámetros NGL y WinS ize. Los resultados obtenidos para cada métrica se corresponden con la media para todos los usuarios.

NGL

WinSize

EER

FAR

FRR

FAR_val

FRR_val

5

5

0.414

0.413

0.415

0.407

0.414

5

10

0.386

0.386

0.386

0.375

0.384

5

20

0.341

0.343

0.341

0.346

0.353

5

50

0.269

0.269

0.269

0.268

0.233

5

100

0.214

0.219

0.214

0.189

0.131

10

5

0.362

0.362

0.362

0.380

0.382

10

10

0.337

0.335

0.339

0.340

0.320

10

20

0.305

0.304

0.307

0.282

0.237

10

50

0.217

0.217

0.217

0.180

0.126

10

100

0.133

0.133

0.134

0.044

0.052

20

5

0.317

0.318

0.317

0.346

0.302

20

10

0.259

0.257

0.259

0.305

0.245

20

20

0.189

0.189

0.191

0.227

0.172

20

50

0.080

0.078

0.082

0.110

0.072

20

100

0.008

0.008

0.008

0.018

0.019

30

5

0.299

0.299

0.299

0.293

0.288

30

10

0.231

0.231

0.232

0.222

0.224

30

20

0.156

0.156

0.156

0.139

0.139

30

50

0.055

0.054

0.055

0.060

0.052

30

100

0.007

0.007

0.007

0.000

0.015

Tabla 5.14: Resultados obtenidos para las dinámicas de teclado utilizando el método de combinación en TWOS. El sufijo _val se refiere a conjunto de validación. Los mejores resultados obtenidos para cada métrica se muestran en negrita.

NGL

WinSize

EER

FAR

FRR

FAR_val

FRR_val

5

5

0.433

0.433

0.434

0.400

0.432

5

10

0.404

0.403

0.404

0.375

0.400

5

20

0.371

0.370

0.372

0.313

0.351

5

50

0.317

0.316

0.318

0.252

0.286

5

100

0.266

0.265

0.266

0.205

0.260

10

5

0.420

0.419

0.420

0.406

0.394

10

10

0.392

0.392

0.393

0.369

0.356

10

20

0.355

0.354

0.355

0.290

0.315

10

50

0.285

0.285

0.285

0.263

0.209

10

100

0.180

0.176

0.180

0.250

0.126

20

5

0.377

0.376

0.379

0.362

0.388

20

10

0.336

0.335

0.337

0.311

0.347

20

20

0.286

0.285

0.288

0.255

0.287

20

50

0.174

0.173

0.174

0.153

0.211

20

100

0.088

0.086

0.101

0.086

0.117

30

5

0.359

0.357

0.361

0.338

0.352

30

10

0.313

0.312

0.314

0.308

0.302

30

20

0.250

0.250

0.251

0.237

0.243

30

50

0.136

0.136

0.137

0.141

0.146

30

100

0.051

0.049

0.089

0.047

0.073

Tabla 5.15: Resultados obtenidos para las dinámicas de ratón utilizando el método de combinación en TWOS. El sufijo _val se refiere a conjunto de validación. Los mejores resultados obtenidos para cada métrica se muestran en negrita.

NGL

WinSize

EER

FAR

FRR

FAR_val

FRR_val

5

5

0.407

0.407

0.407

0.409

0.410

5

10

0.380

0.380

0.380

0.381

0.375

5

20

0.335

0.335

0.335

0.343

0.321

5

50

0.257

0.257

0.257

0.270

0.228

5

100

0.177

0.177

0.176

0.197

0.150

10

5

0.359

0.359

0.359

0.371

0.349

10

10

0.320

0.319

0.319

0.335

0.307

10

20

0.263

0.262

0.263

0.289

0.245

10

50

0.169

0.168

0.169

0.213

0.159

10

100

0.082

0.082

0.082

0.140

0.099

20

5

0.295

0.295

0.296

0.310

0.306

20

10

0.226

0.226

0.226

0.267

0.230

20

20

0.156

0.156

0.157

0.206

0.157

20

50

0.066

0.065

0.067

0.098

0.080

20

100

0.022

0.022

0.022

0.041

0.018

30

5

0.268

0.268

0.268

0.282

0.285

30

10

0.201

0.200

0.201

0.227

0.211

30

20

0.121

0.122

0.121

0.168

0.110

30

50

0.038

0.037

0.038

0.076

0.020

30

100

0.006

0.006

0.006

0.014

0.004

Tabla 5.16: Resultados obtenidos para la combinación de información en TWOS. El sufijo _val se refiere a conjunto de validación. Los mejores resultados obtenidos para cada métrica se muestran en negrita.

Los resultados tanto para cada fuente de información por separado, como para la combinación de ambas fuentes son óptimos. Al igual que en la sección anterior, los resultados del método propuesto mejoran cuando se considera más información, es decir, cuando los valores de los parámetros NGL y WinS ize aumentan. En el caso de uso del teclado, los valores de EER van desde 0,414 hasta 0,007, obteniendo valores de FAR y FRR en validación de 0,407 y 0,414 respectivamente para la peor combinación de parámetros y, 0,000 y 0,015 para la mejor combinación de los mismos. Por otro lado, en el caso de uso del ratón, los resultados son ligeramente peores. Así, los valores de EER van desde 0,433 hasta 0,051, obteniendo valores de FAR y FRR para validación de 0,400 y 0,432 respectivamente para la peor combinación de parámetros y, 0,047 y 0,073 para la mejor combinación de los mismos. Los mejores resultados de forma global se obtienen para la combinación de ambas fuentes de información. En este caso, los valores de EER se encuentran en el rango 0,407 y 0,006 llegando a valores de FAR y FRR en el conjunto de validación de 0,409 y 0,410 respectivamente para la peor combinación de parámetros y de 0,0014 y 0,004 para la mejor combinación.

En el caso particular del teclado, cada símbolo de la secuencia (digrafo) tiene un tiempo medio de ejecución de 0,227 segundos. En el caso de las dinámicas de movimiento del ratón, cada símbolo de la secuencia representa una ventana temporal de 5 segundos. Esto significa que, considerando un NGL = 10, los n-gramas contienen aproximadamente 2,27 segundos de información para las dinámicas de teclado y 50 segundos de información para las dinámicas de ratón. Del mismo modo, seleccionando un WinS ize = 100 para realizar una predicción se considera 22,7 segundos de información histórica para el teclado y 500 segundos para el ratón. En el caso de la combinación de información, una secuencia promedio para todos los usuarios contiene un 73 % de símbolos pertenecientes al teclado, mientras que un 27 % pertenecen al ratón. Considerando un NGL = 10, el vector promedio contendrá por lo tanto 7 símbolos del teclado y 3 del ratón. Esto se traduce en que un vector promedio contiene de media 16,589 segundos de información. Tomando un WinS ize = 100, se considerará de media un total de 151,571 segundos de información histórica para realizar una predicción. A pesar de que se consideré toda esta información histórica, las predicciones se realizan para cada interacción del usuario, es decir, para cada nuevo símbolo independientemente de si proviene del teclado o del ratón. De este modo, las predicciones se realizan de media cada 0,227 segundos para el teclado y 5 segundos para el ratón. Esto se debe a que, cuando se evalúan los n-gramas, la secuencia adyacente es exactamente igual a la secuencia anterior a excepción del primer y último símbolo (ver Figura 4.9).

Finalmente, los algoritmos de SVM y RF se han seleccionado como algoritmos representativos del estado del arte frente a los que comparar el método propuesto. De este modo, para entrenar estos algoritmos se ha realizado un preprocesamiento de los datos para que consideren los parámetros NGL y Winsize, tal como lo hace el método propuesto. En primer lugar, los datos en bruto se han agrupado en subgrupos acorde al parámetro NGL. Posteriormente, cada uno de estos modelos ha sido entrenado utilizando una búsqueda en cuadrículas para fijar los hiperparámetros. Cada modelo devuelve la probabilidad de pertenecer a la clase genuina y a la clase impostora. Para obtener el riesgo, se selecciona la probabilidad devuelta de pertenecer a la clase impostora. Estas probabilidades se agrupan en ventanas temporales utilizando el parámetro WinS ize. Posteriormente, se aplica MME para suavizar la curva de riesgo siguiendo las directrices marcadas por el método propuesto.

En la Tabla 5.17 se comparan los resultados obtenidos para el método propuesto frente a los algoritmos de SVM y RF, así como con otras propuestas del estado del arte. Los resultados mostrados para [96] son los obtenidos para el algoritmo de 2D-CNN. Los resultados mostrados para [104] son los obtenidos para el algoritmo de SVM.

Trabajo

FI

EER

FAR_val

FRR_val

F1-_val

Exac_val

VPN_val

Espec_val

SVM

T

0.136

0.158

0.151

0.850

0.845

0.858

0.842

RF

T

0.084

0.093

0.174

0.860

0.865

0.819

0.907

Our

T

0.007

0.000

0.015

0.968

0.979

0.945

0.993

SVM

R

0.171

0.180

0.063

0.882

0.877

0.955

0.820

RF

R

0.109

0.141

0.081

0.890

0.888

0.925

0.859

[96]

R

0.130

0.136

0.149

-

-

-

-

Our

R

0.088

0.086

0.117

0.900

0.909

0.888

0.914

RF+RF

T + R

0.180

0.228

0.169

0.814

0.800

0.861

0.772

[104]

T + R

-

-

-

0.806

0.751

0.932

0.710

Our

T + R

0.177

0.197

0.150

0.828

0.826

0.856

0.803

RF+RF

T + R

0.121

0.126

0.152

0.860

0.860

0.848

0.874

[104]

T + R + C

-

-

-

0.914

0.915

0.874

0.912

Our

T + R

0.066

0.098

0.080

0.912

0.915

0.921

0.902

Tabla 5.17: Comparación de los resultados obtenidos con otras propuestas y algoritmos del estado del arte. T y M representan las dinámicas de teclado y de ratón respectivamente. C se refiere a información de contexto recogida de un conjunto de datos externos. RF+RF representa un modelo de combinación de información en el que se utiliza el algoritmo de RF de forma independiente para cada fuente de datos. FI se refiere a fuente de información. Exac se refiere a exactitud. Espec representa la especificación. El sufijo _val se refiere a conjunto de validación. Los mejores resultados obtenidos para métrica en cada bloque de experimentos se muestran en negrita.

Los resultados mostrados para el método propuesto son los obtenidos para el conjunto de parámetros tal que, los resultados en validación son comparables a los resultados del resto de propuestas o algoritmos. Esto es, los valores de NGL y WinS ize son (30,100), (20,100), (5,100) y (20,50), respectivamente. Estos mismos parámetros han sido utilizados para entrenar los algoritmos de SVM y RF. El primer bloque de resultados se corresponde con el uso de dinámicas de teclado, el segundo bloque se corresponde con el uso de dinámicas de ratón y el tercer bloque se corresponde con la combinación de la información de teclado y de ratón. Finalmente, en el cuarto bloque se compara la combinación de información de la propuesta [104] en la que se utiliza información de contexto. Puesto que esta información no está disponible públicamente y pertenece a un conjunto de datos externo y privado, en este bloque se demuestra que utilizando el método propuesto se pueden obtener resultados comprables e incluso mejores en algunos ámbitos, única y exclusivamente utilizando información del teclado y del ratón.

Comparando los resultados de [96] con los obtenidos en la Tabla 5.15, los valores de NGL = 30 y WinS ize = 50 muestran resultados similares para el método propuesto. Sin embargo, si se utiliza más información (NGL = 20 y WinS ize = 100 o NGL = 30 y WinS ize = 100) los resultados obtenidos por el método mejoran considerablemente. Lo mismo sucede en la combinación de información para la propuesta de [104], donde los resultados pueden ser igualados fijando los valores de NGL y WinS ize a (5,100), (10,50), (20,20) o (30,20) respectivamente (ver Tabla 5.16). Cuando en esa propuesta se considera información externa de contexto, los resultados pueden ser igualados o incluso mejorados utilizando únicamente información de teclado y de ratón por el método aquí propuesto fijando los parámetros a (20,50), (20,100), (30,50) o (20,100). Por último, considerando el EER, los algoritmos SVM y RF obtienen resultados satisfactorios. Sin embargo, ambos métodos son superados por el método propuesto en igualdad de condiciones.

Bibliografía

  [1]J. Pato y O. C. Center, “Identity management: Setting context,” Hewlett-Packard, Cambridge, MA, 2003.

  [2]B. F. Skinner, Science and human behavior, 92904. Simon y Schuster, 1953.

  [3]M. Sidman, Tactics of scientific research. Basic Books, Incorporated, Pub., 1960.

  [4]A. G. Martín, A. Fernández-Isabel, I. M. de Diego y M. Beltrán, “A survey for user behavior analysis based on machine learning techniques: current models and applications,” Applied Intelligence, pp. 1–27, 2021.

  [5]E. Gurarie, C. Bracis, M. Delgado, T. D. Meckley, I. Kojola y C. M. Wagner, “What is the animal doing? Tools for exploring behavioural structure in animal movements,” Journal of Animal Ecology, vol. 85, n.o 1, pp. 69–84, 2016.

  [6]J. Pacheco y S. Hariri, “Anomaly behavior analysis for IoT sensors,” Transactions on Emerging Telecommunications Technologies, vol. 29, n.o 4, pp. 1–15, 2018.

  [7]M. Pantic, A. Pentland, A. Nijholt y T. S. Huang, “Human computing and machine understanding of human behavior: a survey,” en Artifical Intelligence for Human Computing, Springer, 2007, pp. 47–71.

  [8]J. Navarro, I. M. de Diego, P. C. Pérez y F. Ortega, “Outlier detection in animal multivariate trajectories,” Computers and Electronics in Agriculture, vol. 190, pp. 1–6, 2021.

  [9]M. Xie, S. Han, B. Tian y S. Parvin, “Anomaly detection in wireless sensor networks: A survey,” Journal of Network and Computer Applications, vol. 34, n.o 4, pp. 1302–1325, 2011.

 [10]M. Bohge y W. Trappe, “An authentication framework for hierarchical ad hoc sensor networks,” en Proceedings of the 2nd ACM workshop on Wireless security, ACM, 2003, pp. 79–87.

 [11]R. A. LeVine, Culture, behavior, and personality: An introduction to the comparative study of psychosocial adaptation. Routledge, 2018.

 [12]I. Carter, Human behavior in the social environment: A social systems approach. Routledge, 2017.

 [13]W. Li y C. J. Mitchell, “Analysing the Security of Google’s implementation of OpenID Connect,” en International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment, Springer, 2016, pp. 357–376.

 [14]M. Miculan y C. Urban, “Formal analysis of Facebook Connect single sign-on authentication protocol,” en SOFSEM, Citeseer, vol. 11, 2011, pp. 22–28.

 [15]Financial-grade API (FAPI), https://openid.net/wg/fapi/, Visitado: 2022-0504.

 [16]D. Fett, R. Küsters y G. Schmitz, “The web sso standard openid connect: In-depth formal security analysis and security guidelines,” en 2017 IEEE 30th Computer Security Foundations Symposium (CSF), IEEE, 2017, pp. 189–202.

 [17]J. Navas y M. Beltrán, “Understanding and mitigating OpenID Connect threats,” Computers & Security, vol. 84, pp. 1–16, 2019.

 [18]A. G. Martín y M. Beltrán, “Mejora de la seguridad de esquemas de gestión de identidades federados mediante técnicas de User Behaviour Analytics,” en V Jornadas Nacionales de Investigación en Ciberseguridad (JNIC 2019), UEX, 2019, pp. 159–166.

 [19]D. Recordon y D. Reed, “OpenID 2.0: a platform for user-centric identity management,” en Proceedings of the second ACM workshop on Digital identity management, 2006, pp. 11–16.

 [20]D. Hardt et al., The OAuth 2.0 authorization framework, 2012.

 [21]N. Sakimura, J. Bradley, M. Jones, B. De Medeiros y C. Mortimore, “Openid connect core 1.0,” The OpenID Foundation, pp. 1–85, 2014.

 [22]E. Bertino y K. Takahashi, Identity management: Concepts, technologies, and systems. Artech House, 2010.

 [23]D. Gollmann, “Computer security,” Wiley Interdisciplinary Reviews: Computational Statistics, vol. 2, n.o 5, pp. 544–554, 2010.

 [24]S. Samonas y D. Coss, “The CIA strikes back: Redefining confidentiality, integrity and availability in security.,” Journal of Information System Security, vol. 10, n.o 3, 2014.

 [25]A. Ometov, S. Bezzateev, N. Makitalo, S. Andreev, T. Mikkonen e Y. Koucheryavy, “Multi-factor authentication: A survey,” Cryptography, vol. 2, n.° 1, pp. 1–31, 2018.

 [26]S. Ayeswarya y J. Norman, “A survey on different continuous authentication systems,” International Journal of Biometrics, vol. 11, n.o 1, pp. 67–99, 2019.

 [27]G. Saunders, M. Hitchens y V. Varadharajan, “An analysis of access control models,” en Australasian Conference on Information Security and Privacy, Springer, 1999, pp. 281–293.

 [28]S. Smalley, C. Vance y W. Salamon, “Implementing SELinux as a Linux security module,” NAI Labs Report, vol. 1, n.o 43, pp. 1–58, 2001.

 [29]M. Laurent y S. Bouzefrane, Digital identity management. Elsevier, 2015.

 [30]K. Zeilenga et al., “Lightweight directory access protocol (ldap): Technical specification road map,” RFC 4510, June, inf. téc., 2006.

 [31]S. P. Miller, B. C. Neuman, J. I. Schiller y J. H. Saltzer, “Kerberos authentication and authorization system,” en In Project Athena Technical Plan, Citeseer, 1988.

 [32]C. Rigney, S. Willens, A. Rubens y W. Simpson, Remote authentication dial in user service (RADIUS), 2000.

 [33]E. Maler y D. Reed, “The venn of identity: Options and issues in federated identity management,” IEEE security & privacy, vol. 6, n.o 2, pp. 16–23, 2008.

 [34]A. Anderson y H. Lockhart, “SAML 2.0 profile of XACML,” OASIS, September, vol. 51, n.o 1.4, 2004.

 [35]E. Hammer-Lahav, D. Recordon y D. Hardt, “The oauth 1.0 protocol,” RFC 5849, April, inf. téc., 2010.

 [36]C. Mainka, V. Mladenov, J. Schwenk y T. Wich, “SoK: single sign-on security—an evaluation of openID connect,” en 2017 IEEE European Symposium on Security and Privacy (EuroS&P), IEEE, 2017, pp. 251–266.

 [37]F. Yang y S. Manoharan, “A security analysis of the OAuth protocol,” en 2013 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing (PA-CRIM), IEEE, 2013, pp. 271–276.

 [38]E. Y. Chen, Y. Pei, S. Chen, Y. Tian, R. Kotcher y P. Tague, “Oauth demystified for mobile application developers,” en Proceedings of the 2014 ACM SIGSAC conference on computer and communications security, 2014, pp. 892–903.

 [39]P. Hu, R. Yang, Y. Li y W. C. Lau, “Application impersonation: problems of OAuth and API design in online social networks,” en Proceedings of the second ACM conference on Online social networks, 2014, pp. 271–278.

 [40]R. Yang, G. Li, W. C. Lau, K. Zhang y P. Hu, “Model-based security testing: An empirical study on oauth 2.0 implementations,” en Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security, 2016, pp. 651–662.

 [41]J. Singh y N. K. Chaudhary, “OAuth 2.0: Architectural design augmentation for mitigation of common security vulnerabilities,” Journal of Information Security and Applications, vol. 65, pp. 1–11, 2022.

 [42]S. G. Morkonda, S. Chiasson y P. C. van Oorschot, “Empirical Analysis and Privacy Implications in OAuth-based Single Sign-On Systems,” en Proceedings of the 20th Workshop on Workshop on Privacy in the Electronic Society, 2021, pp. 195–208.

 [43]H. Halpin, “NEXTLEAP: Decentralizing identity with privacy for secure messaging,” en Proceedings of the 12th International Conference on Availability, Reliability and Security, 2017, pp. 1–10.

 [44]R. Weingärtner y C. M. Westphall, “A design towards personally identifiable information control and awareness in OpenID Connect identity providers,” en 2017 IEEE International Conference on Computer and Information Technology (CIT), IEEE, 2017, pp. 37–46.

 [45]J. Werner y C. M. Westphall, “A model for identity management with privacy in the cloud,” en 2016 IEEE Symposium on Computers and Communication (ISCC), IEEE, 2016, pp. 463–468.

 [46]C. Villarán y M. Beltrán, “Protecting End User’s Privacy When using Social Login through GDPR Compliance,” 2021.

 [47]G. Zachmann, “Mytoken-OpenID Connect Tokens for Long-term Authorization,” Tesis doct., Karlsruher Institut für Technologie (KIT), 2021.

 [48]A. Sharif, R. Carbone, G. Sciarretta y S. Ranise, “Best current practices for OAuth/OIDC Native Apps: A study of their adoption in popular providers and top-ranked Android clients,” Journal of Information Security and Applications, vol. 65, pp. 1–18, 2022.

 [49]Z. Cao, C. Chi, R. Hao e Y. Xiao, “User behavior modeling and traffic analysis of IMS presence servers,” en IEEE GLOBECOM 2008-2008 IEEE Global Telecommunications Conference, IEEE, 2008, pp. 1–5.

 [50]X. Kong, M. Li, T. Tang, K. Tian, L. Moreira-Matias y F. Xia, “Shared subway shuttle bus route planning based on transport data analytics,” IEEE Transactions on Automation Science and Engineering, vol. 15, n.o 4, pp. 1507–1520, 2018.

 [51]N. Ding, Q. He, C. Wu y J. Fetzer, “Modeling traffic control agency decision behavior for multimodal manual signal control under event occurrences,” IEEE Transactions on Intelligent Transportation Systems, vol. 16, n.o 5, pp. 2467–2478, 2015.

 [52]R. Faria, J. Sousa, A. Martins y J. Lagarto, “Modeling the strategic behavior of the iberian electricity market producers using time series analysis,” en 2013 10th International Conference on the European Energy Market (EEM), IEEE, 2013, pp. 1–5.

 [53]Y. Wang, Q. Chen, C. Kang y Q. Xia, “Clustering of electricity consumption behavior dynamics toward big data applications,” IEEE transactions on smart grid, vol. 7, n.o 5, pp. 2437–2447, 2016.

 [54]H. Alemdar, C. Tunca y C. Ersoy, “Daily life behaviour monitoring for health assessment using machine learning: bridging the gap between domains,” Personal and Ubiquitous Computing, vol. 19, n.o 2, pp. 303–315, 2015.

 [55]M. Manca, P. Parvin, F. Paterno y C. Santoro, “Detecting anomalous elderly behaviour in ambient assisted living,” en Proceedings of the ACM SIGCHI Symposium on Engineering Interactive Computing Systems, 2017, pp. 63–68.

 [56]A. Lotfi, C. Langensiepen, S. M. Mahmoud y M. J. Akhlaghinia, “Smart homes for the elderly dementia sufferers: identification and prediction of abnormal behaviour,” Journal of ambient intelligence and humanized computing, vol. 3, n.o 3, pp. 205–218, 2012.

 [57]N. Arbabzadeh y M. Jafari, “A data-driven approach for driving safety risk prediction using driver behavior and roadway information data,” IEEE transactions on intelligent transportation systems, vol. 19, n.o 2, pp. 446–460, 2017.

 [58]W. Zhang y Q. Fan, “Identification of abnormal driving state based on driver’s model,” en ICCAS 2010, IEEE, 2010, pp. 14–18.

 [59]A. K. Sahu y P. Dwivedi, “User profile as a bridge in cross-domain recommender systems for sparsity reduction,” Applied Intelligence, vol. 49, n.o 7, pp. 2461–2481, 2019.

 [60]T. Bai, W. X. Zhao, Y. He, J.-Y. Nie y J.-R. Wen, “Characterizing and predicting early reviewers for effective product marketing on e-commerce websites,” IEEE Transactions on Knowledge and Data Engineering, vol. 30, n.o 12, pp. 2271–2284, 2018.

 [61]M. Frank, R. Biedert, E. Ma, I. Martinovic y D. Song, “Touchalytics: On the applicability of touchscreen input as a behavioral biometric for continuous authentication,” IEEE transactions on information forensics and security, vol. 8, n.o 1, pp. 136–148, 2013.

 [62]C. Shen, Y. Li, Y. Chen, X. Guan y R. A. Maxion, “Performance analysis of multimotion sensor behavior for active smartphone authentication,” IEEE Transactions on Information Forensics and Security, vol. 13, n.o 1, pp. 48–62, 2017.

 [63]I. Firdausi, A. Erwin, A. S. Nugroho et al., “Analysis of machine learning techniques used in behavior-based malware detection,” en 2010 second international conference on advances in computing, control, and telecommunication technologies, IEEE, 2010, pp. 201–203.

 [64]F. Pérez-Bueno, L. García, G. Maciá-Fernández y R. Molina, “Leveraging a Probabilistic PCA Model to Understand the Multivariate Statistical Network Monitoring Framework for Network Security Anomaly Detection,” IEEE/ACM Transactions on Networking, 2022.

 [65]P. Ravisankar, V. Ravi, G. R. Rao e I. Bose, “Detection of financial statement fraud and feature selection using data mining techniques,” Decision support systems, vol. 50, n.o 2, pp. 491–500, 2011.

 [66]U. Mahbub y R. Chellappa, “PATH: person authentication using trace histories,” en Ubiquitous Computing, Electronics & Mobile Communication Conference (UEMCON), IEEE Annual, IEEE, 2016, pp. 1–8.

 [67]C. Giuffrida, K. Majdanik, M. Conti y H. Bos, “I sensed it was you: authenticating mobile users with sensor-enhanced keystroke dynamics,” en International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment, Springer, 2014, pp. 92–111.

 [68]Y. Li, H. Hu y G. Zhou, “Using data augmentation in continuous authentication on smartphones,” IEEE Internet of Things Journal, vol. 6, n.o 1, pp. 628–640, 2018.

 [69]H. T. Nguyen, C. L. Walker y E. A. Walker, A first course in fuzzy logic. CRC press, 2018.

 [70]I. Brosso, A. La Neve, G. Bressan y W. V. Ruggiero, “A continuous authentication system based on user behavior analysis,” en Availability, Reliability, and Security, 2010. ARES’10 International Conference on, IEEE, 2010, pp. 380–385.

 [71]Y. Cai, H. Jiang, D. Chen y M.-C. Huang, “Online learning classifier based behavioral biometrie authentication,” en 2018 IEEE 15th International Conference on Wearable and Implantable Body Sensor Networks (BSN), IEEE, 2018, pp. 62–65.

 [72]L. Hernández-Álvarez, J. M. De Fuentes, L. González-Manzano y L. H. Encinas, “SmartCAMPP-Smartphone-based continuous authentication leveraging motion sensors with privacy preservation,” Pattern Recognition Letters, vol. 147, pp. 189–196, 2021.

 [73]J. M. de Fuentes, L. Gonzalez-Manzano y A. Ribagorda, “Secure and Usable User-in-a-Context Continuous Authentication in Smartphones Leveraging Non-Assisted Sensors,” Sensors, vol. 18, n.o 4, p. 1219, 2018.

 [74]C. Liu y J. He, “Access control to web pages based on user browsing behavior,” en Communication Software and Networks (ICCSN), 2017 IEEE 9th International Conference on, IEEE, 2017, pp. 1016–1020.

 [75]H. Gomi, S. Yamaguchi, K. Tsubouchi y N. Sasaya, “Continuous Authentication System Using Online Activities,” en 2018 17th IEEE International Conference On Trust, Security And Privacy In Computing And Communications/12th IEEE International Conference On Big Data Science And Engineering (TrustCom/BigDataSE), IEEE, 2018, pp. 522–532.

 [76]P. Zhao, C. Yan y C. Jiang, “Authenticating Web User’s Identity through Browsing Sequences Modeling,” en Data Mining Workshops (ICDMW), 2016 IEEE 16th International Conference on, IEEE, 2016, pp. 335–342.

 [77]I. Molloy, L. Dickens, C. Morisset, P.-C. Cheng, J. Lobo y A. Russo, “Risk-based security decisions under uncertainty,” en Proceedings of the second ACM conference on Data and Application Security and Privacy, ACM, 2012, pp. 157–168.

 [78]Z. Lu e Y. Sagduyu, “Risk assessment based access control with text and behavior analysis for document management,” en Military Communications Conference, MILCOM 2016-2016 IEEE, IEEE, 2016, pp. 37–42.

 [79]B. Rožac, R. Sernec, A. Košir y A. Kos, “User behavior analysis based on Identity management systems’ log data,” Machine learning, vol. 143, pp. 1–5, 2012.

 [80]M. Misbahuddin, B. Bindhumadhava y B. Dheeptha, “Design of a risk based authentication system using machine learning techniques,” en 2017 IEEE SmartWorld, Ubiquitous Intelligence & Computing, Advanced & Trusted Computed, Scalable Computing & Communications, Cloud & Big Data Computing, Internet of People and Smart City Innovation, IEEE, 2017, pp. 1–6.

 [81]R. S. Gaines, W. Lisowski, S. J. Press y N. Shapiro, “Authentication by keystroke timing: Some preliminary results,” Rand Corp Santa Monica CA, inf. téc., 1980.

 [82]S. Bleha, C. Slivinsky y B. Hussien, “Computer-access security systems using keystroke dynamics,” IEEE Transactions on pattern analysis and machine intelligence, vol. 12, n.o 12, pp. 1217–1222, 1990.

 [83]S. Cho, C. Han, D. H. Han y H.-I. Kim, “Web-based keystroke dynamics identity verification using neural network,” Journal of organizational computing and electronic commerce, vol. 10, n.o 4, pp. 295–307, 2000.

 [84]F. Monrose y A. Rubin, “Authentication via keystroke dynamics,” en Proceedings of the 4th ACM Conference on Computer and Communications Security, 1997, pp. 48–56.

 [85]K. S. Killourhy y R. A. Maxion, “Comparing anomaly-detection algorithms for keystroke dynamics,” en 2009 IEEEIIFIP International Conference on Dependable Systems & Networks, IEEE, 2009, pp. 125–134.

 [86]A. Alsultan, K. Warwick y H. Wei, “Non-conventional keystroke dynamics for user authentication,” Pattern Recognition Letters, vol. 89, pp. 53–59, 2017.

 [87]J. Kim, H. Kim y P. Kang, “Keystroke dynamics-based user authentication using freely typed text based on user-adaptive feature extraction and novelty detection,” Applied Soft Computing, vol. 62, pp. 1077–1087, 2018.

 [88]K. S. Balagani, V. V. Phoha, A. Ray y S. Phoha, “On the discriminability of keystroke feature vectors used in fixed text keystroke authentication,” Pattern Recognition Letters, vol. 32, n.o 7, pp. 1070–1080, 2011.

 [89]O. Alpar, “Frequency spectrograms for biometric keystroke authentication using neural network based classifier,” Knowledge-Based Systems, vol. 116, pp. 163–171, 2017.

 [90]L. Xiaofeng, Z. Shengfei e Y. Shengwei, “Continuous authentication by free-text keystroke based on CNN plus RNN,” Procedia computer science, vol. 147, pp. 314–318, 2019.

 [91]Y. Sun, H. Ceker y S. Upadhyaya, “Shared keystroke dataset for continuous authentication,” en 2016 IEEE International Workshop on Information Forensics and Security (WIFS), IEEE, 2016, pp. 1–6.

 [92]J. Huang, D. Hou, S. Schuckers, T. Law y A. Sherwin, “Benchmarking keystroke authentication algorithms,” en 2017 IEEE Workshop on Information Forensics and Security (WIFS), IEEE, 2017, pp. 1–6.

 [93]B. Ayotte, M. Banavar, D. Hou y S. Schuckers, “Fast Free-text Authentication via Instance-based Keystroke Dynamics,” IEEE Transactions on Biometrics, Behavior, and Identity Science, vol. 2, n.o 4, pp. 377–387, 2020.

 [94]R. A. Everitt y P. W. McOwan, “Java-based internet biometric authentication system,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 25, n.o 9, pp. 1166–1172, 2003.

 [95]A. A. E. Ahmed e I. Traore, “A new biometric technology based on mouse dynamics,” IEEE Transactions on dependable and secure computing, vol. 4, n.o 3, pp. 165–179, 2007.

 [96]P. Chong, Y. Elovici y A. Binder, “User authentication based on mouse dynamics using deep neural networks: A comprehensive study,” IEEE Transactions on Information Forensics and Security, vol. 15, pp. 1086–1101, 2019.

 [97]C. Shen, Z. Cai, X. Guan, Y. Du y R. A. Maxion, “User authentication through mouse dynamics,” IEEE Transactions on Information Forensics and Security, vol. 8, n.o 1, pp. 16–30, 2012.

 [98]D. Qin, S. Fu, G. Amariucai, D. Qiao e Y. Guan, “MAUSPAD: Mouse-based Authentication Using Segmentation-based, Progress-Adjusted DTW,” en 2020 IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications (TrustCom), IEEE, 2020, pp. 425–433.

 [99]T. Hu, W. Niu, X. Zhang, X. Liu, J. Lu e Y. Liu, “An insider threat detection approach based on mouse dynamics and deep learning,” Security and Communication Networks, vol. 2019, 2019.

[100]A. Ross y A. Jain, “Information fusion in biometrics,” Pattern recognition letters, vol. 24, n.o 13, pp. 2115–2125, 2003.

[101]S. Mondal y P. Bours, “A study on continuous authentication using a combination of keystroke and mouse biometrics,” Neurocomputing, vol. 230, pp. 1–22, 2017.

[102]L. Fridman et al., “Multi-modal decision fusion for continuous authentication,” Computers & Electrical Engineering, vol. 41, pp. 142–156, 2015.

[103]S. Salmeron-Majadas, R. S. Baker, O. C. Santos y J. G. Boticario, “A machine learning approach to leverage individual keyboard and mouse interaction behavior from multiple users in real-world learning scenarios,” IEEE Access, vol. 6, pp. 39 154–39 179, 2018.

[104]J. Solano, L. Camacho, A. Correa, C. Deiro, J. Vargas y M. Ochoa, “Combining behavioral biometrics and session context analytics to enhance risk-based static authentication in web applications,” International Journal of Information Security, vol. 20, n.o 2, pp. 181–197, 2021.

[105]A. Harilal et al., “The Wolf Of SUTD (TWOS): A Dataset of Malicious Insider Threat Behavior Based on a Gamified Competition.,” J. Wirel. Mob. Networks Ubiquitous Comput. Dependable Appl., vol. 9, n.o 1, pp. 54–85, 2018.

[106]X. Wang, Q. Zheng, K. Zheng y T. Wu, “User Authentication Method Based on MKL for Keystroke and Mouse Behavioral Feature Fusion,” Security and Communication Networks, vol. 2020, 2020.

[107]K. O. Bailey, J. S. Okolica y G. L. Peterson, “User identification and authentication using multi-modal behavioral biometrics,” Computers & Security, vol. 43, pp. 77–89, 2014.

[108]Y. Li, B. Zou, S. Deng y G. Zhou, “Using feature fusion strategies in continuous authentication on smartphones,” IEEE Internet Computing, vol. 24, n.o 2, pp. 49–56, 2020.

[109]I. Traore, I. Woungang, M. S. Obaidat, Y. Nakkabi e I. Lai, “Combining mouse and keystroke dynamics biometrics for risk-based authentication in web environments,” en 2012 fourth international conference on digital home, IEEE, 2012, pp. 138–145.

[110]A. G. Martín, M. Beltrán, A. Fernández-Isabel e I. M. de Diego, “An approach to detect user behaviour anomalies within identity federations,” Computers & Security, vol. 1-18, p. 102356, 2021.

[111]L. Hernández-Álvarez, J. M. de Fuentes, L. González-Manzano y L. Hernández Encinas, “Privacy-preserving sensor-based continuous authentication and user profiling: a review,” Sensors, vol. 21, n.o 1, pp. 92–115, 2020.

[112]A. Vastel, P. Laperdrix, W. Rudametkin y R. Rouvoy, “Fp-scanner: The privacy implications of browser fingerprint inconsistencies,” en 27th {USENIX} Security Symposium ({USENIX} Security 18), 2018, pp. 135–150.

[113]M. Beltrán, “Identifying, authenticating and authorizing smart objects and end users to cloud services in Internet of Things,” Computers & Security, vol. 77, pp. 595–611, 2018.

[114]R. Magán-Carrión, J. Camacho, G. Maciá-Fernández y Á. Ruíz-Zafra, “Multivariate Statistical Network Monitoring-Sensor: An effective tool for real-time monitoring and anomaly detection in complex networks and systems,” International Journal of Distributed Sensor Networks, vol. 16, n.o 5, pp. 1–14, 2020.

[115]A. Gómez-Boix, P. Laperdrix y B. Baudry, “Hiding in the crowd: an analysis of the effectiveness of browser fingerprinting at large scale,” en Proceedings of the 2018 world wide web conference, 2018, pp. 309–318.

[116]P. Laperdrix, N. Bielova, B. Baudry y G. Avoine, “Browser fingerprinting: A survey,” ACM Transactions on the Web (TWEB), vol. 14, n.o 2, pp. 1–33, 2020.

[117]M. Abuhamad, A. Abusnaina, D. Nyang y D. Mohaisen, “Sensor-based Continuous Authentication of Smartphones’ Users Using Behavioral Biometrics: A Contemporary Survey,” IEEE Internet of Things Journal, vol. 8, n.o 1, pp. 65–84, 2020.

[118]M. Bhatnagar, R. K. Jain y , “A Survey on Behavioral Biometric Techniques: Mouse vs Keyboard Dynamics,” Int. J. Comput. Appl, vol. 975, pp. 1–5, 2013.

[119]C. Chio y D. Freeman, Machine learning and security: Protecting systems with data and algorithms. O’Reilly Media, Inc.", 2018.

[120]V. Kozitsin, I. Katser y D. Lakontsev, “Online Forecasting and Anomaly Detection Based on the ARIMA Model,” Applied Sciences, vol. 11, n.o 7, pp. 1–13, 2021.

[121]S. Hariri, M. C. Kind y R. J. Brunner, “Extended isolation forest,” IEEE Transactions on Knowledge and Data Engineering, vol. 33, n.o 4, pp. 1479–1489, 2019.

[122]Z. Cheng, C. Zou y J. Dong, “Outlier detection using isolation forest and local outlier factor,” en Proceedings of the conference on research in adaptive and convergent systems, 2019, pp. 161–168.

[123]E. Schubert, J. Sander, M. Ester, H. P. Kriegel y X. Xu, “DBSCAN revisited, revisited: why and how you should (still) use DBSCAN,” ACM Transactions on Database Systems (TODS), vol. 42, n.o 3, pp. 1–21, 2017.

[124]T. Shimshon, R. Moskovitch, L. Rokach e Y. Elovici, “Clustering di-graphs for continuously verifying users according to their typing patterns,” en 2010 IEEE 26-th Convention of Electrical and Electronics Engineers in Israel, IEEE, 2010, pp. 445–449.

[125]B. Tang, Q. Hu y D. Lin, “Reducing false positives of user-to-entity first-access alerts for user behavior analytics,” en 2017 IEEE International Conference on Data Mining Workshops (ICDMW), IEEE, 2017, pp. 804–811.

[126]J. Yan, Y. Qi, Q. Rao y S. Qi, “Towards a user-friendly and secure hand shaking authentication for smartphones,” en 2018 17th IEEE International Conference On Trust, Security And Privacy In Computing And Communications/12th IEEE International Conference On Big Data Science And Engineering (TrustCom/BigDataSE), IEEE, 2018, pp. 1170–1179.

[127]Z. C. Lipton, C. Elkan y B. Narayanaswamy, “Thresholding classifiers to maximize F1 score,” Machine Learning and Knowledge Discovery in Databases, vol. 8725, pp. 225–239, 2014.

[128]S. Eberz, K. B. Rasmussen, V. Lenders e I. Martinovic, “Evaluating behavioral biometrics for continuous authentication: Challenges and metrics,” en Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security, 2017, pp. 386–399.

[129]I. M. De Diego, A. R. Redondo, R. R. Fernández, J. Navarro y J. M. Moguerza, “General Performance Score for classification problems,” Applied Intelligence, 2022.

[130]A. G. Martín, I. M. de Diego, A. Fernández-Isabel, M. Beltrán y R. R. Fernández, “Combining user behavioural information at the feature level to enhance continuous authentication systems,” Knowledge-Based Systems, pp. 1–13, 2022.

[131]Y. Sun, J. Li, J. Liu, B. Sun y C. Chow, “An improvement of symbolic aggregate approximation distance measure for time series,” Neurocomputing, vol. 138, pp. 189–198, 2014.

[132]P. Geurts, D. Ernst y L. Wehenkel, “Extremely randomized trees,” Machine learning, vol. 63, n.o 1, pp. 3–42, 2006.

[133]F. Moosmann, B. Triggs y F. Jurie, “Fast discriminative visual codebooks using randomized clustering forests,” en Twentieth Annual Conference on Neural Information Processing Systems (NIPS’06), MIT Press, 2006, pp. 985–992.

[134]M. G. Baydogan y G. Runger, “Learning a symbolic representation for multivariate time series classification,” Data Mining and Knowledge Discovery, vol. 29, n.o 2, pp. 400–422, 2015.

[135]M. P. Van der Loo et al., “The stringdist package for approximate string matching.,” R J., vol. 6, n.o 1, pp. 1–13, 2014.

[136]H. Li y N. Homer, “A survey of sequence alignment algorithms for next-generation sequencing,” Briefings in bioinformatics, vol. 11, n.o 5, pp. 473–483, 2010.

[137]C. Trapnell y M. C. Schatz, “Optimizing data intensive GPGPU computations for DNA sequence alignment,” Parallel computing, vol. 35, n.o 8-9, pp. 429–440, 2009.

[138]J. Cheetham, F. Dehne, S. Pitre, A. Rau-Chaplin y P. J. Taillon, “Parallel clustal w for pc clusters,” en International Conference on Computational Science and Its Applications, Springer, 2003, pp. 300–309.

[139]X. Huang y K.-M. Chao, “A generalized global alignment algorithm,” Bioinformatics, vol. 19, n.o 2, pp. 228–233, 2003.

[140]H. Abdi, “Metric multidimensional scaling (MDS): analyzing distance matrices,” Encyclopedia of measurement and statistics, pp. 1–13, 2007.

[141]F. Klinker, “Exponential moving average versus moving exponential average,” Mathematische Semesterberichte, vol. 58, n.o 1, pp. 97–107, 2011.

[142]let’s chat, https://sdelements.github.io/lets-chat, Visitado: 2022-05-04.

[143]M. Cantelon, M. Harter, T. Holowaychuk y N. Rajlich, Node. js in Action. Manning Greenwich, 2014.

[144]Mongodb, https://www.mongodb.com/, Visitado: 2022-05-04.

[145]L. A. Leiva y R. Vivó, “Web browsing behavior analysis and interactive hypervideo,” ACM Transactions on the Web (TWEB), vol. 7, n.o 4, pp. 1–28, 2013.

[146]OpenAM, https://backstage.forgerock.com/docs/openam/13.5/, Visitado: 2022-05-04.

[147]Martín, Alejandro G and Beltrán, Marta and Fernández-Isabel, Alberto and de Diego, Isaac Martín, “Keystroke and Mouse Dynamics for UEBA Dataset, Mendeley Data, v2,” 2020.

[148]J. Ho y D.-K. Kang, “One-class Naïve Bayes with duration feature ranking for accurate user authentication using keystroke dynamics,” Applied Intelligence, vol. 48, n.o 6, pp. 1547–1564, 2018.

[149]Y. Zhao, “Learning user keystroke patterns for authentication,” Proceedings of the world academy of science, engineering and technology, vol. 14, pp. 65–70, 2006.

[150]M. Malkauthekar, “Analysis of Euclidean distance and Manhattan distance measure in Face recognition,” en Third International Conference on Computational Intelligence and Information Technology (CIIT 2013), IET, 2013, pp. 503–507.

[151]T. Lodderstedt, S. Dronia y M. Scurtescu, OAuth 2.0 token revocation, 2013.