Detectando mau uso de métodos criptográficos com aprendizado de máquina
Autor: | Rodrigues, Gustavo Eloi de Paula, 1995 |
---|---|
Přispěvatelé: | Dahab, Ricardo, 1957, Braga, Alexandre Melo, 1974, Antunes, Nuno Manuel dos Santos, Avila, Sandra Eliza Fontes de, Universidade Estadual de Campinas. Instituto de Computação, Programa de Pós-Graduação em Ciência da Computação, UNIVERSIDADE ESTADUAL DE CAMPINAS |
Rok vydání: | 2022 |
Předmět: | |
Zdroj: | Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) Universidade Estadual de Campinas (UNICAMP) instacron:UNICAMP |
Popis: | Orientadores: Ricardo Dahab, Alexandre Melo Braga Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação Resumo: Esta dissertação segue o formato alternativo de acordo com a Informação CCPG/001/2015 em seu artigo 2º do Instituto de Computação da UNICAMP. Três artigos compõem este trabalho e são apresentados na ordem cronológica em que foram submetidos para revisão. Todos os artigos exploram o problema da aplicação do aprendizado de máquina na detecção de maus usos de métodos criptográficos. Os artigos seguem uma ordem iterativa de pensamento e desenvolvimento deste tópico. O primeiro artigo trata do problema da construção de modelos de aprendizado de máquina supervisionados para detectar maus usos de métodos criptográficos usando representações em grafos de códigos-fonte. Para fazer isso, um algoritmo de extração de características de grafos chamado Bag of Graphs foi adaptado para lidar com representações de grafos de código-fonte. Os modelos resultantes deste trabalho superaram as ferramentas de detecção anteriores por uma alta margem em métricas de precisão, recall e F1-score. O segundo artigo expande o artigo anterior usando uma técnica comum de extração de características de grafos chamada node2vec como um extrator de características. Queríamos comparar nossa abordagem anterior com uma não artesanal e verificar se uma técnica comumente usada superava, em desempenho, nossa técnica adaptada . Os modelos resultantes nos mostraram que nossa abordagem anterior superou esta aplicação de node2vec. No entanto, node2vec ainda supera as ferramentas de detecção presentes na literatura. O último artigo trata do aprimoramento dos nossos modelos anteriores. Com esse propósito, exploramos uma arquitetura de aprendizado profundo chamada code2vec por meio de transferência de aprendizado. Este modelo serviu como um extrator de recursos de embeddings de um código-fonte que usamos para alimentar diferentes modelos de aprendizado de máquina. Também adaptamos uma sugestão na literatura sobre aumentação de dados em códigos-fonte através do uso de ofuscação do código. Os resultados obtidos mostraram que code2vec teve desempenho semelhante ou melhor do que nossas abordagens anteriores e o aumento de dados reduz o número de falsos negativos quando usado durante o treinamento de modelos. Adicionalmente, o trabalho resumido nos artigos anteriores forneceu uma metodologia robusta para construir modelos de aprendizado de máquina a fim de detectar maus usos de métodos criptográficos com sucesso. Além disso, abordagens do estado da arte foram avaliadas para construir essa metodologia Abstract: This dissertation follows the alternative format, according to Information CCPG/001/2015 in its article 2nd of the Institute of Computing of UNICAMP. Three articles comprise this work and they are presented in the chronological order they were submitted for review. All of the articles explore the problem of applying machine learning in cryptographic misuse detection. They follow an iterative order of thinking and development of this topic. The first article deals with the problem of building supervised machine learning models in order to detect cryptographic misuses using graph representations of source code. To do this, a graph feature extraction algorithm called Bag of Graphs was adapted to deal with source code graph representations. The resulting models from this work surpassed previous detection tools by a high margin in precision, recall, and F1-score metrics. The second article expands on the first by using a common graph feature extraction technique called node2vec as a feature extractor. We wanted to compare our previous approach to a non-handcrafted one and check if a commonly used technique surpassed our adapted technique in performance. The resulting models showed us that our previous approach outperformed this application of node2vec. However, \textit{node2vec} still outperforms previous detection tools. The last article deals with the enhancement of our previous models. With this purpose, we explored a deep learning architecture called code2vec through transfer learning. This model served as a feature extractor of embeddings of a source code that we used to feed different machine learning models. We also adapted a suggestion in the literature regarding data augmentation in source codes through the use of source code obfuscation. The obtained results showed that code2vec had similar or better performance than our previous approaches and data augmentation reduces the number of false negatives when used during the training of models. Furthermore, the work summarized in the previous articles provided a robust methodology to build machine learning models in order to detect cryptographic misuses successfully. Also, state-of-the-art approaches were evaluated to build this methodology Mestrado Ciência da Computação Mestre em Ciência da Computação CAPES 0 |
Databáze: | OpenAIRE |
Externí odkaz: |