MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  ABSTRACT Enabling Trusted Software Integrity

Download:
Download as a PDF
by Darko Kirovski
http://www.cs.ucla.edu/~miodrag/papers/Kirovski_ASPLOS_02.pdf
Add To MetaCart

Abstract:

Preventing execution of unauthorized software on a given computer plays a pivotal role in system security. The key problem is that although a program at the beginning of its execution can be verified as authentic, while running, its execution flow can be redirected to externally injected malicious code using, for example, a buffer overflow exploit. Existing techniques address this problem by trying to detect the intrusion at run-time or by formally verifying that the software is not prone to a particular attack. We take a radically different approach to this problem. We aim at intrusion prevention as the core technology for enabling secure computing systems. Intrusion prevention systems force an adversary to solve a computationally hard task in order to create a binary that can be executed on a given machine. In this paper, we present an exemplary system —SPEF — a combination of architectural and compilation techniques that ensure software integrity at run-time. SPEF embeds encrypted, processor-specific constraints into each block of instructions at software installation time and then verifies their existence at run-time. Thus, the processor can execute only properly installed programs, which makes installation the only system gate that needs to be protected. We have designed a SPEF prototype based on the ARM instruction set and validated its impact on security and performance using the MediaBench suite of applications. 1.

Citations

1666 Handbook of Applied Cryptography – Menezes, Oorschot, et al. - 1997
901 Proof-carrying code – Necula - 1997
642 MediaBench: A tool for evaluating and synthesizing multimedia and communications systems – Lee, Potkonjak, et al. - 1997
305 StackGuard: automatic adaptive detection and prevention of buffer-overflow attacks – Cowan, Pu, et al. - 1998
303 A Secure Environment for Untrusted Helper Applications – Goldberg, Wagner, et al. - 1996
295 An Efficient Algorithm for Exploiting Multiple Arithmetic Units – Tomasulo - 1967
253 A First Step towards Automated Detection of Buffer Overrun Vulnerabilities – Wagner, Foster, et al. - 2000
217 Intercepting Mobile Communications: The Insecurity of 802.11 – Borisov, Goldberg, et al. - 2001
145 Static detection of dynamic memory errors – Evans - 1996
136 Detecting Format String Vulnerabilities with Type Qualifiers – Shankar, Talwar, et al. - 2001
122 Statically Detecting Likely Buffer Overflow Vulnerabilities – Larochelle, Evans - 2001
110 Smashing the stack for fun and profit – One - 1996
100 LCLint: A tool for using specifications to check code – Evans, Guttag, et al. - 1994
87 Buffer Overflows: Attacks and Defenses for the Vulnerability of the Decade – Cowan, Wagle, et al. - 2000
56 a C Program Checker – Lint - 1978
53 Synthesizing Fast Intrusion Prevention/Detection Systems from High-Level Specifications – Sekar, Uppuluri - 1999
33 Support for speculative execution in high-performance processors – Smith - 1992
26 Blocking Java Applets at the Firewall – Martin, Rajagopalan, et al. - 1997
22 Mobile Code Security – Rubin, Geer - 1998
7 Omega - a data flow analysis tool for the C programming language – Wilson, Osterweil - 1985
4 Bluebox: A policy driven, host-based intrusion detection system – Chari, Cheng - 2002
3 The internet worm, password cracking: a game of wits – Seeley - 1989
1 The ARM hardware-software development kit. Available online at http://www.arm.com – Corp
1 Processor Serial Number Technical Notes. Available on-line at http://www.intel.com – Corp
1 The Linux BIOS Home Page. Available on-line at http://www.acl.lanl.gov/linuxbios – Minnich
1 AES Rijndael core. Available on-line at http://www.sci-worx.com – GmbH