[en] Intrusion detection refers to methods for determining whether a computer system or network has been compromised or is currently under attack. Multiple types of intrusion detection systems exist according to the technologies used for threat detection and the environment or devices in which it is intended to be deployed. This thesis is framed in the context of machine learning (ML) techniques applied to intrusion detection in Internet of Things (IoT) settings. This is a timely line of research as, despite the benefits and pervasiveness of IoT, several vulnerabilities and poor security practices have led to malware specifically designed to target and exploit the IoT ecosystem. In particular, in this thesis, we explore federated learning (FL) approaches, a relatively new ML training framework especially suitable for distributed settings such as IoT. In short, FL is a ML training paradigm with the objective of training a model between multiple collaborating clients while maintaining the training dataset local and private to each device, thereby addressing challenges such as data privacy, availability and communication cost concerns that arise in traditional cloud or edge ML model training methods. While FL has been successfully applied to many practical settings, including next-word prediction for mobile keyboards or voice classification, to name a few, the application of these settings to IoT security has not been as widely researched. Moreover, this setting presents significant gaps and challenges that have served as motivation for this thesis, including the scarcity of public IoT security datasets for ML training purposes specifically designed for FL experimentation, the cost of data labeling, the high heterogeneity of IoT deployments that can hinder FL model training convergence and the need for explainability to address the black-box nature of many ML models, which is crucial to increase the trust of these techniques by security analysts but presents additional issues in FL settings. While those are not the only challenges, this thesis presents three main contributions towards reducing the mentioned gaps. First, we develop an emulated testbed to generate datasets in a reproducible, extendable and shareable way specifically designed to allow FL experimentation. The testbed presents many threat models, including real malware samples. Then, we present a FL architecture for unsupervised network anomaly detection that addresses the high heterogeneity of IoT deployments by using an automatic client clustering technique integrated into the FL process. Finally, we propose a methodology to incorporate an explainability layer on top of the unsupervised anomaly detection models that uses FL techniques to characterize, group, summarize and auto-label the detected anomalies throughout the federated network.

[es] La detección de intrusiones trata principalmente del desarrollo de métodos para determinar si un sistema informático o red de ordenadores tiene indicios de estar comprometido o están siendo objeto de un ataque. A lo largo de los años se han desarrollado distintos sistemas de detección de intrusiones en base a las técnicas usadas para la detección de las amenazas o a las características de los dispositivos que se quieren proteger. Esta tesis se enmarca en el contexto del uso de métodos basados en el aprendizaje automático (ML, machine learning) aplicado a la detección de intrusiones en entornos del Internet de las Cosas (IoT, Internet of Things), ya que a pesar de las ventajas y la alta adopción del IoT, múltiples vulnerabilidades y malas prácticas de seguridad han dado lugar a la proliferación de malware específicamente diseñado para explotar esta clase de dispositivos. En particular, en esta tesis exploramos el uso del aprendizaje federado (FL, federated learning), una técnica reciente para entrenar modelos de ML que es especialmente adecuada para entornos distribuidos como el IoT. En esencia, FL tiene como objetivo entrenar un modelo global mediante la colaboración de múltiples clientes. Tiene la particularidad de que los datos de entrenamiento de cada cliente se mantienen en local, permitiendo abordar retos como la privacidad y la disponibilidad de los datos o los costes de comunicación que surgen en otras técnicas habituales como el entrenamiento en la nube o en el perímetro. A pesar de que FL se ha usado con éxito en casos prácticos como la predicción de palabras en los teclados de dispositivos móviles o el reconocimiento de voz, su uso en el ámbito de la ciberseguridad para el IoT no ha sido ampliamente estudiado. Asimismo, este entorno presenta ciertos retos y lagunas que han servido de motivación para esta tesis, incluyendo la falta de conjuntos de datos públicos de seguridad en IoT que sean adecuados para la experimentación con FL, el coste del etiquetado de datos, la alta heterogeneidad del ecosistema IoT que dificulta el entrenamiento de modelos en FL y la necesidad de proporcionar explicabilidad para hacer frente a la naturaleza opaca de los modelos ML, que es crucial para mejorar la confianza de estas técnicas por parte de los analistas de seguridad, pero presenta problemas adicionales debido a los requisitos de FL. Los retos mencionados anteriormente no son los únicos que existen en este ámbito, sin embargo, son los que hemos abordado en esta tesis presentando tres contribuciones principales. Primero, desarrollamos un banco de prueba emulado que permite la generación de conjuntos de datos adecuados para la experimentación con FL de un modo reproducible, adaptable y de fácil distribución. Usamos el banco de pruebas para presentar un escenario con varios actores de amenaza, incluyendo muestras reales de malware. Después, presentamos una arquitectura de FL para el entrenamiento de modelos no supervisados de detección de anomalías. La arquitectura incluye un algoritmo de agrupación de clientes integrado en el proceso de FL para abordar los problemas causados por la alta heterogeneidad de estos entornos. Finalmente, proponemos una metodología para incorporar una capa de explicabilidad sobre los modelos previamente entrenados. Esta capa también hace uso de técnicas de FL para caracterizar, agrupar, sintetizar y etiquetar automáticamente las anomalías detectadas por los distintos dispositivos de la red federada.