EMB_86

EMBEDDED 86 • NOVEMBRE • 2022 59 SAFETY&SECURITY | SOFTWARE ciò, si può ricorrere ai diversi utili strumenti di ana- lisi statica open-source disponibili nella comunità, come cppcheck e clang, oltre naturalmente alle numerose soluzioni commerciali aventi lo stesso scopo. Tutti questi tool saranno in grado di rilevare problemi facilmente sfuggiti ad una revisione ma- nuale del codice: una corretta gestione dei report da essi prodotti può consentire agli sviluppatori di prevenire la presenza nelle loro applicazioni delle principali classi di potenziali exploit. - Utilizzo di uno standard di codifica. L’approccio più diffuso, in tale ambito, è generalmente costituito dallo standard di codifica MISRA ( https://misra. org.uk/ ), che fornisce numerose raccomandazioni ben concepite atte a garantire la sicurezza delle applicazioni presenti nei dispositivi. Sebbene esso abbia avuto origine nel settore dell’industria auto- mobilistica, e con una focalizzazione sulla safety (incolumità degli utenti), lo standard MISRA meri- ta l’attenzione di ogni costruttore di dispositivi che desideri garantire la sicurezza delle proprie appli- cazioni. Si noti inoltre che la maggior parte degli strumenti per l’analisi statica del codice consente anche di semplificare enormemente la verifica del- le applicazioni a fronte delle regole dettate dallo standard MISRA. Sebbene siano disponibili diver- si altri standard di codifica, MISRA ha il pregio di combinare il buon senso con pratiche di corretta programmazione tali da poter essere implementate in organizzazioni di qualsiasi dimensione. - Un altro utile standard di codifica proviene dal Software Engineering Institute della Carnegie Mellon University ed è denominato SEI CERT C ( https://wiki.sei.cmu.edu/confluence/display/sec- code ). Esso presenta una significativa area di so- vrapposizione con lo standard MISRA, ma fa parte della famiglia di standard SEI, che si estende al di là del C e del C++, abbracciando anche Android, Java e Perl. Esistono molte altre fonti di informazioni preziose che possono essere utilizzate per agevolare lo sviluppo di software sicuro, ma per quegli sviluppatori che non stanno ancora utilizzando le tecniche appena menzio- nate il consiglio è di iniziare prima da quelle e di con- siderare altri strumenti solo dopo aver consolidato un robusto paradigma costituito da un valido standard di codifica e da costanti pratiche di analisi statica. In definitiva, le sfide presentate dallo sviluppo dei mo- derni apparecchi medicali (smart, connessi alla rete e sicuri) sono molteplici, e vanno affrontate e superate tanto nel corso delle fasi di progettazione e di sviluppo del prodotto quanto in quella della sua manutenzione lungo tutta la vita operativa. Seguendo le indicazioni presentate in questo articolo, i produttori delle appa- recchiature possono garantire che i propri prodotti si- ano: • Più difficili da violare • Protetti, al momento del rilascio, sia dagli exploit già noti che da quelli ancora ignoti • Più veloci da aggiornare per essere protetti da ogni nuovo exploit che verrà scoperto • Più sicuri, perché i clienti si sentano protetti anche nel caso che qualcosa andasse storto L’ultimo aspetto è particolarmente importante. I clienti sono consapevoli del fatto che non esiste alcun disposi- tivo completamente indenne da errori. Ciò che deside- rano sapere è come il produttore intenda minimizzare i difetti e l’impatto da essi prodotto, e quale sarà la sua reazione quando qualcosa, inevitabilmente, andrà stor- to. I metodi delineati non saranno in grado di evitare tutte le potenziali future problematiche di sicurezza, ma possono far sì che il produttore si trovi in una con- dizione favorevole per poterle risolvere quando esse si presenteranno. Approcciando seriamente il tema della sicurezza e limitando l’esposizione alle violazioni, que- sti dispositivi saranno meno suscettibili agli attacchi, meglio attrezzati per proteggere i dati dei pazienti, e destinati ad ottenere molto più facilmente le necessa- rie omologazioni dagli enti regolatori. Ma soprattutto a migliorare, in tutto il mondo, la qualità dell’assistenza medica ai pazienti.

RkJQdWJsaXNoZXIy Mzg4NjYz