Repository logo
 
Publication

Automatic binary patching for flaws repairing using static rewriting and reverse dataflow analysis

datacite.subject.fosEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informáticapt_PT
dc.contributor.advisorMedeiros, Ibéria Vitória de Sousa
dc.contributor.authorFerreira, Diogo Tomás
dc.date.accessioned2023-06-14T15:21:26Z
dc.date.available2023-06-14T15:21:26Z
dc.date.issued2023
dc.date.submitted2022
dc.descriptionTese de Mestrado, Segurança Informática, 2022, Universidade de Lisboa, Faculdade de Ciênciaspt_PT
dc.description.abstractThe C programming language is widely used in embedded systems, kernel and hardware programming, making it one of the most commonly used programming languages. However, C lacks of boundary verification of variables, making it one of the most vulnerable languages. Because of this and associated with its high usability, it is also the language with most reported vulnerabilities in the past ten years, being the memory corruption the most common type of vulnerabilities, specifically buffer overflows. These vulnerabilities when exploited can produce critical consequences, being thus extremely important not only to correctly identify these vulnerabilities but also to properly fix them. This work aims to study buffer overflow vulnerabilities in C binary programs by identifying possible malicious inputs that can trigger such vulnerabilities and finding their root cause in order to mitigate the vulnerabilities by rewriting the binary assembly code and thus generating a new binary without the original flaw. The main focus of this thesis is the use of binary patching to automatically fix stack overflow vulnerabilities and validate its effectiveness while ensuring that these do not add new vulnerabilities. Working with the binary code of applications and without accessing their source code is a challenge because any required change to its binary code (i.e, assembly) needs to take into consideration that new instructions must be allocated, and this typically means that existing instructions will need to be moved to create room for new ones and recover the control flow information, otherwise the application would be compromised. The approach we propose to address this problem was successfully implemented in a tool and evaluated with a set of test cases and real applications. The evaluation results showed that the tool was effective in finding vulnerabilities, as well as in patching them.pt_PT
dc.identifier.tid203493290
dc.identifier.urihttp://hdl.handle.net/10451/58214
dc.language.isoengpt_PT
dc.relationI3C4-17039/FEDER-039238pt_PT
dc.relationLASIGE - Extreme Computing
dc.subjectVulnerabilidades de Stack Overflowpt_PT
dc.subjectCorreção de Código Bináriopt_PT
dc.subjectEngenharia Reversapt_PT
dc.subjectAnálise Dinâmicapt_PT
dc.subjectSegurança de Softwarept_PT
dc.subjectTeses de mestrado - 2023pt_PT
dc.titleAutomatic binary patching for flaws repairing using static rewriting and reverse dataflow analysispt_PT
dc.typemaster thesis
dspace.entity.typePublication
oaire.awardTitleLASIGE - Extreme Computing
oaire.awardURIinfo:eu-repo/grantAgreement/FCT/6817 - DCRRNI ID/UIDB%2F00408%2F2020/PT
oaire.fundingStream6817 - DCRRNI ID
project.funder.identifierhttp://doi.org/10.13039/501100001871
project.funder.nameFundação para a Ciência e a Tecnologia
rcaap.rightsopenAccesspt_PT
rcaap.typemasterThesispt_PT
relation.isProjectOfPublicationb429b8f0-500f-4a0b-8e91-33e0a200ad1c
relation.isProjectOfPublication.latestForDiscoveryb429b8f0-500f-4a0b-8e91-33e0a200ad1c
thesis.degree.nameMestrado em Segurança Informáticapt_PT

Files

Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
TM_Diogo_Ferreira.pdf
Size:
824.78 KB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.2 KB
Format:
Item-specific license agreed upon to submission
Description: