DocumentCode :
153560
Title :
KCoFI: Complete Control-Flow Integrity for Commodity Operating System Kernels
Author :
Criswell, John ; Dautenhahn, Nathan ; Adve, Vikram
Author_Institution :
Dept. of Comput. Sci., Univ. of Illinois at Urbana-Champaign, Urbana, IL, USA
fYear :
2014
fDate :
18-21 May 2014
Firstpage :
292
Lastpage :
307
Abstract :
We present a new system, KCoFI, that is the first we know of to provide complete Control-Flow Integrity protection for commodity operating systems without using heavyweight complete memory safety. Unlike previous systems, KCoFI protects commodity operating systems from classical control-flow hijack attacks, return-to-user attacks, and code segment modification attacks. We formally verify a subset of KCoFI´s design by modeling several features in small-step semantics and providing a partial proof that the semantics maintain control-flow integrity. The model and proof account for operations such as page table management, trap handlers, context switching, and signal delivery. Our evaluation shows that KCoFI prevents all the gadgets found by an open-source Return Oriented Programming (ROP) gadget-finding tool in the FreeBSD kernel from being used, it also reduces the number of indirect control-flow targets by 98.18%. Our evaluation also shows that the performance impact of KCoFI on web server bandwidth is negligible while file transfer bandwidth using OpenSSH is reduced by an average of 13%, and at worst 27%, across a wide range of file sizes. Postmark, an extremely file-system intensive benchmark, shows 2x overhead. Where comparable numbers are available, the overheads of KCoFI are far lower than heavyweight memory-safety techniques.
Keywords :
Internet; file servers; object-oriented programming; operating system kernels; public domain software; FreeBSD kernel; KCoFI; OpenSSH; PostMark; Web server bandwidth; code segment modification attacks; commodity operating system kernels; control-flow hijack attacks; control-flow integrity; file transfer bandwidth; file-system intensive benchmark; formal verification; heavyweight memory-safety techniques; indirect control-flow targets; open-source ROP gadget-finding tool; open-source return oriented programming gadget-finding tool; page table management; return-to-user attacks; signal delivery; small-step semantics; trap handlers; Context; Hardware; Instruction sets; Instruments; Kernel; Security; Free BSD; compiler; control-flow integrity; formal verification; operating systems;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Security and Privacy (SP), 2014 IEEE Symposium on
Conference_Location :
San Jose, CA
ISSN :
1081-6011
Type :
conf
DOI :
10.1109/SP.2014.26
Filename :
6956571
Link To Document :
بازگشت