ACM Home Page
Please provide us with feedback. Feedback
Improving software security via runtime instruction-level taint checking
Full text PdfPdf (383 KB)
Source Architectural Support for Programming Languages and Operating Systems archive
Proceedings of the 1st workshop on Architectural and system support for improving software dependability table of contents
San Jose, California
Pages: 18 - 24  
Year of Publication: 2006
ISBN:1-59593-576-2
Authors
Jingfei Kong  University of Central Florida, Orlando, FL
Cliff C. Zou  University of Central Florida, Orlando, FL
Huiyang Zhou  University of Central Florida, Orlando, FL
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 48,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1181309.1181313
What is a DOI?

ABSTRACT

Current taint checking architectures monitor tainted data usage mainly with control transfer instructions. An alarm is raised once the program counter becomes tainted. However, such architectures are not effective against non-control data attacks. In this paper we present a generic instruction-level runtime taint checking architecture for handling non-control data attacks. Under our architecture, instructions are classified as either Taintless-Instructions or Tainted-Instructions prior to program execution. An instruction is called a Tainted-Instruction if it is supposed to deal with tainted data. Otherwise it is called a Taintless-Instruction. A security alert is raised whenever a Taintless-Instruction encounters tainted data at runtime. The proposed architecture is implemented on the SimpleScalar simulator. The preliminary results from experiments on SPEC CPU 2000 benchmarks show that there are a significant amount of Taintless-Instructions. We also demonstrate effective usages of our architecture to detect buffer overflow and format string attacks.


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
Shuo Chen, Jun Xu, Emre C. Sezer, Prachi Gauriar, and Ravi Iyer. "Non-Control-Data Attacks Are Realistic Threats". In Proceedings of USENIX Security Symposium, August 2005.
 
2
 
3
Jonathan Pincus and Brandon Baker. "Mitigations for Low-level Coding Vulnerabilities: Incomparability and Limitations". http://research.microsoft.com/users/jpincus/mitigations.pdf, 2004.
4
 
5
 
6
John Wilander and Mariam Kamkar, "A Comparison of Publicly Available Tools for Dynamic Buffer Overflow Prevention", In Proceedings of the 10th Network and Distributed System Security Symposium (NDSS'03), February 2003.
 
7
 
8
James Newsome and Dawn Song. "Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software". In Proceedings of the 12th Annual Network and Distributed System Security Symposium (NDSS 05), February 2005.
 
9
D. Burger and T. M. Austin. "The Simplescalar Tool Set Version 2.0". Technical Report, Computer Science Department, University of Wisconsin-Madison, 1997.
10
 
11
Georgios Portokalidis, Asia Slowinska and Herbert Bos. "Argos: an Emulator for Fingerprinting Zero-Day Attacks". In proceedings of ACM SIGOPS EUROSYS 2006, Leuven, Belgium, April 2006.
 
12
Alex Ho, Michael Fetterman, Christopher Clark, Andrew Warfield and Steven Hand. "Practical Taint-based Protection using Demand Emulation". In proceedings of ACM SIGOPS EUROSYS 2006, Leuven, Belgium, April 2006.
 
13
C. Cowan, C. Pu, D. Maier, H. Hinton, J. Walpole, P. Bakke, A. Grier, S. Beattie, P. Wagle, and Q. Zhang. "StackGuard: Automatic Adaptive Detection and Prevention of Buffer-Overflow Attacks". In Proceedings in the 7th USENIX Security Symposium, January 1998.
 
14
Etoh, Hiroaki and Yoda, K. "Protecting from stack-smashing attacks". http://www.research.ibm.com/trl/projects/security/ssp/main.html (2004).
 
15
SSH CRC-32 Compensation Attack Detector Vulnerability. http://www.securityfocus.com/bid/2347
 
16
 
17
Olatunji Ruwase and Monica S. Lam. "A Practical Dynamic Buffer Overflow Detector". In Proceedings of the 11th Annual Network and Distributed System Security Symposium, February 2004.
 
18
Michael Dalton, Hari Kannan, Christos Kozyrakis, "Deconstructing Hardware Architectures for Security". 5th Annual Workshop on Duplicating, Deconstructing, and Debunking (WDDD) at ISCA, Boston, MA, June 2006.


Collaborative Colleagues:
Jingfei Kong: colleagues
Cliff C. Zou: colleagues
Huiyang Zhou: colleagues