Towards Vulnerability Injection using Artificial Intelligence ; Rumo à injeção de vulnerabilidades em Python com Inteligência Artificial

Uloženo v:
Podrobná bibliografie
Název: Towards Vulnerability Injection using Artificial Intelligence ; Rumo à injeção de vulnerabilidades em Python com Inteligência Artificial
Autoři: Bogaerts, Frédéric Christophe Gabriel
Přispěvatelé: Fonseca, José, Ivaki, Naghmeh Ramezani
Rok vydání: 2022
Sbírka: Universidade de Coimbra: Estudo Geral
Témata: Injeção de Vulnerabilidades, Redes Neurais Recorrentes, Inteligência Artificial, Deep Learning, Análise Estática de Código Python, Vulnerability Injection, Recurrent Neural Networks, Artificial Intelligence, Static Python Code Analysis
Popis: Dissertação de Mestrado em Segurança Informática apresentada à Faculdade de Ciências e Tecnologia ; É difícil desenvolver software sem vulnerabilidades mesmo quando são seguidas as melhores práticas de programação. A prevenção da exfiltração de informação é feita com scanners de segurança e ferramentas de detecção de vulnerabilidades.Isto levanta as questões: quão eficazes são estas ferramentas? qual o impacto de uma vulnerabilidade não detectada?Python é uma das linguagens de programação mais usadas no mundo. Logo visamos desenvolver uma ferramenta capaz de injetar vulnerabilidades e de criarcódigo vulnerável para: i) avaliar e comparar a performance e eficácia dos scanners de segurança e de vulnerabilidades, ii) avaliar o impacto de cada vulnerabilidade.Após analisar um vasto leque de vulnerabilidades Python (tanto em códigos vulneráveis como corrigidos) implementámos um protótipo que identifica e ataca pontos de injeção.Propomos um método de análise estática que obtém resultados de modelos de IA (com redes neuronais recorrentes baseadas em Machine Learning).A injeção de vulnerabilidades pode ser validada através de um ataque bem sucedido. A nossa técnica diminui as deficiências da procura comum de vulnerabilidades com base em texto e expressões regulares (Regex).Ao implementar a técnica proposta num protótipo multi-plataforma denominadoVAITP (Vulnerability Attack and Injection Tools in Python) possibilitamos a identificação de vulnerabilidades e pontos de injeção.O protótipo consegue atacar código vulnerável e cria ainda um relatório em PDF com informação tal como: i) pontos de injeção, ii) vulnerabilidades e iii) ataques e payloads bem sucedidos.Para servir de base ao nosso estudo implementamos Regex no VAITP. Cerca de centena e meia de ficheiros Python foram utilizados como teste, divididos em injetáveis, vulneráveis e não-injetáveis. Ambas as técnicas (com Regex e modelos de IA) foram bem sucedidas na injeção de vulnerabilidades em ficheiros injetáveis. Todavia, a utilização de IA, demonstrou ser capaz de ...
Druh dokumentu: master thesis
Jazyk: English
Relation: https://hdl.handle.net/10316/103014; 203077865
Dostupnost: https://hdl.handle.net/10316/103014
Rights: info:eu-repo/semantics/openAccess
Přístupové číslo: edsbas.E431B00
Databáze: BASE
Popis
Abstrakt:Dissertação de Mestrado em Segurança Informática apresentada à Faculdade de Ciências e Tecnologia ; É difícil desenvolver software sem vulnerabilidades mesmo quando são seguidas as melhores práticas de programação. A prevenção da exfiltração de informação é feita com scanners de segurança e ferramentas de detecção de vulnerabilidades.Isto levanta as questões: quão eficazes são estas ferramentas? qual o impacto de uma vulnerabilidade não detectada?Python é uma das linguagens de programação mais usadas no mundo. Logo visamos desenvolver uma ferramenta capaz de injetar vulnerabilidades e de criarcódigo vulnerável para: i) avaliar e comparar a performance e eficácia dos scanners de segurança e de vulnerabilidades, ii) avaliar o impacto de cada vulnerabilidade.Após analisar um vasto leque de vulnerabilidades Python (tanto em códigos vulneráveis como corrigidos) implementámos um protótipo que identifica e ataca pontos de injeção.Propomos um método de análise estática que obtém resultados de modelos de IA (com redes neuronais recorrentes baseadas em Machine Learning).A injeção de vulnerabilidades pode ser validada através de um ataque bem sucedido. A nossa técnica diminui as deficiências da procura comum de vulnerabilidades com base em texto e expressões regulares (Regex).Ao implementar a técnica proposta num protótipo multi-plataforma denominadoVAITP (Vulnerability Attack and Injection Tools in Python) possibilitamos a identificação de vulnerabilidades e pontos de injeção.O protótipo consegue atacar código vulnerável e cria ainda um relatório em PDF com informação tal como: i) pontos de injeção, ii) vulnerabilidades e iii) ataques e payloads bem sucedidos.Para servir de base ao nosso estudo implementamos Regex no VAITP. Cerca de centena e meia de ficheiros Python foram utilizados como teste, divididos em injetáveis, vulneráveis e não-injetáveis. Ambas as técnicas (com Regex e modelos de IA) foram bem sucedidas na injeção de vulnerabilidades em ficheiros injetáveis. Todavia, a utilização de IA, demonstrou ser capaz de ...