The design and implementation of hardware systems for information flow tracking

Placeholder Show Content

Abstract/Contents

Abstract
Computer security is a critical problem impacting every segment of social life. Recent research has shown that Dynamic Information Flow Tracking (DIFT) is a promising technique for detecting a wide range of security attacks. With hardware support, DIFT can provide comprehensive protection to unmodified application binaries against input validation attacks such as SQL injection, with minimal performance overhead. This dissertation presents Raksha, the first flexible hardware platform for DIFT that protects both unmodified applications, and the operating system from both low-level memory corruption exploits such as buffer overflows, and high-level semantic vulnerabilities such as SQL injections and cross-site scripting. Raksha uses tagged memory to support multiple, programmable security policies that can protect the system against concurrent attacks. It also describes the full-system prototype of Raksha constructed using a synthesizable SPARC V8 core and an FPGA board. This prototype provides comprehensive security protection with no false-positives and minimal performance, and area overheads. Traditional DIFT architectures require significant changes to the processors and caches, and are not portable across different processor designs. This dissertation addresses this practicality issue of hardware DIFT and proposes an off-core coprocessor approach that greatly reduces the design and validation costs associated with hardware DIFT systems. Observing that DIFT operations and regular computation need only synchronize on system calls to maintain security guarantees, the coprocessor decouples all DIFT functionality from the main core. Using a full-system prototype based on a synthesizable SPARC core, it shows that the coprocessor approach to DIFT provides the same security guarantees as Raksha, with low performance and hardware overheads. It also provides a practical and fast hardware solution to the problem of inconsistency between data and metadata in multiprocessor systems, when DIFT functionality is decoupled from the main core. This dissertation also explores the use of tagged memory architectures for solving se- curity problems other than DIFT. Recent work has shown that application policies can be expressed in terms of information flow restrictions and enforced in an OS kernel, providing a strong assurance of security. This thesis shows that enforcement of these policies can be pushed largely into the processor itself, by using tagged memory support, which can pro- vide stronger security guarantees by enforcing application security even if the OS kernel is compromised. It presents the Loki architecture that uses tagged memory to directly enforce application security policies in hardware. Using a full-system prototype, it shows that such an architecture can help reduce the amount of code that must be trusted by the operating system kernel.

Description

Type of resource text
Form electronic; electronic resource; remote
Extent 1 online resource.
Publication date 2010
Issuance monographic
Language English

Creators/Contributors

Associated with Kannan, Hari S
Associated with Stanford University, Department of Electrical Engineering
Primary advisor Kozyrakis, Christoforos, 1974-
Thesis advisor Kozyrakis, Christoforos, 1974-
Thesis advisor Mitra, Subhasish
Thesis advisor Olukotun, Oyekunle Ayinde
Advisor Mitra, Subhasish
Advisor Olukotun, Oyekunle Ayinde

Subjects

Genre Theses

Bibliographic information

Statement of responsibility Hari Kannan.
Note Submitted to the Department of Electrical Engineering.
Thesis Ph. D. Stanford University 2010
Location electronic resource

Access conditions

Copyright
© 2010 by Hari S Kannan
License
This work is licensed under a Creative Commons Attribution Non Commercial 3.0 Unported license (CC BY-NC).

Also listed in

Loading usage metrics...