Detecção de anomalias na análise de logs utilizando técnicas de machine learning

##plugins.themes.bootstrap3.article.main##

Victor José de Carvalho Ferreira
Carmelo Bastos
Carlo Revoredo

Resumo

Este estudo trata do desafio de analisar grandes volumes de logs de sistema, que fornecem informações valiosas sobre o comportamento dos softwares, mas cuja quantidade e complexidade tornam a verificação manual ineficiente (XU et al., 2009; YADAV et al., 2020). A identificação automática de anomalias nesses registros é essencial para detectar problemas operacionais de grande escala (CHEN et al., 2022). Neste contexto, o objetivo principal deste estudo é avaliar e comparar a eficácia de diversos algoritmos de aprendizado de máquina na identificação de anomalias em arquivos de log, com o intuito de automatizar a detecção de padrões incomuns para aumentar a segurança e a confiabilidade do sistema. Para atingir esse objetivo, foram estabelecidos os seguintes objetivos específicos: aplicar a análise em um banco de dados público e reconhecido, utilizando para isso o conjunto de dados HDFS_v1 da coleção loghub, amplamente usado para benchmarking de tarefas de análise de logs (ZHU et al., 2023); realizar o pré-processamento dos logs brutos do HDFS, convertendo os dados de texto não estruturado em vetores de características numéricas que possam ser processados por algoritmos de aprendizado de máquina (XU et al., 2009; LANDAUER et al., 2020); implementar e avaliar um conjunto de algoritmos, incluindo algoritmos supervisionados e não supervisionados; e analisar e comparar o desempenho de cada algoritmo. A base de dados HDFS_v1 serviu como ponto de partida para a metodologia, na qual foi realizado um pré-processamento, uma etapa fundamental para a análise automatizada (XU et al., 2009; ZHU et al., 2023). Neste estudo, as sequências de log foram geradas a partir do identificador block_id, e as características foram tratadas como variáveis categóricas. Empregaram-se algoritmos supervisionados e não supervisionados para a detecção de anomalias. Entre os supervisionados, utilizou-se a Árvore de Decisão (Decision Tree), uma técnica amplamente reconhecida para classificação (SHALEV-SHWARTZ; BEN-DAVID, 2014). Também foi empregado o Random Forest, um método de ensemble que produz várias árvores de decisão. No contexto não supervisionado, empregou-se o Isolation Forest, conhecido por sua eficácia na detecção de outliers (YADAV; KUMAR; DHAVALE, 2020). Ao mesmo tempo, utilizaram-se técnicas de clusterização para reconhecer perfis de comportamento nos logs (OLIVEIRA et al., 2020). Foi implementado o K-Means, um algoritmo de particionamento que visa agrupar dados para reduzir ao máximo a distância intra-cluster (PONTES JÚNIOR; SANTANA JUNIOR; BASTOS-FILHO, 2018). A variante K-Modes, apropriada para variáveis categóricas, também foi empregada. Os resultados obtidos indicaram que, em média, cerca de 10% das sequências de logs no conjunto de dados foram classificadas como anômalas. A análise comparativa demonstrou uma variação de desempenho entre os algoritmos: enquanto técnicas como mostraram-se altamente eficazes na identificação dessas anomalias, outros modelos não atingiram a performance esperada para esta finalidade. Um resultado notável dos métodos supervisionados foi a redução da dimensionalidade, onde, das 14 características iniciais, os modelos indicaram que apenas 8 foram determinantes para a classificação, otimizando a análise. Nos algoritmos não supervisionados, a clusterização identificou, em média, cinco perfis (clusters) distintos de comportamento. Diante desses resultados, conclui-se que a aplicação de aprendizado de máquina para análise de logs é uma abordagem promissora e viável, com a escolha do algoritmo sendo um fator crítico para o sucesso da detecção. Os métodos de pré-processamento e extração de características, em especial o tratamento das variáveis como categóricas, mostraram-se adequados e supriram as necessidades da pesquisa, permitindo que os modelos mais robustos identificassem padrões relevantes com sucesso. Como trabalhos futuros, pretende-se expandir a análise para outros datasets da coleção loghub, bem como explorar o uso de técnicas de deep learning, como redes neurais LSTM, que têm demonstrado resultados promissores na literatura para capturar dependências sequenciais em logs (CHEN et al., 2022; YADAV; KUMAR; DHAVALE, 2020).

Downloads

Não há dados estatísticos.

##plugins.themes.bootstrap3.article.details##

Seção
Engenharia da Computação e Sistemas