DocumentCode :
1362178
Title :
Effective and Efficient Memory Protection Using Dynamic Tainting
Author :
Doudalis, Ioannis ; Clause, James ; Venkataramani, Guru ; Prvulovic, Milos ; Orso, Alessandro
Author_Institution :
Coll. of Comput., Georgia Inst. of Technol., Atlanta, GA, USA
Volume :
61
Issue :
1
fYear :
2012
Firstpage :
87
Lastpage :
100
Abstract :
Programs written in languages allowing direct access to memory through pointers often contain memory-related faults, which cause nondeterministic failures and security vulnerabilities. We present a new dynamic tainting technique to detect illegal memory accesses. When memory is allocated, at runtime, we taint both the memory and the corresponding pointer using the same taint mark. Taint marks are then propagated and checked every time a memory address m is accessed through a pointer p; if the associated taint marks differ, an illegal access is reported. To allow always-on checking using a low overhead, hardware-assisted implementation, we make several key technical decisions. We use a configurable, low number of reusable taint marks instead of a unique mark for each allocated area of memory, reducing the performance overhead without losing the ability to target most memory-related faults. We also define the technique at the binary level, which helps handle applications using third-party libraries whose source code is unavailable. We created a software-only prototype of our technique and simulated a hardware-assisted implementation. Our results show that 1) it identifies a large class of memory-related faults, even when using only two unique taint marks, and 2) a hardware-assisted implementation can achieve performance overheads in single-digit percentages.
Keywords :
security of data; software fault tolerance; storage management; dynamic tainting technique; illegal memory access detection; memory protection; memory-related fault; security vulnerability; third-party library; Computational modeling; Hardware; Libraries; Prototypes; Resource management; Runtime; Software; Computer systems organization; hardware/software interfaces; monitors.; processor architectures;
fLanguage :
English
Journal_Title :
Computers, IEEE Transactions on
Publisher :
ieee
ISSN :
0018-9340
Type :
jour
DOI :
10.1109/TC.2010.215
Filename :
5611490
Link To Document :
بازگشت