CERN Accelerating science

Talk
Title MirageOS: robust and secure services for the cloud
Video
If you experience any problem watching the video, click the download button below
Download Embed
Mp4:Medium
(1000 kbps)
High
(4000 kbps)
More..
Copy-paste this code into your page:
Copy-paste this code into your page to include both slides and lecture:
Author(s) Mehnert, Hannes (speaker) (robur)
Corporate author(s) CERN. Geneva
Imprint 2019-05-10. - 1:17:58.
Series (CERN Computing Seminar)
Lecture note on 2019-05-10T14:00:00
Subject category CERN Computing Seminar
Abstract

The MirageOS project develops single-purpose operating systems targeting hypervisors, also named a unikernel or library operating system. Each unikernel is specialised at compile-time by the composition of available libraries. There are multiple advantages of MirageOS, e.g. its tiny attack surface - the binary size of a MirageOS unikernel is 4% compared to a UNIX-based operating systems; less complexity - avoiding process management, scheduler, virtual memory. MirageOS was started in 2008 at University of Cambridge, and is written in the functional statically-typed programming language OCaml, which avoids common attack vectors (spatial and temporal memory safety issues such as buffer overflows and use-after-free). In addition, we are working on common best security practises: cryptographically signed supply chain, reproducible builds.

MirageOS unikernels can be deployed on commodity hypervisor (Xen, KVM, FreeBSD BHyve, OpenBSD VMM), virtio, as Linux processes with strict seccomp rules, on the separation kernel muen.sk, or on the operating system framework GenodeOS that uses a microkernel. The backends, apart from Xen, use Solo5 which was initially developed with MirageOS in mind.

Apart from core Internet Protocols (TCP/IP, DHCP, DNS, HTTP), security protocols (TLS, OpenPGP, OTR), and branchable distributed storage (implementing the git protocol) for persistency, we are developing several applications:

  • Calendar and address book (CalDAV/CardDAV) storing data in a remote git repository
  • EMail (MIME encoding/decoding, SMTP, IMAP)
  • Firewall (currently mainly for QubesOS)
  • OpenVPN gateway

Other applications and libraries are available in various states of development - from unreleased to mature. MirageOS is a collection of OCaml libraries, currently around 150, of which nearly all MirageOS libraries and tooling is released under MIT/ISC/BSD 2 clause licenses, and freely available.

Some MirageOS libraries (e.g. DNS, TCP/IP) have been deployed as part of Docker for Mac and Docker for Windows (vpnkit, etc.) which has millions of users on a daily basis.

About the speaker

Hannes Mehnert researches in several engineering areas: from programming languages (such as compiler optimisation visualisation, type systems) over full functional correctness proofs of object-oriented code, the topic of his PhD dissertation, development environments for dependently typed languages, to network protocols (TCP/IP) and security protocols (TLS, OTR).

In his spare time, Hannes is not only a hacker, coauthor of a book on indian cuisine and functional programming in JavaScript, but also a barista and likes to travel and repair his recumbent bicycle.

Since beginning of 2018, Hannes works on a non-profit to put MirageOS into production at robur. He used to be a postdoc at University of Cambridge working with the semantics, systems, and security group.

Copyright/License © 2019-2024 CERN
Submitted by miguel.marquina@cern.ch

 


 Record created 2019-05-15, last modified 2022-11-02


External link:
Download fulltext
Event details