79
EMBEDDED
66 • NOVEMBRE • 2017
OS CRITICI |
SOFTWARE
Sistemi operativi più robusti
Un passo chiave tramite cui i team di sviluppo possono miglio-
rare la sicurezza dei device embedded sono i sistemi operativi
utilizzati dai dispositivi. Il mercato fornisce un certo numero di
sistemi operativi collaudati e di tipo ‘hardened’, provenienti da
vendor di SO come
Green Hills Software
,
Lynx Software
Technologies
,
Wind River
.
Prodotti, chiarisce VDC, passati attraverso rigorosi processi di
test come gli standard EAL (evaluation assurance level) basati
sui Common Criteria. Inoltre anche le soluzioni di virtualiz-
zazione fornite da vari vendor di SO aiutano a rendere il si-
stema operativo embedded più sicuro. Ad esempio, gli hyper-
visor embedded possono consentire l’applicazione di tecniche
di ‘sandboxing’ a livello del kernel del sistema operativo, che,
operando in uno ‘spazio protetto’, può diventare più resistente
alle violazioni.
Regole di qualità per il software
e il codice dei SO
Ridurre i difetti e le vulnerabilità del software, prima che ven-
ga installato nei dispositivi embedded, è una strategia fonda-
mentale per creare sistemi operativi più sicuri e dispositivi
embedded più resistenti alle violazioni, specialmente nelle ap-
plicazioni safety-critical. In fase di sviluppo del codice, e nelle
successive fasi di test e validazione, occorre quindi individua-
re quali sono le aree di sviluppo in cui sono insiti i maggiori
rischi, ma anche seguire linee guida di codifica che aiutino gli
sviluppatori a semplificare il codice, e a renderlo più semplice
da leggere, manutenere e verificare. Ad esempio, vi sono le
linee guida MISRA C. Come parte delle attività del
MISRA
(Motor Industry Software Reliability Association)
– asso-
ciazione nata per promuovere le migliori pratiche nello svilup-
po di sistemi elettronici ‘safety-related’ negli autoveicoli – le
linee guida MISRA C sono state pubblicate per la prima volta
nel 1998, evolvendosi poi nelle versioni MISRA C:2004 (MI-
SRA C2) e MISRA C:2012 (MISRA C3).
Sebbene inizialmente indirizzato alle applicazioni automotive,
il modello MISRA C ha guadagnato larghi consensi come in-
sieme di linee guida di punta per la programmazione in lin-
guaggio C nelle attività di sviluppo di un’ampia gamma di ap-
plicazioni safety-critical, che spaziano da quelle aerospaziali,
a quelle medicali, militari e di molti altri settori. La conformità
con MISRA C riguarda anche i sistemi operativi embedded
per applicazioni critiche. Tra questi si può citare ThreadX, un
RTOS (real-time operating system) per sistemi safety-critical
conforme con tutti i requisiti e le regole mandatorie di MISRA
C:2004 e MISRA C:2012.