ACM Home Page
Please provide us with feedback. Feedback
Tradeoffs in fine-grained heap memory protection
Full text PdfPdf (450 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: 52 - 57  
Year of Publication: 2006
ISBN:1-59593-576-2
Authors
Jianli Shen  Georgia Institute of Technology
Guru Venkataramani  Georgia Institute of Technology
Milos Prvulovic  Georgia Institute of Technology
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 5,   Downloads (12 Months): 39,   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/1181309.1181317
What is a DOI?

ABSTRACT

Different uses of memory protection schemes have different needs in terms of granularity. For example, heap security can benefit from chunk separation (by using protected "padding" boundaries) and meta-data protection. However, such protection can be done at different granularity (eg. per-word, per-block, or per-page), with different performance, cost and memory overhead tradeoffs for different applications. In this paper, we explore these tradeoffs for the purpose of heap security in order to discover whether the "right" granularity exists and how the granularity of protection affects design decisions.We evaluate such tradeoffs based on the current heap-security approaches in a single address spare operating system. The access control granularities we use are word, 8-byte, 16-byte, 32-byte, and page. We find that none of these schemes is optimal across all applications. In some applications, excessive padding degrades caching performance for coarse-granularity schemes, while in others, large-block permission changes introduce large overheads for finer granularities. To overcome these limitations, we propose a new two-granularity scheme, which uses word- and page-granularity protection to eliminate padding but allow fast page-size permission changes for large memory blocks. On all applications, this new scheme performs as well or better than the best single-granularity scheme. It also performs on par with the more complex Mondrian Memory Protection, which uses a complex trie structure and multiple permissions caching mechanisms to support a hierarchy of protection granularities.


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
Anonymous. Once upon a free(). Phrack Magazine, 57(9), 2001.
2
 
3
C. Cowan, S. Beattie, J. Johansen, and P. Wagle. PointGuard: Protecting Pointers from Buffer Overflow Vulnerabilities. in Proc. of the 12th USENIX Security Symp., pages 91--104, 2003.
 
4
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-Overflow Attacks. in Proc. of the 7th USENIX Security Symp., pages 63--78, 1998.
 
5
C. Cowan, F. Wagle, C. Pu, S. Beattie, and J. Walpole. Buffer overflows: Attacks and defenses for the vulnerability of the decade. In DARPA Information Survivability Conf. & Exposition - Volume 2, pages 119--129, 2000.
 
6
W. J. Dally and et al. The j-machine: a fine-grain concurrent computer. In G. X. Ritter (ed.), Information Processing 89, North Holland, 1989. Elsevier Science Publishers B.V.
 
7
Doug Lea. A Memory Allocator. http://gee.cs.oswego.edu/dl/html/malloc.html, 2000.
 
8
IBM Corporation. IBM Rational Purify. http://www.ibm.com/software/awdtools/purify/, 2005.
9
 
10
F. Perriot and P. Szor. An Analysis of the Slapper Worm Exploit. http://securityresponse.symantec.com/avcenter/reference/analysis.slapper.worm.pdf, 2003.
 
11
J. Renau et al. SESC. http://sesc.sourceforge.net, 2006.
 
12
Security Focus. Wu-Ftpd File Globbing Heap Corruption Vulnerability. http://www.securityfocus.com/bid/3581, 2002.
 
13
Security Focus. CVS Directory Request Double Free Heap Corruption Vulnerability. http://www.securityfocus.com/bid/6650, 2003.
 
14
Security Focus. Sudo Password Prompt Heap Overflow Vulnerability. http://www.securityfocus.com/bid/4593, 2003.
 
15
J. Seward. Valgrind, An Open-Source Memory Debugger for x86-GNU/Linux. http://valgrind.kde.org/, 2004.
 
16
R. Shetty, M. Kharbutli, Y. Solihin, and M. Prvulovic. HeapMon: a Low Overhead, Automatic, and Programmable Memory Bug Detector. In IBM T.J. Watson Conf. on Interaction between Architecture, Circuits, and Compilers, 2004.
 
17
Standard Performance Evaluation Corporation. SPEC Benchmarks. http://www.spec.org, 2000.
18
 
19
20

Collaborative Colleagues:
Jianli Shen: colleagues
Guru Venkataramani: colleagues
Milos Prvulovic: colleagues