Integrating Linux and the real-time ERIKA OS through the Xen hypervisor

19
Integrating Linux and the real-time ERIKA OS through the Xen hypervisor Arianna Avanzini 29 Ottobre 2014 Relatrice Correlatore Prof.ssa Letizia Leonardi Prof. Paolo Valente

Transcript of Integrating Linux and the real-time ERIKA OS through the Xen hypervisor

Integrating Linux and the real-time ERIKA OSthrough the Xen hypervisor

Arianna Avanzini

29 Ottobre 2014

Relatrice CorrelatoreProf.ssa Letizia Leonardi Prof. Paolo Valente

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Contributo della tesi

Realizzazione di un’infrastruttura che consente l’esecuzioneparallela di un sistema operativo real-time ed un sistema

operativo general-purpose su un’unica board

Mediante una soluzione che apre la strada alla protezionedell’integrita dei sistemi operativi

Non fornita in soluzioni pre-esistenti

2 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Casi d’uso (1/2)

Interazione tra componenti software:

safety-critical (es. controllo automatico di motori)che forniscono servizi di infotainment (es. interfaccia utenteavanzata)

Interazione tra un sistema operativo real-time ed un sistemaoperativo general-purpose

3 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Casi d’uso (2/2)

Internet of things Vehicle-to-vehicle communication

Guida automatizzata Offloading in cloud storage

4 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Evidence Srl

Applicazioni: automotive, controllo automatico, domotica, ...

Prodotti: sistemi operativi real-time ed embedded,model-based design, device driver, ...

...

5 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Soluzione iniziale di Evidence Srl

A ciascun sistema operativo e assegnato staticamente un core

Minima interferenza temporale tra i sistemi operativi

Condivisione della memoria tra i sistemi operativi

Si puo implementare un protocollo di comunicazione efficiente

6 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Problemi della soluzione iniziale

Limitata protezione dell’integrita del sistema operativo real-time

Un malfunzionamento del sistema operativo general-purposepotrebbe sovrascrivere aree di memoria assegnate alsistema operativo safety-critical

Un malfunzionamento del sistema operativo real-timepotrebbe portare alla sovrascrittura di aree di memoriaassegnate al sistema operativo non-safety-critical

7 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Contributo della tesi

Nuovo design: usare un virtualizzatore per migliorare laprotezione dell’integrita del sistema operativo real-time

Piattaforma dual-core ARM

Software di virtualizzazione scelto: Xen

8 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Nuovo schema basato su Xen

Primi problemi:1 Condivisione della CPU → interferenza temporale?2 Implementazione di un protocollo efficiente di comunicazione

9 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Nuovo schema basato su Xen

Primi problemi:1 Condivisione della CPU → interferenza temporale?2 Implementazione di un protocollo efficiente di comunicazione

9 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Nuovo schema basato su Xen

Primi problemi:1 Condivisione della CPU → interferenza temporale?2 Implementazione di un protocollo efficiente di comunicazione

9 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Problema 1/2: possibile interferenza temporale?

L’interferenza temporale e minimizzata:

utilizzando una piattaforma dual-coreassegnando staticamente un core a ciascun sistema operativovirtualizzato

10 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Problema 2/2: Comunicazione efficiente

Xen consente accesso diretto alla memoria condivisa

implementando restrizioni sui permessi d’accesso

La sicronizzazione sull’accesso alla memoria avviene con unmeccanismo efficiente di notifiche inter-dominio

11 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Contributi in dettaglio

Per la realizzazione dell’infrastruttura descritta finora si sonosvolti i seguenti passi principali:

Porting di ERIKA come domU di Xen su piattaforma ARMImplementazione di un meccanismo di comunicazione efficientemediato da XenPorting su architettura ARM del supporto di Xen all’accessoda parte di domU a memoria di I/O

12 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Contributi su mainline Xen

16 commit inclusi in Xen 4.5Di cui i piu importanti sono:

Porting su ARM della funzionalita di assegnamento di memoriadi I/O ad un domUFix al sistema di gestione della memoria del dom0 su ARMFix al sistema di protezione dell’accesso alla memoria di I/ODisaccoppiamento della funzionalita di restrizione dell’accessoalla memoria di I/O da quella di assegnamento di memoria diI/O ad un domU

13 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Disseminazione dei risultati

Presentazione a CloudOpen Europe -Ottobre 2014, Dusseldorf(http://sched.co/1yGeyU6)

Articolo in fase di stesura per SIES 2015

Discussione informale della proposta alloXen Project Developer Summit -Agosto 2014, Chicago

14 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Problemi aperti (1/2)

ERIKA esegue come domU, Linux come dom0

Deve attendere il boot di Linux prima di poter eseguire

Idea: ERIKA puo eseguire come dom0

ERIKA e Linux eseguono a diverso livello di privilegioAncora possibile compromissione dell’integrita del domU

Nuova idea: ERIKA e Linux possono entrambi eseguire comedomini non privilegiati

dom0: unikernel con footprint minimo, certificabile

15 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Problemi aperti (2/2)

Xen non e certificato(non facilmente certificabile in ambito real-time o automotive)

Prima possibilita: certificare Xen

DornerWorks, Globallogic

Seconda possibilita: utilizzare un virtualizzatore certificato

es., Jailhouse

16 / 17

Premesse Motivazioni Contributo della tesi Contributi pratici della tesi Sviluppi futuri

Grazie dell’attenzione

17 / 17