CAPÍTULO 4. MÉTODO DE COMBINACIÓN DE INFORMACIÓN DE COMPORTAMIENTOS

Hasta el momento se ha presentado un flujo de trabajo que permite incorporar técnicas de análisis de comportamientos dentro de los flujos de autenticación y autorización de los estándares de gestión de identidades federados. Este flujo de trabajo tiene como objetivo utilizar las técnicas de análisis de comportamientos para aumentar los niveles de seguridad proporcionados. Sin embargo, los modelos de análisis de comportamientos de la literatura poseen ciertas limitaciones.

En este capítulo se detalla el método propuesto para mejorar los modelos de análisis de comportamientos actuales. Este método se basa en combinar información de comportamientos a nivel de características. Tal y como se ha visto reflejado en el estado del arte (ver Capítulo 2.2.2), la combinación de información está posicionándose como una técnica novedosa que permite mejorar la eficacia de los mismos. Sin embargo, hoy en día, son pocos los trabajos que combinan la información de comportamiento, y muchos menos los que lo hacen a nivel de características.

El método propuesto se presenta como un conjunto de tareas novedosas que permiten combinar la información de comportamientos a nivel de características y mejorar, por tanto, la eficacia de los sistemas de autenticación basados en el análisis de comportamientos [130]. Ha sido específicamente cíficamente diseñado para combinar información temporal, recogida de fuentes de información heterogéneas. Además, no asume que los datos temporales siguen una distribución específica. Esto es, no asume que los datos temporales se recogen con una frecuencia o patrón específico.

El método se presenta esquematizado en la Figura 4.1. Está compuesto de cuatro tareas principales. La primera tarea se basa en representar la información recopilada de fuentes heterogéneas de datos en el mismo espacio. Para ello, se transforma en secuencias de n-gramas. Esta tarea se describe en la Sección 4.1 y se basa en la implementación de una técnica de Symbolic Aggregate approximation (SAX) multivariante [131] novedosa utilizando Random Trees Embeddings (RTEs) [132], [133]. La siguiente tarea se basa en construir una matriz de distancias comparando los n-gramas extraídos anteriormente utilizando técnicas de alineamiento de secuencias de ADN. Esta tarea se detalla en la Sección 4.2. Posteriormente, se describe el proceso de entrenamiento de un algoritmo de clustering basado en densidades con el objetivo de poder extraer los núcleos de comportamiento que caracterizan a cada usuario utilizando la matriz de distancias. Este proceso se contempla en la Sección 4.3. A continuación, se detalla la implementación de un modelo de riesgos, el cual utiliza los núcleos de comportamiento para categorizar las muestras, en la Sección 4.4. Finalmente, en la Sección 4.5 se detalla cómo se pueden fijar los diferentes parámetros e hiperparámetros que utiliza el modelo con el objetivo de ser reproducible.

Figura 4.1: Método propuesto para combinar información de comportamientos.

4.1. Representación de la información

En primer lugar, se presenta una técnica para transformar datos temporales procedentes de fuentes heterogéneas de datos (p. ej. el teclado y el ratón) en una representación tabular adecuada, que sirve para poder alimentar los modelos tradicionales de aprendizaje máquina. Este enfoque se basa en implementar una técnica novedosa de SAX multivariante [131]. Específicamente, esta técnica se implementa haciendo uso de los RTEs [132], [133].

La técnica de SAX tradicional se define como una técnica para discretizar series temporales y reducir la dimensionalidad de las mismas. Para lograr esto, se hace uso de Piecewise Aggregate Approximation (PAA) para normalizar y dividir las series temporales en secciones con un tamaño equidistante. Posteriormente, se calculan los valores medios de cada sección y se les asigna un nivel de probabilidad de la función gaussiana. Este proceso permite discretizar la serie. Finalmente, a cada uno de estos niveles se les asigna un símbolo concreto, logrando así transformar una serie temporal en una secuencia de símbolos (ver Figura 4.2).

