MS in Computer Science (M.S.C.S.)
Degree Granting Department
Computer Science and Engineering
Jay Ligatti, Ph.D.
Yao Liu, Ph.D.
Yao Liu, Ph.D.
Hao Zheng, Ph.D.
BroNIEs, Formal Defintions, Injection Attacks, OS Shell, SQL
Injection attacks are the top two causes of software errors and vulnerabilities, according to the MITRE Common Vulnerabilities list . This thesis presents a threat analysis of injection attacks on applications built for Android, a popular but not rigorously studied operating system designed for mobile devices. The following thesis is argued: Injection attacks are possible on off-the-shelf Android systems, and such attacks have the capacity to compromise the device through resource denial and leaking private data. Specifically, we demonstrate that injection attacks are possible through the OS shell and through the SQLite API. To mitigate these attacks, we augment the Android OS with a taint-tracking mechanism to monitor the flow of untrusted character strings through application execution. We use this taint information to implement a mechanism to detect and prevent these injection attacks. A good denition of an attack being critical to preventing it, our mechanism is based on Ray and Ligatti's formalized “NIE" property, which states that untrusted inputs must only insert or expand noncode tokens in output programs. If this property is violated, an injection attack has occurred. This definition's detection algorithm, in combination with our taint tracker, allow our mechanism to defend against these attacks.
Scholar Commons Citation
Smith, Grant Joseph, "Analysis and Prevention of Code-Injection Attacks on Android OS" (2014). Graduate Theses and Dissertations.