seL4 Microkernel Status Update Gernot Heiser | - - PowerPoint PPT Presentation

sel4 microkernel status update
SMART_READER_LITE
LIVE PREVIEW

seL4 Microkernel Status Update Gernot Heiser | - - PowerPoint PPT Presentation

seL4 Microkernel Status Update Gernot Heiser | gernot.heiser@data61.csiro.au | @GernotHeiser FOSDEM, Bruxelles, 2020-02-02 https://trustworthy.systems What is seL4? seL4: Assurance and Performance The worlds first operating- Worlds


slide-1
SLIDE 1

https://trustworthy.systems

seL4 Microkernel Status Update

Gernot Heiser | gernot.heiser@data61.csiro.au | @GernotHeiser

  • FOSDEM, Bruxelles, 2020-02-02
slide-2
SLIDE 2

What is seL4?

slide-3
SLIDE 3

seL4: Assurance and Performance

FOSDEM | Bruxelles | Feb'20 3 |

The world’s first operating- system kernel with provable security enforcement The world’s fastest general-purpose microkernel, designed for real-world use The world’s only protected-mode OS with complete, sound timeliness analysis World’s most advanced mixed- criticality OS

Open Source

slide-4
SLIDE 4

Abstract Model

P r

  • f

C Imple- mentation

Proof

Confidentiality Availability Binary code

Proof Proof Proof

Functional correctness: C code only behaves as specified Model enforces security Translation validation: Binary retains C-code semantics Limitations (work in progress):

  • Kernel initialisation not yet verified
  • MMU & caches modelled abstractly
  • Timing channels not ruled out

Sound worst-case execution time bound

World’s Most Secure OS: Arm v7

FOSDEM | Bruxelles | Feb'20 4 |

Integrity

slide-5
SLIDE 5

Military-Strength Security

FOSDEM | Bruxelles | Feb'20 5 |

Unmanned Little Bird (ULB) Autonomous trucks

Cross-Domain Desktop Compositor Secure Comms Dongle DARPA HACMS: Retrofit existing system! DARPA HACMS: Retrofit existing system!

slide-6
SLIDE 6

seL4 on RISC-V

slide-7
SLIDE 7

Background: HENSOLD Cyber

FOSDEM | Bruxelles | Feb'20 7 |

Munich-based startup

  • Secure RISC-V processor
  • Based on open-source Ariane core (ETH)
  • Supply chain secured through logic encryption
  • Secure OS based on seL4
  • Targets defence, industrial control, critint, automotive

Crypto Secured app File server Untrusted app Disclosure: I have an interest in HENSOLDT Cyber

slide-8
SLIDE 8

Arch x86 32b x86 64b Arm 32b Arm 64b Intra address space 427 565 625 752 Inter address space 752 1041 625 752

Performance on RV64

Arch x86 32b x86 64b Arm 32b Arm 64b RISC-V 64b Intra address space 427 565 625 752 690 Inter address space 752 1041 625 752 1006 Message-passing round-trip latency in cycles

FOSDEM | Bruxelles | Feb'20 8 |

Meltdown-workaround disabled (else much slower!) No ASIDS on HiFive Unleashed, else inter-AS would be same as intra-AS Not yet fully optimised!

Hypervisor extensions supported in branch, tracking draft spec

slide-9
SLIDE 9

Abstract Model

P r

  • f

C Imple- mentation

Proof

Confidentiality Availability Binary code

Proof Proof Proof

Functional correctness: RISC-V due Q1’20 Translation validation: RISC-V due Q2’20 Sound WCET bound RISC-V in progress

Verification: RISC-V Status

FOSDEM | Bruxelles | Feb'20 9 |

Integrity

slide-10
SLIDE 10

Experience with RISC-V Architecture

  • Kernel port straightforward:
  • simple and clean RISC architecture
  • Verification benefitted from cleanness
  • … but some challenges from less typing in page tables
  • Hypervisor (draft) extensions even simpler
  • M (machine) mode makes firmware explicit
  • configures HW, delegates to S (supervisor) mode
  • emulates features not implemented in HW
  • should be verified
  • Extensibility of ISA could be a concern
  • could undermine portability
  • Formal ISA spec is great!

M mode Firmware S mode (Guest) OS U mode apps HS mode hypervisor VU mode VMM

slide-11
SLIDE 11

Mixed-Criticality Scheduling

(FOSDEM’19 Refresher)

slide-12
SLIDE 12

Mixed Criticality: Critical + Untrusted

FOSDEM | Bruxelles | Feb'20 12 |

Critical: Control loop Sensor readings Untrusted: NW driver NW interrupts

NW driver must preempt control loop

  • … to avoid packet loss
  • Driver must run at high prio
  • Driver must be trusted not to monopolise CPU

