EMB_84
EMBEDDED 84 • MAGGIO • 2022 61 CONNECTED CARS | SOFTWARE blema, ma non è un evento critico per la sicurezza. Ma se l’impianto frenante smettesse di funzionare potrebbe provocare danni gravi. Lo standard aiuta a organizzare la valutazione dei rischi e fornisce gli strumenti per stimare i diversi tipi di impatto. I prodotti migliori si ottengono con le metodologie di sviluppo migliori Usare gli strumenti giusti e i processi giusti rende più fa- cile la gestione del ciclo di vita del prodotto. Un sistema operativo in tempo reale (RTOS) certificato per la sicu- rezza è essenziale per realizzare moduli automobilistici impenetrabili agli attacchi. Un RTOS o kernel di separa- zione di questo tipo utilizza la protezione della memoria hardware per isolare e proteggere i driver, i programmi di terze parti, le comunicazioni e le applicazioni embedded, e persino per ospitare una o più istanze di Android o Linux. Le partizioni sicure garantiscono la separazione delle atti- vità dell’utente e sono più robuste di quelle che si trovano tipicamente nei sistemi operativi general purpose come Linux. Ad esempio, l’heap è separato, quindi una perdi- ta di memoria in un’applicazione non influenza altri spazi di indirizzamento. L’interferenza ridotta al minimo tra le applicazioni rende la valutazione del rischio più gestibile e fornisce più opzioni per mitigare e prioritizzare i rischi. Come illustrato dal diagramma in figura 3, l’architettura kernel a separazione real-time esegue più sistemi ope- rativi guest arbitrari, insieme a funzioni software mis- sion-critical in real-time. Le applicazioni e i sistemi ope- rativi guest possono girare su uno o più core, comunicare in modo efficiente tra di loro e condividere le periferiche di sistema, come la GPU o l’interfaccia Ethernet, secondo un modello rigoroso di controllo degli accessi. Utilizzando l’architettura a separazione, il sistema opera- tivo in tempo reale può fornire un isolamento netto tra le partizioni. Quando solo un numero limitato di moduli può comunicare con l’interfaccia del bus del veicolo, la sepa- razione e la sicurezza del sistema aumentano. Oltre al sistema operativo, gli strumenti di sviluppo cer- tificati ISO 26262 sono componenti chiave per realizzare un sistema sicuro in termini di cyber security. Lo stan- dard ISO 21434 cita alcune linee guida per la codifica come MISRA (Motor Industry Software Reliability As- sociation) C, che contribuisce a ridurre i rischi. MISRA identifica aspetti del linguaggio C che dovrebbero essere evitati a causa della loro ambiguità e sensibilità a errori comuni nell’uso del linguaggio. Per esempio, nel seguen- te codice: if (flag && (total=num++)) l’intenzione originale del codice era probabilmente “total == num++”, non “total = num++”. Il programmatore ha omesso un “=”. Come risultato, il codice non verrà eseguito come previsto. Anche se l’errore viene notato e “=” cambiato in “==”, “num” verrà incrementato? La risposta è sì e no, perché se il flag è falso, “num” non ver- rà incrementato. Le linee guida MISRA aiutano a ridurre questo tipo di errori. MISRA C è un insieme di linee guida per gli sviluppato- ri di software; non è una specifica per un compilatore. Ispezionare il codice manualmente sarebbe un processo piuttosto oneroso, quindi è meglio automatizzare alcuni di questi passaggi per garantire la coerenza di un’appli- cazione. Di conseguenza, è molto importante scegliere un compilatore C che supporti MISRA C 1998, MISRA C:2004 e l’ultimo MISRA C:2012 per i processori più usati in sistemi automobilistici, come Arm, RH850, Power Ar- chitecture, MIPS e Intel Architecture. Con la presenza di un sempre maggior numero di inter- facce di comunicazione esterne e di una grande varietà di applicazioni software e sistemi operativi in uso, le auto moderne offrono un’ampia superficie di attacco per gli hacker. Anche quando le vulnerabilità vengono identifi- cate e le contromisure implementate, il processo sicuro di aggiornamento dei sistemi e di installazione delle pa- tch su larga scala è estremamente costoso e impegnativo. Lo standard ISO/SAE 21434, pubblicato nell’agosto 2021, fornisce un quadro appositamente progettato per af- frontare la cyber security automobilistica. La standard ISO 21434 è fondamentale per attuare i requisiti CSMS dell’UNECE WP.29 (che vengono ora adottati in tutto il mondo). Di conseguenza, è essenziale utilizzare un siste- ma operativo in tempo reale certificato per la sicurezza, come Green Hills INTEGRITY, che supporta lo standard ISO 21434, e una toolchain certificata e compatibile allo stesso standard, per garantire sempre la sicurezza quan- do si sviluppano sistemi embedded da utilizzare in appli- cazioni automobilistiche. Fig. 3 – Esempio di un sistema operativo in tempo reale certificato per la sicurezza che fornisce isolamento totale tra le funzioni e i sistemi operativi guest
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzg4NjYz