EMB_88

EMBEDDED 88 • MAGGIO • 2023 59 sentano un compromesso e creano dei punti deboli all’interno dei sistemi per il motivo sopra menziona- to e, a nostro avviso, dovrebbero essere evitati. 3. Debug: poiché un unikernel non include un sistema operativo in esecuzione, non è possibile connettersi direttamente alla sua shell per eseguire indagini. 4. Processo singolo e utente unico: l’aggiunta della ge- stione dei processi comporta costi operativi no- tevoli. Occorre avviare/arrestare/ispezionare un processo, garantire la comunicazione tra i processi e così via. La gestione di più utenti richiede opera- zioni di autorizzazione e autenticazione, isolamento delle risorse e così via. Questi aspetti non sono ri- chiesti in un’applicazione con un unico scopo. Ciò significa che alcune applicazioni sarebbero quasi impossibili da implementare come unikernel. Ad esempio, nell’area di interesse di Lynx Software, ovvero il settore aerospaziale e della difesa, l’uti- lizzo delle librerie ARCINC 653 sarebbe estrema- mente complesso. A nostro avviso, per affrontare questo problema nel modo giusto è necessario: a) implementare più applicazioni a processo singolo; b) affiancare gli unikernel ai sistemi operativi e ga- rantire che l’architettura dei sistemi sia in grado di attenuare l’impatto dell’infiltrazione in un’istanza del sistema operativo. Unikernel e sviluppo bare-metal Anche se non è l’argomento principale di questo arti- colo, ci si può chiedere se gli unikernel sostituiscano lo sviluppo bare-metal. A nostro avviso, l’introduzione de- gli unikernel riduce il numero di contesti d’uso azien- dali in cui sono necessarie applicazioni bare-metal. Gli unikernel sono in grado di fornire API (il prodotto Lynx , ad esempio, supporta POSIX) che semplificano la creazione di applicazioni da parte degli sviluppatori. Detto questo, sebbene la tecnologia unikernel offra la possibilità di ridurre in modo significativo l’ingombro della memoria del software, è comunque possibile uti- lizzare applicazioni bare-metal che gestiscono singole funzioni specifiche. Sarà comunque decisamente più efficace implementare un’applicazione di 500 righe come app bare-metal (ad esempio, per la gestione di chiavi private) che implementare un unikernel. Poiché riducono le superfici di attacco, gli unikernel sono ideali per le applicazioni che richiedono velocità, agilità e maggiori livelli di sicurezza e certificabilità, come i si- stemi aeronautici e le infrastrutture di importanza criti- ca. Gli unikernel sono inoltre adatti per essere utilizzati come componenti di sistemi mission-critical con carichi di lavoro eterogenei, che richiedono la coesistenza di RTOS, Linux, unikernel e guest bare-metal. Sebbene le attuali implementazioni open-source di unikernel non abbiano risentito della mancanza di funzionalità ade- guate, dell’assenza di un processo chiaro per la certifi- cazione di sicurezza e di toolchain non maturi per il de- bug e la produzione di immagini, oggi è disponibile nel settore il primo unikernel commerciale compatibile con POSIX , che segna un importante passo avanti nella transizione dalle macchine virtuali ai container. UNIKERNEL | SOFTWARE Lynx SoftwareTechnologies ha introdotto il primo unikernel commerciale compatibile con Posix

RkJQdWJsaXNoZXIy Mzg4NjYz