From 1bc356216fe5b29131340c65a13ec9b759fe82e5 Mon Sep 17 00:00:00 2001 From: Hannes Mehnert Date: Sun, 17 Sep 2017 16:26:55 +0100 Subject: [PATCH] more --- Home | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/Home b/Home index 0c4612b..739242a 100644 --- a/Home +++ b/Home @@ -26,23 +26,23 @@ change may result in unforeseen behaviour. Additionally, lots of embedded devices (home router, SmartTV, etc.) do not have a secure update channel. Instead of trying to fix these decades-old operating systems, which were -designed as multi-user time sharing systems of the past, we build small services -from scratch with security in mind, directly on the hypervisor. In -our operating system, each service is a separate virtual machine with only the -required code. +designed based on demands at that time (e.g. time-multiplexed multi-user +computers), we build small services from scratch with security in mind. Each +service is run as a separate virtual machine on any hypervisor with only the +strictly necessary code. -This makes our systems much smaller. The binary size of an HTTP server with TLS -support in our system is around 4% compared to one in a conventional operating -system, making the attack surface much smaller. +This makes our virtual machines much smaller. The binary size of an HTTP server +with TLS support is around 4% compared to one using a conventional Linux +operating system, making the attack surface much smaller. -Additionally, we use a safe programming language: a statically and strongly -typed functional programming language with automated memory management. This +Additionally, we use a functional programming language with static +types and automated memory management. This reduces the attack vectors: temporal and spatial memory corruption are no concern anymore. The declarative programming style makes it possible to formally verify the correctness of the entire virtual machine with a theorem prover. -One of our single purpose operating systems boots within milliseconds, and has a +One of our unikernels boots within milliseconds, and has a minimal memory footprint. For client-side features that run in a webbrowser, we compile to JavaScript from the same codebase, to ensure consistency. The strong and static type system helps to detect errors early, and enables rapid