Improving operating systems security: two case studies

Show full item record

Please use this identifier to cite or link to this item: http://hdl.handle.net/1853/31849

Title: Improving operating systems security: two case studies
Author: Wei, Jinpeng
Abstract: Malicious attacks on computer systems attempt to obtain and maintain illicit control over the victim system. To obtain unauthorized access, they often exploit vulnerabilities in the victim system, and to maintain illicit control, they apply various hiding techniques to remain stealthy. In this dissertation, we discuss and present solutions for two classes of security problems: TOCTTOU (time-of-check-to-time-of-use) and K-Queue. TOCTTOU is a vulnerability that can be exploited to obtain unauthorized root access, and K-Queue is a hiding technique that can be used to maintain stealthy control of the victim kernel. The first security problem is TOCTTOU, a race condition in Unix-style file systems in which an attacker exploits a small timing gap between a file system call that checks a condition and a use kernel call that depends on the condition. Our contributions on TOCTTOU include: (1) A model that enumerates the complete set of potential TOCTTOU vulnerabilities; (2) A set of tools that detect TOCTTOU vulnerabilities in Linux applications such as vi, gedit, and rpm; (3) A theoretical as well as an experimental evaluation of security risks that shows that TOCTTOU vulnerabilities can no longer be considered "low risk" given the wide-scale deployment of multiprocessors; (4) An event-driven protection mechanism and its implementation that defend Linux applications against TOCTTOU attacks at low performance overhead. The second security problem addressed in this dissertation is kernel queue or K-Queue, which can be used by the attacker to achieve continual malicious function execution without persistently changing either kernel code or data, which prevents state-of-the-art kernel integrity monitors such as CFI and SBCFI from detecting them. Based on our successful defense against a concrete instance of K-Queue-driven attacks that use the soft timer mechanism, we design and implement a solution to the general class of K-Queue-driven attacks, including (1) a unified static analysis framework and toolset that can generate specifications of legitimate K-Queue requests and the checker code in an automated way; (2) a runtime reference monitor that validates K-Queue invariants and guards such invariants against tampering; and (3) a comprehensive experimental evaluation of our static analysis framework and K-Queue Checkers.
Type: Dissertation
URI: http://hdl.handle.net/1853/31849
Date: 2009-08-14
Publisher: Georgia Institute of Technology
Subject: Control flow integrity
Security and protection
Reliability
File systems management
Operating systems (Computers) Security measures
Department: Computing
Advisor: Committee Chair: Pu, Calton; Committee Member: Ahamad, Mustaque; Committee Member: Blough, Douglas; Committee Member: Giffin, Jonathon; Committee Member: Li, Kang
Degree: Ph.D.

Items in SMARTech are protected by copyright, with all rights reserved, unless otherwise indicated.

Files in this item

Files Size Format View
wei_jinpeng_200912_phd.pdf 783.3Kb PDF View/ Open

This item appears in the following Collection(s)

Show full item record