ACM Home Page
Please provide us with feedback. Feedback
MemTracker: An accelerator for memory debugging and monitoring
Full text PdfPdf (1.00 MB)
Source
ACM Transactions on Architecture and Code Optimization (TACO) archive
Volume 6 ,  Issue 2  (June 2009) table of contents
Article No. 5  
Year of Publication: 2009
ISSN:1544-3566
Authors
Guru Venkataramani  Georgia Institute of Technology, Atlanta, GA
Ioannis Doudalis  Georgia Institute of Technology, Atlanta, GA
Yan Solihin  North Carolina State University
Milos Prvulovic  Georgia Institute of Technology, Atlanta, GA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 29,   Downloads (12 Months): 165,   Citation Count: 0
Additional Information:

abstract   references   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/1543753.1543754
What is a DOI?

ABSTRACT

Memory bugs are a broad class of bugs that is becoming increasingly common with increasing software complexity, and many of these bugs are also security vulnerabilities. Existing software and hardware approaches for finding and identifying memory bugs have a number of drawbacks including considerable performance overheads, target only a specific type of bug, implementation cost, and inefficient use of computational resources.

This article describes MemTracker, a new hardware support mechanism that can be configured to perform different kinds of memory access monitoring tasks. MemTracker associates each word of data in memory with a few bits of state, and uses a programmable state transition table to react to different events that can affect this state. The number of state bits per word, the events to which MemTracker reacts, and the transition table are all fully programmable. MemTracker's rich set of states, events, and transitions can be used to implement different monitoring and debugging checkers with minimal performance overheads, even when frequent state updates are needed. To evaluate MemTracker, we map three different checkers onto it, as well as a checker that combines all three. For the most demanding (combined) checker with 8 bits state per memory word, we observe performance overheads of only around 3%, on average, and 14.5% worst-case across different benchmark suites. Such low overheads allow continuous (always-on) use of MemTracker-enabled checkers, even in production runs.


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
 
2
Boletta, J. 2002. Security Focus Newsletter #172. http://citadelle.intrinsec.com/mailing/current/HTML/ml_securityfocus_news/0067.html.
3
4
 
5
 
6
7
 
8
Hinton, G., Sager, D., Upton, M., Boggs, D., Carmean, D., Kyker, A., and Roussel, P. 2001. The micro-architecture of the Pentium 4 Processor. Intel. Tech. J. First Quarter.
 
9
IBM Corporation. 2005. IBM Rational Purify. http://www.ibm.com/software/awdtools/purify/.
 
10
Jouppi, N. P. et al. 2006. Cacti 4.2. http://quid.hpl.hp.com:9081/cacti/
 
11
 
12
McDonald, R. G., Burger, D., and Keckler, S. 2005. The design and implementation of the TRIPS prototype chip. http://www.hotchips.org/archives/hc17.
13
 
14
Newsome, J. and Song, D. 2005. 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). Internet Society.
 
15
 
16
 
17
Renau, J. et al. 2006. SESC. http://sesc.sourceforge.net.
 
18
Seward, J. 2004. Valgrind: An open-source memory debugger for 86-GNU/Linux. http://valgrind.kde.org/.
 
19
 
20
 
21
SPEC. 2006. Standard performance evaluation corporation benchmarks. http://www.spec.org.
22
 
23
Symantec. 2002. Microsoft IIS HTR chunked encoding heap overflow allows arbitrary code. http://securityresponse.symantec.com/avcenter/security/Content/2033.html.
 
24
US-CERT. 2001. FedCIRC Advisory FA-2001-19 “code red” worm exploiting buffer overflow in IIS indexing service DLL. http://www.us-cert.gov/federal/archive/advisories/FA-2001-19.html.
 
25
US-CERT. 2004. Buffer overflow in Microsoft Internet Explorer. http://www.us-cert.gov/cas/techalerts/TA04315A.html.
 
26
Valgrind Developers. 2005. The Valgrind Quick Start Guide. http://valgrind.org/docs/manual/quickstart.html.
 
27
Venkataramani, G., Doudalis, I., Solihin, Y., and Prvulovic, M. 2008. Flexitaint: A programmable accelerator for dynamic taint propagation. In Proceedings of the IEEE 14th International Symposium on High-performance Computer Architecture (HPCA'08). IEEE Computer Society, 173--184.
 
28
29
30
 
31
32
33

Collaborative Colleagues:
Guru Venkataramani: colleagues
Ioannis Doudalis: colleagues
Yan Solihin: colleagues
Milos Prvulovic: colleagues