How To Build A Provably Secure Execution Platform For Embedded Systems



Similar documents
Research in Embedded Systems at the CSC School

Leveraging Thin Hypervisors for Security on Embedded Systems

B.Sc. in Computer Engineering, School of Electrical and Computer Engineering,

Embedded Systems at the CSC School

Frontiers in Cyber Security: Beyond the OS

Virtualization for Cloud Computing

IoT Security Platform

Virtualization for Hard Real-Time Applications Partition where you can Virtualize where you have to

Analysis of the Linux Audit System 1

Virtualization for Future Internet

Full and Para Virtualization

CHAPTER 1 INTRODUCTION

Virtualization in the ARMv7 Architecture Lecture for the Embedded Systems Course CSD, University of Crete (May 20, 2014)

THE RTOS AS THE ENGINE POWERING THE INTERNET OF THINGS

Development of Type-2 Hypervisor for MIPS64 Based Systems

Hardware accelerated Virtualization in the ARM Cortex Processors

IOMMU: A Detailed view

The MIPS architecture and virtualization

Deeply Embedded Real-Time Hypervisors for the Automotive Domain Dr. Gary Morgan, ETAS/ESC

Informal methods A personal search for practical alternatives to moral improvement through suffering in systems research

Embedded Trusted Computing on ARM-based systems

Carlos Villavieja, Nacho Navarro Arati Baliga, Liviu Iftode

Rackspace Cloud Databases and Container-based Virtualization

CSE597a - Cell Phone OS Security. Cellphone Hardware. William Enck Prof. Patrick McDaniel

Multi-core Programming System Overview

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

Porting Linux to a Hypervisor Based Embedded System

Operating Systems 4 th Class

A hypervisor approach with real-time support to the MIPS M5150 processor

Verfahren zur Absicherung von Apps. Dr. Ullrich Martini IHK,

Antonio Kung, Trialog. HIJA technical coordinator. Scott Hansen, The Open Group. HIJA coordinator

Flight Processor Virtualization

Developing software for Autonomous Vehicle Applications; a Look Into the Software Development Process

Virtualization. Types of Interfaces

D5.6 Prototype demonstration of performance monitoring tools on a system with multiple ARM boards Version 1.0

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

OUTILS DE DÉMONSTRATION

Virtualization of Wireless LAN Infrastructures

Virtualization Technologies and Blackboard: The Future of Blackboard Software on Multi-Core Technologies

print close Building Blocks

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

Virtualization. Pradipta De

Chapter 5 Cloud Resource Virtualization

x86 ISA Modifications to support Virtual Machines

Jonathan C. Sevy. Software and Systems Engineering Experience

Industrial Application of MultiPARTES

COS 318: Operating Systems. Virtual Machine Monitors

Hardware Based Virtualization Technologies. Elsie Wahlig Platform Software Architect

Hardware, Languages, and Architectures for Defense Against Hostile Operating Systems (DHOSA)

System Design Issues in Embedded Processing

Virtual Machines. COMP 3361: Operating Systems I Winter

sel4: from Security to Safety Gernot Heiser, Anna Lyons NICTA and UNSW Australia

Applying Multi-core and Virtualization to Industrial and Safety-Related Applications

MODULE 3 VIRTUALIZED DATA CENTER COMPUTE

COM 444 Cloud Computing

evm Virtualization Platform for Windows

Virtualization: Hypervisors for Embedded and Safe Systems. Hanspeter Vogel Triadem Solutions AG

EIT ICT Labs MASTER SCHOOL. Specialisations

Comprehensive Security for Internet-of-Things Devices With ARM TrustZone

The Freescale Embedded Hypervisor

Building A Secure Microsoft Exchange Continuity Appliance

Introduction to the NI Real-Time Hypervisor

Parallels Virtuozzo Containers

KVM: A Hypervisor for All Seasons. Avi Kivity avi@qumranet.com


EIT ICT Labs MASTER SCHOOL S&P Programme Specialisations

Technical Brief Distributed Trusted Computing

12/8/2010. Koen De Bosschere Ghent University Belgium JVM. Process. .NET Virtualization. Virtualization types. Xen. Paravirtualization.

Oracle Database Scalability in VMware ESX VMware ESX 3.5

CPET 581 Cloud Computing: Technologies and Enterprise IT Strategies. Virtualization of Clusters and Data Centers

