How do we know that the software on a modern aircraft is reliable enough to trust our lives with it? The seL4 microkernel is a minimalist operating system that has potential for use in avionics. It has been formally proven to satisfy its specifications, including classic security properties of integrity and confidentiality, making it particularly attractive for systems where safety and security are paramount. Traditional verification methods are good at testing positive requirements- whether the software does something you want, e.g., “when I push button X, light B turns on.” However, those same verification methods are quite poor at testing negative requirements, when we want to ensure the software does not do something, e.g., “the software never takes longer than 10 ms to respond.” Why is that difficult? The number of circumstances we might need to test could be astronomical, making it practically infeasible to check exhaustively.
Is formal proof of seL4 sufficient for avionics security?
IEEE Aerospace and Electronic Systems Magazine ; 33 , 2 ; 16-21
2018-02-01
1660389 byte
Article (Journal)
Electronic Resource
English