77 research outputs found

    Cyberthreat discovery in open source intelligence using deep learning techniques

    Get PDF
    Tese de mestrado, Informática, Universidade de Lisboa, Faculdade de Ciências, 2017Face à necessidade crescente de se processar grandes quantidades de dados relativos a ameaças de segurança, fomos cativados pelo desafio da descoberta de ameaças cibernéticas em fontes abertas através do uso de técnicas de aprendizagem automática. Em termos de dados, isto significa que trabalhámos com informação recolhida de fontes abertas como o Twitter. O que distingue o nosso trabalho encontra-se no modo como escolhemos abordar este desafio. A nossa hipótese é a de que processar tais quantidades de dados através de métodos de aprendizagem automática representa uma vantagem significativa em termos de eficiência e adequação, pelo que recorremos a redes neuronais. Escolhemos esta abordagem uma vez que as abordagens de aprendizagem automática têm vindo a ganhar destaque merecido uma vez que asseguram uma maneira robusta de resolver um número de tarefas extremamente complexas no contexto de problemas de big data. Esta dissertação introduz conceitos e noções gerais em que o nosso trabalho se baseia, apresenta o trabalho relacionado consultado por forma a ser eventualmente útil em trabalhos futuros, apresenta também o trabalho que realizámos, os resultados obtidos, e elenca sugestões sobre linhas de progresso promissoras e trabalho futuro. Antes de discutir resultados, é necessário começar por introduzir conceitos centrais, o primeiro dos quais sendo o de aprendizagem automática. Aprendizagem automática (machine learning) pode ser definida como a área ou abordagem da inteligência artificial de forma a que o sistema tenha a aptidão de aprender e melhorar com a experiência. Isto significa que não é necessária programação explícita para resolver o problema de partida pois o sistema de aprendizagem procura por regularidades nos dados e adquire a capacidade de tomar melhores decisões com base nos dados de exemplo que recebe. Aprofundando esta abordagem, uma rede neuronal é um paradigma de processamento inspirado no modo como processos biológicos nervosos, como os que ocorrem no cérebro humano, processam informação. A chave deste paradigma é a conexão entre os elementos básicos do sistema. Este é composto por um grande número de elementos de processamento, os neurónios, organizados em rede que entregam as suas saídas uns aos outros para resolverem problemas específicos, cabendo notar que uma rede neuronal é tipicamente condicionada no seu desenho pelo problema que se pretende que resolva, ou seja, é configurada para uma única aplicação (e.g. reconhecimento de padrões, classificação de dados, etcetera). De entre as técnicas de aprendizagem automática, a aprendizagem profunda (deep learning) tem adquirido grande relevância e vários projectos têm procurado explorar as suas vantagens. Trata-se de uma subárea da aprendizagem automática, e em particular das redes neuronais, sendo que o que distingue esta abordagem consiste no facto de os dados de entrada passarem por várias camadas funcionais de neurónios, usualmente não lineares, até serem totalmente processados. No nosso projecto, a rede neuronal foi aplicada na resolução do problema que consiste na classificação de tweets em itens que se referem a uma ameaça de segurança, ou itens não relevantes a esse respeito. Com essa finalidade, foi implementada uma rede neuronal convolucional, que comparativamente necessita de pouca intervenção humana para ser posta a funcionar. A vantagem de se aliviar a necessidade de tal intervenção também se prende com o tipo da rede, que pode ser supervisionada ou não supervisionada. Em aprendizagem supervisionada, um conjunto de dados de treino injectado na rede é composto por pares de entrada/saída, sendo que a entrada é tipicamente composta por um vector e a saída é o resultado pretendido para a entrada respetiva. A rede é treinada sobre todo o conjunto de dados para depois ser aplicada a novas situações ou dados de entrada desconhecidos. É assim necessário que o algoritmo de processamento generalize a partir dos dados de treino. No caso da aprendizagem não supervisada, os dados injectados na rede são apenas de entrada, o que obriga a rede a inferir funções que descrevem a possível estrutura subjacente aos dados, pois a sua classificação explícita não é fornecida à rede. Como os dados não estão associados à sua classificação, não é trivial avaliar a adequação do resultado obtido pela rede neste caso. Outro conceito importante é o de redes profundas (deep) vs. rasas (shallow). As redes neuronais são organizadas por camadas. Estas camadas são compostas por nós inter-conectados que contêm funções de activação, compreendendo a camada de entrada, as camadas escondidas, que pode englobar várias camadas para processamento de dados, e a camada de saída. O termo redes rasas é usado para descrever as redes que contêm apenas uma ou duas camadas escondidas, que são funcionalmente idênticas. No caso de redes profundas, estas tendem a ter mais camadas escondidas, com grupos de camadas com funcionalidades distintas. A terminologia mais comummente aceite é a de que para uma rede ser considerada profunda tem de conter pelo menos três camadas que são escondidas e funcionalmente distintas. As redes convolucionais são redes profundas compostas por várias camadas com funções não lineares aplicadas em cada nó. Em redes normais, cada neurónio de entrada está conectado a um neurónio de saída na camada seguinte. As redes neuronais convolucionais, por sua vez, optam antes por aplicar convoluções sobre a camada de entrada para computar a saída, em que cada região de entrada está conectada a um neurónio de saída, consistindo numa rede de conexões locais. Outro aspecto relevante das redes convolucionais é o de que durante a fase de treino, a rede aprende os valores dos seus filtros automaticamente baseando-se na tarefa a ser aprendida e executada. A última camada destas redes é então um classificador que usa as características (features) de alto nível inferidas pela rede. Como acabámos de assinalar, uma rede profunda tem várias camadas escondidas e esse é o modelo da rede que adoptámos no nosso trabalho. A primeira camada da nossa rede transforma palavras, e como consequência tweets, emvectores. Depois desta camada, passa-se às camadas de convolução, que iteram sobre os vectores de palavras embutidos (word embeddings) realizando convoluções sobre múltiplos filtros com janelas de dimensões diferentes. No nosso caso, optámos por ter três filtros, sendo que cada um itera sobre uma quantidade de palavras diferente para cada convolução. De seguida, para evitar que a rede se torne demasiado específica aos dados de treino (overfitting), temos uma camada de abandono (dropout) que obriga 50% dos neurónios a desligarem-se por forma a que os neurónios não se co-adaptem em demasia e por conseguinte sejam capazes de aprender características utéis individuais e independentes. Por último, uma camada de softmax é usada para classificar os dados de saída como positivos (tweet que menciona ameaças de segurança), ou negativos (caso contrário). Mesmo com uma rede convolucional, é preciso acertar vários parâmetros para que a rede seja eficiente e produza bons resultados. Após ter uma base de parâmetros com que a rede produz bons resultados, tratámos de avaliar com recurso a validação cruzada (cross validation) os parâmetros óptimos para a rede, variando apenas aqueles que verificámos que produziam a maior diferença nos resultados. Um dos parâmetros que foi feito variar foi o tamanho de um batch. Na análise dos nossos resultados, verificamos que tamanhos menores de batch levam a resultados piores. Atribuímos estes resultados piores ao facto de a rede treinar demasiado sobre o mesmo conjunto de dados, pois um batch menor implica um número maior de passos (steps) sobre um mesmo conjunto de dados. Outra procura de melhorar o desempenho da rede consistiu em tomar tweets que são positivos para uma dada infraestrutura e adicioná-los ao conjunto de dados para outra infraestrutura como tweets negativos (e.g. um tweet positivo para a Oracle é adicionado como um tweet negativo para o Chrome). Emgeral, o conjunto de dados de base obteve melhores resultados do que quando era assim modificado, sendo que atribuímos esta diferença ao facto de os dados de treino ficarem demasiado desequilibrados entre tweets positivos e negativos. De notar no entanto, que o conjunto de dados assim modificado teve, em geral, menos variância de resultados entre batches, devido provavelmente ao conjunto de dados de treino ser mais extenso. Não obstante a diferença de parâmetros, em geral a nossa rede apresentou bons resultados. Face aos resultados francamente positivos obtidos achamos que a instalação da nossa solução num centro de segurança operacional é viável e ajudará a detectar informação relevante acerca de várias ameaças possíveis que é veiculada de forma massiva através de tweets.Responding to an increasing need to process large amounts of data regarding security threats, in the present dissertation we are addressing the topic of cyberthreat discovery in Open Source Intelligence (OSINT) using deep learning techniques. In terms of data sources, this means that we will be working with information gathered in web media outlets such as Twitter. What differentiates our work is the way we approach the subject. Our standpoint is that to process such large amounts of data through deep learning architectures and algorithms represents a significant advantage in terms of efficiency and accuracy, which is why we will make use of neural networks. We adopt this approach given that deep learning mechanisms have recently gained much attention as they present an effective way to solve an increasing number of extremely complex tasks on very demanding big data problems. To train our neural networks, we need a dataset that is representative and as large as possible. Once that is gathered we proceed by formulating adequate deep learning architectures and algorithmic solutions. Our ultimate goal is to automatically classify tweets as referring, or not, to cyberthreats in order to assess whether our hypothesis gets confirmed. This dissertation is also meant to introduce general concepts and notions on the basis of which our work is deployed and to provide an overview of related work in such a way that this may be useful for future work. It also aims at providing an account of the work undertaken and of the obtained results, and last but not least to suggest what we see as promising paths for future work and improvements

    TSTEM: A Cognitive Platform for Collecting Cyber Threat Intelligence in the Wild

    Full text link
    The extraction of cyber threat intelligence (CTI) from open sources is a rapidly expanding defensive strategy that enhances the resilience of both Information Technology (IT) and Operational Technology (OT) environments against large-scale cyber-attacks. While previous research has focused on improving individual components of the extraction process, the community lacks open-source platforms for deploying streaming CTI data pipelines in the wild. To address this gap, the study describes the implementation of an efficient and well-performing platform capable of processing compute-intensive data pipelines based on the cloud computing paradigm for real-time detection, collecting, and sharing CTI from different online sources. We developed a prototype platform (TSTEM), a containerized microservice architecture that uses Tweepy, Scrapy, Terraform, ELK, Kafka, and MLOps to autonomously search, extract, and index IOCs in the wild. Moreover, the provisioning, monitoring, and management of the TSTEM platform are achieved through infrastructure as a code (IaC). Custom focus crawlers collect web content, which is then processed by a first-level classifier to identify potential indicators of compromise (IOCs). If deemed relevant, the content advances to a second level of extraction for further examination. Throughout this process, state-of-the-art NLP models are utilized for classification and entity extraction, enhancing the overall IOC extraction methodology. Our experimental results indicate that these models exhibit high accuracy (exceeding 98%) in the classification and extraction tasks, achieving this performance within a time frame of less than a minute. The effectiveness of our system can be attributed to a finely-tuned IOC extraction method that operates at multiple stages, ensuring precise identification of relevant information with low false positives

    Cybersecurity knowledge graphs

    Get PDF
    Cybersecurity knowledge graphs, which represent cyber-knowledge with a graph-based data model, provide holistic approaches for processing massive volumes of complex cybersecurity data derived from diverse sources. They can assist security analysts to obtain cyberthreat intelligence, achieve a high level of cyber-situational awareness, discover new cyber-knowledge, visualize networks, data flow, and attack paths, and understand data correlations by aggregating and fusing data. This paper reviews the most prominent graph-based data models used in this domain, along with knowledge organization systems that define concepts and properties utilized in formal cyber-knowledge representation for both background knowledge and specific expert knowledge about an actual system or attack. It is also discussed how cybersecurity knowledge graphs enable machine learning and facilitate automated reasoning over cyber-knowledge

    Multi-Level Fine-Tuning, Data Augmentation, and Few-Shot Learning for Specialized Cyber Threat Intelligence

    Full text link
    Gathering cyber threat intelligence from open sources is becoming increasingly important for maintaining and achieving a high level of security as systems become larger and more complex. However, these open sources are often subject to information overload. It is therefore useful to apply machine learning models that condense the amount of information to what is necessary. Yet, previous studies and applications have shown that existing classifiers are not able to extract specific information about emerging cybersecurity events due to their low generalization ability. Therefore, we propose a system to overcome this problem by training a new classifier for each new incident. Since this requires a lot of labelled data using standard training methods, we combine three different low-data regime techniques - transfer learning, data augmentation, and few-shot learning - to train a high-quality classifier from very few labelled instances. We evaluated our approach using a novel dataset derived from the Microsoft Exchange Server data breach of 2021 which was labelled by three experts. Our findings reveal an increase in F1 score of more than 21 points compared to standard training methods and more than 18 points compared to a state-of-the-art method in few-shot learning. Furthermore, the classifier trained with this method and 32 instances is only less than 5 F1 score points worse than a classifier trained with 1800 instances

    NLP-Based Techniques for Cyber Threat Intelligence

    Full text link
    In the digital era, threat actors employ sophisticated techniques for which, often, digital traces in the form of textual data are available. Cyber Threat Intelligence~(CTI) is related to all the solutions inherent to data collection, processing, and analysis useful to understand a threat actor's targets and attack behavior. Currently, CTI is assuming an always more crucial role in identifying and mitigating threats and enabling proactive defense strategies. In this context, NLP, an artificial intelligence branch, has emerged as a powerful tool for enhancing threat intelligence capabilities. This survey paper provides a comprehensive overview of NLP-based techniques applied in the context of threat intelligence. It begins by describing the foundational definitions and principles of CTI as a major tool for safeguarding digital assets. It then undertakes a thorough examination of NLP-based techniques for CTI data crawling from Web sources, CTI data analysis, Relation Extraction from cybersecurity data, CTI sharing and collaboration, and security threats of CTI. Finally, the challenges and limitations of NLP in threat intelligence are exhaustively examined, including data quality issues and ethical considerations. This survey draws a complete framework and serves as a valuable resource for security professionals and researchers seeking to understand the state-of-the-art NLP-based threat intelligence techniques and their potential impact on cybersecurity

    Improving cyberthreat discovery in open source intelligence using deep learning techniques

    Get PDF
    Tese 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%

    Harnessing Artificial Intelligence Capabilities to Improve Cybersecurity

    Get PDF
    Cybersecurity is a fast-evolving discipline that is always in the news over the last decade, as the number of threats rises and cybercriminals constantly endeavor to stay a step ahead of law enforcement. Over the years, although the original motives for carrying out cyberattacks largely remain unchanged, cybercriminals have become increasingly sophisticated with their techniques. Traditional cybersecurity solutions are becoming inadequate at detecting and mitigating emerging cyberattacks. Advances in cryptographic and Artificial Intelligence (AI) techniques (in particular, machine learning and deep learning) show promise in enabling cybersecurity experts to counter the ever-evolving threat posed by adversaries. Here, we explore AI\u27s potential in improving cybersecurity solutions, by identifying both its strengths and weaknesses. We also discuss future research opportunities associated with the development of AI techniques in the cybersecurity field across a range of application domains
    corecore