Centro de Documentação da PJ
| ||||
GUERRA, Madalena da Costa França Ribeiro Internal hacking detection using machine learning [Recurso eletrónico] / Madalena da Costa França Ribeiro Guerra.- Lisboa : [s.n.], 2020.- 1 CD-ROM ; 12 cm Tese de mestrado em Ciência de Dados, apresentada à Faculdade de Ciências, Departamento de Informática, da Universidade de Lisboa, tendo como orientadora Cátia Luísa Santana Calisto Pesquita. Ficheiro de 5,75 MB em formato PDF [91 p.]. SEGURANÇA INFORMÁTICA, PROCESSAMENTO DE DADOS, TRATAMENTO DA INFORMAÇÃO, INTELIGÊNCIA ARTIFICIAL, ESTUDO DE CASOS, TESE Numa era onde se lida com uma quantidade massiva de dados, a compreensão do seu valor através da aplicação de técnicas analíticas avançadas ganhou grande destaque nas mais diversas organizações. Nos últimos anos, os ciberataques começaram a afetar a segurança das empresas, tornando-se numa das suas principais preocupações. Esses ataques podem ser provocados por intrusos ou por pessoas mal-intencionadas. Contudo, com os ataques internos a tornarem-se cada vez mais frequentes e demonstrando-se ser mais prejudiciais do que ataques externos em grandes empresas, este tem sido o principal foco da maioria das investigações feitas nos últimos anos neste domínio. A deteção de comportamento anómalo de utilizadores é um tópico de pesquisa de cibersegurança que se preocupa com a deteção de anomalias no comportamento dos utilizadores correspondentes quer a ataques internos de carácter malicioso, quer a atividades anómalas sem intenção maliciosa, como erros do sistema ou erros humanos. No entanto, essa deteção deve ser feita o mais rápido possível, gerando um alerta caso se trate, por exemplo, de um acesso mal-intencionado ou não autorizado, de forma a evitar ou minimizar consequências prejudiciais na empresa. Dado que milhões de logs de utilizadores no sistema são produzidos diariamente, esta tarefa ultrapassa o poder cognitivo dos analistas humanos. Machine Learning é uma área de Computer Science que se encontra em aplicação, permitindo que as máquinas aprendam automaticamente a partir de dados relacionados com um determinado problema e, posteriormente, façam previsões. Como tal, foram apresentadas várias técnicas de deteção de comportamento anómalo de utilizadores baseadas em Machine Learning que se mostraram extremamente eficientes nesse domínio, principalmente abordagens não supervisionadas, pois não requerem uma classificação manual por parte de especialistas humanos que em problemas desta natureza, é muito desafiante de se obter. O trabalho desenvolvido nesta dissertação insere-se no domínio de cibersegurança e faz parte de um projeto abrangente do Departamento de Cibersegurança (DCY) da Altice Portugal (MEO). O principal objetivo desta dissertação é desenvolver e avaliar um sistema de deteção de comportamento anómalo de trabalhadores da empresa, suportado por técnicas baseadas Machine Learning, para detetar atividades ilícitas de acesso a dados sensíveis, usando tecnologias como Elastic Search, Kibana, Python, Jupyter Notebook e bibliotecas Python tais como elasticsearch, fastparquet, dask, numpy, pandas, scikit-learn, plotly e pyod. O conjunto de dados usado nesta dissertação diz respeito a uma coleção de registos de logs de acessos realizados por utilizadores num intervalo de tempo de seis meses, enriquecidos com meta-dados dos utilizadores, da respetiva conta por onde acedeu e dos objetos acedidos, em que cada registo de log tipifica o acesso de um utilizador a um determinado objeto. A diversidade e volume massivo de dados produzidos constituíram um grande desafio para o desenvolvimento deste projeto. A deteção de comportamento anómalo por parte dos utilizadores de uma organização com o principal objetivo de detetar ameaças internas tem sido um campo de pesquisa ativa no domínio da segurança. Apesar do grande número de pesquisas sobre este tópico e da existência de vários métodos que visam a deteção de anomalias, ainda não foi verificado um consenso quanto ao conjunto de métodos mais eficiente para este propósito. Para além disso, é possível identificar várias falhas nessas investigações, como a escassez de investigações aplicadas a dados reais de empresas, e não a simulações da realidade; e a análise de desvios no comportamento do utilizador ignorando tanto o contexto empresarial, bem como as relações entre utilizadores e entidades. A adição dessa informação é essencial para uma melhor eficiência e precisão do sistema de deteção, permitindo minimizar o número de falsos positivos. Para atingir os objetivos desta tese, foi criado e avaliado um sistema automático robusto capaz de processar e analisar um grande volume de registos de dados correspondentes a logs de atividade dos utilizadores autorizados no sistema da empresa de forma a detetar ocorrências de comportamento anómalo, principalmente, associado a uma atividade de carácter malicioso. Como tal, é essencial que o sistema seja capaz de discriminar as anomalias detetadas para, posteriormente, classificar como sendo (passível de ser) uma ameaça interna ou não, de forma a evitar ou minimizar os danos para a empresa. O sistema desenvolvido nesta dissertação é composto por vários módulos. O primeiro módulo consiste na Seleção dos Dados e dos Atributos. Neste módulo, através da combinação de várias técnicas de visualização, disponibilizadas pelo Kibana, com o conhecimento de especialistas no domínio, é possível selecionar um foco de dados para o qual se pretende direcionar a investigação, bem como descobrir os atributos relevantes que melhor possam contribuir para a obtenção de bons resultados. O módulo seguinte é a Integração, Pré-Processamento e Preparação dos Dados. Neste módulo, os dados armazenados no Elastic Search são, interativamente, extraídos para um Jupyter Notebook Python sob a estrutura de dados Dask Data Frame, submetidos a um processo de limpeza, agregados e integrados num conjunto de dados com um sumário da atividade diária de cada conta de utilizador, armazenado num ficheiro de formato parquet. Uma vez processados e integrados todos os registos diários, é efetuada uma Transformação dos Dados. Esta componente computa inúmeros atributos correspondentes a agregações e rácios de forma a construir um perfil caracterizador de cada conta de utilizador, com o objetivo de identificar grupos de contas semelhantes entre si. Uma vez identificados esses grupos, é criado um conjunto de dados, escalado e centrado, com a atividade diária de cada conta tendo em consideração o histórico de atividade de todas as contas, o histórico de atividade da respetiva conta, e o histórico de atividade do grupo de contas a que pertence. No módulo de Caracterização das Contas, através da comparação dos perfis de contas anteriormente criados, é possível agrupar as contas dos utilizadores com comportamento semelhante, através da aplicação de técnicas de Clustering, e construir um perfil para cada um desses grupos de contas. Adicionalmente, através da identificação de desvios face à baseline ou ao ”esperado“ empiricamente, é possível detetar contas anómalas, isto é, contas cujo comportamento seja persistentemente anormal. O módulo seguinte é a Deteção de Anomalias, onde são detetados eventos anómalos através da aplicação de um conjunto de algoritmos de deteção de anomalias baseados em aprendizagem não supervisionada com combinações de parâmetros e de atributos distintas e, posteriormente, comparados. O desempenho de cada um desses detetores é avaliado através da injeção de dez cenários distintos de ameaças internas, criadas com a ajuda dos especialistas no domínio. O último módulo é a Caracterização das Anomalias. Este módulo permite distinguir as anomalias, não só identificando aquelas que são passíveis de se tratar de acessos ilícitos ou não, mas também identificar o tipo de atividade que a originou, através da criação de várias métricas. Esta caracterização permite que as anomalias detetadas sejam representadas num dashboard, criado no Kibana, e facilmente visualizadas pelos analistas. O sistema desenvolvido nesta dissertação obteve resultados promissores. Este demonstrou ser capaz de detetar comportamentos anómalos em diversos domínios por parte de uma conta, tendo em consideração não só a sua atividade passada como também a atividade de outras contas semelhantes. Para além de detetar de forma robusta essas anomalias, é capaz de identificar as ações que lhes deram origem, permitindo a exibição de um conjunto de visualizações num dashboard já direcionadas para o foco de investigação. Deste modo, os analistas identificam facilmente a natureza e o risco de cada anomalia e encaminham-na para as respetivas entidades competentes de forma a mitigar eventuais consequências que possam prejudicar a empresa. |