Figura 4.2: Discretización de una serie temporal usando SAX.

Tomando como punto de partida y objetivos los mismos que la técnica de SAX tradicional, se propone extender esta implementación para considerar series temporales multivariantes. Para ello se propone utilizar el algoritmo de RTE, ya que las técnicas basadas en árboles han demostrado ser más eficaces a la hora de representar y agrupar series temporales multivariantes [134].

El algoritmo de RTE se basa en generar una secuencia de árboles aleatorios de decisión, de tal manera que al clasificar una muestra se genera un vector con los valores de los nodos hojas que le han sido asignados. La longitud de esta secuencia de árboles viene definida por el parámetro Número de árboles, mientras que también se tiene que definir la profundidad de cada uno de estos árboles con el parámetro Máxima profundidad. Dicho de otra forma, los RTEs se basan en obtener un vector que indica, para cada árbol generado, el número de hoja a la que una muestra concreta pertenece. Esto es, la posición n del vector embedding resultante, indica el número de hoja (ordenando los árboles y, por consiguiente, las hojas de izquierda a derecha) donde la observación ha sido clasificada en el árbol de decisión n. Alternativamente, este vector embedding se suele representar de forma binaria, utilizando un vector cuya longitud es el número de hojas en el RTE y cuyo valor es 1 en caso de que la muestra haya caído en dicha hoja y 0 para el caso contrario.

Los embeddings obtenidos de los RTEs se mapean entonces a símbolos con el objetivo de habilitar la comparación entre ellos y poder procesarlos. El número de símbolos necesarios para poder mapear todos los embeddings crece de forma exponencial a medida que aumenta el Número de árboles y el número de hojas (en función del parámetro Máxima profundidad) del RTE. A pesar de esto, la mayoría de los símbolos aparecerán en muy rara ocasión, es decir, si el número de árboles generados y hojas es extremadamente alto, la mayoría de las muestras caerán en hojas distintas y, por consiguiente, se les asignara un símbolo diferente. Esta limitación se soluciona asignando los símbolos a una tabla de frecuencias de aparición. De esta manera, a las muestras mayoritarias que compartan las mismas hojas se les asigna un símbolo representativo, mientras que las muestras minoritarias se les asigna un símbolo arbitrario (algo parecido en el SAX tradicional al utilizar la función gaussiana). Por ejemplo, el embedding con más ocurrencias se le asigna el carácter A, al siguiente el carácter B, y así sucesivamente. De este modo, si dos muestras caen en las mismas hojas, son asignadas con el mismo símbolo. Cuando todos los símbolos son utilizados, los embeddings que quedan y que agrupan a las muestras menos representadas en el conjunto de datos se les asigna un símbolo arbitrario.

El proceso explicado anteriormente se ejecuta para cada fuente de información disponible. Esto es, cada fuente de información posee su propio RTE y su único conjunto de símbolos. En este caso, la información extraída del teclado se representa utilizando símbolos de letras mayúsculas, mientras que para la información extraída del ratón se va a representar utilizando símbolos de letras minúsculas. Una vez que cada muestra de cada fuente de información se ha convertido a un símbolo, se utiliza la información temporal para poder ordenarlos. De este modo, estos símbolos se agrupan formando una secuencia ordenada que representa el comportamiento de un usuario específico para ambas fuentes de información. Finalmente, estas secuencias se dividen en n-gramas definidos por el parámetro N-Gram Length (NGL). Estos n-gramas representan el comportamiento de un usuario durante un tiempo limitado de interacciones. Por ejemplo, el n-grama AbB, cuyo NGL viene definido por el valor 3, podría representar una pulsación lenta de teclado, seguido por un movimiento rápido de ratón y finalmente una pulsación rápida de teclado. Cuanto mayor sea el conjunto de símbolos, mayor precisión se obtendrá a la hora de representar el comportamiento de un usuario, sin embargo, si el número de símbolos es muy elevado, se obtiene un sobreajuste, pues cada símbolo representará una interacción muy específica y, por lo tanto, cada n-grama será diferente al resto de n-gramas haciendo así que la comparación entre ellos sea ineficaz. El proceso de combinación de la información de fuentes de datos heterogéneas se puede ver ilustrado en la Figura 4.3. Este proceso logra transformar la información de comportamientos recogida de fuentes de datos heterogéneas en el mismo espacio de representación (símbolos). De este modo, la representación de la información elegida permite combinar información a nivel de características.

