STATIC ANALYSIS TOOLS FOR DETECTING STACK-BASED BUFFER OVERFLOWS

Download
Author
Wikman, Eric C.
Date
2020-06Advisor
Irvine, Cynthia E.
Nguyen, Thuy D.
Metadata
Show full item recordAbstract
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.
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.Related items
Showing items related by title, author, creator and subject.
-
Assessing manufacturing flow lines under uncertainties in processing time: An application based on max-plus equations, multicriteria decisions, and global sensitivity analysis
Rocco, Claudio M.; Hernandez-Perdomo, Elvis; Mun, Johnathan (Elsevier, 2021);In this paper, a novel application on how uncertainties in a manufacturing flow line − MFL (e.g., times required to perform an action) could be analyzed and what the benefits are of such analysis. The approach proposed ... -
A static secure flow analyzer for a subset of Java
Harvey, James D. (Monterey, California. Naval Postgraduate School, 1998-03-01);As the number of computers and computer systems in existence has grown over the past few decades, we have come to depend on them to maintain the security of private or sensitive information. The execution of a program may ... -
First term attrition of fundamental applied skills training (FAST) students
Hickox, Jeffrey W. (Monterey, California. Naval Postgraduate School, 1998-03-01);As the number of computers and computer systems in existence has grown over the past few decades, we have come to depend on them to maintain the security of private or sensitive information. The execution of a program may ...