Verifying the Safety of User Pointer Dereferences

Oakland, CA(2008)

引用 34|浏览2
暂无评分
摘要
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.
更多
查看译文
关键词
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,operating system security,static analysis,user pointers,verification
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要