Figura 4.3: Proceso de SAX multivariante utilizando RTEs para multiples fuentes de información.

4.2. Generación de la matriz de distancias

Una vez obtenida la representación de la información en n-gramas, la siguiente tarea es establecer un método para poder comparar estas secuencias entre sí. Existen multitud de métricas de distancias entre secuencias de símbolos en la literatura, siendo algunos ejemplos de las más conocidas, la distancia de Hamming, la distancia de Levenshtein, la distancia coseno y el coeficiente de Jaccard [135]. En el método propuesto, la distancia entre dos n-gramas se calcula utilizando técnicas de alineamiento de secuencias de ADN [136].

En el ámbito de la bioinformática, las secuencias de ADN se representan como secuencias de símbolos. Analizar la similitud o disimilitud entre las diferentes regiones del ADN permite detectar, entre otras cosas, multitud de enfermedades o variaciones genéticas que pueden ser de interés para su análisis. Las técnicas de alineamiento de secuencias de ADN se posicionan como el método más utilizado para extraer patrones y comparar dichas secuencias [137]. Es por esta razón, por la que se ha decidido incorporar este tipo de técnicas en el método propuesto.

A nivel general, existen dos técnicas de alineamiento de ADN [138]: la global y la local (ver Figura 4.4).

Figura 4.4: Alineamiento global y local de secuencias de ADN.

El algoritmo de alineamiento global se basa en encontrar la mejor sincronía entre dos secuencias haciendo coincidir todos los caracteres de ambas secuencias. Es adecuado cuando las dos secuencias a comparar tienen una longitud igual o similar y se espera que compartan similitudes a lo largo de toda la secuencia. Por otro lado, el algoritmo de alineamiento local se basa en la obtención de la subcadena de la primera secuencia que más se acerca a otra subcadena de la segunda secuencia. Es adecuado para comparar secuencias de diferentes longitudes y secuencias menos similares o relacionadas.

Cualquiera de estos algoritmos devuelve dos valores. En primer lugar, el alineamiento como tal, es decir, la cadena o subcadena de mayor coincidencia entre dos secuencias. En el caso de la presente investigación, este alineamiento puede ser utilizado para tratar de explicar los diferentes patrones de comportamiento que caracterizan a cada uno de los usuarios. El segundo resultado, es el valor de similitud entre ambas secuencias. Para obtener este resultado, normalmente se debe fijar el valor por el que se va a ponderar obtener una coincidencia, obtener un error y la penalización por extender el error a lo largo de una ventana. Cabe destacar que, la ponderación de coincidencia debe ser positiva para aumentar la puntuación de similitud final, mientras que las puntuaciones de error y ventana de error deben ser negativas para disminuir la similitud final entre las secuencias.

Atendiendo a lo expuesto con anterioridad, en el método propuesto se utiliza la técnica de alineamiento global [139]. De este modo, todos los n-gramas obtenidos para cada usuario se comparan en pares entre sí. El alineamiento devuelve el valor de similitud entre ambos n-gramas, considerando la longitud total de la secuencia objetivo, y los valores fijados para los parámetros de coincidencia, error y ventana de error. Posteriormente, este valor de similitud se transforma a un valor de distancia. Para ello, en primer lugar, se normaliza en el rango [0,1], siendo 1 el valor máximo de similitud (es decir, un n-grama consigo mismo) y 0 el mínimo. A continuación, para obtener el valor de distancias se aplica uno menos el valor de similitud normalizado. De esta forma, el valor obtenido está también en el rango [0,1], siendo 0 el valor de mínima distancia (un n-grama consigo mismo) y 1 el valor de máxima distancia entre n-gramas. Cabe destacar que, no pueden existir valores de distancia negativos. Estos valores de distancias se apilan en una una matriz simétrica de tamaño NxN, donde N es el número de n-gramas para un usuario específico.

