Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/102991
Title: Detecting Intrusions in Microservices Architectures
Other Titles: Deteção de Intrusões em Arquiteturas de Microsserviços
Authors: Gonçalves, Paulo Alexandre da Silva
Orientador: Flora, José Eduardo Ferreira
Antunes, Nuno Manuel dos Santos
Keywords: Microsserviços; deteção de intrusão; avaliação de vulnerabilidades; injeção de ataque; containers; Microservices; intrusion detection; vulnerability assessment; attack injection; containers
Issue Date: 23-Sep-2022
Serial title, monograph or event: Detecting Intrusions in Microservices Architectures
Place of publication or event: DEI - FCTUC
Abstract: Arquiteturas de microsserviços têm crescido em popularidade nos últimos anos, favorecendo serviços simples fracamente acoplados e com objetivos bem definidos. Utilizar microsserviços facilita o desenvolvimento e manutenção, reduzindo custos gerais de desenvolvimento. Para tirar proveito destas vantagens, cada serviço é colocado em "containers'' dado que são leves e a criação e destruição é barata e eficiente. Tal potencia um comportamento elástico, maximizando o uso dos recursos, e permitindo uma adaptação com base na demanda. No entanto, a transição para estes ambientes cria alguns desafios. Quando os sistemas se dividem em múltiplos pequenos componentes, o número de comunicações aumenta, agravando a probabilidade de ataques. Durante o desenvolvimento, técnicas de avaliação de vulnerabilidades são usadas para detetar e corrigir fraquezas no software. Mesmo assim, o software continua a ter vulnerabilidades desconhecidas que atacantes podem aproveitar, pelo que é indispensável utilizar medidas de deteção. Deteção de intrusão com base em anomalias pode ser uma técnica eficaz, mas tem de conseguir lidar com elevadas quantidades de informação e adaptar-se a um número dinâmico de instâncias de serviços. Portanto, as soluções têm de ser leves e escaláveis. Trabalho já realizado demonstra que técnicas de processamento de informação são úteis para lidar com escalabilidade. Uma abordagem semelhante ser útil para detetar ataques a vários serviços. Técnicas podem também ser usadas para reduzir o tamanho dos "datasets" sem comprometer a eficácia da solução.Neste trabalho propomos uma abordagem para deteção de intrusão "host based" com foco nos microserviços, e quatro técnicas baseadas numa abordagem de fusão de classificadores. A abordagem tem o objetivo de facilitar a deteção de ataques a diferentes microserviços. Também analizamos a remoção de repetições, como método para reduzir o tamanho dos datasets sem afetar significativamente os classificadores. As técnicas propostas são avaliadas usando duas testbeds representativas, Sockshop e TeaStore, que utilizam um leque variado de tecnologias e serviços, permitindo 10 cenários de ataque, com base em 12 vulnerabilidades. Nem todos os ataques têm sucesso, e alguns só conseguem informação; permitindo assim avaliar a eficácia das técnicas em tentativas de intrusão.Os resultados mostram que só uma técnica é capaz de detetar ataques sem um número elevado de falsos positivos, conseguindo uma F-Measure de até 0.673, nunca inferior a 0.521 e uma Precision até 0.782. Além disso, o algoritmo de remoção de repetições de system calls conseguiu reduzir o tamanho dos datasets até 55% do tamanho original. Ambos têm espaço para melhoria, no entanto, os resultados são satisfatórios, havendo espaço para pesquisa.
Microservice architectures have been on the rise in recent years, as they favor loosely coupled services with specialized goals. The use of microservices eases development and maintainability, reducing overall development costs. To take full advantage, each service is deployed in a container, as they are lightweight and creation and destruction is cheap and efficient. This potentiates an elastic behaviour that allows for on-demand adaptation. However, the transition from monoliths to microservices presents security challenges. When systems are split into multiple small components, the number of communication links grows extensively, increasing the possibility of attacks. During development, automated vulnerability assessment tools are used to find and correct software weaknesses. Despite this process, software continues to have unknown vulnerabilities that attackers can exploit, therefore it is indispensable to apply other measures. Anomaly-based intrusion detection could be an effective approach, but it needs to deal with large amounts of data and services, and adapt to the dynamic number of service instances. Therefore, the available solutions must become lightweight and scalable. Past work has demonstrated the usefulness of data processing techniques to deal with scalability. A similar approach can be useful for detecting attacks targeting multiple services. Techniques can also be used to reduce the amount of data processed without compromising the effectiveness of the solution.In this work, we propose an approach for host based intrusion detection aimed at microservices, and four different techniques based on a classifier fusion procedure. The approach as the goal of facilitating the detection of attacks targeting different microservices. We also analyse the removal of loops as a method to reduce the data processed without affecting the classifiers. The techniques proposed are evaluated using two representative microservice testbeds, Sockshop and TeaStore, as they provide a wide range of technologies and services, allowing 10 different attack scenarios based on 12 different exploits. Not all attacks were successful, and some were only done to gather information; therefore, evaluating the effectiveness of techniques in intrusion attempts.The results show that only one technique was capable of detecting attacks without a high number of false positives, achieving an F-Measure of up to 0.673, never lower than 0.521, and Precision as high as 0.782. Furthermore, the loop removal algorithm managed to reduce the total size of the training datasets to 55% of the original size. Both still have room for improvement; however, the results are still satisfying and open new research paths.
Description: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
URI: https://hdl.handle.net/10316/102991
Rights: openAccess
Appears in Collections:UC - Dissertações de Mestrado

Files in This Item:
File Description SizeFormat
Tese_Paulo_Goncalves_2022.pdf5.7 MBAdobe PDFView/Open
Show full item record

Page view(s)

87
checked on Apr 23, 2024

Download(s)

137
checked on Apr 23, 2024

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons