Thesis (M.S., Computer Science)--University of Idaho, June 2014 | This thesis is a part of an Air Force Research Laboratory (AFRL) project focused on developing a framework based on the existing security tagging techniques. The security techniques are developed to prevent or lower the cost overhead of known security vulnerabilities. Critical to prevent these security vulnerabilities is choosing techniques that target the most disruptive attacks such as buffer overflow, out of bound memory accesses and uninitialized memory access. For instance, over the last five years, buffer overflow vulnerabilities were the cause of non-deterministic failures and security breaches. The other main vulnerability is insufficient validated user inputs, which lead to dangerous security flaws such as format string, SQL command injection and path traversal. The flaws are exploitable when user input is passed to vulnerable programs without validation. Buffer overflows and Insufficient validated user inputs are among the top 25 software errors according to the 2013 CWE/SANS list of "Top 25 Most Dangerous Software Errors".
This study evaluates research focused on implementing hardware-based security tagging techniques and taint tracking at run time. Run time taint tracking is an effective technique which controls data propagation during execution of the application. Run time taint tracking techniques have been used to avoid application vulnerabilities by intercepting execution of the instruction at run time. The techniques associate security tags and track tags during program execution. To keep tags updated, the techniques intercept every attempt to access application and process data. Each technique has a different approach in intercepting and isolating instructions to prevent one class of vulnerabilities.
The focus of this research is to understand the nature of security tagging as a foundation for developing a framework with different security tagging techniques. The framework can detect software flaws and vulnerable programs with minimum overhead. A second objective of this work is to compare the efficiency of different proposed tagging technique. The AFRL project uses ERC32 (radiation-tolerant 32-bit RISC Processor) which is a SPARC variant based computer systems. Accordingly a SPARC Instruction Simulator is adopted to develop security techniques.