Elettronica_Oggi_440 - page 21

21
- ELETTRONICA OGGI 440 - OTTOBRE 2014
TECH INSIGHT
CRITTOGRAFIA
non possano compromettere il materiale della chiave anche
durante le operazioni crittografiche. Una tipica implemen-
tazione “white box” di uno standard di crittografia prevede
la cifratura, deci
frazione, firma e verifica dei dati sensibili,
come accade in una realizzazione di tipo tradizionale, ma
costringere l’aggressore a eseguire il reverse engineering
di trasformazioni matematiche complesse per ottenere la
chiave segreta (secret key).
L’implementazione “white box” risulta pertanto utile laddove
la crittografia deve essere effettuata in un ambiente poten-
zialmente soggetto a vulnerabilità dove è necessario pro-
teggere le chiavi crittografiche e/o i dati in chiaro (plaintext)
oppure nei casi in cui un potenziale utente “non affidabile”
potrebbe assumere il controllo del sistema host. In scenari
di questo tipo si potrebbero verificare problemi di notevole
entità quali ad esempio la compromissione di sistemi con-
nessi in rete, la possibilità che il software venga reso di-
sponibile alla concorrenza o l’installazione di software com-
merciale con chiavi private (con la conseguente possibilità
di poter eseguire su una macchina qualsiasi tipo di codice).
Prevenzione degli attacchi con la crittografia “white box”
Un esempio di attacco di vasta portata è quello che nell’apri-
le 2014 ha sfruttato la vulnerabilità Heartbleed presente in
OpenSSL, uno dei software di crittografia più popolari e dif-
fusi (basti solamente pensare che esso è utilizzato nel web
server Apache e, quindi, su circa due terzi dei server web
di tutto il mondo, per la gestione delle connessioni SSL/TLS
attraverso il protocollo HTTPS). Un attacco che sfrutta que-
sto bug consente la lettura di porzioni di memoria del server
che potrebbero contenere parte del materiale della chiave
crittografica utilizzata per rendere sicure le comunicazioni
tra quel server e il mondo esterno. L’esposizione della chia-
ve rischia di compromettere i dati (molto sensibili) protetti
da quel canale di comunicazione.
Per proteggere le informazioni cifrate è indispensabile che
la chiave non si manifesti in alcun modo nella memoria o
sull’hard disk. Nelle implementazioni crittografiche stan-
dard sia l’algoritmo sia la chiave sono vulnerabili a mano-
missioni e operazioni di “reverse engineering”. La crittogra-
fia “white box” trasforma per via matematica la chiave in un
complesso grafo di numeri e codice eseguibile. Nel grafo
in questione esistono più percorsi validi scelti in maniera
casuale durante l’esecuzione sulla base di una sorgente di
numeri random fornita dall’utente (Fig. 1).
L’abbinamento tra algoritmi matematici, dati e tecniche di
oscuramento del codice per trasformare la chiave e le rela-
tive operazioni di crittografia seguendo modalità complesse
richiede una profonda conoscenza in molteplici discipline
da parte dell’aggressore. Un aspetto particolarmente impor-
tante è il fatto che la chiave non è mai presente nella me-
moria statica o durante l’esecuzione (run-time). La chiave è
semplicemente una raccolta di dati che non hanno nessuna
utilità se non si dispone dell’algoritmo “white box” genera-
to “ad hoc”. In breve, sostituendo le librerie crittografiche
standard con una libreria in grado di supportare la tecnica
“white-box” le chiavi non saranno mai esposte, annullando
di fatto l’efficacia di attacchi del tipo descritto.
Tecniche da utilizzare in un’implementazione White Box
Pur nella loro diversità, le tecniche di seguito descritte sono
di fondamentale importanza per ciascuna implementazione
di tipo white-box da utilizzare in sistemi potenzialmente sog-
getti a vulnerabilità.
Diversità
Invece di implementare un algoritmo di crittografia “white
box” per tutti gli utilizzatori (che potrebbe essere vulnera-
bile ad attacchi di tipo Bore – Break-once-run-everywhere
- copia una volta, esegui dappertutto), i generatori di codice
dovrebbero essere utilizzati per produrre varianti uniche
dell’algoritmo. Ciò permette di semplificare l’indagine pre-
liminare di dati sensibili (come ad esempio chiavi o testo in
chiaro selezionato). Algoritmi realizzati “ad hoc” consentono
Fig. 1 – La relazione tra la chiave classica e quella dell’implementazio-
ne “white box” non è banale, rendendo di fatto impraticabile la rico-
struzione della chiave classica utilizzando i tool solitamente disponibili
per un aggressore che conduce attacchi di tipo “netwok based” (ovvero
che sfruttano il traffico sulla rete)
1...,11,12,13,14,15,16,17,18,19,20 22,23,24,25,26,27,28,29,30,31,...104
Powered by FlippingBook