XIII
MEDICAL 15 -
OTTOBRE 2017
SICUREZZA
Protezione dei dati in transito
Per dati in transito si intendono quei dati che entrano o
escono dall’apparato mentre esso si trova nello stato di
“acceso”. Un progetto ben concepito deve sempre affron-
tare le seguenti due aree di potenziali problematicità:
prima dell’invio dei dati, il dispositivo opera una
qualsiasi forma di mutua attestazione delle identità
delle parti? Sono disponibili numerose tecniche ed
accorgimenti impiegabili per autenticare l’identità
del destinatario, prima di inviargli le informazioni;
nell’eventualità che la trasmissione venga intercettata,
in che modo vengono protetti i dati? La crittografia dei
dati in transito, in aggiunta a quelli a riposo, garantisce
un significativo livello di protezione. Per consentire ope-
razioni crittografiche efficienti, è tuttavia doveroso va-
lutare l’utilizzo di SoC dotati di crypto engines integra-
ti. Un crypto engine è un modulo autonomo presente
nell’hardware, appositamente concepito per sollevare il
processore principale dal carico computazionale legato
alla codifica/decodifica crittografica. Poiché il crypto
engine è costituito da un blocco di IP totalmente auto-
nomo, per gli hacker è difficile individuare tecniche che
consentano loro di ottenere l’accesso al processo critto-
grafico. L’utilizzo dei crypto engines può avere un enor-
me impatto sulla capacità da parte dell’applicazione di
proteggere i dati in modo rapido ed efficiente.
Dopo aver evidenziato le principali tecnologie utilizzabili
dai produttori di apparati medicali, è necessario menzio-
nare anche alcuni aspetti relativi al processo di sviluppo
vero e proprio. Per alcuni sviluppatori, processi struttu-
rati come il Security Development Lifecycle (SDL) posso-
no apparire eccessivamente onerosi e formali; tuttavia, è
necessario dedicare la giusta attenzione alla selezione di
un insieme appropriato di strumenti in grado di garan-
tire la tracciabilità dei requisiti, del codice e delle casisti-
che di test. È inoltre importante che, nel corso del pro-
cesso di sviluppo, vengano utilizzati dei tool appropriati
per la fase di verifica. La verifica e la validazione possono
essere ricondotte ad attività relativamente semplici, ad
esempio mediante l’utilizzo di tool per eseguire l’analisi
statica del codice, volta a garantire la conformità con va-
rie linee guida o standard relativi alla sicurezza ed all’affi-
dabilità, quali MISRA oppure Cert C. Relativamente alla
sicurezza legata alle funzioni di connettività più avanza-
te, si rivela inoltre importante l’esecuzione di attività di
stress testing della rete, come anche l’impiego di opzioni
di testing e di certificazione erogati da terze parti indi-
pendenti, come ad esempio la certificazione Achilles of-
ferta da Wurldtech, un partner specializzato di Mentor.
Una volta completato lo sviluppo e commercializzati
gli apparati, è infine necessario determinare anche una
adeguata strategia per le procedure di manutenzione
correttiva. Tale aspetto può talvolta costituire il fattore
decisivo per optare verso l’adozione di una distribuzione
Linux di tipo commerciale, come ad esempio Mentor
Embedded Linux. Tra i vantaggi che spettano agli acqui-
renti di Mentor Embedded Linux vi è infatti la disponi-
bilità di un apposito team di Mentor specializzato per
la sicurezza, costantemente impegnato a monitorare in
modo proattivo il sito web del US-Cert, per identificare
tutte le CVE (Common Vulnerabilities and Exposures)
che possano interessare i propri prodotti. Ogniqualvolta
una vulnerabilità viene scoperta, Mentor provvede a dar-
ne notifica ai propri clienti, fornendo loro anche le ap-
posite patch per ogni prodotto interessato, in conformi-
tà alla policy di supporto dei prodotti Mentor. A questo
punto il costruttore del dispositivo può decidere come e
quando applicare le patch al codice di base utilizzato per
il proprio prodotto e, se necessario, procedere al rollout
di un proprio aggiornamento software.
Fig. 2 –
Il process model di Nucleus costituisce un approccio “leggero” al partizionamento dello spazio applicativo, basato sulla creazione di regioni protette
all’interno della memoria