L’illusione della sicurezza è peggiore della consapevolezza della sua assenza perché porta a decisioni basate su premesse false. Le informazioni trasmesse da istituzioni di fiducia pubblica come “Proteggiamo i tuoi dati personali” spesso creano questa illusione di sicurezza. Studiamo due esempi di ciò utilizzando file PDF protetti da password.
- Ho ricevuto un’email da PZU con un’offerta di assicurazione, sottolineando “Proteggiamo i dati personali”:
2. L’allegato era un file PDF protetto da una password:
3. Supponiamo di non conoscere la password. Tuttavia, so dal contenuto dell’email che la password è composta da 4 cifre. Vediamo quanto tempo ci vuole per craccarla usando un computer domestico moderno.
4. Aprendo il PDF in modalità testo, possiamo leggere l’intestazione del file (ad esempio, utilizzando Blocco note). Questo ci permetterà di identificare la versione dello standard in cui è stato creato:
5. Il passo successivo è estrarre l’hash della password che vogliamo craccare. Qui ci viene in aiuto lo strumento pdf2john.py.
6. Per craccare l’hash ottenuto, useremo hashcat in modalità brute force. 10500 indica qui la modalità di craccatura degli hash per i file PDF nelle versioni 1.4-1.6:
Come si vede qui sotto, craccare una password composta da quattro cifre ha impiegato 10 secondi:
Si può quindi affermare con certezza che una password di 4 cifre è un tipo di protezione illusoria e non protegge i dati personali.
Passiamo ora all’esame del PDF “protetto” da NN Investment Partners.
- Qui è stato “protetto” con una stringa di caratteri leggermente più lunga: il numero PESEL.
2. L’intestazione del file allegato – “%PDF-1.2” indica che il file è stato creato utilizzando lo standard del 1996:
3. L’hash della password estratta indica la stessa cosa:
4. Lanciamo un brute force con hashcat. Brute force perché non prendiamo in considerazione nessun altro presupposto che ridurrebbe il numero di combinazioni possibili, tranne il fatto che il PESEL è un numero di 11 cifre:
Cosa fare, come vivere?
Per crittografare i dati, bisogna usare password lunghe – oltre 12 caratteri, con un ampio spazio di caratteri, cioè contenenti lettere maiuscole/min uscole, numeri e caratteri speciali. Una tale password dovrebbe essere inviata al cliente tramite un secondo canale di comunicazione, ad esempio via SMS. Inoltre, le istituzioni dovrebbero utilizzare algoritmi di crittografia forti che rallentano significativamente i tentativi di brute force. Un esempio potrebbe essere l’utilizzo di un archivio 7zip con l’algoritmo AES-256.