El resultado de este proceso es, por tanto, una matriz de distancias que representa la disimilitud entre los comportamientos generados por un mismo usuario. Por tanto, cada usuario obtendrá una matriz de distancias específica e independiente.

4.3. Extracción de los núcleos de comportamiento

La siguiente tarea se corresponde con utilizar la matriz de distancias, obtenida para cada usuario, para calcular los núcleos de comportamiento de los mismos. Identificar y definir correctamente estos núcleos de comportamiento es una de las tareas más críticas para poder generar un modelo de análisis de comportamiento preciso, pues es la fuente de conocimiento que se utilizará para comparar las nuevas muestras y, por lo tanto, la base que utiliza el modelo para detectar comportamientos anómalos que puedan suponer una brecha de seguridad. La mayoría de los sistemas de control de accesos del estado del arte utilizan toda la información disponible de los comportamientos para cada usuario. Sin embargo, en el propio comportamiento de los usuarios pueden existir valores atípicos que pueden afectar negativamente al rendimiento y precisión del clasificador. Además, utilizar todos los datos en lugar de un subconjunto de los mismos puede generar latencias añadidas, tanto a la hora de entrenar el clasificador, como a la hora de predecir y evaluar nuevas muestras. Esto se debe a que cada secuencia (n-grama) se debe comparar contra un número mayor de información. De este modo, lo ideal sería obtener núcleos de comportamiento tan pequeños como sea posible, siempre y cuando estos núcleos representen correctamente el comportamiento del usuario de tal manera que el clasificador pueda generalizar correctamente.

En la presente propuesta, se utiliza el algoritmo de clustering basado en densidades llamado DBSCAN [123] para obtener los núcleos de comportamiento. La idea bajo este algoritmo es dividir el espacio de decisión en áreas de densidad. Para entrenar el DBSCAN, hay que fijar dos hiperparámetros. En primer lugar, la distancia máxima entre dos muestras que se consideran vecinas. Este hiperparámetro se denomina EPS y es el parámetro más crítico. En segundo lugar, el número mínimo de puntos que debe tener una vecindad para ser considerada como un cluster. Este hiperparámetro se denomina MINS. Todos los vecinos dentro del radio EPS de un punto central se consideran parte del mismo cluster. Si alguno de estos vecinos es de nuevo un punto central, sus vecinos se incluyen de nuevo para su análisis. Los puntos no centrales de este conjunto se denominan puntos fronterizos. Los puntos que no son alcanzables desde ningún punto central se consideran ruido y no pertenecen a ningún cluster. DBSCAN no necesita información sobre el número de clusters deseados a priori para su entrenamiento. Esto es coherente con el hecho de que, es imposible saber cuántos núcleos de comportamiento (clusters) se obtendrán para un usuario específico.

El funcionamiento de DBSCAN se puede ver ilustrado en la Figura 4.5. En este ejemplo, el parámetro MIN es 4 y el radio EPS está representado por los círculos. A es un punto central. Los puntos B y C son puntos fronterizos. Las flechas indican la densidad. Los puntos B y C están conectados pues son alcanzables desde A tanto de forma directa, como por medio de otro punto central. R es un punto de ruido puesto que no es alcanzable desde A.

Figura 4.5: Ejemplo del funcionamiento del algoritmo de DBSCAN.

De este modo, la matriz de distancias (que solo contiene comportamiento generado por el propio usuario) alimenta el algoritmo DBSCAN. Así, las regiones de alta densidad obtenidas representan los núcleos de comportamiento, mientras que las regiones de baja densidad representan comportamientos atípicos del usuario. Estos comportamientos atípicos se descartan para que las muestras que se van a evaluar no puedan ser comparadas con ellos.

