Por Paulo Freitas de Araujo Filho

Como resultado dos esforços da Tempest para disseminar conhecimento e contribuir para a comunidade científica, acadêmica, industrial e de segurança cibernética, estamos lançando uma série de cinco posts no blog para discutir o uso de machine learning (aprendizagem de máquina) em sistemas de detecção de intrusão (Intrusion Detection System – IDS).

Neste primeiro post, discutimos as vantagens e desvantagens dos IDSs baseados em assinaturas e anomalias, e como machine learning pode fortalecer os IDSs e permitir que eles detectem ataques cibernéticos mais complexos. Vamos explicar as diferenças entre aprendizagem supervisionada e não supervisionada e as principais técnicas utilizadas pelos IDSs não supervisionados para detectar ataques desconhecidos. Finalmente, vamos discutir as desvantagens e as tendências futuras no uso de aprendizagem de máquina para detectar intrusões.

Nos outros quatro posts desta série, abordaremos quatro métodos que são comumente usados em IDSs não supervisionados do estado da arte, a saber: clustering, one-class novelty detection, autoencoders e Generative Adversarial Networks (GANs) [1]. Apresentaremos estas técnicas como resultado de esforços de pesquisas acadêmicas, mas com aplicações práticas de melhorar a segurança cibernética para indústrias e empresas. Também apresentamos os conceitos necessários de machine learning para facilitar a compreensão dessas técnicas. Bem-vindo à jornada!

A ocorrência de ataques cibernéticos tem aumentado rapidamente ao longo dos anos. Eles comprometem a operação de serviços e indústrias, causam perdas financeiras significativas e colocam em risco a vida das pessoas [1]. O perigo é ainda maior no caso das Ameaças Persistentes Avançadas (Advanced Persistent Threats – APTs), que são um dos maiores desafios de segurança que enfrentamos. Os APTs são ataques sofisticados e premeditados que são projetados para persistir e permanecer em sistemas e redes até que seus objetivos sejam alcançados. Em 2014, por exemplo, a campanha Carbanak APT atacou com sucesso cerca de 100 instituições financeiras em todo o mundo, causando perdas de até US$ 1 bilhão [2].

Neste contexto, os IDSs, que identificam ataques cibernéticos quando outros mecanismos de segurança falham, ganharam ainda mais importância para proteger e assegurar os sistemas e as redes [3]-[5]. IDSs monitoram dispositivos e redes para identificar evidências de intrusões e relatar atividades potencialmente maliciosas [1]. Muitos deles foram propostos, desenvolvidos e avaliados nas últimas duas décadas, baseando-se em assinaturas, como o SNORT [6], BRO [7] e Suricata [8]. A abordagem por assinaturas baseia-se em padrões de ataques pré-definidos e identifica correspondências entre esses padrões e o status atual dos sistemas e das redes. Ela tem se mostrado muito eficaz ao detectar ataques conhecidos com baixas taxas de falsos positivos.

Entretanto, os IDSs baseados em assinaturas são tão bons quanto o seu banco de dados de assinaturas e não conseguem detectar eficientemente ataques desconhecidos sem levantar muitos alarmes falsos. Pois não existem assinaturas específicas para ataques desconhecidos e utilizar outras assinaturas de ataques geram muitos alarmes falsos. Além disso, seu banco de dados precisa ser constantemente atualizado à medida que novos ataques surjam, sendo que quanto maior for o banco de dados, mais demorado será para procurar correspondências [1]. Por outro lado, IDSs baseados em anomalias superam estas limitações ao detectar ataques medindo desvios entre padrões de dados e o que é considerado ser um comportamento normal dos sistemas e das redes. Embora métodos estatísticos possam ser usados para construir tal perfil de comportamento normal e medir desvios deste comportamento, recentemente, o uso de machine learning tem mostrado resultados muito promissores em IDSs baseados em anomalias, ao mesmo tempo em que permite a detecção de ciberataques mais complexos [9].

IDSs baseados em Machine Learning

IDSs baseados em machine learning não dependem de assinaturas de ataques conhecidos, mas da observação e identificação de padrões nos dados. Eles aprendem os padrões que os dados de sistemas e redes apresentam quando não há atividade maliciosa e até mesmo os padrões que ocorrem durante os ataques. Então, eles avaliam se as amostras de dados em análise se parecem com os padrões de atividades normais ou maliciosas e decidem se devem ou não criar alertas.

