Crittografia: metodi d’aggiramento e consigli utili

Crittografia, metodi d'aggiramento e consigli.

Nel paper “Encryption Warkarounds” il professore Orin S. Kerr (University of Southern California) e l’esperto di crittografia Bruce Schneier (adjunct lecturer presso l’Harvard University’s Berkman Klein Center for Internet and Society) hanno stilato una lista dei principali metodi utilizzati dai malintenzionati per aggirare gli algoritmi di crittografia.

Conoscere tali stratagemmi, è questa l’idea alla base del documento, può essere utile a migliorare non solo le policy di sicurezza delle aziende ma anche a “facilitare” il lavoro delle forze dell’ordine – è chiaro il riferimento alla disputa tra l’FBI e la Apple che si rifiutò di “sbloccare” uno smartphone sequestrato ad uno dei presunti esecutori materiali dell’attacco terroristico a San Bernardino.

Le moderne tecniche di cifratura, sottolineano gli studiosi, hanno raggiunto un livello di sofisticazione tale da scoraggiare anche gli hacker più abili – per via delle ingenti risorse e del tempo richiesti a superare (o craccare in gergo) i complessi algoritmi.

Il perimetro di difesa non è costituito tuttavia dai soli algoritmi ma anche dalle persone che si occupano di proteggere i dati. Ed è ancora una volta “il fattore umano” a rappresentare l’anello debole della catena:

le chiavi private devono essere tenute al sicuro, le copie decrittate dei dati non devono essere accessibili, la chiave non deve essere riutilizzata o facilmente intuibile (es: utilizzare “password” come password) e via dicendo. [La scarsa attenzione] del personale [incaricato della sicurezza dei dati] può […] permettere ad abili hacker di accedere ai dati senza [doversi confrontare con] gli algoritmi di cifratura.

I sei principi alla base delle tecniche di aggiramento sono i seguenti: trovare la chiave, dedurre la chiave, ottenere la chiave, trovare una falla nell’algoritmo, accedere ad un terminale in uso ed ottenere l’informazione decrittata (plaintext in gergo), individuare una copia dell’informazione. Ogni metodo sarà brevemente descritto nel paragrafo successivo.

Metodi d’aggiramento nel dettaglio

  • Trovare la chiave. Gli autori del paper si riferiscono all’individuazione della chiave “annotata” da qualche parte dal sospetto o dall’impiegato di turno: può trattarsi di un foglio attaccato alla bacheca o di un documento elettronico del computer o ancora della password memorizzata dal browser (ad esempio l’elenco delle password nell’apposita sezione di Chrome).
  • Dedurre la chiave. Sebbene le chiavi di cifratura sia troppo complesse per essere dedotte, le password e le combinazioni a protezione della chiave possono rivelarsi alla portata degli eventuali “interessati”:

un codice o una password relativamente semplici da memorizzare per l’utente possono essere [facilmente deducibili da un estraneo]. Poiché la password sblocca la chiave di cifratura che, a sua volta, sblocca l’unità protetta – un hard disk, ad esempio – dedurre la password ha lo stesso effetto di dedurre la chiave di cifratura.

  • Ottenere la chiave (anche con la forza). Metodo chiaramente estraneo agli hacker. Nel caso delle forze dell’ordine in Stati non autoritari, l’ottenimento della chiave è paragonato all’applicazione del metodo “trovare la chiave”. Quest’ultima è ottenibile senza l’uso della forza, ad esempio mediante un interrogatorio o la collaborazione di una persona che è a conoscenza dell’informazione ricercata (es: la moglie del sospettato o un collega di lavoro). Nel mondo criminale ed in Paesi in cui non sono rispettati i diritti dell’individuo, l’informazione può essere ottenuta mediante tortura ed altre forme di coercizione.
  • Trovare una falla nell’algoritmo. 

    Le falle non sono rare. Ogni software ha dei bug [e le soluzioni commerciali] ne hanno migliaia. Alcuni bug possono [rappresentare una] vulnerabilità di sicurezza, [e queste ultime possono essere sfruttate] per sconfiggere lo schema di cifratura.

    Per restare attinenti al mondo dell’informatica, la vicenda Hearthbleed (2014) è uno dei più noti esempi degli ultimi anni. In sintesi, si trattava di una falla della libreria open source OpenSSL, utilizzata per stabilire connessioni sicure, che consentiva di estrarre dalla memoria dei sistemi protetti da OpenSSL varie informazioni – tra cui le chiavi di cifratura.

  • Accedere al terminale in uso ed ottenere l’informazione desiderata. Per essere consultato, qualsiasi dato cifrato va momentaneamente decrittato utilizzando la relativa chiave. Le buone pratiche di sicurezza prevedono naturalmente la cifratura dei dati in transito ed in archivio ma mediante l’installazione di malware è possibile intercettare i dati nel momento in cui questi sono obbligatoriamente decrittati per essere visualizzati. Il sequestro del dispositivo in uso è un’altra soluzione citata ma difficilmente si applica al contesto aziendale ed agli hacker.
  • Individuare una copia dell’informazione. Metodo che invece di bypassare l’algoritmo lo evita completamente. L’obiettivo dell’hacker (o delle forze dell’ordine) sarà quello di individuare una copia consultabile (quindi plaintext, ad esempio dei documenti elettronici archiviati nel cloud) dei dati protetti dall’algoritmo.

Consigli utili

Le interessanti informazioni del paper (consultabile dalla sezione fonti) possono essere declinate in chiave “aziendale” ed utilizzate per stilare un elenco di buone norme da adottare.

  • Preservare le chiavi private. Le chiavi elettroniche devono essere conservate o su reti isolate (mediante air gap) o su dispositivi sicuri (come gli hardware security module).
  • Utilizzare password manager. L’editorialista consiglia di utilizzarli perché sono gli unici in grado di generare password casuali complesse e che vengono periodicamente cambiate. Occorre comunque prestare attenzione al software utilizzato, aggiungiamo, in quanto vicende riguardanti falle ed altre vulnerabilità dei password manager non sono rare.
  • Limitare l’accesso alle chiavi. Chiunque sia a conoscenza della chiave è un potenziale obiettivo di malintenzionati e criminali. Nel caso in cui l’incolumità della persona sia minacciata è ovviamente futile consigliare di resistere alle richieste dell’interlocutore, sottolinea l’editorialista. Ridurre al minimo il numero di persone a conoscenza della chiave, mantenendone segreta l’identità, è l’unico modo per abbassare la percentuale di rischio.
  • Aggiornare i software utilizzati per cifrare i dati. Un classico consiglio che presuppone, soprattutto in ambito Linux, la presenza di professionisti in grado di valutare attentamente i rischi ed aggiornare il sistema operativo (procedura più complessa rispetto ad altri OS).
  • Proteggere l’accesso fisico a terminali e dispositivi. Come suggerisce il quinto punto, l’accesso fisico ai locali in cui sono installati i sistemi deve essere costantemente monitorato. Nel caso in cui si utilizzino dispositivi portatili è opportuno evitare luoghi pubblici in cui possano essere rubati o comunque “avvicinati” da qualsiasi persona.
  • Evitare l’utilizzo di sistemi non sicuri. La connessione sicura è solo uno degli elementi di un sistema che può eventualmente nascondere altre falle, rendendo vana la protezione offerta dalla crittografia. Occorre ragionare adottando una visione d’insieme.

Fonti: 1, 2 (paper).