En la Figura 4.6, se puede observar un ejemplo, para un usuario específico, de los núcleos extraídos (puntos azules) y de los comportamientos atípicos (puntos rojos). Estos puntos se han representado utilizando las dos primeras componentes principales calculadas utilizando el algoritmo de escalado multidimensional [140] (solo la información más representativa está siendo visualizada en la figura). Como se puede observar, a medida que los puntos se alejan del núcleo principal (mostrado en la parte inferior de la figura), la distribución se va convirtiendo en más heterogénea, es decir, contiene un mayor número de comportamientos atípicos. Esto corrobora que DBSCAN está descartando correctamente los comportamientos que se desvían de la distribución de comportamientos esperada para este usuario concreto.

Figura 4.6: Representación de los núcleos de comportamiento de un usuario específico utilizando escalado multidimensional.

4.4. Modelo de riesgos

En esta sección, se va a explicar detalladamente la elaboración de un modelo de riesgos. Este modelo tiene el objetivo de clasificar las muestras en función de su similitud con los núcleos de comportamiento obtenidos previamente. Esto permite categorizar estas nuevas muestras en genuinas, o por el contrario detectar si son anomalías y por lo tanto pertenecen a un impostor.

En primer lugar, toda nueva muestra se procesa siguiendo los pasos explicados en las secciones anteriores. De este modo, se obtienen los n-gramas que representan el comportamiento de dichas muestras. Estos n-gramas se comparan utilizando las técnicas de alineamiento de ADN con todos los n-gramas de los núcleos de comportamiento. El resultado de esta operación es un vector de distancias para cada nueva muestra, cuya longitud es el número de puntos de los núcleos de comportamiento. Este vector, por lo tanto, determina la distancia entre esta nueva muestra y el conocimiento extraído previamente para un usuario concreto.

La premisa de partida es que un mismo usuario va a generar, por norma general, vectores de distancias con valores pequeños (semejanzas altas), mientras que las dinámicas de comportamiento generadas por un usuario impostor resultarán en vectores de distancias con valores altos (poco semejantes con los núcleos de comportamiento).

El riesgo asociado a esta nueva dinámica de comportamiento se puede calcular como la media de los valores del vector de distancias. De este modo, un valor bajo de riesgo determina que la nueva dinámica (en forma de n-grama) se encuentra cerca de los núcleos de comportamiento y, por lo tanto, es altamente probable que pertenezca al mismo usuario objetivo. Por el contrario, un valor alto de riesgo representa que esta nueva dinámica se encuentra lejos de los núcleos de comportamiento y por lo tanto es probable que no pertenezca al usuario objetivo, sino que sea de un usuario impostor. Este proceso permite comparar cada nueva dinámica de comportamiento de forma individual. Sin embargo, en un entorno real se generan multitud de dinámicas de comportamiento y además lo hacen de forma secuencial. De este modo, estos valores de riesgo se ordenan a lo largo del tiempo, generando así, un buffer de riesgo (ver Figura 4.7a). Tal y como se puede observar, los valores de riesgo obtenidos son muy dispares, es decir, son muy cambiantes a lo largo del tiempo. Esto se debe a que cada dinámica de comportamiento, de forma independiente, puede ser muy parecida o distinta a los núcleos de comportamiento calculados. Este resultado se traduce en que el sistema final obtiene multitud de falsos positivos y falsos negativos.

Figura 4.7: Valores del buffer de riesgo para un usuario concreto.

Tomando como base la premisa de partida, se procede a suavizar el buffer de riesgo obtenido. Para ello se aplica la Media Móvil Exponencial (MME), con el objetivo de reducir los altos cambios que se producen en los valores de riesgos, de la siguiente manera:

MMEt=Y1'     si t=1αY1+(1α)·MMEt1'     si t>1

