Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/103014
DC FieldValueLanguage
dc.contributor.advisorFonseca, José-
dc.contributor.advisorIvaki, Naghmeh Ramezani-
dc.contributor.authorBogaerts, Frédéric Christophe Gabriel-
dc.date.accessioned2022-10-17T22:02:59Z-
dc.date.available2022-10-17T22:02:59Z-
dc.date.issued2022-07-11-
dc.date.submitted2022-10-17-
dc.identifier.urihttps://hdl.handle.net/10316/103014-
dc.descriptionDissertação de Mestrado em Segurança Informática apresentada à Faculdade de Ciências e Tecnologia-
dc.description.abstractÉ 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 detetar mais pontos de injeção com uma menor taxa de erros.por
dc.description.abstractSoftware without vulnerabilities is difficult to develop, even when the best programming practices are followed. Information exfiltration is prevented with security scanners and vulnerability detection tools.This brings up these questions: how effective are these tools? what is the impact of undetected vulnerabilities?Python is one of the most used programming languages in the world. Therefore, we aimed to develop a vulnerability injection tool capable of generating and injecting vulnerable code to: i) evaluate and compare the performance and effectiveness of security scanners and vulnerabilities detection tools, ii) assess the impact of each vulnerability.After analyzing a wide range of Python’s vulnerabilities (the vulnerable and patched algorithms) we implemented a prototype that identifies and attacks code injection points.We propose a static code analysis method to obtain results from AI models (using recurring neural networks based on Machine Learning).Vulnerability injection is validated through a successful attack. Our technique shortens the gap of deficiencies from the common search for vulnerabilities, which is done using text and regular expressions (Regex).By implementing the proposed technique in a multi-platform prototype called VAITP (Vulnerability Attack and Injection Tool in Python) we allow the identification of vulnerabilities and injection points. This prototype can also attack vulnerable code and generate a PDF report regarding information such as: i) injection points, ii) vulnerabilities and iii) successful payloads and attacks.The baseline for our study was the use of Regex implemented in VAITP. Nearly a hundred and fifty Python files were used and divided into injectable, vulnerable and non-injectable. Both techniques (with Regex and AI models) are able to inject vulnerabilities into injectable files. However, artificial intelligence, detects more injection points with a lower error rate.eng
dc.description.sponsorshipUniversidade de Coimbra - Bolsas de investigação CISUC-SSE-779706 e VALU3S-810809.-
dc.language.isoeng-
dc.rightsopenAccess-
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/-
dc.subjectInjeção de Vulnerabilidades,por
dc.subjectRedes Neurais Recorrentespor
dc.subjectInteligência Artificialpor
dc.subjectDeep Learningpor
dc.subjectAnálise Estática de Código Pythonpor
dc.subjectVulnerability Injectioneng
dc.subjectRecurrent Neural Networkseng
dc.subjectArtificial Intelligenceeng
dc.subjectDeep Learningeng
dc.subjectStatic Python Code Analysiseng
dc.titleTowards Vulnerability Injection using Artificial Intelligenceeng
dc.title.alternativeRumo à injeção de vulnerabilidades em Python com Inteligência Artificialpor
dc.typemasterThesis-
degois.publication.locationDEI | CISUC-
degois.publication.titleTowards Vulnerability Injection using Artificial Intelligenceeng
dc.peerreviewedyes-
dc.identifier.tid203077865-
thesis.degree.disciplineInformática-
thesis.degree.grantorUniversidade de Coimbra-
thesis.degree.level1-
thesis.degree.nameMestrado em Segurança Informática-
uc.degree.grantorUnitFaculdade de Ciências e Tecnologia - Departamento de Engenharia Informática-
uc.degree.grantorID0500-
uc.contributor.authorBogaerts, Frédéric Christophe Gabriel::0000-0002-9816-3216-
uc.degree.classification17-
uc.degree.presidentejuriSimões, Paulo Alexandre Ferreira-
uc.degree.elementojuriIvaki, Naghmeh Ramezani-
uc.degree.elementojuriNeves, Nuno-
uc.contributor.advisorFonseca, José-
uc.contributor.advisorIvaki, Naghmeh Ramezani-
item.openairetypemasterThesis-
item.fulltextCom Texto completo-
item.languageiso639-1en-
item.grantfulltextopen-
item.cerifentitytypePublications-
item.openairecristypehttp://purl.org/coar/resource_type/c_18cf-
Appears in Collections:UC - Dissertações de Mestrado
Files in This Item:
File Description SizeFormat
2022___Master_Thesis___Frederic_Bogaerts.pdf8.49 MBAdobe PDFView/Open
Show simple item record

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons