Gerwin Klein Kevin Elphinstone Gernot Heiser June Andronick David Cock Philip Derrin Dhammika Elkaduwe Kai Engelhardt Rafal Kolanski Michael Norrish
|
|
- Cassandra Harris
- 6 years ago
- Views:
Transcription
1 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
2
3 1 microkernel 8,700 l ines of C 0 bugs * qed *conditions apply
4 The Goal 2
5 The Problem 3
6 Small Kernels Small trustworthy foundation hypervisor, microkernel, nano-kernel, virtual machine, separation kernel, exokernel... High assurance components in presence of other components sel4 API: - IPC - Threads - VM - IRQ - Capabilities Untrusted Legacy Apps Legacy App. Legacy App. Linux Server Hardware Trusted Sensitive App Trusted Service NICTA
7 Small Kernels Small trustworthy foundation hypervisor, microkernel, nano-kernel, virtual machine, separation kernel, exokernel... High assurance components in presence of other components sel4 API: - IPC - Threads - VM - IRQ - Capabilities Untrusted Legacy Apps Legacy App. Legacy App. Linux Server sel4 Hardware Trusted Sensitive App Trusted Service NICTA
8
9
10 Functional Correctness Specification Proof Code NICTA
11 Functional Correctness What Specification definition schedule :: unit s_monad where schedule do threads allactivetcbs; thread select threads; switch_to_thread thread od OR switch_to_idle_thread Proof Code NICTA
12 Functional Correctness What Specification definition schedule :: unit s_monad where schedule do threads allactivetcbs; thread select threads; switch_to_thread thread od OR switch_to_idle_thread Proof How Code NICTA
13 *conditions apply Specification Proof Code NICTA
14 *conditions apply Specification Proof Code Assumptions NICTA
15 *conditions apply Expectation Specification Proof Code Assumptions NICTA
16 *conditions apply Proof Specification Assume correct: Expectation - compiler + linker (wrt. C op-sem) - assembly code (600 loc) - hardware (ARMv6) - cache and TLB management - boot code (1,200 loc) Code Assumptions NICTA
17 Implications Execution always defined: no null pointer de-reference no buffer overflows no code injection no memory leaks/out of kernel memory no div by zero, no undefined shift no undefined execution no infinite loops/recursion Specification C Code Not implied: secure (define secure) zero bugs from expectation to physical world covert channel analysis NICTA
18 Proof Architecture Specification Proof C Code NICTA
19 Proof Architecture Specification Design C Code NICTA
20 Proof Architecture Specification Design C Code NICTA
21 Proof Architecture Access Control Spec Confinement Specification Design C Code NICTA
22 Proof Architecture Access Control Spec Confinement Specification Design Haskell Prototype C Code NICTA
23 Proof Architecture Access Control Spec Confinement Specification definition schedule :: unit s_monad where schedule do threads allactivetcbs; thread select threads; switch_to_thread thread od OR switch_to_idle_thread Design Haskell Prototype C Code NICTA
24 Proof Architecture Access Control Spec Confinement Specification Design Haskell Prototype C Code NICTA
25 Proof Architecture Access Control Spec Confinement Specification Design Haskell Prototype C Code NICTA
26 System Model States: User, Kernel, Idle Events: Syscall, Exception, IRQ, VM Fault idle event I idle U kernel exit event K kernel mode NICTA
27 System Model States: User, Kernel, Idle Events: Syscall, Exception, IRQ, VM Fault idle event I idle U kernel exit event K kernel mode NICTA
28
29 sel4
30
31
32 Two Teams Formal Methods Practitioners Kernel Developers NICTA
33 Two Teams Formal Methods Practitioners Kernel Developers The Power of Abstraction (Liskov 09) Exterminate All OS Abstractions! (Engler 95) NICTA
34 Iterative Design and Formalisation Whiteboard Haskell Prototype Formal Design Formal Specification C Code NICTA
35 Iterative Design and Formalisation Whiteboard Haskell Prototype Formal Design Formal Specification C Code NICTA
36 Iterative Design and Formalisation Whiteboard Haskell Prototype Formal Design Formal Specification C Code NICTA
37 Iterative Design and Formalisation Whiteboard Haskell Prototype Formal Design Formal Specification C Code NICTA
38 Design for Verification Reducing Complexity Hardware drivers outside kernel Concurrency event based kernel limit preemption Code derive from functional representation NICTA
39 C subset Everything from C standard including: - pointers, casts, pointer arithmetic - data types - structs, padding - pointers into structs - precise finite integer arithmetic minus: - goto, switch fall-through - reference to local variable - side-effects in expressions - function pointers (restricted) - unions plus compiler assumptions on: - data layout, encoding, endianess NICTA
40 Did you find any Bugs? Bugs found Effort during testing: 16 Haskell design First C impl. Debugging/Testing Kernel verification Formal frameworks 2 py 2 weeks 2 months 12 py 10 py during verification: in C: 160 in design: ~150 in spec: ~ bugs Total Cost Common Criteria EAL6: L4.verified: 25 py $87M $6M NICTA
41 Did you find any Bugs? Bugs found Effort during testing: 16 Haskell design First C impl. Debugging/Testing Kernel verification Formal frameworks 2 py 2 weeks 2 months 12 py 10 py during verification: in C: 160 in design: ~150 in spec: ~ bugs Total Cost Common Criteria EAL6: L4.verified: 25 py $87M $6M NICTA
42 Summary Formal proof all the way from spec to C. 200kloc handwritten, machine-checked proof ~460 bugs (160 in C) Verification on code, design, and spec Hard in the proof Hard in the implementation Formal Code Verification up to 10kloc: It works. It s feasible. It s cheaper. (It s fun, too. And we re hiring..) NICTA
43
44
Towards a Practical, Verified Kernel
Towards a Practical, Verified Kernel Kevin Elphinstone and Gerwin Klein, National ICT Australia and the University of New South Wales Philip Derrin, National ICT Australia Timothy Roscoe, ETH Zürich Gernot
More informationThe Evolution of Secure Operating Systems
The Evolution of Secure Operating Systems Trent Jaeger Systems and Internet Infrastructure Security (SIIS) Lab Computer Science and Engineering Department Pennsylvania State University 1 Operating Systems
More informationsel4: Formal Verification of an Operating-System Kernel
sel4: Formal Verification of an Operating-System Kernel Gerwin Klein 1,2, June Andronick 1,2, Kevin Elphinstone 1,2, Gernot Heiser 1,2,3 David Cock 1, Philip Derrin 1, Dhammika Elkaduwe 1,2, Kai Engelhardt
More informationTranslation Validation for a Verified OS Kernel
To appear in PLDI 13 Translation Validation for a Verified OS Kernel Thomas Sewell 1, Magnus Myreen 2, Gerwin Klein 1 1 NICTA, Australia 2 University of Cambridge, UK L4.verified sel4 = a formally verified
More informationsel4: Formal Verification of an OS Kernel
sel4: Formal Verification of an OS Kernel Gerwin Klein 1,2, Kevin Elphinstone 1,2, Gernot Heiser 1,2,3 June Andronick 1,2, David Cock 1, Philip Derrin 1, Dhammika Elkaduwe 1,2, Kai Engelhardt 1,2 Rafal
More informationIntroduction. COMP /S2 Week Gernot Heiser UNSW/NICTA/OKL. Distributed under Creative Commons Attribution License 1
Introduction COMP9242 2008/S2 Week 1 2008 Gernot Heiser UNSW/NICTA/OKL. Distributed under Creative Commons Attribution License 1 Copyright Notice These slides are distributed under the Creative Commons
More informationFrom imagination to impact
From imagination to impact Kernel Design for Isolation an Assurance of Physical Memory Dhammika Elkauwe Philip Derrin Kevin Elphinstone Embee Systems Increasing functionality Increasing software complexity
More informationIntroduction. COMP9242 Advanced Operating Systems 2010/S2 Week 1
Introduction COMP9242 Advanced Operating Systems 2010/S2 Week 1 2010 Gernot Heiser UNSW/NICTA/OK Labs. Distributed under Creative Commons Attribution License 1 Copyright Notice These slides are distributed
More informationComprehensive Formal Verification of an OS Microkernel
Comprehensive Formal Verification of an OS Microkernel GERWIN KLEIN, JUNE ANDRONICK, KEVIN ELPHINSTONE, TOBY MURRAY, THOMAS SEWELL, RAFAL KOLANSKI, and GERNOT HEISER, NICTA and UNSW, Sydney, Australia
More informationMicrokernel Design A walk through selected aspects of
Microkernel Design A walk through selected aspects of kernel design and sel4 These slides are made distributed under the Creative Commons Attribution 3.0 License, unless otherwise noted on individual slides.
More informationKomodo: Using Verification to Disentangle Secure-Enclave Hardware from Software
Komodo: Using Verification to Disentangle Secure-Enclave Hardware from Software Andrew Ferraiuolo, Andrew Baumann, Chris Hawblitzel, Bryan Parno* Microsoft Research, Cornell University, Carnegie Mellon
More informationMechanised Separation Algebra
Mechanised Separation Algebra Gerwin Klein, Rafal Kolanski, and Andrew Boyton 1 NICTA, Sydney, Australia 2 School of Computer Science and Engineering, UNSW, Sydney, Australia {first-name.last-name}@nicta.com.au
More informationImproving Interrupt Response Time in a Verifiable Protected Microkernel
Improving Interrupt Response Time in a Verifiable Protected Microkernel Bernard Blackham Yao Shi Gernot Heiser The University of New South Wales & NICTA, Sydney, Australia EuroSys 2012 Motivation The desire
More informationRapiLog: Reducing System Complexity Through Verification
: Reducing System Complexity Through Verification Gernot Heiser, Etienne Le Sueur, Adrian Danis, Aleksander Budzynowski, Tudor-Ioan Salomie, Gustavo Alonso 1 Database Transactions Transactions implement
More informationOS Verification Now!
OS Verification Now! Harvey Tuch Gerwin Klein Gernot Heiser National ICT Australia University of New South Wales (harvey.tuch gerwin.klein gernot)@nicta.com.au Abstract Hard, machine-supported formal verification
More informationTowards High-Assurance Multiprocessor Virtualisation
NICTA and University of New South Wales Sydney, Australia michael.vontessin@nicta.com.au Abstract Virtualisation is increasingly being used in security-critical systems to provide isolation between system
More informationFormal methods for software security
Formal methods for software security Thomas Jensen, INRIA Forum "Méthodes formelles" Toulouse, 31 January 2017 Formal methods for software security Formal methods for software security Confidentiality
More informationTowards High-Assurance Multiprocessor Virtualisation
Towards High-Assurance Multiprocessor Virtualisation NICTA and University of New South Wales Sydney, Australia michael.vontessin@nicta.com.au Abstract Virtualisation is increasingly being used in security-critical
More informationA Simpl Shortest Path Checker Verification
A Simpl Shortest Path Checker Verification Christine Rizkallah Max-Planck-Institut für Informatik, Saarbrücken, Germany Abstract. Verification of complex algorithms with current verification tools in reasonable
More informationFormal proofs of code generation and verification tools
Formal proofs of code generation and verification tools Xavier Leroy To cite this version: Xavier Leroy. Formal proofs of code generation and verification tools. Dimitra Giannakopoulou and Gwen Salaün.
More informationTrickle: Automated Infeasible Path
Trickle: Automated Infeasible Path Detection Using All Minimal Unsatisfiable Subsets Bernard Blackham, Mark Liffiton, Gernot Heiser School of Computer Science & Engineering, UNSW Software Systems Research
More informationBitfields and Tagged Unions in C Verification through Automatic Generation
Bitfields and Tagged Unions in C Verification through Automatic Generation David Cock Sydney Research Lab., NICTA, Australia Abstract. We present a tool for automatic generation of packed bitfields and
More informationL4/Darwin: Evolving UNIX. Charles Gray Research Engineer, National ICT Australia
L4/Darwin: Evolving UNIX Charles Gray Research Engineer, National ICT Australia charles.gray@nicta.com.au Outline 1. Project Overview 2. BSD on the Mach microkernel 3. Porting Darwin to the L4 microkernel
More informationStaff. Advanced Operating Systems. Why are you here? What can you expect?
Staff Advanced Operating Systems COMP9242 Introduction Lecturer in Charge Gernot Heiser Lecturer Kevin Elphinstone Various Support Staff TBA 2 Why are you here? You ve done comp3231 Did well (minimum credit)
More informationAdvanced Operating Systems. COMP9242 Introduction
Advanced Operating Systems COMP9242 Introduction Staff Lecturer in Charge Gernot Heiser Lecturer Kevin Elphinstone Various Support Staff TBA 2 Why are you here? You ve done comp3231 Did well (minimum credit)
More informationAvoiding Leakage and Synchronization Attacks through Enclave-Side Preemption Control
Avoiding Leakage and Synchronization Attacks through Enclave-Side Preemption Control Marcus Völp, Adam Lackorzynski *, Jérémie Decouchant, Vincent Rahli, Francisco Rocha, and Paulo Esteves-Veríssimo University
More informationImplementing a Verified On-Disk Hash Table
Implementing a Verified On-Disk Hash Table Stephanie Wang Abstract As more and more software is written every day, so too are bugs. Software verification is a way of using formal mathematical methods to
More informationFormally Verified Software in the Real World
Formally Verified Software in the Real World Gerwin Klein UNSW Ihor Kuz UNSW June Andronick UNSW Toby Murray University of Melbourne Melbourne, Australia Matthew Fernez UNSW Gernot Heiser UNSW ABSTRACT
More informationDesigning Systems for Push-Button Verification
Designing Systems for Push-Button Verification Luke Nelson, Helgi Sigurbjarnarson, Xi Wang Joint work with James Bornholt, Dylan Johnson, Arvind Krishnamurthy, EminaTorlak, Kaiyuan Zhang Formal verification
More informationMind the Gap. A Verification Framework for Low-Level C. 1 NICTA, Australia
Mind the Gap A Verification Framework for Low-Level C Simon Winwood 1,2, Gerwin Klein 1,2, Thomas Sewell 1, June Andronick 1, David Cock 1, and Michael Norrish 1,3 1 NICTA, Australia 2 School of Computer
More informationProgram Verification (6EC version only)
Program Verification (6EC version only) Erik Poll Digital Security Radboud University Nijmegen Overview Program Verification using Verification Condition Generators JML a formal specification language
More informationOperating System Kernels
Operating System Kernels Presenter: Saikat Guha Cornell University CS 614, Fall 2005 Operating Systems Initially, the OS was a run-time library Batch ( 55 65): Resident, spooled jobs Multiprogrammed (late
More informationOperating Systems, Fall
Material Operating Systems Fall 2008 Course book: A.S. Tanenbaum, Modern Operating Systems, 3rd. ed.,, Prentice-Hall, 2007 Any other large OS book, f.e. Stallings, Silbershatz, or Deitel, should be feasible
More informationLYREBIRD David Cock
davec@cse.unsw.edu.aullyrebird LYREBIRD David Cock λ What is the Motivation? Program proof is important, but there s more to do. NICTA Copyright c 2011 From Imagination to Impact 2 What is the Motivation?
More informationMaster level: Operating systems, distributed systems, networking,
Operating Systems Fall 2008 Tiina Niklander Distributed Systems and Networking specialization area Distributed Systems and Networking Interoperable Distributed Networking Operating system Hardware Interoperable
More informationSelf-Referential Compilation, Emulation, Virtualization, and Symbolic Execution with Selfie. Christoph M. Kirsch, University of Salzburg, Austria
Self-Referential Compilation, Emulation, Virtualization, and Symbolic Execution with Selfie Christoph M. Kirsch, University of Salzburg, Austria Lund University, Lund, Sweden, March 2018 selfie.cs.uni-salzburg.at
More informationCreating a Practical Security Architecture Based on sel4
Creating a Practical Security Architecture Based on sel4 Xinming (Simon) Ou University of South Florida (many slides borrowed/adapted from my student Daniel Wang) 1 Questions for sel4 Community Is there
More informationThe Quest-V Separation Kernel for Mixed Criticality Systems
The Quest-V Separation Kernel for Mixed Criticality Systems Ye Li, Richard West, and Eric Missimer Computer Science Department Boston University Boston, MA 02215 Email: {liye,richwest,missimer}@cs.bu.edu
More informationsel4 Reference Manual Version 2.0.0
NICTA Trustworthy Systems http://ssrg.nicta.com.au/projects/ts/ sel4 Reference Manual Version 2.0.0 Trustworthy Systems Team, NICTA ssrg@nicta.com.au 1 December 2015 c 2015 General Dynamics C4 Systems.
More informationThe Last Mile An Empirical Study of Timing Channels on sel4
The Last Mile An Empirical Study of Timing on David Cock Qian Ge Toby Murray Gernot Heiser 4 November 2014 NICTA Funding and Supporting Members and Partners Outline The Last Mile Copyright NICTA 2014 David
More informationsel4 Reference Manual Version 8.0.0
Data61 Trustworthy Systems https://ts.data61.csiro.au/projects/ts/ sel4 Reference Manual Version 8.0.0 Trustworthy Systems Team, Data61 https://sel4.systems/contact/ 17 January 2018 c 2018 General Dynamics
More informationThe Quest-V Separation Kernel for Mixed Criticality Systems
The Quest-V Separation Kernel for Mixed Criticality Systems Ye Li, Richard West, and Eric Missimer Computer Science Department Boston University Boston, MA 02215 Email: {liye,richwest,missimer}@cs.bu.edu
More informationAdvanced Systems Security: Virtual Machine Systems
Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA Advanced Systems Security:
More informationC Refresher, Advance C, Coding Standard, Misra C Compliance & Real-time Programming
C Refresher, Advance C, Coding Standard, Misra C Compliance & Real-time Programming Course Overview This course transforms an IT-Professional or a Student into an expert C Programming Person with concepts
More informationAdvanced Systems Security: Virtual Machine Systems
Systems and Internet Infrastructure Security Network and Security Research Center Department of Computer Science and Engineering Pennsylvania State University, University Park PA Advanced Systems Security:
More informationAdvanced Operating Systems. COMP9242 Introduction
Advanced Operating Systems COMP9242 Introduction Staff Lecturer in Charge Gernot Heiser Lecturer Kevin Elphinstone Various Support Staff TBA 2 Why are you here? You ve done comp3231 Did well (minimum credit)
More informationStaff. Advanced Operating Systems. Why are you here? What can you expect?
Staff Advanced Operating Systems COMP9242 Introduction Lecturer in Charge Gernot Heiser Lecturer Kevin Elphinstone Various Support Staff TBA 2 Why are you here? You ve done comp3231 Did well (minimum credit)
More informationInitial Evaluation of a User-Level Device Driver Framework
Initial Evaluation of a User-Level Device Driver Framework Stefan Götz Karlsruhe University Germany sgoetz@ira.uka.de Kevin Elphinstone National ICT Australia University of New South Wales kevine@cse.unsw.edu.au
More informationGetting Started with AutoCorres
Getting Started with AutoCorres Japheth Lim Rohan Jacob-Rao David Greenaway September 10, 2018 Contents 1 Introduction 2 2 A First Proof with AutoCorres 2 2.1 Two simple functions: min and max...............
More informationIronclad Apps: End-to-End Security via Automated Full-System Verification. Danfeng Zhang
Ironclad Apps: End-to-End Security via Automated Full-System Verification Chris Hawblitzel Jon Howell Jay Lorch Arjun Narayan Bryan Parno Danfeng Zhang Brian Zill Online and Mobile Security Chase Online,
More informationOS Extensibility: SPIN and Exokernels. Robert Grimm New York University
OS Extensibility: SPIN and Exokernels Robert Grimm New York University The Three Questions What is the problem? What is new or different? What are the contributions and limitations? OS Abstraction Barrier
More informationHow Can You Trust Formally Verified Software?
How Can You Trust Formally Verified Software? Alastair Reid Arm Research @alastair_d_reid https://www.theguardian.com/business/2015/may/01/us-aviation-authority-boeing-787-dreamliner-bug-could-cause-loss-of-control
More informationTurning proof assistants into programming assistants
Turning proof assistants into programming assistants ST Winter Meeting, 3 Feb 2015 Magnus Myréen Why? Why combine proof- and programming assistants? Why proofs? Testing cannot show absence of bugs. Some
More informationPart 1: Introduction to device drivers Part 2: Overview of research on device driver reliability Part 3: Device drivers research at ERTOS
Some statistics 70% of OS code is in device s 3,448,000 out of 4,997,000 loc in Linux 2.6.27 A typical Linux laptop runs ~240,000 lines of kernel code, including ~72,000 loc in 36 different device s s
More informationOverview of the OS. CS 450 : Operating Systems Michael Saelee
Overview of the OS CS 450 : Operating Systems Michael Saelee 1 Agenda - what is an operating system? - what are its main responsibilities? - how does it achieve them? - how is an operating
More informationThe benefits and costs of writing a POSIX kernel in a high-level language
1 / 38 The benefits and costs of writing a POSIX kernel in a high-level language Cody Cutler, M. Frans Kaashoek, Robert T. Morris MIT CSAIL Should we use high-level languages to build OS kernels? 2 / 38
More informationThe Open-Source sel4 Kernel Military-Grade Security Through
The Open-Source sel4 Kernel Military-Grade Security Through Mathema@cs Gernot Heiser gernot.heiser@data61.csiro.au @GernotHeiser Trustworthy Systems Data61 Linaro Connect SFO 17 h"ps://sel4.systems Car
More informationOrganisatorials. About us. Binary Search (java.util.arrays) When Tue 9:00 10:30 Thu 9:00 10:30. COMP 4161 NICTA Advanced Course
Organisatorials COMP 4161 NICTA Advanced Course When Tue 9:00 10:30 Thu 9:00 10:30 Where Tue: Law 163 (F8-163) Thu: Australian School Business 205 (E12-205) Advanced Topics in Software Verification Rafal
More informationA Memory Allocation Model For An Embedded Microkernel
A Memory Allocation Model For An Embedded Microkernel Dhammika Elkaduwe Philip Derrin Kevin Elphinstone National ICT Australia and University of New South Wales Sydney, Australia firstname.lastname@nicta.com.au
More informationTolerating Malicious Drivers in Linux. Silas Boyd-Wickizer and Nickolai Zeldovich
XXX Tolerating Malicious Drivers in Linux Silas Boyd-Wickizer and Nickolai Zeldovich How could a device driver be malicious? Today's device drivers are highly privileged Write kernel memory, allocate memory,...
More informationCOMP9242 Advanced Operating Systems S2/2011 Week 9: Microkernel Design Gernot Heiser, NICTA
COMP9242 Advanced Operating Systems S2/2011 Week 9: Microkernel Design Copyright Notice These slides are distributed under the Creative Commons Attribution 3.0 License You are free: to share to copy, distribute
More informationReal Time and Embedded Systems. by Dr. Lesley Shannon Course Website:
Real Time and Embedded Systems by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc351 Simon Fraser University Slide Set: 2 Date: September 13,
More informationVerification & Validation of Open Source
Verification & Validation of Open Source 2011 WORKSHOP ON SPACECRAFT FLIGHT SOFTWARE Gordon Uchenick Coverity, Inc Open Source is Ubiquitous Most commercial and proprietary software systems have some open
More informationcsci3411: Operating Systems
csci3411: Operating Systems Lecture 3: System structure and Processes Gabriel Parmer Some slide material from Silberschatz and West System Structure System Structure How different parts of software 1)
More informationProtection. Thierry Sans
Protection Thierry Sans Protecting Programs How to lower the risk of a program security flaw resulting from a bug? 1. Build better programs 2. Build better operating systems Build Better Programs Why are
More informationCombining program verification with component-based architectures. Alexander Senier BOB 2018 Berlin, February 23rd, 2018
Combining program verification with component-based architectures Alexander Senier BOB 2018 Berlin, February 23rd, 2018 About Componolit 2 What happens when we use what's best? 3 What s Best? Mid-90ies:
More informationtype classes & locales
Content Rough timeline Intro & motivation, getting started [1] COMP 4161 NICTA Advanced Course Advanced Topics in Software Verification Gerwin Klein, June Andronick, Toby Murray type classes & locales
More informationCSE 120 Principles of Operating Systems
CSE 120 Principles of Operating Systems Fall 2016 Lecture 2: Architectural Support for Operating Systems Geoffrey M. Voelker Administrivia Project 0 Due 10/4, done individually Homework #1 Due 10/6 Project
More informationLOCAL OPERATING SYSTEMS R&D AND OPPOR TUNITIES FOR STUDENTS
OVERVIEW Cool systems stuff happening at: LOCAL OPERATING SYSTEMS R&D AND OPPOR TUNITIES FOR STUDENTS COMP9242 2006/S2 Week 14 UNSW Gelato@UNSW Linux scalability and performance on Itanium National ICT
More informationRISCV with Sanctum Enclaves. Victor Costan, Ilia Lebedev, Srini Devadas
RISCV with Sanctum Enclaves Victor Costan, Ilia Lebedev, Srini Devadas Today, privilege implies trust (1/3) If computing remotely, what is the TCB? Priviledge CPU HW Hypervisor trusted computing base OS
More informationBlockchains: new home for proven-correct software. Paris, Yoichi Hirai formal verification engineer, the Ethereum Foundation
Blockchains: new home for proven-correct software Paris, 2017-2-17 Yoichi Hirai formal verification engineer, the Ethereum Foundation Lyon: 2014 January Have you heard of a web site where you can get Bitcoin
More information6.828: OS/Language Co-design. Adam Belay
6.828: OS/Language Co-design Adam Belay Singularity An experimental research OS at Microsoft in the early 2000s Many people and papers, high profile project Influenced by experiences at
More informationMapped Separation Logic
Mapped Separation Logic Rafal Kolanski and Gerwin Klein Sydney Research Lab., NICTA, Australia School of Computer Science and Engineering, UNSW, Sydney, Australia {rafal.kolanski gerwin.klein}@nicta.com.au
More informationComputer Systems A Programmer s Perspective 1 (Beta Draft)
Computer Systems A Programmer s Perspective 1 (Beta Draft) Randal E. Bryant David R. O Hallaron August 1, 2001 1 Copyright c 2001, R. E. Bryant, D. R. O Hallaron. All rights reserved. 2 Contents Preface
More informationThe COGENT Case for Property-Based Tes=ng
The OGENT ase for Property-Based Tes=ng Zilin hen, Liam O'onnor, Gabriele Keller, Gerwin Klein and Gernot Heiser PLOS 17 www.data61.csiro.au What Is OGENT? Reduces the cost of formally verifying systems
More information9/19/18. COS 318: Operating Systems. Overview. Important Times. Hardware of A Typical Computer. Today CPU. I/O bus. Network
Important Times COS 318: Operating Systems Overview Jaswinder Pal Singh and a Fabulous Course Staff Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) u Precepts:
More informationA Formally Verified NAT Stack
Solal Pirelli EPFL, Switzerland A Formally Verified NAT Stack Arseniy Zaostrovnykh EPFL, Switzerland George Candea EPFL, Switzerland Abstract Prior work proved a stateful NAT network function to be semantically
More informationVerified Protection Model of the sel4 Microkernel
Verified Protection Model of the sel4 Microkernel Dhammika Elkaduwe, Gerwin Klein, and Kevin Elphinstone NICTA and University of New South Wales, Sydney, Australia {dhammika.elkaduwe,gerwin.klein,kevin.elphinstone}@nicta.com.au
More informationFeasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code. Feasibility of Testing to Code (contd)
Feasibility of Testing to Code (contd) Feasibility of Testing to Code (contd) An incorrect code fragment for determining if three integers are equal, together with two test cases Flowchart has over 10
More informationThe CertiKOS Project
The CertiKOS Project Zhong Shao Yale University April 21, 2017 http://flint.cs.yale.edu Acknowledgement: Ronghui Gu, Newman Wu, Hao Chen, Jieung Kim, Jeremie Koenig, Vilhelm Sjoberg, Mengqi Liu, Lionel
More informationMICROKERNELS: MACH AND L4
1 MICROKERNELS: MACH AND L4 CS6410 Hakim Weatherspoon Introduction to Kernels Different Types of Kernel Designs Monolithic kernel Microkernel Hybrid Kernel Exokernel Virtual Machines? Monolithic Kernels
More informationPush-button verification of Files Systems via Crash Refinement
Push-button verification of Files Systems via Crash Refinement Verification Primer Behavioral Specification and implementation are both programs Equivalence check proves the functional correctness Hoare
More informationThe Weird Machines in Proof-Carrying Code
The Weird Machines in Proof-Carrying Code IEEE Security and Privacy LangSec Workshop 2014 Invited paper Julien Vanegue Bloomberg L.P. New York, USA. Abstract A grand challenge in computer programming is
More informationFile Systems Deserve Verification Too!
File Systems Deserve Verification Too! Gabriele Keller 1 2 Toby Murray 1 2 Sidney Amani 1 2 Liam O Connor 1 2 Zilin Chen 1 2 Leonid Ryzhyk 1 2 3 Gerwin Klein 1 2 Gernot Heiser 1 2 1 NICTA, Sydney, Australia
More informationTHREADS ADMINISTRIVIA RECAP ALTERNATIVE 2 EXERCISES PAPER READING MICHAEL ROITZSCH 2
Department of Computer Science Institute for System Architecture, Operating Systems Group THREADS ADMINISTRIVIA MICHAEL ROITZSCH 2 EXERCISES due to date and room clashes we have to divert from our regular
More informationStatic Program Analysis Part 1 the TIP language
Static Program Analysis Part 1 the TIP language http://cs.au.dk/~amoeller/spa/ Anders Møller & Michael I. Schwartzbach Computer Science, Aarhus University Questions about programs Does the program terminate
More informationFault Isolation for Device Drivers
Fault Isolation for Device Drivers 39 th International Conference on Dependable Systems and Networks, 30 June 2009, Estoril Lisbon, Portugal Jorrit N. Herder Vrije Universiteit Amsterdam ~26% of Windows
More informationPip: A Minimal OS Kernel with Provable Isolation 1
Pip: A Minimal OS Kernel with Provable Isolation 1 David Nowak CRIStAL, CNRS & Lille 1 University Third French-Japanese Meeting on Cybersecurity April 24, 2017 1 Joint work with the 2XS team (Lille), partially
More informationBringing Android to Secure SDRs
Bringing Android to Secure SDRs David Kleidermacher Frank Vandenberg SDR 11 WinnComm - Europe Agenda Overview Why Android in SDR? Android Security Proposed Architecture Typical red-black architecture for
More informationFlexSC. Flexible System Call Scheduling with Exception-Less System Calls. Livio Soares and Michael Stumm. University of Toronto
FlexSC Flexible System Call Scheduling with Exception-Less System Calls Livio Soares and Michael Stumm University of Toronto Motivation The synchronous system call interface is a legacy from the single
More informationLecture Notes for 04/04/06: UNTRUSTED CODE Fatima Zarinni.
Lecture Notes for 04/04/06 UNTRUSTED CODE Fatima Zarinni. Last class we started to talk about the different System Solutions for Stack Overflow. We are going to continue the subject. Stages of Stack Overflow
More informationOperating System. Operating System Overview. Structure of a Computer System. Structure of a Computer System. Structure of a Computer System
Overview Chapter 1.5 1.9 A program that controls execution of applications The resource manager An interface between applications and hardware The extended machine 1 2 Structure of a Computer System Structure
More informationVersion:1.1. Overview of speculation-based cache timing side-channels
Author: Richard Grisenthwaite Date: January 2018 Version 1.1 Introduction This whitepaper looks at the susceptibility of Arm implementations following recent research findings from security researchers
More informationHelgi Sigurbjarnarson
Nickel A Framework for Design and Verification of Information Flow Control Systems Helgi Sigurbjarnarson, Luke Nelson, Bruno Castro-Karney, James Bornholt, Emina Torlak, and Xi Wang.org Enforcing information
More informationAn Extensible Programming Language for Verified Systems Software. Adam Chlipala MIT CSAIL WG 2.16 meeting, 2012
An Extensible Programming Language for Verified Systems Software Adam Chlipala MIT CSAIL WG 2.16 meeting, 2012 The status quo in computer system design DOM JS API Web page Network JS API CPU Timer interrupts
More informationC-LANGUAGE CURRICULAM
C-LANGUAGE CURRICULAM Duration: 2 Months. 1. Introducing C 1.1 History of C Origin Standardization C-Based Languages 1.2 Strengths and Weaknesses Of C Strengths Weaknesses Effective Use of C 2. C Fundamentals
More informationCSE 120 Principles of Operating Systems
CSE 120 Principles of Operating Systems Spring 2018 Lecture 2: Architectural Support for Operating Systems Geoffrey M. Voelker Administrivia Project 0 Due 4/9 11:59pm, done individually Homework #1 Due
More information0x1A Great Papers in Computer Security
CS 380S 0x1A Great Papers in Computer Security Vitaly Shmatikov http://www.cs.utexas.edu/~shmat/courses/cs380s/ slide 1 Reference Monitor Observes execution of the program/process At what level? Possibilities:
More informationcsci3411: Operating Systems
csci3411: Operating Systems Lecture 3: System structure and Processes Gabriel Parmer Some slide material from Silberschatz and West System Structure System Structure How different parts of software 1)
More informationOperating System Security
Operating System Security Operating Systems Defined Hardware: I/o...Memory.CPU Operating Systems: Windows or Android, etc Applications run on operating system Operating Systems Makes it easier to use resources.
More information