Critical Technologies Inc
has been working to expand the ecosystem surrounding the seL4 Microkernel

This mission has led us to bringing together Genode and seL4 onto actual ARM hardware.

CTI would wish to thank Yevgeny Lavrov who led the effort to converge the two entities producing the results documented here. This advancement would not have been possible without his persistence and dedication.

The Ultimate Goal

Critical Technolgies Inc's high level mission is to be able to perform remote attestation of a system and to ensure secure boot of the hardware and software on every power cycle. On x86 platforms this done via the Trusted Protection Module (TPM) using SABLE. However this method does not translate to ARM based systems as no TPM chip is present. ARM's TrustZone, along with the seL4 Microkernel and Genode is CTI's answer to this problem.

Using boards, such as the Raspberry Pi 3B and 3B+ and the Xilinx Zynq UltraScale+ ZCU102 we hope to create enviroments in ARM that can be equivalent to our work in the x86 world.

Genode OS Framework

Created by Genode Lab's the Genode Framework is a high structured architecture for highly secure special-purpose operating systems. It's key feature is the sandboxing of every component with highly selected access rights and capabilities granting extremely high security across the entire system.

seL4 Microkernel

Created by Data61 the seL4 Microkernel is an open source kernel with end-to-end proof of implementation and security enforcement. It's strong capability based philosophy aligns well with Genode.

ARM Boards

Various ARM boards were considered for this project. Ultimately it came down to the boards that both seL4 and Genode supported. This narrowed down the selection to very few - but even still there was issues getting both components to cooperate on the given hardware. However this was overcome on two boards.

The SABRE Lite board from Boundry Devices and the Wandboard Quad from Wandboard are the currently supported boards for this effort and are available at the links above.

The Future

A few things still stand in the way to our ultimate goal and we are actively seeking help in these areas.

ARMv8-A supported boards

Currently Genode and seL4 have diverging board specifications that make it difficult to select a readily available platform. Our focus is to bring Genode to the newest generation of Raspberry Pi 3 platforms (which the seL4 kernel already supports) as well as the Xilinx Zynq UltraScale+ ZCU102 to utilize the ARMv8-A processors potential and broaden the user base of both Genode and seL4.

Genode based VMM

Genode's main framework currently does not contain any ARM based VMM's. VirtualBox is included however only for x86 based systems due to the programs inherent restriction. QEMU is a strong candidate to be ported into Genode to support easy emulation of operation systems (ARM or x86 based) while also keeping with the open source mantra CTI follows.

TrustZone instead of TPM

Without a TPM chip, ARM platforms currently can not take advantage of the work done by SABLE. TrustZone could emulate TPM capabilites allowing SABLE functionality to be used in the ARM world thus allowing remote attestation.