Hypervisors and Virtual Machines

VMware and CPU Virtualization Technology. Jack Lo Sr. Director, R&D

ARM TrustZone and KVM Coexistence with RTOS For Automotive

Embedded Software development Process and Tools: Lesson-1

Going Linux on Massive Multicore

Next Generation Operating Systems

Beyond Virtualization: A Novel Software Architecture for Multi-Core SoCs. Jim Ready September 18, 2012

Patterns for Secure Boot and Secure Storage in Computer Systems

Secure Containers. Jan Imagination Technologies HGI Dec, 2014 p1

SierraVMI Sizing Guide

Hi and welcome to the Microsoft Virtual Academy and

Topic 5a Operating System Fundamentals

Embedded Systems Virtualization: The Next Challenge?

When COTS is not SOUP Commercial Off-the-Shelf Software in Medical Systems. Chris Hobbs, Senior Developer, Safe Systems

KVM Security Comparison

Putting it on the NIC: A Case Study on application offloading to a Network Interface Card (NIC)

Virtualization System Vulnerability Discovery Framework. Speaker: Qinghao Tang Title:360 Marvel Team Leader

Multi-core Curriculum Development at Georgia Tech: Experience and Future Steps

USTC Course for students entering Clemson F2013 Equivalent Clemson Course Counts for Clemson MS Core Area. CPSC 822 Case Study in Operating Systems

Lecture Embedded System Security Dynamic Root of Trust and Trusted Execution

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing

Ada Real-Time Services and Virtualization

Basics of Virtualisation

Performance tuning Xen

Virtual Machines. Virtualization

Network connectivity controllers

Virtualization Technology. Zhiming Shen

Dynamic Load Balancing of Virtual Machines using QEMU-KVM

Java Environment for Parallel Realtime Development Platform Independent Software Development for Multicore Systems

Virtualization Technologies (ENCS 691K Chapter 3)

Transcription:

Provably Secure Execution Platforms for Embedded Systems ---- The PROSPER Project Mads Dam KTH Royal Institute of Technology Programvara för konkurrenskraft, SSF, Vinnova, 10 Feb 2015

The Evolving Security Landscape Increasing attack surfaces Increasing aggregate value Increasing attack sophistication Increasing demand for strong security solutions Industrial pull for strong verification techniques Significant exploitation potential

It s the Execution Platform, Stupid! Processor hardware: a shared commodity - User, payment provider, media owner, platform provider, operating system, - All need private, tamperproof storage and cpu cycles - Without this, security will remain fragile Need trustworthy execution environments - Allow secure sharing of hardware - Memory isolation - Minimal - Open to scrutiny

Secure Virtualization Applications OS Applications Secure OS Hypervisor CPU

PROSPER Objectives Build the next-generation framework for fully verified, secure hypervisors for embedded systems Demonstrate utility using - Commodity hardware ARMv7/v8, MIPS, - Commodity software Linux, RTOS, Develop the required verification technology - Theory - Tools - For security formalization and analysis - For hypervisor development

Demonstrator: Provably Secure Kernel Updates in Linux on ARM Network driver Monitor Hypervisor Objective: Execute only signed programs

What Does This Give Us? Theorem: Assume: 1. The processor model is correct. 2. The hypervisor is securely initialized. 3. The initial Linux image is signed. Then: Only signed code is ever executed

What Does This Give Us? Theorem: Assume: 1. The processor model is correct. 2. The hypervisor is securely initialized. 3. The initial Linux image is signed. Then: Only signed code is ever executed, AND Hypervisor is never tampered with

What Does This Give Us? Theorem: Assume: 1. The processor model is correct. 2. The hypervisor is securely initialized. 3. The initial Linux image is signed. Then: Only signed code is ever executed, AND Hypervisor is never tampered with, AND Monitor is never tampered with

What Does This Give Us? Theorem: Assume: 1. The processor model is correct. 2. The hypervisor is securely initialized. 3. The initial Linux image is signed. Then: Only signed code is ever executed, AND Hypervisor is never tampered with, AND Monitor is never tampered with, AND No memory page is ever simultaneously write and execute enabled,

What Does This Give Us? Theorem: Assume: 1. The processor model is correct. 2. The hypervisor is securely initialized. 3. The initial Linux image is signed. Then: Only signed code is ever executed This is a big deal!

