loading...
 This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
2008 IEEE Symposium on Security and Privacy (sp 2008)
Verifying the Safety of User Pointer Dereferences
May 18-May 21
ISBN: 978-0-7695-3168-7
Operating systems divide virtual memory addresses into kernel space and user space. The interface of a modern operating system consists of a set of system call procedures that may take pointer arguments called user pointers. It is safe to dereference a user pointer if and only if it points into user space. If the operating system dereferences a user pointer that does not point into user space, then a malicious user application could gain control of the operating system, reveal sensitive data from kernel space, or crash the machine. Because the operating system cannot trust user processes, the operating system must check that the user pointer points to user space before dereferencing it. In this paper, we present a scalable and precise static analysis capable of verifying the absence of unchecked user pointer dereferences. We evaluate an implementation of our analysis on the entire Linux operating system with over 6.2 million lines of code with false alarms reported on only 0.05% of dereference sites.
Index Terms:
verification, operating system security, user pointers, static analysis
Citation:
Suhabe Bugrara, Alex Aiken, "Verifying the Safety of User Pointer Dereferences," sp, pp.325-338, 2008 IEEE Symposium on Security and Privacy (sp 2008), 2008
Usage of this product signifies your acceptance of the Terms of Use.