Runs frequently but for short time (order of µs) Runs every 100 ms for few millisecods

slide-13
SLIDE 13

MCS Challenge: Sharing

FOSDEM | Bruxelles | Feb'20 13 |

Critical Less critical Vehicle Control Navigation Shared Data Vehicle control must see consistent state Updates

slide-14
SLIDE 14

Sharing Through Resource Server

FOSDEM | Bruxelles | Feb'20 14 |

Control P1 Server PS Navig. P2 Single-threaded, guarantees atomicity Communication endpoint (port) Who pays for server time?

Implements immediate priority ceiling protocol (IPCP) if PS = max (P1, P2)

slide-15
SLIDE 15

Solution: Time Capabilities

Classical thread attributes

  • Priority
  • Time slice

New thread attributes

  • Priority
  • Scheduling context capability

FOSDEM | Bruxelles | Feb'20 15 |

Not runnable if null Not runnable if null Scheduling context object

  • T: period
  • C: budget (≤ T)

Limits CPU access!

Enables reasoning about time and temporal isolation for mixed-criticality systems

C = 2 T = 3 C = 250 T = 1000 Capability for time

slide-16
SLIDE 16

Time Caps (MCS) Kernel Verification

FOSDEM | Bruxelles | Feb'20 16 |

Q1’20

Spec C Binary

Proof Proof

Mainline Arm v7

Q2’20 Q4’20 Q4’20

Spec C Binary

Proof Proof

MCS Arm v7

Spec C Binary

Proof Proof

MCS RISC-V

Spec C Binary

Proof Proof

Mainline RISC-V

Merge Merge

Q4’20

New Mainline

slide-17
SLIDE 17

Community/ Ecosystem

slide-18
SLIDE 18

Experience with RISC-V Foundation

Security Standing Committee

  • Invited me on
  • Very receptive and supportive
  • Committed to making RISC-V

“most secure architcture”

  • Facilitated engagement with

Privspec TC (now Standing Committee) Privileged Spec Tech Committee

  • Hypervisor-extension feedback

well received

  • Easy engagement
  • Constructive proposal from TC chair

addressing our issues

  • Time-protection slow to get traction
  • Now good engagement, hopefully

progress soon

FOSDEM | Bruxelles | Feb'20 18 |

  • Open but skeptical
  • They need to manage conflicting ideas
  • Keen to get “most secure arch” recognition
slide-19
SLIDE 19

We Are Creating the seL4 Foundation!

Aims:

  • Provide a neutral entity for coordinating & enhancing seL4 ecosystem
  • Grow adoption of seL4
  • Improve (organisational and individual) community participation & cooperation
  • Developers
  • Adopters
  • Develop / standardise seL4 system
  • kernel & proofs
  • libraries, services, tools
  • Protect and promote the seL4 brand
  • prevent reputational damage from using modified seL4 (verification invalidated)
  • Provide platform for pooling funds for critical “big-ticket” items (verification)
slide-20
SLIDE 20

Foundation Structure

FOSDEM | Bruxelles | Feb'20 20 |

seL4 Foundation seL4 Board

seL4 Fund Charter seL4 Directed Fund $$

LF Projects LLC seL4 Series LLC

https://sel4.systems seL4 Technical Charter Technical Project seL4 TM Contributor Contributor Contributor Contributor Contributor

slide-21
SLIDE 21

Membership and Governance

FOSDEM | Bruxelles | Feb'20 21 |

Premium Members US$ 100k/a Trustworthy Systems Members US$ 3–30k/a Associate Members US$ 0 Board Chair ex officio 3 directors 1 director each 1 director Technical Steering Committee Committer Committer Technical Leader(s) Committer

Initial Board:

  • June Andronick, TS
  • Gernot Heiser, TS
  • Gerwin Klein, TS
  • John Launchbury, Galois (ex DARPA)
  • Sascha Kegreiß, HENSOLDT Cyber
  • Daniel Potts, Ghost Locomotion

Note: members must be financial members of Linux Foundation!

slide-22
SLIDE 22

Community Engagement

FOSDEM | Bruxelles | Feb'20 22 |

Proofs Code

Trustworthy Systems Team

Evolve Maintain/ extend

Community

Platform ports Core userland Provide & maintain Contribute, adopt&maintain? Other userland Provide samples/ templates Adopt/ extend/ maintain/ innovate!

slide-23
SLIDE 23

Foundation Status

  • Legal docs (fund charter & technical charter) approved by Linux Foundation
  • Trademark ready for transfer to Foundation
  • Initial board appointed
  • Interim web site shows structure, “Principles” and legal docs
  • Hopefully days away from being able to set up members
  • Mail foundation@sel4.systems if you’re interested in joining!
  • Will make announcement on seL4.systems mailing lists

https://sel4.systems/Foundation