Improving cyberthreat discovery in open source intelligence using deep learning techniques

Detalhes bibliográficos
Autor(a) principal: Dionísio, Nuno Rafael Marques
Data de Publicação: 2018
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10451/36434
Resumo: Tese de mestrado, Segurança Informática, Universidade de Lisboa, Faculdade de Ciências, 2018
id RCAP_bbbce7d6853d50de649bf4bcdf04d6cb
oai_identifier_str oai:repositorio.ul.pt:10451/36434
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Improving cyberthreat discovery in open source intelligence using deep learning techniquesRedes neuronaisAprendizagem profundaDeteção de ameaças de segurançaRedes convolucionaisRedes neuronais recorrentesTeses de mestrado - 2018Departamento de InformáticaTese de mestrado, Segurança Informática, Universidade de Lisboa, Faculdade de Ciências, 2018São cada vez mais recorrentes as intrusões cibernéticas que afetam organizações e empresas, resultando em falhas de infraestruturas críticas, fuga de informação sensível e perdas monetárias. Com um aumento de ameaças `a confidencialidade, integridade e disponibilidade dos dados, as organizações procuram informações relevantes e atempadas sobre potenciais ameaças cibernéticas `a sua infraestrutura. Esta aquisição¸ de informação é normalmente feita por um Centro de Operações de Segurança que tem por objetivo detetar e reagir a incidentes de segurança. Porém as suas capacidades de reação dependem da informação útil e atempada que este recebe sobre ameaças cibernéticas, atualizações de software urgentes e descobertas de vulnerabilidades. Para tal é necessário ter acesso a uma plataforma que seja ágil e capaz de agregar diversas fontes de dados. Ainda que a abordagem possa utilizar outras fontes de dados, o Twitter age como agregador natural de informação, sendo possível encontrar especialistas, companhias de segurança e até grupos de hackers que partilham informação sobre cibersegurança. Este fluxo de informação pode ser aproveitado por uma equipa de cibersegurança para obter informação atempada sobre possíveis ameaças cibernéticas. No entanto, mesmo focando em contas de interesse, é necessário implementar um sistema que consiga selecionar apenas os tweets que contêm informação relevante sobre a segurança de ativos presentes na infraestrutura que se quer monitorizar. Devido ao elevado fluxo de dados, da necessidade de um algoritmo eficiente e escalável, e da capacidade de adaptar o algoritmo a uma determinada infraestrutura, procurámos implementar algoritmos de aprendizagem profunda, que pertencem ao subconjunto de algoritmos de aprendizagem automática. Aprendizagem automática (Machine learning) é uma área no domínio de Inteligência Artificial que procura desenvolver algoritmos capazes de, sem intervenção direta de um agente humano, ajustar os seus parâmetros para desempenhar com maior eficácia uma determinada tarefa. Por vezes, estes algoritmos são capazes de alcançar desempenho superior `a de um agente humano que fosse efetuar uma mesma tarefa. Normalmente tais tarefas são repetitivas e envolvem uma quantidade exuberante de dados. Aprendizagem profunda (Deep learning) é uma subárea de aprendizagem automática que tem vindo a receber atenção devido `as suas capacidades. De forma geral esta é uma área, que recorrendo aos avanços no poder de computação e da quantidade crescente de dados, é capaz de treinar redes neuronais que contêm várias camadas. Este tipo de redes neuronais são usualmente chamadas de redes profundas (deep) e distinguem-se das redes mais tradicionais que agora se consideram de rasas (shallow). Redes neuronais rasas normalmente contêm apenas uma ou duas camadas escondidas e uma camada de saída. Cada camada é composta por neurónios inter-conectados que normalmente possuem a mesma funcionalidade. Por outro lado, as redes neuronais profundas tendem a possuir mais camadas escondidas, com diferentes camadas funcionais. Dois tipos de redes profundas que são frequentemente utilizadas são as redes neuronais convolucionais e as redes neuronais recorrentes. Redes neuronais convolucionais são frequentemente utilizadas para tarefas de visão computacional devido `a sua capacidade de processamento espacial. Dado uma tarefa e um conjunto de dados, este tipo de rede é capaz de aprender automaticamente várias características e padrões de uma imagem. Este tipo de arquitetura também pode ser aplicado a tarefas de processamento de texto, sendo capaz de captar relações entre diferentes sequências de palavras. O outro tipo de rede neuronal que tem obtido excelentes resultados são as redes neuronais recorrentes. Estas são frequentemente utilizadas para tarefas que envolvam uma dimensão temporal, como por exemplo o processamento de voz ou de texto. Ao contrário das redes já descritas, as redes neuronais recorrentes possuem um estado interno que age como a sua memória. Este estado de memória ´e uma camada de neurónios que mantém a sua ativação ao longo de uma determinada sequência. Por exemplo, na tarefa de processamento de texto, a rede neuronal recorrente irá receber uma palavra de cada vez. Ao processar uma palavra o estado dos neurónios que constituem uma camada da rede ´e mantido para o processamento da próxima palavra. O trabalho realizado nesta dissertação visa melhorar e estender as capacidades de um sistema, atualmente em desenvolvimento, através de algoritmos de aprendizagem profunda. O sistema atual é capaz de receber tweets e através de um classificador baseado em máquinas de vetores de suporte, selecionar os que contêm informação relevante. Apresentamos duas redes neuronais, sendo a primeira uma alternativa ao classificador existente e a segunda um complemento que permite a extração de informação relevante de uma tweet. A primeira contribuição deste trabalho é a implementação de uma rede neuronal convolucional como alternativa ao classificador de máquinas de vetores de suporte. Ao inserir uma tweet na rede, cada palavra é convertida num vetor numérico que contem uma representação semântica. Após a camada de convers˜ao temos a camada convolucional. Esta camada irá produzir mapas de características que reportam sobre a existência ou ausência de uma dada característica na tweet através da ativação dos seus neurónios. Depois, cada mapa de características ´e reduzido ao seu valor mais elevado, este valor refere-se `as ativações dos neurónios que estão inseridos na camada convolucional. Esta operação permite reduzir a complexidade computacional e eliminar informação redundante. Por fim, a camada de saída contem uma função de ativação do tipo sigmóide (softmax) que permite classificar um tweet como sendo positivo (contem informação relevante sobre ameaças de segurança) ou negativo (não contem informação relevante). Em comparação ao classificador baseado em máquinas de vetores de suporte, o nosso classificador mostra resultados superiores, nomeadamente na redução do número de falsos positivos. A segunda parte deste trabalho envolve a implementação de um modelo de reconhecimento de entidades nomeadas para extrair informação relevante dos tweets que possa ser utilizada para o preenchimento de um alerta de seguranc¸a ou um indicador de compromisso. Para este fim, utilizámos uma rede neuronal bidirecional de memória longa de curto prazo, um tipo de rede neuronal recorrente, e definimos 5 entidades que queremos encontrar (organização, produto, versões, ameaças e identificadores de repositórios de vulnerabilidades) mais uma entidade para a informação não relevante. A primeira camada desta rede é semelhante à do classificador. No entanto, este modelo contém uma camada opcional, igual à camada de conversão, que usa os carateres das palavras para criar uma matriz. Desta forma, cada palavra é representada por uma matriz em que cada vetor representa o valor semântico de um caracter. Este conjunto de vetores é enviado para uma rede neuronal bidirecional de memória longa de curto prazo secundária. A rede recebe um vetor de cada vez e no final produz um vetor que corresponde ao estado interno que representa o contexto da palavra com base nos carateres. Esta representação é adicionada ao vetor numérico da palavra de forma a enriquecer a sua representação final. Depois, os vetores são enviados para a rede neuronal bidirecional de memória longa de curto prazo principal. Ao contrário da rede anterior em que apenas se extraiu o ultimo estado, nesta rede extraímos o estado a cada intervalo de tempo (a cada palavra de uma tweet). Por fim, temos a camada de saída onde uma matriz de pontuações n × k é criada. Nesta matriz, n é o número de palavras que constituiem a frase e k o número de entidades distintas que podem ser atribuídas a uma palavra. A atribuição de uma entidade a cada palavra é feita selecionando a entidade com a pontuação mais alta. Porém, este método não considera as palavras vizinhas quando atribui uma entidade. Um módulo opcional chamado campos aleatórios condicionais é capaz de calcular uma pontuação para uma sequência inteira de entidades através da criação de uma matriz k×k, sendo k o número de entidades, que automaticamente irá aprender pontuações para a transição de uma entidade para outra. Este processo permite que o modelo seja capaz de tomar em conta não só o contexto de uma palavra mas também o contexto das palavras vizinhas. O modelo obteve bons resultados, ambas as métricas como a média harmónica F1 e a exatidão obtiveram resultados superiores a 90%, apresentando-se como uma forma viável para um sistema de extração de informação relevante sobre cibersegurança.The cyberspace is facing a challenge regarding the increasing security threats that target companies, organizations and governments. These threats cause the failure of critical infrastructures, disclosure of private information and monetary losses. In order to guard and be prepared against cyber-attacks, a security analyst ought to be properly informed of the latest software updates, vulnerability disclosures and current cyber-threats. This requires access to a vast feed of information from various sources. One option is to pay for the access to such services. However Open Source Intelligence, which is freely available on the internet, presents a valuable alternative, specifically social media platforms such as Twitter, which are natural aggregators of information. In this dissertation, we present a pipeline that aims to improve and expand the capabilities of a cyberthreat discovery tool currently in development. This tool is capable of gathering, processing, and presenting security related tweets. For this purpose, we developed two neural networks. The first is a binary classifier based on a Convolutional Neural Network architecture. This classifier is able to identify if a tweet contains security related information about a monitored infrastructure. Once a tweet is classified as containing relevant information, it is forwarded to a Named Entity Recognition model. This model is implemented by a Bidirectional Long Short-Term Memory network and aims to locate and identify pre-defined entities in a tweet that may be used for a security alert or to fill an Indicator of Compromise. Our classifier achieves favourable results: comparing to the current Support Vector Machine binary classifier it achieves equal or superior True Positive Rate and significantly better True Negative Rate. On the other hand, our Named Entity Recognition model is also capable of achieving great results, presenting an efficient method of extracting important information from security related text, with results above 90%.Ferreira, Pedro Miguel Frazão FernandesBessani, Alysson Neves, 1978-Repositório da Universidade de LisboaDionísio, Nuno Rafael Marques2019-01-15T16:37:07Z201820182018-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10451/36434TID:202195902enginfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-08T16:33:09Zoai:repositorio.ul.pt:10451/36434Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:50:46.116562Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Improving cyberthreat discovery in open source intelligence using deep learning techniques
title Improving cyberthreat discovery in open source intelligence using deep learning techniques
spellingShingle Improving cyberthreat discovery in open source intelligence using deep learning techniques
Dionísio, Nuno Rafael Marques
Redes neuronais
Aprendizagem profunda
Deteção de ameaças de segurança
Redes convolucionais
Redes neuronais recorrentes
Teses de mestrado - 2018
Departamento de Informática
title_short Improving cyberthreat discovery in open source intelligence using deep learning techniques
title_full Improving cyberthreat discovery in open source intelligence using deep learning techniques
title_fullStr Improving cyberthreat discovery in open source intelligence using deep learning techniques
title_full_unstemmed Improving cyberthreat discovery in open source intelligence using deep learning techniques
title_sort Improving cyberthreat discovery in open source intelligence using deep learning techniques
author Dionísio, Nuno Rafael Marques
author_facet Dionísio, Nuno Rafael Marques
author_role author
dc.contributor.none.fl_str_mv Ferreira, Pedro Miguel Frazão Fernandes
Bessani, Alysson Neves, 1978-
Repositório da Universidade de Lisboa
dc.contributor.author.fl_str_mv Dionísio, Nuno Rafael Marques
dc.subject.por.fl_str_mv Redes neuronais
Aprendizagem profunda
Deteção de ameaças de segurança
Redes convolucionais
Redes neuronais recorrentes
Teses de mestrado - 2018
Departamento de Informática
topic Redes neuronais
Aprendizagem profunda
Deteção de ameaças de segurança
Redes convolucionais
Redes neuronais recorrentes
Teses de mestrado - 2018
Departamento de Informática
description Tese de mestrado, Segurança Informática, Universidade de Lisboa, Faculdade de Ciências, 2018
publishDate 2018
dc.date.none.fl_str_mv 2018
2018
2018-01-01T00:00:00Z
2019-01-15T16:37:07Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10451/36434
TID:202195902
url http://hdl.handle.net/10451/36434
identifier_str_mv TID:202195902
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799134442640375808