OWASP Top 10 2013 – A6 Esposizione di dati sensibili

Tempo di lettura: 7 minuti

L’Open Web Application Security Project (OWASP) è una community online, un progetto open-source che offre consigli, guide, articoli e software nell’ambito della sicurezza delle applicazioni. L’OWASP Top 10 include una lista delle maggiori vulnerabilità che un’applicazione web può avere, e l’obbiettivo è quello di educare sulle conseguenze che possono avere delle implementazioni errate e facilmente vulnerabili. Altri progetti degni di nota dalla stessa community sono i Cheat Sheets, una pagina completa di guide approfondite per le maggiori vulnerabilità conosciute, e l’OWASP testing guide. In questa serie di articoli andrò ad analizzare e testare ogni vulnerabilità con esempi pratici, utilizzando Mutillidae.

Per chi si fosse perso i precedenti articoli:

A6 Esposizione di dati sensibili

owasp6index
owasp6index

L’esposizione di dati sensibili avviene quando un’applicazione non protegge in maniera adeguata le informazioni sensibili dei propri utenti. Queste informazioni possono essere le password, le chiavi di sessione, dati delle carte di credito e molte altre.

Tipicamente questo tipo di vulnerabilità è presente in applicazioni web di nicchia ma non mancano grosse aziende che pensano non sia importante crittografare i dati sensibili dei propri utenti e periodicamente vengono hackerate. L’impatto è devastante sia per quanto riguarda l’utenza, visto che una buona fetta di essi utilizzano la stessa password per tutti i siti, sia per l’eventuale sottrazione dei dati di carte di credito (ovviamente) o sottrazione dei certificati di sicurezza del sito target.

Prevenzione

Il primo passo per prevenire attacchi di questo tipo è di capire quali sono i dati da proteggere in tutti i modi. Dopo aver ben chiare le informazioni, le regole principali da seguire sono:

  1. I dati sensibili non vanno mai salvati in chiaro;
  2. I dati non vanno mai trasmessi in chiaro;
  3. L'algoritmo da utilizzare per crittografarli non deve essere semplice o autoprodotto, a meno che non sia agli stessi livelli di RSA, AES, etc;
  4. Gli header del browser non devono salvare nella cache dati sensibili.
Tempo per craccare un'algoritmo con chiavi di differente lunghezza
Tempo per craccare un'algoritmo con chiavi di differente lunghezza

Applicazione senza certificato

Fortunatamente negli ultimi anni la maggior parte delle applicazioni utilizzano dei certificati, in modo da proteggere i propri utenti da attacchi di sniffing o MITM, grazie anche ad associazioni come Let’s Encrypt che, in modo del tutto gratuito, stanno distribuendo da tempo i certificati (merito suo se Hacktips è sicuro). Chiunque non abbia ancora installato un certificato dovrebbe provvedere all’istante, poiché sottrarre dati sensibili in questo modo è davvero semplicissimo. Se, per esempio, effettuo il login a Mutillidae (senza certificato) e un attaccante sta sniffando la connessione, per sottrarre la password basta un attimo.

Sottrazione della password con Wireshark
Sottrazione della password con Wireshark
Stessa connessione con il certificato
Stessa connessione con il certificato

Password non cifrate

Purtroppo sono ancora molte le applicazioni che non cifrano le password adeguatamente o non le cifrano affatto. Il ragionamento solito è che tanto è impossibile entrare nel sistema e che nessuno riuscirà a violarlo. Peccato che quotidianamente vengano hackerati siti a livello di FriendFinder o ArmyForceOnline. Nel 2014, ad esempio, il database di Bell Canada fu sottratto insieme a migliaia di informazioni personali (username, password, carte di credito) non cifrate. Mutillidae non cifra la password e, con una semplice vulnerabilità di SQL Injection, è possibile avere i dati personali degli utenti

Password salvate nel database di Mutillidae
Password salvate nel database di Mutillidae

Conclusioni

Tutti i pericoli legati alla sicurezza dei dati vanno ben oltre la lista delle 10 maggiori vulnerabilità di OWASP. Rendere sicuri i dati è un passaggio obbligatorio per chi vuole creare un’applicazione web degna di tale nome. Nel caso di un data breach è fondamentale non farsi prendere dal panico e riuscire a gestire la situazione in maniera ottimale, come il caso del forum di Linux Mint, hackerato a febbraio 2016.