Trustworthy Systems

Making trusted systems trustworthy

Authors

Gernot Heiser

    School of Computer Science and Engineering
    UNSW,
    Sydney 2052, Australia

Published:

Invited lecture at the Artist Summer School on Embedded Systems
Aix-les-Bains
France

Abstract

The complexity of computer hardware and software continues to increase, while at the same time we are increasingly dependent on them functioning correctly – a recipe for disaster. Clearly, a change of approach is needed.

This lecture covers NICTA's approach to trustworthy systems, which aims to constructing systems such that their dependability can be proved. Fundamentally our approach is based on strong isolation of components, combined with strictly controlled communication channels which are subject to system-wide security policies. Isolation and communication are provided by a secure microkernel, seL4. We ensure that it provides safety and security by proving that its API enforces the correct isolation properties (confidentiality and integrity), that its implementation is correct with respect to its specification (i.e. API), and that the binary is a correct translation of the C implementation. We also perform a complete and sound timing analysis, in order to guarantee real-time performance. For the approach to work in practice, we must also ensure that seL4 is efficient, meaning it does not impose undue overheads on systems built on top.

Having achieved all this, we are now focussing on building complete systems on top of seL4, and proving that the overall system satisfies its safety or security requirements. One of these is an autonomous aerial vehicle developed by a consortium of NICTA, Rockwell Collins, Galois and Boeing under the DARPA HACMS program.

BibTeX Entry

  @misc{Heiser_13:artist,
    author           = {Gernot Heiser},
    howpublished     = {Invited lecture at the Artist Summer School on Embedded Systems, Aix-les-Bains, France},
    month            = sep,
    title            = {Making Trusted Systems Trustworthy},
    year             = {2013}
  }

Download