[en] The present Master's thesis explores the application of recent advanced Deep Learning architectures in the field of operating system fingerprinting. This network security task aims at identifying the operating system information of a machine by analysing its network traffic. Traditionally, this is performed by tools based on expert knowledge, and more recently, by the application of different classical Machine Learning techniques. However, there are few academic works that leverage the potential of Deep Learning to solve this task. In this sense, this project aims at exploring the capabilities of the Transformer architecture in the classification of operating systems. A systematic analysis of the State of the Art in the field of operating system fingerprinting was done as first step, specially considering the latest advancements in applying Artificial Intelligence techniques to this task. From this, three network datasets with different characteristics were collected and prepared. We used two versions of the Transformer architecture adapted to tabular data, which is the data type of network flows. Finally, the generated models were evaluated on different classification tasks, comparing the results with other classical Machine Learning algorithms used as baselines. In this work, well-established practices in computer engineering project management have been employed. Additionally, the CRISP-DM methodology has been followed for designing the Artificial Intelligence pipeline, ensuring the quality and reproducibility of the experiments conducted. The code and results are publicly available under a GNU GPL v3.0 license in the following GitHub repository: https://github.com/rubenpjove/munics-tfm. The objectives set at the beginning of the project have been satisfactorily achieved. The advanced Deep Learning architectures tested have demonstrated superior performance compared to the baseline models. To the best of the authors' knowledge, this work represents the first effort to apply the Transformer architecture to the network security task of operating system fingerprinting, achieving successful results.

[es] El presente Trabajo Fin de Master explora la aplicación de arquitecturas avanzadas de Aprendizaje Profundo en el campo del fingerprinting de sistemas operativos. Esta tarea tiene como objetivo identificar la información del sistema operativo de una máquina analizando su tráfico de red. Tradicionalmente, esto se realiza mediante herramientas basadas en conocimiento experto y, más recientemente, mediante la aplicación de diferentes técnicas clásicas de Aprendizaje Máquina. Sin embargo, existen pocos trabajos académicos que aprovechen el potencial del Aprendizaje Profundo para resolverla. Este proyecto tiene como objetivo explorar las capacidades de la arquitectura del Transformer en la clasificación de sistemas operativos. Como primer paso, se realizó un análisis sistemático del estado de la cuestión en el campo del fingerprinting de sistemas operativos, considerando especialmente los últimos avances en la aplicación de técnicas de Inteligencia Artificial a esta tarea. A partir de aquí, se recopilaron y prepararon tres conjuntos de datos de red con diferentes características. Utilizamos dos versiones de la arquitectura del Transformer adaptadas a datos tabulares, que es el tipo de datos de los flujos de red. Finalmente, los modelos generados se evaluaron en diferentes tareas de clasificación, comparando los resultados con otros algoritmos clásicos de Aprendizaje Máquina. En este trabajo, se han empleado prácticas bien establecidas en la gestión de proyectos de ingeniería informática. Además, se ha seguido la metodología CRISP-DM para el diseño del proceso de Inteligencia Artificial, asegurando la calidad y reproducibilidad de los experimentos realizados. El código y los resultados están disponibles públicamente bajo una licencia GNU GPL v3.0 en el siguiente repositorio de GitHub: https://github.com/rubenpjove/munics-tfm. Los objetivos planteados al principio del proyecto se han cumplido satisfactoriamente. Las arquitecturas de Aprendizaje Profundo probadas han demostrado un rendimiento superior en comparación con los modelos de referencia. Este trabajo representa el primer esfuerzo en aplicar la arquitectura del Transformer al fingerprinting de sistemas operativos, obteniendo resultados exitosos.