EMBEDDED
64 • MAGGIO • 2017
68
SOFTWARE
|
DYNAMIC ANALYSIS
È
convinzione diffusa che la sola applicazione
dell’analisi statica basti ad evidenziare e debellare
i problemi di sicurezza più comuni. Tuttavia, dato
l’elevato numero di falsi positivi segnalati quando
si utilizza l’analisi statica, capire se si è rilevato un
errore reale è un processo che richiede tempo, e le
À
nascosto l’errore sotto un falso-negativo. Ma quali
sono le alternative? Scopo di questo articolo è evi-
denziare i vantaggi derivanti dall’analisi dinamica
per il rilevamento di potenziali vulnerabilità nei
moderni ambienti embedded. Esso descrive anche
come l’abbinamento tra l’analisi statica e quella di-
namica permetta di creare “actionable intelligence”
'
À
-
4
À
sullo stile dei siti di rating tipo “Morningstar” della
Sicurezza Informatica(1). Siamo tutti venuti a patti
con l’idea di dispositivi in un mondo interconnesso,
con la sua incarnazione più recente che cade sotto
l’appellativo di “Internet of Things”. Mentre contem-
pliamo un mondo in cui ogni dispositivo è connesso
a internet, vi sono crescenti preoccupazioni circa la
sicurezza dei nodi di comunicazione e dei loro siste-
mi di controllo centralizzato. La società di analisi di
settore Gartner prevede che entro il 2020 i terminali
IoT con caratteristiche di sicurezza, sia stand-alone
che basati su hardware e software, cresceranno dai
103 milioni installati nel 2013 ad un tasso annuale
composito del 33,4%, raggiungendo una popolazione
In questo articolo sono evidenziati
i vantaggi derivanti dall’analisi
dinamica per il rilevamento di
potenziali vulnerabilità nei moderni
ambienti embedded
Un’intelligenza
esecutiva per
la sicurezza
del software
Niroshan Rajadurai
VectorCast
globale di 775 milioni(2). Molti di questi dispositivi
saranno in sistemi racchiusi all’interno di dispositi-
vi e apparecchiature. Tuttavia, come conseguenza
Gartner prevede anche che il 25% degli attacchi alla
44
À
4
'
-
spositivi IoT e che, addirittura entro il 2018, oltre il
50% dei produttori di dispositivi IoT sarà nell’inca-
pacità di affrontare le minacce a causa delle deboli
pratiche di sicurezza(3). Le vulnerabilità della sicu-
rezza possono originarsi in un prodotto non appena
siano state scrittele prime righe di codice, e il vero
pericolo è che non vengano rilevate se non quando
è troppo tardi. Questa vulnerabilità può rappre-
sentare un serio pericolo, che può essere sfruttato
&
À 7
4
7
'
distribuito sul campo. Di conseguenza, lo sviluppo
di applicazioni sicure e di elevata qualità richiede
una vigilanza costante in tutte le fasi di sviluppo.
Vale a dire che è necessario utilizzare strumenti
in grado di rilevare possibili vulnerabilità già du-
rante la scrittura del codice, l’integrazione dei mo-
À
'
hardware. L’adozione di un tool di analisi statica
è una buona scelta in teoria, e tra gli sviluppato-
ri è comune voler conoscere i seguenti principi: a)
abbiamo dei problemi di qualunque tipo?, b) quan-
ti? e c) quali e dove sono? Valutare il codice con un
analizzatore statico vi darà qualche indicazione, ma
non è questa la soluzione “pigliatutto”, soprattutto
quando è la sicurezza a essere in gioco. Gli strumen-
ti di analisi statica analizzano sintassi, semantica,
Á
À
'
2 $
-
Fig. 1 – Un caso in cui l’analisi statica può non
rilevare il problema