TY - GEN
T1 - seL4
T2 - 34th IEEE Symposium on Security and Privacy, SP 2013
AU - Murray, Toby
AU - Matichuk, Daniel
AU - Brassil, Matthew
AU - Gammie, Peter
AU - Bourke, Timothy
AU - Seefried, Sean
AU - Lewis, Corey
AU - Gao, Xin
AU - Klein, Gerwin
PY - 2013/8/13
Y1 - 2013/8/13
N2 - In contrast to testing, mathematical reasoning and formal verification can show the absence of whole classes of security vulnerabilities. We present the, to our knowledge, first complete, formal, machine-checked verification of information flow security for the implementation of a general-purpose microkernel; namely seL4. Unlike previous proofs of information flow security for operating system kernels, ours applies to the actual 8, 830 lines of C code that implement seL4, and so rules out the possibility of invalidation by implementation errors in this code. We assume correctness of compiler, assembly code, hardware, and boot code. We prove everything else. This proof is strong evidence of seL4's utility as a separation kernel, and describes precisely how the general purpose kernel should be configured to enforce isolation and mandatory information flow control. We describe the information flow security statement we proved (a variant of intransitive noninterference), including the assumptions on which it rests, as well as the modifications that had to be made to seL4 to ensure it was enforced. We discuss the practical limitations and implications of this result, including covert channels not covered by the formal proof.
AB - In contrast to testing, mathematical reasoning and formal verification can show the absence of whole classes of security vulnerabilities. We present the, to our knowledge, first complete, formal, machine-checked verification of information flow security for the implementation of a general-purpose microkernel; namely seL4. Unlike previous proofs of information flow security for operating system kernels, ours applies to the actual 8, 830 lines of C code that implement seL4, and so rules out the possibility of invalidation by implementation errors in this code. We assume correctness of compiler, assembly code, hardware, and boot code. We prove everything else. This proof is strong evidence of seL4's utility as a separation kernel, and describes precisely how the general purpose kernel should be configured to enforce isolation and mandatory information flow control. We describe the information flow security statement we proved (a variant of intransitive noninterference), including the assumptions on which it rests, as well as the modifications that had to be made to seL4 to ensure it was enforced. We discuss the practical limitations and implications of this result, including covert channels not covered by the formal proof.
KW - formal verification
KW - information flow control
UR - https://www.scopus.com/pages/publications/84881233720
U2 - 10.1109/SP.2013.35
DO - 10.1109/SP.2013.35
M3 - Conference contribution
AN - SCOPUS:84881233720
SN - 9780769549774
T3 - Proceedings - IEEE Symposium on Security and Privacy
SP - 415
EP - 429
BT - Proceedings - 2013 IEEE Symposium on Security and Privacy, SP 2013
Y2 - 19 May 2013 through 22 May 2013
ER -