Deteção e Correção Automática de Vulnerabilidades Recorrendo a Large Language Models

Detalhes bibliográficos
Autor(a) principal: Santos, Duarte José Oliveira
Data de Publicação: 2024
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
Texto Completo: http://hdl.handle.net/10400.5/96715
Resumo: Trabalho de projeto de mestrado, Segurança Informática , 2024, Universidade de Lisboa, Faculdade de Ciências
id RCAP_d6fc5ecbc6d3c0007d291d0f12b99ed0
oai_identifier_str oai:repositorio.ulisboa.pt:10400.5/96715
network_acronym_str RCAP
network_name_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository_id_str https://opendoar.ac.uk/repository/7160
spelling Deteção e Correção Automática de Vulnerabilidades Recorrendo a Large Language ModelsSegurança informáticaVulnerabilidadesPromptPatchModelos de Linguagem Natural de Grande EscalaTrabalhos de projeto de mestrado - 2024Departamento de InformáticaTrabalho de projeto de mestrado, Segurança Informática , 2024, Universidade de Lisboa, Faculdade de CiênciasNa atual era digital, a informação tornou-se um dos ativos mais valiosos, e a privacidade das pessoas passou a ser uma preocupação constante e crescente. A proliferação de serviços web e a interconexão global expõem-nos a um número sem precedentes de ameaças e ataques informáticos, colocando em risco tanto os dados pessoais quanto os ativos empresariais. As motivações dos atacantes variam desde a obtenção de lucros rápidos até à simples intenção de causar disrupção em sistemas críticos. Entre as diversas técnicas utilizadas para comprometer sistemas, a exploração de vulnerabilidades no código-fonte permanece como um método amplamente utilizado. A complexidade inerente ao desenvolvimento de software seguro explica em parte, a presença destas falhas. As ferramentas de analise estática têm sido essenciais na identificação de vulnerabilidades conhecidas ao longo do ciclo de desenvolvimento do software. No entanto, a eficácia destas ferramentas e constantemente posta à prova pela crescente sofisticação e camuflagem dos ataques, bem como pela sua limitada capacidade de corrigir vulnerabilidades identificadas. As empresas devem reconhecer a necessidade urgente de proteger os seus ativos digitais, enquanto os programadores devem integrar praticas de segurança desde as fases iniciais do desenvolvimento, evitando confiar no bom comportamento dos utilizadores. Este trabalho propõe a ferramenta CodeShieldLLM, concebida para apoiar programadores na identificação e correção de vulnerabilidades de dia zero no código-fonte. As principais funcionalidades da ferramenta incluem a possibilidade de criação de datasets com exemplos de código vulnerável e seguro em diversas linguagens de programação (tendo sido utilizado Python neste trabalho), a utilização de LLMs para identificar e corrigir essas vulnerabilidades, e a avaliação da eficácia da ferramenta. Embora focada nesta linguagem, a ferramenta demonstra potencial de aplicação em outras, evidenciando-se como uma solução prática e escalável para melhorar a segurança do software.In the current digital age, information has become one of the most valuable assets, and individuals’ privacy has become a constant and growing concern. The proliferation of web services and global interconnectivity expose us to an unprecedented number of threats and cyberattacks, jeopardizing both personal data and corporate assets. Attackers’ motivations range from seeking quick profits to the simple intent of causing disruption in critical systems. Among the various techniques used to compromise systems, the exploitation of vulnerabilities in source code remains a widely used method. The inherent complexity of developing secure software partly explains the presence of these flaws. Static analysis tools have been essential in identifying known vulnerabilities throughout the software development lifecycle. However, the effectiveness of these tools is constantly tested by the growing sophistication and camouflage of attacks, as well as their limited ability to remediate identified vulnerabilities. Companies must recognize the urgent need to protect their digital assets, while programmers should integrate security practices from the early stages of development, avoiding reliance on users’ good behavior. This work proposes the CodeShieldLLM tool, designed to assist programmers in identifying and correcting zero-day vulnerabilities in source code. The tool’s main features include the ability to create datasets with examples of vulnerable and secure code in various programming languages (with Python being used in this work), the utilization of LLMs to identify and fix these vulnerabilities, and the evaluation of the tool’s effectiveness. Although focused on this language, the tool demonstrates potential for application in others, establishing itself as a practical and scalable solution to improve software security.Neves, Nuno Fuentecilla Maia Ferreira, 1969-Repositório da Universidade de LisboaSantos, Duarte José Oliveira2024-12-27T14:49:09Z202420242024-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10400.5/96715TID:203880056porinfo:eu-repo/semantics/openAccessreponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiainstacron:RCAAP2025-03-17T16:30:53Zoai:repositorio.ulisboa.pt:10400.5/96715Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireinfo@rcaap.ptopendoar:https://opendoar.ac.uk/repository/71602025-05-29T04:17:48.189234Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologiafalse
dc.title.none.fl_str_mv Deteção e Correção Automática de Vulnerabilidades Recorrendo a Large Language Models
title Deteção e Correção Automática de Vulnerabilidades Recorrendo a Large Language Models
spellingShingle Deteção e Correção Automática de Vulnerabilidades Recorrendo a Large Language Models
Santos, Duarte José Oliveira
Segurança informática
Vulnerabilidades
Prompt
Patch
Modelos de Linguagem Natural de Grande Escala
Trabalhos de projeto de mestrado - 2024
Departamento de Informática
title_short Deteção e Correção Automática de Vulnerabilidades Recorrendo a Large Language Models
title_full Deteção e Correção Automática de Vulnerabilidades Recorrendo a Large Language Models
title_fullStr Deteção e Correção Automática de Vulnerabilidades Recorrendo a Large Language Models
title_full_unstemmed Deteção e Correção Automática de Vulnerabilidades Recorrendo a Large Language Models
title_sort Deteção e Correção Automática de Vulnerabilidades Recorrendo a Large Language Models
author Santos, Duarte José Oliveira
author_facet Santos, Duarte José Oliveira
author_role author
dc.contributor.none.fl_str_mv Neves, Nuno Fuentecilla Maia Ferreira, 1969-
Repositório da Universidade de Lisboa
dc.contributor.author.fl_str_mv Santos, Duarte José Oliveira
dc.subject.por.fl_str_mv Segurança informática
Vulnerabilidades
Prompt
Patch
Modelos de Linguagem Natural de Grande Escala
Trabalhos de projeto de mestrado - 2024
Departamento de Informática
topic Segurança informática
Vulnerabilidades
Prompt
Patch
Modelos de Linguagem Natural de Grande Escala
Trabalhos de projeto de mestrado - 2024
Departamento de Informática
description Trabalho de projeto de mestrado, Segurança Informática , 2024, Universidade de Lisboa, Faculdade de Ciências
publishDate 2024
dc.date.none.fl_str_mv 2024-12-27T14:49:09Z
2024
2024
2024-01-01T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10400.5/96715
TID:203880056
url http://hdl.handle.net/10400.5/96715
identifier_str_mv TID:203880056
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
instname:FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron:RCAAP
instname_str FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
instacron_str RCAAP
institution RCAAP
reponame_str Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
collection Repositórios Científicos de Acesso Aberto de Portugal (RCAAP)
repository.name.fl_str_mv Repositórios Científicos de Acesso Aberto de Portugal (RCAAP) - FCCN, serviços digitais da FCT – Fundação para a Ciência e a Tecnologia
repository.mail.fl_str_mv info@rcaap.pt
_version_ 1833602008527929344