De acordo com sua abordagem de aprendizagem, IDSs podem ser classificados como supervisionados ou não supervisionados. Os IDSs supervisionados treinam modelos de machine learning com dados do funcionamento normal de sistemas e redes, e dados de exemplos anteriores de ataques cibernéticos. Assim, eles usam rótulos para distinguir entre dados normais e maliciosos para poderem saber quais dados correspondem a que, por exemplo, todos os dados normais são marcados com o rótulo “0” e todos os dados maliciosos são marcados com o rótulo “1”. Então, eles computam uma probabilidade ou pontuação de que uma amostra tenha o mesmo padrão de amostras normais ou maliciosas, ou seja, se pertence à classe normal ou à classe de ataques.

Além disso, os IDSs supervisionados também podem ser treinados com dados de mais de duas classes, por exemplo, com dados normais e dados de diferentes tipos de ciberataques. Tais sistemas multiclasse aprendem os padrões que correspondem ao funcionamento normal dos sistemas e redes e de quando ocorrem diferentes ciberataques. Assim, eles avaliam e classificam amostras como normais ou como tipos específicos de ataques cibernéticos. Diferentes algoritmos de classificação, tais como Árvores de Decisão, Support Vector Machine (SVM), K-Nearest Neighbor (KNN) e Redes Neurais têm sido utilizados com sucesso para detectar intrusões em IDSs supervisionados. Entretanto, duas principais desvantagens dos IDSs supervisionados são sua incapacidade de detectar ataques desconhecidos e sua necessidade de reconfigurar modelos sempre que um novo ataque é descoberto [1], [10].

Por outro lado, os IDSs não supervisionados não usam rótulos para distinguir entre os diferentes tipos de dados. Eles usam somente as informações da operação normal dos sistemas e redes, e aprendem o padrão de como os sistemas e redes se comportam quando não há ataques. Então, eles detectam ciberataques como as amostras que não estão de acordo com o padrão normal. Como eles se baseiam apenas em dados normais, os IDSs não supervisionados são capazes de detectar ciberataques sem qualquer conhecimento prévio de ataques passados e não precisam ser reconfigurados quando novos tipos de ataques são descobertos.

Principais Estratégias dos IDSs não supervisionados

Os quatro métodos mais comumente usados em IDSs não supervisionados do estado da arte são clustering, one-class novelty detection, autoencoders e GANs [1]. Enquanto clustering é uma categoria mais ampla de algoritmos que se preocupa em agrupar amostras de dados que se assemelham, as outras três categorias se concentram em diferentes técnicas de machine learning. A categoria one-class novelty detection engloba vários algoritmos tradicionais de aprendizagem de máquina que são treinados com dados de uma única classe. Os autoencoders e as GANs, por outro lado, baseam-se em arquiteturas específicas de deep learning (aprendizagem profunda). A seguir, descreveremos brevemente essas quatro estratégias, que serão discutidas mais detalhadamente nos outros posts desta série no blog.

IDSs não supervisionados baseados em clustering

Algoritmos de clustering são usados para separar um conjunto finito de dados não rotulados, ou seja, amostras de dados que não são marcadas com rótulos, em um conjunto finito e discreto de estruturas ocultas de dados. Eles dividem as informações dadas em grupos que apresentam alta similaridade interna e dissimilaridade externa, sem nenhum conhecimento prévio. De forma mais simples, as amostras que se parecem entre si são agrupadas juntas e mantidas longe de amostras que são diferentes delas. Em seguida, valores são atribuídas aos grupos formados de modo que aqueles cujos valores excedem um limite, são considerados maliciosos.

One-Class Novelty Detection

Trata-se da tarefa de identificar padrões de dados que diferem dos que já existem. Assim, classificadores de aprendizagem de máquina de uma classe podem ser usados para aprender uma fronteira de decisão que inclui todos os padrões de dados disponíveis para treinamento, de modo que padrões de dados diferentes estejam do outro lado desta fronteira. De maneira mais simples, se pensarmos que cada amostra de dados pode ser representada como um ponto, os classificadores de uma classe definem a região na qual todos os pontos de treinamento devem estar, assim, todos os pontos que são muito diferentes deles estão fora daquela região e são considerados maliciosos.

IDSs não supervisionados baseados em autoencoders