Theorem: Assume: What Does This Give Us? 1. The processor model is correct. 2. The hypervisor is securely initialized. 3. The initial Linux image is signed. Then: Only signed code is ever executed This is a big deal! Theorem about security inside COTS OS No Linux bug can cause unsigned code to be executed Use to bootstrap many provably secure services

How Do We Do This? Theorem proving + binary verification Formal processor ISA specification - Including memory management unit - Large task Top level security specification: Processor + idealized MMU behaviour Low level implementation Proof of equivalence Repeat as needed

PROSPER Results So Far Hypervisor #1: Separation kernel for ARMv7 Fully verified at assembly level Papers in CCS 13, CPP 13, TrustED 13 Hypervisor #2: Linux-on-ARM hypervisor Partially verified at assembly level Papers in CCS 14, Sofsem 15 Lots of auxiliary theory and tools

PROSPER Results To Come Hypervisor #3: Linux-on-ARM hypervisor for 64 bit ARMv8 Much more complex hardware: - Multicore essential - Virtualization support To do: ISA-level multicore model + validation Processor architecture analysis tool Verification support for concurrent machine code Hypervisor design and analysis

Spin-offs and Collaborations Vinnova UDI project HASPOC w. Ericsson, Sectra, T2Data, Tutus, Atsec, SICS, KTH 1 patent application 2 PhD s completed Open source hypervisor release SICS project with Ericsson Research EU FP7 project UaESMC, KTH MONITOR project KTH-Ericsson HOL4 Cambridge team (Fox, Myreen) TU-Berlin and DT Labs (Seifert) INRIA/IRISA/DGA Rennes...

Team At KTH: Mads Dam, Prof, PI Roberto Guanciale, postdoc Christoph Baumann, postdoc Hamed Nemati, PhD student MSc students (Andreas Lundblad, PhD) (Gurvan le Guernic, postdoc) (Narges Khakpour, postdoc) (Musard Balliu, PhD) At SICS: Christian Gehrmann, PhD, co-pi Arash Vahidi, PhD Oliver Schwarz, PhD student Viktor Do, researcher MSc students

Main Publications Schwarz, Gehrmann, Securing DMA through Virtualization, IEEE Workshop on Complexity in Engineering, June 2012, Aachen, Germany. Balliu, Dam, Le Guernic. ENCOVER: Symbolic Exploration for Information Flow Security. In Proc. CSF '12. Dam, Lundblad, le Guernic: TreeDroid: a tree automaton based approach to enforcing data processing policies", Proc. CCS'12 Vahidi, Jämthagen, "Secure RPC in embedded systems - Evaluation of some GlobalPlatform implementation alternatives, 8th Workshop on Embedded Systems Security, 2013 Dam, Guanciale, Khakpour, Nemati, Schwarz, "Formal Verification of Information Flow Security for a Simple ARM-Based Separation Kernel", CCS 13 Khakpour, Schwarz, Dam, "Machine Assisted Proof of ARMv7 Instruction Level Isolation Properties", Proc CPP 13 Dam, Guanciale, Nemati, Machine code verification of a tiny ARM hypervisor, in Proc. TrustED 13 Lundblad, Inlined reference monitors: Certification, concurrency, and tree based monitoring, PhD thesis, KTH, 2013 M. Balliu: A Logic for Information Flow Analysis of Distributed Programs. Proc. 18th Nordic Conference on Secure IT Systems, NordSec 2013, Ilulissat, Greenland, October 18-21, 2013. M. Dam, R. Guanciale, N. Khakpour "Method and Approach for Kernel Security Analysis," PCT pat. application no. PCT/EP2013/059602, 2013 O. Schwarz, C. Gehrmann, V. Do. Affordable Separation on Embedded Platforms: Soft Reboot Enabled Virtualization on a Dual Mode System, Proc. Trust 14, 2014. Balliu, Dam, Guanciale: Automating information flow analysis of low level code, CCS 14 Schwarz, Dam: Formal verification of secure user mode device execution with DMA, HVC 14 Nemati, Guanciale, Dam: Trustworthy isolation of the ARMv7 memory subsystem, Sofsem 15 Musard Balliu: Logics for information flow security: From specification to implementation, PhD thesis, KTH, 2014.