Dissertação (Mestrado)
Online intrusion detection in multicore embedded systems based on artificial immune systems
Fecha
2020Autor
Horstmann, Leonardo Passig
Institución
Resumen
Os sistemas embarcados têm sido amplamente aplicados para controlar tarefas críticas, e a crescente dependência de sistemas automatizados os torna uma tendência. Desempenho e segurança são duas das principais preocupações com esses sistemas, pois a correção e a oportunidade devem ser garantidas. Portanto, espera-se que tais sistemas tenham a capacidade de lidar com falhas, anomalias e intrusões, mantendo a exatidão e a oportunidade das execuções. Além disso, a crescente demanda por recursos computacionais nessas tarefas críticas torna o uso de plataformas multicore cada vez mais inevitável. Neste contexto, este trabalho aborda o problema de detecção de intrusão em sistemas embarcados multicore com um framework que realiza detecção de intrusão com uma solução para discriminação de dados considerados próprios do sistema e de dados considerados de terceiros baseada em Sistemas Imunológicos Aritificiais (AIS). A abordagem apresentada é construída sobre um sistema não intrusivo de monitoramento de dados de performance em tempo de execução para coletar variáveis como contadores da Unidade de Monitoramento de Performance (PMU), sensores e variáveis do sistema operacional durante a execução do sistema sem prejudicar suas propriedades temporais. Inicialmente, coletamos dados em um ambiente controlado para construir um modelo de detecção de intrusão no qual os detectores são projetados para corresponder ao comportamento sadio do sistema e, portanto, definem a noção de dados próprios do sistema. Esses detectores são representados por um ponto de dados N-dimensional que contém uma amostra das N variáveis monitoradas durante a construção do modelo, definindo o centróide de um cluster. A definição do modelo é orientada por um threshold global que é ajustado após o treinamento e o conjunto de detectores é filtrado de acordo com um número mínimo de membros em cada cluster. Os algoritmos são cuidadosamente elaborados de forma a evitar qualquer tipo de intrusão nos processos de treinamento e detecção. Um framework para injeção de falhas não intrusivo é proposta para permitir ao usuário avaliar adequadamente os mecanismos de detecção de intrusão. A abordagem apresentada alcançou uma precisão de 99,05% na classificação de dados de treinamento e 97,17% de precisão na detecção de dados não próprios (ou seja, causado por intrusão) ao modelar uma aplicação alvo com 27 diferentes fases de execução, que foram estimuladas sinteticamente, usando um conjunto de 20 centróides de cluster para definir o modelo de normalidade. Uma análise do overhead dos componentes usados para detecção de intrusão demonstrou a não intrusão do processo, uma vez que o maior overhead médio observado no sistema foi de 0,1%. Além disso, uma análise de complexidade de tempo mostrou que os métodos dos mecanismos propostos são lineares ao tamanho do conjunto de detectores, o que representa uma pequena ordem de complexidade de tempo. Isso indica a adequação de nossa detecção de intrusão baseada em AIS para operação online em sistemas embarcados multicore. Abstract: Embedded systems have been widely applied to controlling critical tasks, and the increasing reliance on automated systems makes it a trend. Performance and security are two of the major concerns with these systems as correctness and timeliness must be guaranteed. Therefore, such systems are expected to have the ability to deal with faults, anomalies, and intrusions while maintaining correctness and timeliness of the executions. Moreover, the increasing demand for computational resources on these critical tasks makes the use of multicore platforms increasingly inevitable. In this context, this work addresses the problem of intrusion detection in multicore embedded systems with a framework that performs intrusion detection with a self-nonself discrimination solution based on Artificial Immune Systems (AIS). We build on a non-intrusive, runtime monitoring system to collect variables such as Performance Monitoring Unit events, sensors, and OS variables during the execution of the target system without impairing its timing properties. Initially, we collect data on a controlled environment to build the intrusion detection model in which the detectors are designed to match the sane behavior of the system and, therefore, build the notion of self. These detectors are represented by an N-dimensional data-point that contains a self sample of the N variables monitored during model building, defining a cluster centroid. Model definition is guided by a global threshold that is adjusted after training and the set of detectors is filtered according to a minimum number of members on each cluster. Algorithms are carefully designed in order to avoid any type of intrusiveness for training and detection processes. A non-intrusive fault injection framework is proposed in order to enable the user to properly evaluate the intrusion detection mechanisms. The presented approach achieved an accuracy of 99.05% on the training data classification and 97.17% accuracy on the nonself (i.e., intrusion) detection when modeling a target application with 27 different execution phases, that were synthetically stimulated, using a set of 20 cluster centroids to define the normality model. An analysis of the overhead of the components used for intrusion detection demonstrated the non-intrusiveness of the process once the maximum average overhead on the system was 0.1%. Moreover, a time complexity analysis showed the methods of the proposed mechanisms are linear to the size of the set of detectors, which represents a small time-complexity-order. This indicates the suitability of our Artificial Immune System (AIS)-based intrusion detection for online operation at multicore embedded systems.