EMBEDDED
66 • NOVEMBRE • 2017
82
SOFTWARE
|
SAFETY SECURITY
À
À 7
non sono consigliate pratiche come tollerare la
presenza di “dead code” o di codice irraggiungibile,
!
À
Z
À
integrità tendono a far rispettare le caratteristi-
che che offrono un comportamento prevedibile.
MISRA C:2012, ad esempio, sconsiglia l’utilizzo di
memoria dinamica per il fatto che un uso impro-
prio dei servizi di libreria standard per gestire la
À
farlo, si dovrebbe prestare particolare attenzione
per evitare esiti imprevedibili.
Sicurezza dell’applicazione
7 >@7%YW W À !
-
bilire, implementare, mantenere e migliorare con
continuità un sistema di gestione della sicurezza
delle informazioni. È basato sul modello PDCA
(plan, do, check, act), condiviso con tutti i princi-
pali standard di gestione. Valutazione del rischio
e analisi di impatto sul business vengono utiliz-
À
la riservatezza, l’integrità e la disponibilità delle
informazioni.
Uno sguardo piùdettagliato sulla sicurezza dell’ap-
plicazione viene offerto da ISO/IEC27034:2011,
À
-
mentazione dei controlli di sicurezza delle infor-
mazioni attraverso processi integrati nel lifecycle
dello sviluppo del sistema.
Come tale, esso non è uno sviluppo di applicazioni
software standard, ma si basa su standard esistenti.
À
-
ty-oriented, lo scenario è molto vario; si incontra-
À
Y Y
per Java, Perl, PL/SQL e altri.
C’è un’ampia varietà di tecniche disponibili per
valutare la sicurezza del codice. Diversi problemi
possono essere rintracciati usando analisi statica,
Á #
Á # *
_
+
-
seguibile e analisi euristica. Queste tecniche pos-
À
del supporto esistente per la lingua selezionata,
strutture integrate, librerie, e così via.
Il punto di riferimento principale per la sicurezza
À " Y%x<
À
-
tela della sicurezza.
9
À Y%x<
À
dal common weaknesses enumeration (CWE). Il
CWE è un dizionario delle vulnerabilità sviluppa-
to da una intera comunità. L’elenco scaricabile dei
-
À
Il CWE è legato ad un più ampio insieme di vul-
nerabilità della sicurezza dei dati, noti pubblica-
mente, conosciute come CVE (common vulnera-
bilities and exposures), che è ora lo standard per
À
Z
À Y%
Y% 7
-
scono punti di riferimento per lo scambio dati dei
servizi e prodotti per la sicurezza. Essi sono utili
+ À
À
-
rabilità.
Il database nazionale delle vulnerabilità del
NIST, il depositario per il governo federale degli
Stati Uniti dei dati di gestione della vulnerabilità
basati su standard, contiene più di 73.000 CVE.
MISRA vs CERT
MISRA C:2012 e CERT C possono essere conside-
rati un punto di riferimento per quanto riguarda
la sicurezza e la protezione per il linguaggio C. Un
sintetico confronto viene riportato nella tabella 1.
Esistono differenze notevoli tra gli standard CERT
'7 xU "
À
+
À
medesimo codebase. Strumenti come quelli offerti
Fig. 2 – Standard come DO178B/C richiedono un’accurata definizione e documentazione del processo
di sviluppo del software