donde MMEt es la media móvil exponencial en el instante t, Yt es el valor de riesgo en un instante t y a es el coeficiente de suavizado en el rango [0,1]. Un valor de a pequeño pondera más alto las observaciones más antiguas, mientras que un valor alto repercute en un modelo más olvidadizo que pondera más las observaciones últimas y cercanas al instante t.

El coeficiente a se suele calcular en función del número de observaciones pasadas a tener en cuenta [141]. En este caso, se calcula de acorde al parámetro WinS ize como sigue:

α=2/( WinSize +1)

donde WinS ize es el número de observaciones a tener en cuenta de la secuencia de riesgos. Una vez se ha aplicado la MME, los valores pasan de ser muy cambiantes de lo largo del tiempo, a ser mucho más estables (ver Figura 4.7b). Esto se debe a que, en esta ocasión, no es un único valor el que determina el riesgo asociado para un instante, sino el conjunto de WinS ize observaciones el que lo hace, es decir, el histórico de los valores de riesgo. Es por esto que para establecer un nivel óptimo del parámetro WinS ize debe existir un equilibrio entre un mejor desempeño a la hora de realizar predicciones y la usabilidad del método en un entorno real. Un valor alto del parámetro WinS ize, considera más información y por lo tanto suaviza mejor la curva obteniendo así más exactitud al categorizar las dinámicas de comportamiento. Sin embargo un valor bajo del parámetro WinS ize genera un modelo de riesgos más usable, pues al considerar menos información se necesitan menos recursos computacionales para su funcionamiento y también se pueden empezar a realizar predicciones en un intervalo menor de tiempo.

Una vez calculado el buffer de riesgo, la siguiente tarea es determinar que comportamientos se consideran normales y cuales se consideran anómalos. Esto permite categorizar las observaciones en genuinas (pertenecen al mismo usuario objetivo) y en impostores (pertenecen a un usuario impostor). Para lograr esto se tiene que establecer una frontera de decisión en la curva de riesgo. Para ello se determina un umbral de tal manera que los valores de riesgo por debajo del umbral se consideran genuinos, y los valores por encima del umbral se consideran impostores (ver Figura 4.8).

Figura 4.8: Tipos de umbrales aplicados sobre el buffer de riesgo utilizando MME.

La forma de determinar el umbral de forma óptima se fijándolo al valor que produce el menor EER. Tal y como se ha explicado en la Sección 3.3.4, este valor se calcula como la intersección entre la función de FAR y la función de FRR. A modo recordatorio, FAR se define como la probabilidad de que un usuario no autorizado (impostor) sea aceptado por el modelo. Por otro lado, FRR se define como la probabilidad de un usuario autorizado (genuino) sea rechazado injustamente por el modelo (sea considerado impostor). Tanto FAR como FRR son funciones, pues se pueden obtener múltiples valores para ellos dependiendo del umbral seleccionado. Fijar un valor extremo del umbral resulta en obtener un modelo restrictivo (menor FAR pero mayor FRR) o un modelo permisivo (menor FRR pero mayor FAR), pero nunca ambos valores menores simultáneamente. De esto modo, el EER se considera como el punto óptimo para fijar el umbral, pues es el valor que consigue obtener el mínimo valor para FAR y FRR simultáneamente.

Por último, cabe destacar que cuando se generan los n-gramas, la secuencia adyacente obtenida es la misma que la posterior excepto por el primer y último símbolo. Es por esto que el método propuesto en esta tesis puede realizar predicciones para cada interacción del usuario (es decir, para cada pulsación de teclado o movimiento de ratón) una vez que se han obtenido al menos WinS ize interacciones (ver Figura 4.9).

Figura 4.9: Secuencia de predicciones en función de los parámetros del método. N-Gram Length (NGL) = 3 y WinSize=4.

4.5. Selección de parámetros

