• DocumentCode
    1601362
  • Title

    Verifying the Safety of User Pointer Dereferences

  • Author

    Bugrara, Suhabe ; Aiken, Alex

  • Author_Institution
    Dept. of Comput. Sci., Stanford Univ., Stanford, CA
  • fYear
    2008
  • Firstpage
    325
  • Lastpage
    338
  • Abstract
    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.
  • Keywords
    application program interfaces; operating systems (computers); program diagnostics; program verification; security of data; virtual storage; data security; kernel space; operating system interface; program verification; static program analysis; system call procedure; user pointer dereference; user space; virtual memory address; Computer crashes; Computer science; Computer security; Gain control; Information analysis; Kernel; Linux; Operating systems; Safety; Scalability; operating system security; static analysis; user pointers; verification;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Security and Privacy, 2008. SP 2008. IEEE Symposium on
  • Conference_Location
    Oakland, CA
  • ISSN
    1081-6011
  • Print_ISBN
    978-0-7695-3168-7
  • Type

    conf

  • DOI
    10.1109/SP.2008.15
  • Filename
    4531162