Download presentation
Presentation is loading. Please wait.
Published byMelvin Watts Modified over 8 years ago
1
Advanced Development of Certified OS Kernels DARPA CRASH Site Visit PIs: Zhong Shao & Bryan Ford (Yale University) October 5th, Friday, 2012, Room 307 Watson 09:15 – 10:15 Session 1 Project overview (Zhong Shao) Kernel design & application (Bryan Ford) Kernel implementation (Liang Gu) Kernel “specification” (Haozhong Zhang) 10:15 – 10:30 Break 10:30 – 11:30 Session 2 Compositional verification & compilation (Tahina Ramananandro) Virtual memory management (Alex Vaynberg) Concurrent interrupt & thread management (Zhong Shao) 11:30 – 11:45 Break 11:45 – 12:45 Session 3 Declarative DIFC (David Costanzo) Proving lock-freedom (Jan Hoffmann) VeriML design & implementation (Jan Hoffmann)
2
Advanced Development of Certified OS Kernels Project Overview Zhong Shao Yale University October 5, 2012 http://flint.cs.yale.edu/certikos
3
Team members Zhong Shao PI Bryan Ford Co-PI Tahina Ramananandro PostDoc Liang Gu PostDoc Jan Hoffmann PostDoc Bandan Das David Costanzo Antonis Stampoulis Alex Vaynberg Shu-Chun Weng Software Engineer PhD student PhD (10/2012) PhD (9/2012) PhD student Ronghui Gu Jinjiang Lei Michael Marmar Haozhong Zhang PhD Student PhD student (visiting) PhD student PhD student (visiting)
4
01011010101010101111100011001110110111 11110101010101010101010101011111111101 0101010101111000110001010101010101011 111100011001001111001111111100111111100 01111000101010101111110111001100111010 10101111111000111100 Application & other system SW Certified OS kernels Formal specs & proofs for resilience, extensibility, security? HW & Env Model Research tasks & key innovations: new OS kernels that can “crash-proof” the entire system & application SW new prog. languages & logics for writing certified kernel plug-ins new formal methods for automating proofs & specs
5
Main challenges OS kernel design & implementation – how to design a kernel that can crash-proof an entire system – clean-slate kernel vs. backward compatibility & tech-transfer path? OS kernel certification – a framework for certified linking of heterogeneous components – what to prove? safety, race-freedom, correctness, lock-freedom, …… – information flow control even under declassification (noninterference) Languages and logics for certified programming (over C & assembly) – Declarative IFC? what is virtualization? recursive virtualization? – non-blocking fine-grained concurrency & concurrent thread management – virtual memory manager & file systems & resource usages Automation support and formal methods – how to combine first-order provers with higher-order proof assistant? – support for writing large-scale proofs and proof scripts
6
Certified “hypervisor” kernel Problems w. existing platforms Attacks: Zero-Day Kernel Vulnerabilities (ZDKVs) & rogue driver certificates leads to rogue kernels leads to rogue WinCC/Step7 apps leads to rogue PLC firmeware firmware Rogue PC Rogue PLC WinCC & Step 7 rogue OS & its kernel Other Apps zero-day kernel vulnerabilities & fake/stolen driver certificates certified firmware Secure PC w. IFC labels Secure PLC WinCC & Step 7 certified kernel Other Apps COTS OS small mechanized proof checker New CRASH technologies A small certified “hypervisor” kernel provides a reliable ZDKV-free core to fall back on, even under attacks Information-Flow-Control to enforce security Mechanized proof certificates are unforgeable Protecting against Stuxnet attacks!
7
Expected deliverables Certified OS Kernels clean-slate design with end-to-end guarantees on extensibility, security, and resilience. No ZDKVs New PLs for writing certified C/assembly programs; OCAP w. certified linking; Domain-Specific Prog. Logics (DSPL) VeriML & Tools New formal methods for developing, checking, and automating specs/proofs. New language for certifying meta-programs based on PIOS explore different designs not certified initially new releases each year pick subset for certification based on VeriML [ICFP10] evolve its design & impl. scalable proof witnesses new releases each year automated prog. verifiers based on various CAPs need new OCAP/DSPLs initially done in Coq certified kernel modules transition to VeriML later
8
What we have done so far? (First two years of CRASH) A clean-slate CertiKOS hypervisor kernel –boot on stock AMD / Intel hardware –support multiple VM guests, hypercall, device pass-through A new compositional verification framework that extends OCAP with –cross-abstraction linking and certified separate compilation (compatible with CompCert) Compositional verification of virtual memory management –paper + PhD dissertation + Coq implementation (of certified VMM modules) New compositional program logics for certifying fine-grained concurrency –interrupt & thread management; trace-based CSL; proving lock freedom Declarative DIFC –rigorous definition & proof of “non-interference” even in the presence of declassification –new DIFC logics that work for low-level C-like languages (with mutable heaps / malloc / free) VeriML design & implementation & programming tool – papers + PhD dissertation + new VeriML compiler/interpreter
9
Kernel design & development Hardware Abstraction Layer (Device Drivers) SMP Management Physical Memory Allocator Page Map Interrupt Handle Virtualization Abstraction Process Management Spinlock Virtual Machine Management Master Master Syscall Slave Slave Syscall VMX Primitives VMX Primitives SVM Primitives SVM Primitives Virtual Devices Virtual Devices
10
compositional verification framework Kernel certification LnLn … L1L1 Mechanized meta-logic Formalized HW & env model … C1C1 CnCn C1C1 C1C1 CnCn … CertiKOS CnCn … C1C1 CnCn But this only addresses horizontal modularity!
11
Compositional co-development & verification & synthesis & linking Raw Machine / HW Spec kmod1.c CompCert abs-layer-1 spec kmod1.s high-level kernel spec abs-layer-k spec kmodk.s abs-layer-2 spec kmod2.s kmod2.c CompCert abs-layer-z spec kmodz.s kmodz.c CompCert ……………………… … abs-layer-x spec kmodx.s kmodx.c CompCert kmody.c CompCert kmody.s kmod3.c CompCert kmod3.s kmody.c CompCert kmody.s ……………………… … kinit.c Safety (never crash) Correctness Secure (no info leak) Liveness (resource usage)
12
Schedule 09:15 – 10:15 Session 1 Project overview (Zhong Shao) Kernel design & application (Bryan Ford) Kernel implementation (Liang Gu) Kernel “specification” (Haozhong Zhang) 10:15 – 10:30 Break 10:30 – 11:30 Session 2 Compositional verification & compilation (Tahina Ramananandro) Virtual memory management (Alex Vaynberg) Concurrent interrupt & thread management (Zhong Shao) 11:30 – 11:45 Break 11:45 – 12:45 Session 3 Declarative DIFC (David Costanzo) Proving lock-freedom (Jan Hoffmann) VeriML design & implementation (Jan Hoffmann)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.