|
ABSTRACT
With more computing platforms connected to the Internet each day, computer system security has become a critical issue. One of the major security problems is execution of malicious injected code. In this paper we propose new processor extensions that allow execution of trusted instructions only. The proposed extensions verify instruction block signatures in run-time. Signatures are generated during a trusted installation process, using a multiple input signature register (MISR), and stored in an encrypted form. The coefficients of the MISR and the key used for signature encryption are based on a hidden processor key. Signature verification is done in the background, concurrently with program execution, thus reducing negative impact on performance. The preliminary results indicate that the proposed processor extensions will prevent execution of any unauthorized code at a relatively small increase in system complexity and execution time.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
J. Wilander and M. Kamkar, "A Comparison of Publicly Available Tools for Dynamic Buffer Overflow Prevention," Proceedings of the 10th Network and Distributed System Security Symposium, San Diego, California, 2003, pp. 149--162.
|
| |
2
|
T. Newsham, "Format string attacks", September 2000, <u><http://www.securityfocus.com/guest/3342></u> (January 2004).
|
 |
3
|
|
 |
4
|
|
| |
5
|
D. Wagner, J. S. Foster, E. A. Brewer, and A. Aiken, "A first step towards automated detection of buffer overrun vulnerabilities," Network and Distributed System Security Symposium (NDCS), San Diego, CA, 2000.
|
| |
6
|
D. Larochelle and D. Evans, "Statically detecting likely buffer overflow vulnerabilities," Proceedings of the 10th USENIX Security Symposium, Washington, D.C, 2001, pp. 177--189.
|
 |
7
|
|
| |
8
|
C. Cowan, C. Pu, D. Maier, J. Walpole, P. Bakke, S. Beattie, A. Grier, P. Wagle, Q. Zhang, and H. Hinton, "StackGuard: Automatic adaptive detection and prevention of buffer overflowattacks," 7th USENIX Security Conference, San Antonio, Texas, 1998, pp. 63--78.
|
| |
9
|
|
| |
10
|
C. Fetzer and Z. Xiao, "Detecting heap smashing attacks through fault containment wrappers," 20th IEEE Symposium on Reliable Distributed Systems, New Orleans, LA, USA, 2001, pp. 80--89.
|
| |
11
|
M. Prasad and T.-c. Chiueh, "A Binary Rewriting Defense Against Stack-based Buffer Overflow Attacks," Usenix Annual Technical Conference, San Antonio, TX, 2003, pp. 211--224.
|
| |
12
|
|
| |
13
|
Trevor Jim , J. Greg Morrisett , Dan Grossman , Michael W. Hicks , James Cheney , Yanling Wang, Cyclone: A Safe Dialect of C, Proceedings of the General Track: 2002 USENIX Annual Technical Conference, p.275-288, June 10-15, 2002
|
 |
14
|
|
| |
15
|
<u>"http://pax.grsecurity.net/"</u>, (February 2004).
|
| |
16
|
P. Busser, "Memory Protection with PaX and the Stack Smashing Protector: Breaking out Peace," Linux Magazine, pp. 36--39, 2004.
|
| |
17
|
S. Bhatkar, D. C. DuVarney, and R. Sekar, "Address Obfuscation: An Approach to Combat Buffer Overflows, Format-String Attacks, and More," 12th USENIX Security Symposium, Washington, DC, 2003, pp.
|
 |
18
|
Elena Gabriela Barrantes , David H. Ackley , Trek S. Palmer , Darko Stefanovic , Dino Dai Zovi, Randomized instruction set emulation to disrupt binary code injection attacks, Proceedings of the 10th ACM conference on Computer and communications security, October 27-30, 2003, Washington D.C., USA
[doi> 10.1145/948109.948147]
|
 |
19
|
|
| |
20
|
|
| |
21
|
C. Warrender, S. Forrest, and B. Pearlmutter, "Detecting Instructions Using System Calls: Alternative Data Models," IEEE Symposium on Security and Privacy, Oakland, CA, 1999, pp. 133--145.
|
| |
22
|
I. Sato, Y. Okazaki, and S. Goto, "An Improved Intrusion Detection Method Based on Process Profiling," IPSJ Journal, vol. 43, pp. 3316--3326, 2002.
|
| |
23
|
S. A. Hofmeyr, S. Forrest, and A. Somayaji, "Intrusion Detection using Sequences of System Calls" Journal of Computer Security, vol. 6, pp. 151--180, 1998.
|
| |
24
|
D. L. Oppenheimer and M. R. Martonosi, "Performance Signatures: A Mechanism for Intrusion Detection," Proceedings of the 1997 IEEE Information Survivability Workshop, San Diego, California, 1997.
|
| |
25
|
J. Xu, Z. Kalbarczyk, S. Patel, and R. K. Iyer, "Architecture Support for Defending Against Buffer Overflow Attacks," Workshop on Evaluating and Architecting System dependability (EASY), San Jose, California, 2002.
|
| |
26
|
R. B. Lee, D. K. Karig, J. P. McGregor, and Z. Shi, "Enlisting Hardware Architecture to Thwart Malicious Code Injection," Security in Pervasive Computing, Boppard, Germany, 2003, pp. 237--252.
|
| |
27
|
H. Ozdoganoglu, C. E. Brodley, T. N. Vijaykumar, B. A. Kuperman, and A. Jalote, "SmashGuard: A Hardware Solution to Prevent Security Attacks on the Function Return Address," Purdue University TR-ECE 03-13, November 22, 2003.
|
 |
28
|
|
 |
29
|
|
 |
30
|
G. Edward Suh , Jae W. Lee , David Zhang , Srinivas Devadas, Secure program execution via dynamic information flow tracking, Proceedings of the 11th international conference on Architectural support for programming languages and operating systems, October 07-13, 2004, Boston, MA, USA
|
| |
31
|
|
| |
32
|
M. K. Joseph and A. Avizienis, "A fault tolerance approach to computer viruses," Proceedings of the 1988 IEEE Symposium on Security and Privacy, Oakland, California, USA, 1988, pp. 52--58.
|
| |
33
|
A. Milenkovic and M. Milenkovic, "Exploiting Streams in Instruction and Data Address Trace Compression," Proceedings of IEEE 6th Annual Workshop on Workload Characterization, Austin, TX, 2003, pp. 99--107.
|
| |
34
|
D. Burger and T. Austin, "The SimpleScalar Tool Set Version 2.0," University of Wisconsin, Technical Report CS-TR-97-1342, 1997.
|
|