Static Analysis to Detect Memory Corruption Vulnerabilities
| dc.contributor.advisor | Vojdani, Vesal, juhendaja | |
| dc.contributor.author | Amjaga, Roman | |
| dc.contributor.other | Tartu Ülikool. Loodus- ja täppisteaduste valdkond | et |
| dc.contributor.other | Tartu Ülikool. Arvutiteaduse instituut | et |
| dc.date.accessioned | 2025-10-23T08:55:06Z | |
| dc.date.available | 2025-10-23T08:55:06Z | |
| dc.date.issued | 2025 | |
| dc.description.abstract | Memory corruption attacks have existed for a long time, and despite that, they are still considered a major threat to modern software. In fact, memory safety is such a major problem that in 2023, the U.S. Cybersecurity and Infrastructure Security Agency and in the year 2024, the Office of the National Cyber Director released articles, addressing the need for memory safety in modern and future software. The most widespread solution to memory safety problems is the use of memory-safe programming languages. In addition to not solving the problem completely, such an approach also does not take into consideration all the software that is written using non-memory-safe programming languages. Due to different constraints, it is often not realistic to rewrite a whole application to another programming language. The need for code written in a non-memory-safe programming language to be secure has several solutions with their advantages and downsides. This paper focuses on one such solution, that is, static code analysis. Static code analysis inspects the code without executing it and can detect a wide range of vulnerabilities. This paper contributed to the field by examining the cause of modern memory corruption bugs in the code. During the analysis, modern static code analyzers were tested to determine whether static code analysis is an effective measure against memory corruption vulnerabilities. In addition, a test suite of simplified real-world vulnerabilities was created for further refinement of static code analysis tools. | |
| dc.description.abstract | Mälu korruptsiooni rünnakud on pikaaegne probleem ning vaatamata sellele, on see endiselt kaasaegse tarkvara jaoks tõsine ohutegur. Mälu turvalisus on laialdane probleem, mistõttu 2023. aastal avaldas Ameerika küberkaitseagentuur ja 2024. aastal Ameerika Valge Maja Riikliku Küberturvalisuse Direktorite Büroo artiklid, milles käsitleti vajadust mälu turvalisuse tagamiseks kaasaegses ja tuleviku tarkvaras. Kõige levinum mälu turvalisuse probleemide lahendus on mälu turvaliste programmeerimiskeelte kasutamine. Antud viis aga ei lahenda probleemi täielikult ning lisaks ei võta selline lähenemine arvesse kogu tarkvara, mis on kirjutatud mitte mälu turvalistes programmeerimiskeeltes. Erinevate piirangute tõttu ei ole sageli realistlik kogu rakendust kirjutada ümber teise, ehk mälu turvalisse programmeerimiskeelde, vaid lisaks on aktuaalne ja oluline mitte mälu turvalises programmeerimiskeeles kirjutatud koodi turvalisus. Selle saavutamiseks on olemas mitmeid lahendusi, millel on oma eelised ja puudused. Käesolev töö keskendub ühele võimalikule lahendusele – staatilisele koodianalüüsile. Staatiline koodianalüüs uurib koodi seda käivitamata ning on võimeline tuvastama laias ulatuses haavatavusi. Käesolev töö annab panuse antud valdkonda, uurides kaasaegsete mälukorruptsiooni vigade põhjuseid koodis. Analüüsi käigus testiti kaasaegseid staatilisi koodianalüüsi tööriistu, et teha kindlaks, kas staatiline koodianalüüs on tõhus meede mälu korruptsioonist tulenevate haavatavuste vastu. Lisaks loodi testide komplekt lihtsustatud reaalsetest haavatavustest, et aidata staatilisi koodianalüüsi tööriistu edaspidiselt arendada. | |
| dc.identifier.uri | https://hdl.handle.net/10062/117034 | |
| dc.language.iso | en | |
| dc.publisher | Tartu Ülikool | et |
| dc.rights | Attribution-NonCommercial-NoDerivatives 4.0 International | |
| dc.rights.uri | https://creativecommons.org/licenses/by-nc-nd/4.0/ | |
| dc.subject | Memory corruption | |
| dc.subject | Static code analysis | |
| dc.subject | Test suite | |
| dc.subject | statiline koodianalüüs | |
| dc.subject | testide komplekt | |
| dc.subject.other | magistritööd | et |
| dc.subject.other | informaatika | et |
| dc.subject.other | infotehnoloogia | et |
| dc.subject.other | informatics | en |
| dc.subject.other | infotechnology | en |
| dc.title | Static Analysis to Detect Memory Corruption Vulnerabilities | |
| dc.title.alternative | Staatiline analüüs mälu rikkumise haavatavuste tuvastamiseks | |
| dc.type | Thesis | en |
Failid
Originaal pakett
1 - 1 1
Laen...
- Nimi:
- Amjaga_Cybersecurity_2025.pdf
- Suurus:
- 1.2 MB
- Formaat:
- Adobe Portable Document Format