El método de combinación de la información propuesto en esta investigación necesita definir un total de dos parámetros y cuatro hiperparametros (ver Tabla 4.1). Los resultados obtenidos están muy ligados a la selección correcta de estos parámetros. Es por esto que es necesario hacer especial atención en entender y definir correctamente cada uno de ellos. Los parámetros requeridos por el modelo son NGL y WinS ize.

Nombre

Descripción

Valores

NGL

Longitud del N-grama

[5,10,20,30]

WinS ize

Información histórica considerada en forma de secuencias

[5,10,20,50,100]

Número de árboles

Número de árboles generados en el RTE

[2,5]

Máxima profundidad

Máxima profundidad de los árboles del RTE

[2,5]

EPS

Máxima distancia entre dos muestras para ser consideradas vecinas en DBSCAN

[0 : f100]

MINS

Mínimo número de puntos que tiene que tener una vecindad para considerarse cluster en DBSCAN

[2,10,50,100]

Tabla 4.1: Resumen de los parámetros e hiperparametros del método de combinación de la información de comportamientos. f100 representa la distancia con posición cien de la matriz de distancias ordenada de menor a mayor y descartando los valores iguales a cero.

El valor de NGL determina el número de interacciones (teclado, ratón o ambas) que se agrupan para cada instante con el objetivo de obtener una predicción. Un valor extremo de este parámetro puede resultar en subajuste (para valores pequeños) y sobreajuste (para valores altos). La búsqueda de este parámetro se ha limitado a los valores [5,10,20,30] basándose en la experiencia empírica.

El valor de WinS ize define cuanta información histórica de comportamiento (en forma de secuencias de n-gramas) va a ser utilizada para realizar una predicción. El objetivo de este parámetro es suavizar el buffer de riesgo. La búsqueda de este parámetro de ha limitado a los valores [5,10,20,50,100] basándose en la experiencia empírica.

El algoritmo de RTE necesita fijar dos hiperparámetros: el Número de árboles y la Máxima profundidad de cada árbol. Ambos hiperparámetros determinan la longitud del abecedario en el que cada muestra puede ser categorizada. De esta forma, un valor alto puede resultar en sobreajuste, pues se obtendrá un alfabeto muy amplio, en el que cada símbolo representa algo muy específico, haciendo que las secuencias obtenidas no se parezcan entre sí. Por otro lado, un valor pequeño de ambos resultara en un abecedario muy limitado, obteniendo así secuencias muy parecidas entre sí y por lo tanto no discriminatorias (subajuste). Para cada fuente de información, la búsqueda de estos hiperparámetros se ha limitado al rango [2, 5] basándose en la experiencia empírica.

Para el algoritmo de DBSCAN se necesitan fijar también dos hiperparámetros: EPS y MINS. Estos hiperparámetros se han delimitado utilizando una búsqueda en cuadrículas (en inglés, grid search). Para hacer la búsqueda más eficiente, los valores posibles se han acotado. De esta forma, los valores de EPS están en el rango [0 : f 100], donde f 100 representa la distancia con posición cien de la matriz de distancias ordenada de menor a mayor y descartando los valores iguales a cero. El parámetro MINS se ha limitado a los valores [2,10,50,100] basándose en la experiencia empírica.

Cabe destacar que fijar de forma óptima estos parámetros dependerá ampliamente de los requisitos particulares de los datos en donde se quiera aplicar el método. Sin embargo, se debe tener en cuenta algunas consideraciones. Fijar los parámetros NGL y WinS ize a valores altos repercute en obtener un modelo con más exactitud a la hora de clasificar dinámicas de comportamiento. Esto se debe a que, el aumento de cualquiera de ellos hace que se considere más información para realizar una predicción. Sin embargo, esto también repercute en la usabilidad.

Por otro lado, para fijar los hiperparametros de RTE y DBSCAN se recomienda utilizar una búsqueda en cuadrículas acotando los posibles valores para realizarla de forma eficiente. Hay que tener en cuenta las consideraciones explicadas anteriormente para evitar tanto el sobreajuste como el subajuste.

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.