16 mar 2022
10:00 Defesa de Mestrado Integralmente a distância
Tema
Detectando mau uso de métodos criptográficos com aprendizado de máquina
Aluno
Gustavo Eloi de Paula Rodrigues
Orientador / Docente
Orientador: Ricardo Dahab / Coorientador: Alexandre Melo Braga
Breve 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.
Banca examinadora
Titulares:
Ricardo Dahab IC/UNICAMP
Nuno Manuel dos Santos Antunes DEI/UC
Sandra Eliza Fontes de Avila IC/UNICAMP
Suplentes:
Marco Paulo Amorim Vieira DEI/UC
Julio Cesar Lopez Hernandez IC/UNICAMP