Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Simon Winwood is active.

Publication


Featured researches published by Simon Winwood.


symposium on operating systems principles | 2009

seL4: formal verification of an OS kernel

Gerwin Klein; Kevin Elphinstone; Gernot Heiser; June Andronick; David Cock; Philip Derrin; Dhammika Elkaduwe; Kai Engelhardt; Rafal Kolanski; Michael Norrish; Thomas Sewell; Harvey Tuch; Simon Winwood

Complete formal verification is the only known way to guarantee that a system is free of programming errors. We present our experience in performing the formal, machine-checked verification of the seL4 microkernel from an abstract specification down to its C implementation. We assume correctness of compiler, assembly code, and hardware, and we used a unique design approach that fuses formal and operating systems techniques. To our knowledge, this is the first formal proof of functional correctness of a complete, general-purpose operating-system kernel. Functional correctness means here that the implementation always strictly follows our high-level abstract specification of kernel behaviour. This encompasses traditional design and implementation safety properties such as the kernel will never crash, and it will never perform an unsafe operation. It also proves much more: we can predict precisely how the kernel will behave in every possible situation. seL4, a third-generation microkernel of L4 provenance, comprises 8,700 lines of C code and 600 lines of assembler. Its performance is comparable to other high-performance L4 kernels.


Communications of The ACM | 2010

seL4: formal verification of an operating-system kernel

Gerwin Klein; June Andronick; Kevin Elphinstone; Gernot Heiser; David Cock; Philip Derrin; Dhammika Elkaduwe; Kai Engelhardt; Rafal Kolanski; Michael Norrish; Thomas Sewell; Harvey Tuch; Simon Winwood

We report on the formal, machine-checked verification of the seL4 microkernel from an abstract specification down to its C implementation. We assume correctness of compiler, assembly code, hardware, and boot code. seL4 is a third-generation microkernel of L4 provenance, comprising 8700 lines of C and 600 lines of assembler. Its performance is comparable to other high-performance L4 kernels. We prove that the implementation always strictly follows our high-level abstract specification of kernel behavior. This encompasses traditional design and implementation safety properties such as that the kernel will never crash, and it will never perform an unsafe operation. It also implies much more: we can predict precisely how the kernel will behave in every possible situation.


interactive theorem proving | 2011

seL4 enforces integrity

Thomas Sewell; Simon Winwood; Peter Gammie; Toby C. Murray; June Andronick; Gerwin Klein

We prove that the seL4 microkernel enforces two high-level access control properties: integrity and authority confinement. Integrity provides an upper bound on write operations. Authority confinement provides an upper bound on how authority may change. Apart from being a desirable security property in its own right, integrity can be used as a general framing property for the verification of user-level system composition. The proof is machine checked in Isabelle/HOL and the results hold via refinement for the C implementation of the kernel.


theorem proving in higher order logics | 2009

Mind the gap: A verification framework for low-level C

Simon Winwood; Gerwin Klein; Thomas Sewell; June Andronick; David Cock; Michael Norrish

This paper presents the formal Isabelle/HOL framework we use to prove refinement between an executable, monadic specification and the C implementation of the seL4 microkernel. We describe the refinement framework itself, the automated tactics it supports, and the connection to our previous C verification framework. We also report on our experience in applying the framework to seL4. The characteristics of this microkernel verification are the size of the target (8,700 lines of C code), the treatment of low-level programming constructs, the focus on high performance, and the large subset of the C programming language addressed, which includes pointer arithmetic and type-unsafe code.


annual computer security applications conference | 2003

Legba: Fast hardware support for fine-grained protection

Adam Wiggins; Simon Winwood; Harvey Tuch; Gernot Heiser

Fine-grained hardware protection, if it can be done without slowing down the processor, could deliver significant benefits to software, enabling the implementation of strongly encapsulated light-weight objects. In this paper we introduce Legba, a new caching architecture that aims at supporting fine-grained memory protection and protected procedure calls without slowing down the processor’s clock speed.


Archive | 2010

Refinement in the Formal Verification of the seL4 Microkernel

Gerwin Klein; Thomas Sewell; Simon Winwood

We present an overview of the different refinement frameworks used in the L4.verified project to formally prove the functional correctness of the seL4 microkernel. The verification is conducted in the interactive theorem prover Isabelle/HOL and proceeds in two large refinement steps: one proof between two monadic, functional specifications in HOL and one proof between such a monadic specification and a C program. To connect these proofs into one overall theorem, we map both refinement statements into a common overall framework.


logic based program synthesis and transformation | 2006

On the automated synthesis of proof-carrying temporal reference monitors

Simon Winwood; Gerwin Klein; Manuel M. T. Chakravarty

We extend the range of security policies that can be guaranteed with proof carrying code from the classical type safety, control safety, memory safety, and space/time guarantees to more general security policies, such as general resource and access control. We do so by means of (1) a specification logic for security policies, which is the past-time fragment of LTL, and (2) a synthesis algorithm generating reference monitor code and accompanying proof objects from formulae of the specification logic. To evaluate the feasibility of our approach, we developed a prototype implementation producing proofs in Isabelle/HOL.


types in languages design and implementation | 2011

Singleton: a general-purpose dependently-typed assembly language

Simon Winwood; Manuel M. T. Chakravarty

In this paper we present Singleton, a dependently typed assembly language. Based upon the calculus of inductive constructions, Singletons type system allows procedures abstracting over terms, types, propositions, and proof terms. Furthermore, Singleton includes generalised singleton types. In addition to the primitive singleton types of other languages, these generalised singleton types allow the values from arbitrary inductive types to be associated with the contents of registers and memory locations. Along with Singletons facility for term and proof abstraction, generalised singleton types allow strong statements to be made about the functional behaviour of Singleton programs. We have formalised basic properties of Singletons type system, namely type safety and a type erasure property, using the Coq proof assistant.


formal aspects in security and trust | 2005

Secure untrusted binaries — provably!

Simon Winwood; Manuel M. T. Chakravarty

Most of the previous comparisons of formal analyses of security protocols have concentrated on the tabulation of attacks found or missed. More recent investigations suggest that such cursory comparisons can be misleading. The original context of a protocol as well as the operating assumptions of the analyst have to be taken into account before conducting comparative evaluations of different analyses of a protocol. In this paper, we present four analyses of the Zhou-Gollmann non-repudiation protocol and trace the differences in the results of the four analyses to the differences in the assumed contexts. This shows that even contemporary analyses may unknowingly deviate from a protocols original context.


Archive | 2002

Multiple page size support in the Linux kernel

Simon Winwood; Yefim Shuf; Hubertus Franke

Collaboration


Dive into the Simon Winwood's collaboration.

Top Co-Authors

Avatar

Gerwin Klein

University of New South Wales

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Gernot Heiser

University of New South Wales

View shared research outputs
Top Co-Authors

Avatar

Michael Norrish

Australian National University

View shared research outputs
Top Co-Authors

Avatar

Daniel Potts

University of New South Wales

View shared research outputs
Top Co-Authors

Avatar

Kai Engelhardt

University of New South Wales

View shared research outputs
Researchain Logo
Decentralizing Knowledge