Automatic Removal of Flaws in Embedded System Software
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10451/53777 |
Resumo: | Tese de mestrado, Segurança Informática, Universidade de Lisboa, Faculdade de Ciências, 2022 |
id |
RCAP_26bbaadb818d0f73af5632a4cc172fd6 |
---|---|
oai_identifier_str |
oai:repositorio.ul.pt:10451/53777 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
Automatic Removal of Flaws in Embedded System SoftwareVulnerabilidades de Buffer OverflowAnálise EstáticaFuzzingCorrecção de CódigoSegurança de SoftwareTeses de mestrado - 2022Departamento de InformáticaTese de mestrado, Segurança Informática, Universidade de Lisboa, Faculdade de Ciências, 2022Currently, embedded systems are present in a myriad of devices, such as Internet of Things, drones, and Cyber-physical Systems. The security of these devices can be critical, depending on the context they are integrated and the role they play (e.g., water plant, car). C is the core language used to develop the software for these devices and is known for missing the bounds of its data types, which leads to vulnerabilities such as buffer overflows. These vulnerabilities, when exploited, cause severe damage and can put human life in danger. Therefore, the software of these devices must be secure. One of the concerns with vulnerable C programs is to correct the code automatically, employing secure code that can remove the existing vulnerabilities and avoid attacks. However, such task faces some challenges after finding the vulnerabilities, namely determining what code is needed to remove them and where to insert that code, maintaining the correct behavior of the application after applying the code correction, and verifying that the generated code correction is secure and effectively removes the vulnerabilities. Another challenge is to accomplish all these elements automatically. This work aims to study diverse types of buffer overflow vulnerabilities in the C programming lan guage, forms to build secure code for invalidating such vulnerabilities, including functions from the C language that can be used to remove flaws. Based on this knowledge, we propose an approach that automatically, after discovering and confirming potential vulnerabilities of an application, applies code correction to fix the vulnerable code of those vulnerabilities verified and validate the new code with fuzzing/attack injection. We implemented our approach and evaluated it with a set of test cases and with real applications. The experimental results showed that the tool detected the intended vulnerabilities and generated corrections capable of removing the vulnerabilities found.Medeiros, Ibéria Vitória de Sousa, 1971-Repositório da Universidade de LisboaInácio, João Maria Martins2022-07-13T12:47:46Z202220222022-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10451/53777enginfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-08T16:59:54Zoai:repositorio.ul.pt:10451/53777Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T22:04:44.596168Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
Automatic Removal of Flaws in Embedded System Software |
title |
Automatic Removal of Flaws in Embedded System Software |
spellingShingle |
Automatic Removal of Flaws in Embedded System Software Inácio, João Maria Martins Vulnerabilidades de Buffer Overflow Análise Estática Fuzzing Correcção de Código Segurança de Software Teses de mestrado - 2022 Departamento de Informática |
title_short |
Automatic Removal of Flaws in Embedded System Software |
title_full |
Automatic Removal of Flaws in Embedded System Software |
title_fullStr |
Automatic Removal of Flaws in Embedded System Software |
title_full_unstemmed |
Automatic Removal of Flaws in Embedded System Software |
title_sort |
Automatic Removal of Flaws in Embedded System Software |
author |
Inácio, João Maria Martins |
author_facet |
Inácio, João Maria Martins |
author_role |
author |
dc.contributor.none.fl_str_mv |
Medeiros, Ibéria Vitória de Sousa, 1971- Repositório da Universidade de Lisboa |
dc.contributor.author.fl_str_mv |
Inácio, João Maria Martins |
dc.subject.por.fl_str_mv |
Vulnerabilidades de Buffer Overflow Análise Estática Fuzzing Correcção de Código Segurança de Software Teses de mestrado - 2022 Departamento de Informática |
topic |
Vulnerabilidades de Buffer Overflow Análise Estática Fuzzing Correcção de Código Segurança de Software Teses de mestrado - 2022 Departamento de Informática |
description |
Tese de mestrado, Segurança Informática, Universidade de Lisboa, Faculdade de Ciências, 2022 |
publishDate |
2022 |
dc.date.none.fl_str_mv |
2022-07-13T12:47:46Z 2022 2022 2022-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/10451/53777 |
url |
http://hdl.handle.net/10451/53777 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
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ório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799134598737690624 |