Autoencoders são redes neurais que têm a capacidade de reconstruir suas entradas. Eles codificam amostras de dados em versões geralmente reduzidas de si e depois as decodificam reconstruindo-as para sua forma original. Assim, se autoencoders forem treinados apenas com dados normais, eles aprendem como reconstruir dados normais com erros de reconstrução pequenos, ou seja, a diferença entre a amostra original e sua reconstrução é pequena. Entretanto, se eles tentarem reconstruir amostras maliciosas, produzirão grandes erros de reconstrução, pois não foram treinados com este tipo de dados. Portanto, as amostras de dados são avaliadas medindo o desvio entre elas e sua reconstrução através de autoencoders, de modo que grandes desvios indicam uma alta probabilidade de que um padrão de dados represente atividades maliciosas [13].

IDSs não supervisionados baseados em GANs

As GANs são estruturas que treinam simultaneamente duas redes neurais concorrentes através de um processo adversarial: gerador e discriminador. O gerador aprende a distribuição probabilística dos dados de treinamento e como produzir dados semelhantes a eles a partir de um vetor aleatório extraído de uma distribuição . Ou seja, o gerador é uma rede neural que aprende como produzir amostras que se parecem com os dados de treinamento. Por exemplo, ele pode ser treinado com imagens de gatos para que aprenda a gerar outras imagens de gatos. Ou, em nosso caso, pode ser treinado com dados normais de sistemas e redes, para que aprenda como devem ser esses dados. Por outro lado, o discriminador aprende a distinguir entre dados reais e dados produzidos pelo gerador, ou seja, a identificar se uma amostra é real ou produzida pelo gerador. Em nosso exemplo do gato, dada uma imagem, o discriminador nos diz se ela é real ou se é uma imagem falsa produzida pelo gerador. Assim, se a GAN é treinada com dados normais de sistemas e redes, o discriminador aprende a detectar entre amostras que são normais e amostras que não estão em conformidade com o comportamento normal e podem ser o resultado de ciberataques [9].

O outro lado da moeda

Apesar de tudo o que discutimos até agora, é importante destacar que machine learning não é a única solução para detectar intrusões ou que irá substituir todo o arsenal de cibersegurança existente. Embora IDSs baseados na aprendizagem de máquinas contribuam significativamente para detectar ciberataques, como qualquer outra abordagem de detecção, eles também têm desvantagens. Por exemplo, IDSs supervisionados precisam ser constantemente retreinados e IDSs não supervisionados geralmente apresentam mais falsos positivos.

Além disso, o uso de machine learning para detectar ciberataques também apresenta limitações que desafiam o seu uso. Talvez a primeira e mais importante dessas limitações seja a disponibilidade de dados. Como sabemos, para produzir resultados bons e confiáveis, os modelos precisam de muitos dados para serem treinados. Entretanto, a obtenção de uma grande quantidade de amostras maliciosas não é uma tarefa fácil ou barata.

Finalmente, enquanto machine learning contribui para detectar ciberataques, ela também pode introduzir vulnerabilidades. Recentemente, foi demonstrado que pequenas perturbações imperceptíveis podem adulterar amostras de dados de modo a comprometer o resultado dos classificadores baseados em aprendizagem de máquina. Ou seja, ao introduzir esta perturbação às imagens de gatos, de tal forma que as imagens ainda pareçam as mesmas, classificadores de imagens baseados em aprendizagem de máquina podem ser comprometidos e gerar resultados ruins. Assim, seguindo esse mesmo conceito, um adversário pode criar tal perturbação, que é chamada de perturbação adversarial, para realizar um ataque, de modo que os sistemas de detecção de intrusão ou mesmo sistemas de detecção de malware, baseados em machine learning, sejam comprometidos e não alcancem mais uma boa acurácia [14].

Conclusão e Tendências Futuras

Como você já pode perceber, enquanto machine learning pode fortalecer os sistemas de detecção de intrusão, ainda há vários desafios que precisam ser enfrentados. Por exemplo, embora alguns IDSs híbridos já tenham sido propostos, ainda é um desafio combinar IDSs baseados em assinaturas, supervisionados e não supervisionados em IDSs mais eficazes e eficientes. Além disso, como IDSs produzem alertas de segurança isolados, ainda é muito difícil correlacionar estes alertas para identificar ciberataques maiores, distribuídos e mais sofisticados. Finalmente, também é essencial melhorar os modelos de aprendizagem de máquina contra ataques adversariais para que possamos mitigar os riscos de usar a aprendizagem de máquina em cibersegurança.

Na Tempest, estamos trabalhando para resolver esses desafiadores problemas a fim de melhor proteger seu negócio! Fique atento ao nosso próximo post desta série de 5 publicações!

Referências

