Table of Contents Table of Contents
Previous Page  68 / 84 Next Page
Information
Show Menu
Previous Page 68 / 84 Next Page
Page Background

EMBEDDED

59 • FEBBRAIO • 2016

SOFTWARE

|

VIRTUALIZZAZIONE

68

pio del minimo privilegio. Questa

incongruenza è stata messa in luce

per la prima volta da Levin, Irvine e

Nguyen nel documento “Least Privi-

lege in Separation Kernels” (3) .

Nella figura 1 sono riportati i “sog-

getti” del Least Privilege (entità ese-

guibili attive) e le “risorse” sovrappo-

ste sui “blocchi” dell’SK. Dove l’SK

supporta la granularità del controllo

del flusso per soggetto e per risorse,

sono ben pochi i flussi non desiderati

possibili rispetto al caso in cui il con-

trollo del flusso sia gestito blocco per

blocco.

Virtualizzazione dell’hardware

Al giorno d’oggi è molto diffusa la

pratica di ospitare più sistemi ope-

rativi sul medesimo computer utiliz-

zando software commerciale. La virtualizzazione è

una metodologia che permette ai programmi – siste-

mi operativi inclusi – di girare in un ambiente sof-

tware come se fossero in esecuzione sull’hardware

nativo. Questo ambiente è noto come

Virtual Machi- ne Monitor

(VMM) o Hypervisor.

In questi domini desktop, il sistema operativo gira

con privilegi di più basso livello rispetto al VMMsot-

tostante (che deve gestire le risorse), mentre la con-

versione del codice binario “disaccoppia” il sistema

operativo dall’hardware sottostante.

In ambiente enterprise, nel frattempo, la sempre

maggiore popolarità della virtualizzazione ha indot-

to le più importanti aziende di semiconduttori (tra

cui Intel, AMD e ARM) ad aumentare gradualmen-

te il numero di core per CPU e mettere a disposi-

zione un supporto avanzato per la virtualizzazione

dell’hardware.

La virtualizzazione assistita dall’hardware (come ad

esempio la tecnologia di virtualizzazione VT-x di In-

tel) permette di affrontare in modo efficace i proble-

mi legati ai privilegi che sorgono utilizzando le tra-

dizionali tecniche di virtualizzazione software, dan-

do la possibilità di sfruttare in modo più semplice i

vantaggi di questa tecnologia nei sistemi embedded.

Una funzionalità di esecuzione della CPU consente

a un hypervisor di girare in “root mode” al disotto

dei livelli di privilegi normali, in modo da garanti-

re che le prestazioni che si ottengono mediante la

virtualizzazione assistita dall’hardware siano molto

simili a quelle native.

Sfruttare la virtualizzazione dell’hardware e l’LPSK

Nella figura 2 è riportato un SKH (Separation Ker-

nel and Hypervisor). Nella configurazione proposta

i “soggetti” includono un RTOS (Real Time Opera-

ting System), un GPOS (General Purpose Opera-

ting System) e un’applicazione “bare metal “sicura

per implementare una funzione estremamente cri-

tica. I soggetti comunicano il meno possibile utiliz-

zando i meccanismi forniti dall’SKH. Il codice sicu-

ro dell’SKH è caratterizzato da ridotte dimensioni

in quanto è stato progettato per sfruttare la

virtualizzazione dell›hardware. Non è necessario

“compromettere” le prestazioni dell’applicazione se

ciascun soggetto è mappato nel proprio core dedica-

to. Mediante le tre tipiche configurazioni descritte di

seguito è possibile illustrare le potenzialità offerte

da questo approccio.

Separazione IoT sicura tra

i mondi OT (Operation Technology) e IT (In-

formation Technology) -

Un SKH rappresenta

una piattaforma ideale per un gateway IoT. Facen-

do riferimento alla figura 2, si faccia l’ipotesi che un

RTOS (Real Time Operating System) sia utilizzato

per controllare un impianto di processo di tipo “safe-

ty critical”. Dedicando un core della CPU al soggetto

RTOS, le sue prestazioni deterministiche non sono

minimamente compromesse.

Nel frattempo un GPOS (General Purpose Opera-

ting System) mette a disposizione un’interfaccia

Fig. 2 – Mediante la combinazione della virtualizzazione dell’har-

dware e dei principi del Least Privilege e del Separtion Kernel è

possibile implementare numerose opzioni di configurazioni reali

e funzionali