STATIC ANALYSIS TOOLS FOR DETECTING STACK-BASED BUFFER OVERFLOWS
dc.contributor.advisor | Irvine, Cynthia E. | |
dc.contributor.advisor | Nguyen, Thuy D. | |
dc.contributor.author | Wikman, Eric C. | |
dc.date.accessioned | 2020-08-21T00:25:11Z | |
dc.date.available | 2020-08-21T00:25:11Z | |
dc.date.issued | 2020-06 | |
dc.identifier.uri | http://hdl.handle.net/10945/65471 | |
dc.description.abstract | Buffer overflows are common software vulnerabilities; it is possible for a program to write outside of the intended boundary of a buffer. In most cases, this causes the program to crash. In more dangerous situations, a buffer overflow can provide the access an attacker needs to gain remote code execution. To create programs that are reliable and free of buffer overflows, we need a method for analyzing code to detect potential buffer overflow vulnerabilities. One method to detect errors is to perform static analysis on the program. This involves looking at a program's disassembled code to find the errors in the program. Fortunately, Ghidra, a reverse engineering tool, can perform the disassembly of the executable. With the Ghidra API, scripts can be developed to perform the task of analyzing programs for buffer overflows. This research investigates the area of stack-based buffer overflows and how to discover them using static analysis. Specifically, the research looks into cases where buffer overflows occur in libc functions, which are referred to as vulnerable sinks. This research involved the development of a Ghidra script to search for vulnerable sinks in a binary file and find all the parameters that are used in the sinks. This allows for buffer overflows to be calculated on a per-sink basis. The research showed that it is possible to find overflow vulnerabilities via static analysis and that calculating whether a buffer can be overflowed is possible. | en_US |
dc.publisher | Monterey, CA; Naval Postgraduate School | en_US |
dc.rights | This publication is a work of the U.S. Government as defined in Title 17, United States Code, Section 101. Copyright protection is not available for this work in the United States. | en_US |
dc.title | STATIC ANALYSIS TOOLS FOR DETECTING STACK-BASED BUFFER OVERFLOWS | en_US |
dc.type | Thesis | en_US |
dc.contributor.department | Computer Science (CS) | |
dc.subject.author | buffer overflow | en_US |
dc.subject.author | Ghidra | en_US |
dc.description.recognition | Outstanding Thesis | en_US |
dc.description.service | Captain, United States Marine Corps | en_US |
etd.thesisdegree.name | Master of Science in Computer Science | en_US |
etd.thesisdegree.level | Masters | en_US |
etd.thesisdegree.discipline | Computer Science | en_US |
etd.thesisdegree.grantor | Naval Postgraduate School | en_US |
dc.identifier.thesisid | 34390 | |
dc.description.distributionstatement | Approved for public release. distribution is unlimited | en_US |
Files in this item
This item appears in the following Collection(s)
-
1. Thesis and Dissertation Collection, all items
Publicly releasable NPS Theses, Dissertations, MBA Professional Reports, Joint Applied Projects, Systems Engineering Project Reports and other NPS degree-earning written works. -
2. NPS Outstanding Theses and Dissertations