[1] A. Nisioti, A. Mylonas, P. D. Yoo and V. Katos, “From Intrusion Detection to Attacker Attribution: A Comprehensive Survey of Unsupervised Methods,” in IEEE Commun. Surveys & Tut., vol. 20, no. 4, pp. 3369-3388, Fourth quarter 2018, doi: 10.1109/COMST.2018.2854724.

[2] (2015). Kaspersky Security Bulletin. Acesso: 15 de fevereiro de 2022. [Online]. Disponível em: https://securelist.com/analysis/kaspersky-security-bulletin/73038/kaspersky-security-bulletin-2015-overall-statistics-for-2015/

[3] Y. Jia, F. Zhong, A. Alrawais, B. Gong, and X. Cheng, “FlowGuard: An Intelligent Edge Defense Mechanism Against IoT DDoS Attacks,” IEEE Internet of Things J., vol. 7, no. 10, pp. 9552–9562, 2020. doi: 10.1109/JIOT.2020.2993782.

[4] D. Li, D. Chen, B. Jin, L. Shi, J. Goh, and S.-K. Ng, “MAD-GAN: Multivariate anomaly detection for time series data with generative adversarial networks,” in Springer Int. Conf. on Artif. Neural Netw., 2019, pp. 703–716.

[5] N. Chaabouni, M. Mosbah, A. Zemmari, C. Sauvignac, and P. Faruki, “Network Intrusion Detection for IoT Security Based on Learning Techniques,” IEEE Commun. Surveys & Tut., vol. 21, no. 3, pp. 2671–2701, 2019. doi: 10.1109/COMST.2019.2896380.

[6] M. Roesch, “Snort: Lightweight Intrusion detection for networks,” in Proc. LISA, vol. 99. Seattle, WA, USA, Nov. 1999, pp. 229–238.

[7] V. Paxson, “Bro: A system for detecting network intruders in real-time,” Comput. Netw., vol. 31, nos. 23–24, pp. 2435–2463. 1999.

[8] Suricata-IDS. Acesso: 15 de fevereiro de 2022. [Online]. Disponível em: https://suricata-ids.org/

[9] P. Freitas de Araujo-Filho, G. Kaddoum, D. R. Campelo, A. Gondim Santos, D. Macêdo and C. Zanchettin, “Intrusion Detection for Cyber–Physical Systems Using Generative Adversarial Networks in Fog Environment,” in IEEE Internet of Things J., vol. 8, no. 8, pp. 6247-6256, 15 de Abril, 2021, doi: 10.1109/JIOT.2020.3024800.

[10] V. Chandola, A. Banerjee, and V. Kumar, “Anomaly detection: A survey,” ACM Comput. Surveys, vol. 41, no. 3, p. 15, 2009.

[11] E. Schubert, J. Sander, M. Ester, H. P. Kriegel, and X. Xu, “DBSCAN revisited, revisited: Why and how you should (still) use DBSCAN,” ACM Trans. Database Syst., vol. 42, no. 3, pp. 19: 1-21, Julho de 2017.

[12] P. Freitas De Araujo-Filho, A. J. Pinheiro, G. Kaddoum, D. R. Campelo and F. L. Soares, “An Efficient Intrusion Prevention System for CAN: Hindering Cyber-Attacks With a Low-Cost Platform,” in IEEE Access, vol. 9, pp. 166855-166869, 2021, doi: 10.1109/ACCESS.2021.3136147.

[13] Yisroel Mirsky, Tomer Doitshman, Yuval Elovici, and Asaf Shabtai. Kitsune: an ensemble of autoencoders for online network intrusion detection. arXiv preprint arXiv:1802.09089, 2018

[14] J. Liu, M. Nogueira, J. Fernandes and B. Kantarci, “Adversarial Machine Learning: A Multi-Layer Review of the State-of-the-Art and Challenges for Wireless and Mobile Systems,” in IEEE Communications Surveys & Tutorials, doi: 10.1109/COMST.2021.3136132.


Outros artigos dessa série:

Fortalecendo Sistemas de Detecção de Intrusão com Machine Learning

Parte 1 de 5: Sistemas de Detecção de Intrusão baseados em Assinaturas versus Anomalias

Parte 2 de 5: Sistemas de Detecção de Intrusão Não Supervisionados usando Clustering

Parte 3 de 5: Sistemas de Detecção de Intrusão baseados em One-Class Novelty Detection

Parte 4 de 5: Detecção de Intrusão usando Autoencoders

Parte 5 de 5: Detecção de Intrusão usando Generative Adversarial Networks