EMB_86

EMBEDDED 86 • NOVEMBRE • 2022 58 cessario aggirare un ulteriore meccanismo di dife- sa, oltre al semplice accesso alla memoria criptata. - Meccanismi hardware di supporto alla sicurezza I moderni processori mettono a disposizione nu- merose funzionalità che aiutano a garantire la si- curezza dei dispositivi e delle applicazioni, ma restano in capo al progettista del sistema il com- pito e la responsabilità di utilizzarle. Funzionalità quali TrustZone, accelerazione crittografica, TPM (Trusted Platform Modules) e così via, presenti nei microprocessori moderni, sono progettate sia per agevolare che per accelerare lo sviluppo di progetti sicuri. La protezione del dispositivo dagli attacchi futuri Il lavoro comunque non termina con il rilascio del pro- dotto, poiché gli exploit noti, la cui quantità aumenta quotidianamente, costituiscono un bersaglio mobile. Solitamente non tutti rappresentano delle vere minac- ce, poiché molte CVE si riferiscono a vecchie versioni datate dei componenti open-source, oppure a compo- nenti non utilizzati. Non essendoci tuttavia modo di impedire la comparsa di nuove vulnerabilità, gli svi- luppatori devono essere coscienti del fatto che ciò si- curamente avverrà. Il momento giusto per preparare il dispositivo ad affrontare tali inevitabili eventi futuri è nel corso del suo sviluppo, prevedendo il rilascio di aggiornamenti man mano che nuovi exploit (e anche nuovi difetti non trascurabili del prodotto) verranno scoperti e risolti. Su questo aspetto gli enti regolatori stanno assumendo un atteggiamento sempre più esi- gente, pretendendo l’inclusione di specifici piani per una sua opportuna gestione tra i componenti della pia- nificazione post-market del prodotto (negli Stati Uniti, ad esempio, ciò viene prescritto dalle Linee Guida per il Post-market Management of Cybersecurity in Medical Devices ). Nel 2016, un exploit comunemente noto come la “bot- net Mirai” è riuscito a disattivare ampie porzioni di internet assumendo il controllo di numerosi piccoli dispositivi IoT, come ad esempio webcam e router, ed utilizzandoli successivamente per lanciare attacchi di tipo DDoS (Distributed Denial of Service) verso provi- der dell’infrastruttura web sia statunitensi sia francesi. La maggior parte dei proprietari dei piccoli dispositivi coinvolti erano del tutto inconsapevoli del fatto che essi fossero stati infettati. Meccanismi come Mirai (e altri da esso derivati) rappresentano tuttora delle minacce. Poi- ché la maggior parte degli utenti di questi dispositivi non sapevano di dover modificare certi semplici valori di default, oppure non erano capaci di farlo, la botnet Mirai è stata messa in condizione di assumere il con- trollo di tali sistemi. Le considerazioni che possono essere fatte, nel corso dello sviluppo, riguardo alla garanzia della sicurezza futura di un apparecchio medicale sono molte, ma la più importante è senza dubbio relativa alla capacità di aggiornare il sistema in modo sicuro. I metodi e le risor- se disponibili per supportare tale attività costituiscono un argomento complesso, che trascende l’oggetto di questo articolo. L’applicazione di tecniche di sviluppo preventive Se nella progettazione del prodotto vengono utilizza- ti dei componenti quali Linux, oppure altro softwa- re open-source, al momento del rilascio il dispositivo conterrà inevitabilmente alcune vulnerabilità. Gli svi- luppatori devono quindi dare per assunto che qualche attore malintenzionato possa riuscire ad accedere in modo non autorizzato al dispositivo. Nel momento in cui ciò accade, è di cruciale importanza rendere il più difficile possibile per l’intruso sfruttare tale accesso in modo profittevole. Non esiste una tecnica perfetta per difendersi da hackers determinati, armati con la conoscenza degli exploit presenti nel dispositivo, e gli sviluppatori non possono neppure evitare la presenza di falle nei moduli open-source utilizzati, ma gli utenti possono tenere sotto controllo le potenziali falle pre- senti nelle proprie applicazioni. Rivolgiamo dunque ora l’attenzione al modo in cui vengono sviluppate le applicazioni presenti nel dispositivo. La maggior parte degli exploit rilevati, tanto nel softwa- re open-source quanto in quello applicativo, sono cor- relabili ad alcune tipiche sviste che si verificano ripetu- tamente nella scrittura del codice. Inconvenienti quali la de-referenziazione di puntatori nulli, il rilascio di aree di memoria già rilasciate, l’overflow di buffer di lunghezza fissa, etc. sono quel tipo di errori di codifi- ca che possono essere facilmente sfruttati dagli hacker per compromettere i dispositivi. Esistono, tuttavia, nu- merosi approcci che possono essere utilizzati per limi- tarli, tra i quali: - Analisi statica (e dinamica). La prima forma di ana- lisi statica è probabilmente costituita da un attento esame dei warning segnalati dal compilatore. Capi- ta spesso che nelle organizzazioni questo prezioso indicatore diagnostico venga ignorato, nella frene- sia di ottenere del codice rilasciabile. In aggiunta a SOFTWARE | SAFETY&SECURITY

RkJQdWJsaXNoZXIy Mzg4NjYz