Scopri cosa è Heartbleed e come può minacciare la sicurezza delle tue comunicazioni. Proteggi la tua rete e impara a sfruttare le vulnerabilità delle librerie Open SSL.

Nel 2014 è stata individuata una delle minacce informatiche più pericolose dell’ultimo decennio: Heartbleed. Si tratta di una vulnerabilità intrinseca all’implementazione software OpenSSL. Questa è stata scoperta mediante un azione congiunta del Google Security Team e dei ricercatori di Codenomicon, un’azienda finlandese di cybersecurity.
Nel corso degli anni essa ha provocato numerosi data breach ai danni di aziende e imprese, al punto da essere registrata nel database delle Common Vulnerabilities and Exposures con il codice di CVE-2014-0160.
Vediamo più da vicino di cosa si tratta.
La libreria OpenSSL e l’estensione Heartbeat TLS
OpenSSL è una implementazione crittografica open-source ampiamente utilizzata da server e siti web di tutto il mondo. Agendo all’interno dei protocolli Transport Layer Security (TLS) e Secure Sockets Layer (SSL), è in grado di mettere in sicurezza le comunicazioni che avvengono all’interno di:
- Applicazioni web;
- Caselle di posta elettronica;
- Servizi di messaggistica istantanea;
- Reti VPN;
OpenSSL implementa anche un’estensione nota come Heartbeat TLS (o RFC 6520), che controlla se due dispositivi, client e server, comunicano correttamente tra di loro. Più precisamente, i due dispositivi confermano la stabilità del loro collegamento scambiandosi un payload noto come Heartbeat Request, costituito da una stringa di caratteri predefinita. Ogni volta che il client invia l’Heartbeat Request al server, quest’ultimo risponde mandando indietro lo stesso identico payload. Inoltre, viene anche allocato un buffer di memoria all’interno del quale viene salvato il messaggio di risposta inviato dal server.
La vulnerabilità Heartbleed si trova proprio all’interno di questa estensione. La reale dimensione dei payload, infatti, non viene correttamente verificata. Ciò permette ai cybercriminali di inviare Heartbeat Request malevole, in cui viene dichiarato un numero di caratteri maggiore di quello effettivo. Il server, di conseguenza, riempie gli spazi in eccesso con altri dati salvati al suo interno, provocando un over-read del buffer.
Ad esempio, un attaccante invia un messaggio di sette caratteri, “onorato”, dichiarando però che ne contiene cinquecento. Il server riceve il payload, ma non verifica se è davvero lungo cinquecento caratteri. Pertanto, il buffer di memoria andrà a salvare i sette caratteri del messaggio originale, più altri 493 composti da dati aggiuntivi estrapolati dalla memoria del server.
Sfruttando questa vulnerabilità, i cybercriminali riescono ad avere accesso ad informazioni sensibili, come:
- Chiavi crittografiche private;
- Username;
- Password;
- Indirizzi di posta elettronica;
Va precisato che i cybercriminali hanno controllo sulla dimensione della memoria esposta, ma non sulla sua locazione. Ciò comporta l’impossibilità di scelta del contenuto da estrapolare.
Come funziona Heartbleed a livello tecnico?
I cybercriminali possono sfruttare la vulnerabilità Heartbleed attraverso una riga di codice specifica nell’implementazione di OpenSSL. Più nello specifico attraverso la funzione memcpy(bp, pl, payload).
La funzione complessiva è strutturata così come segue:
- memcpy() è la funzione principale, responsabile della copia dei dati del payload;
- bp rappresenta il buffer di destinazione in cui vengono memorizzati i dati.;
- pl corrisponde alla dimensione effettiva del payload;
- payload è la dimensione dichiarata del payload da copiare;
Se il valore di payload dichiarato è maggiore della dimensione effettiva di pl, la funzione memcpy() continua a copiare i dati oltre il limite del buffer, sovrascrivendo la memoria adiacente. Di conseguenza, i dati non verificati all’interno della memoria del server, come le informazioni sensibili, vengono esposti.
Poiché OpenSSL è un’implementazione open-source, il suo codice sorgente è accessibile a chiunque. In tal modo, gli attaccanti sono in grado di sfruttare la vulnerabilità Heartbleed senza particolari difficoltà. Nel contesto vero e proprio, si tratta di un exploit relativamente semplice da utilizzare, in quanto non richiede competenze avanzate di hacking e non lascia tracce visibili dell’attacco. Questo lo rende estremamente pericoloso, poiché risulta complicato rilevare se un sistema è stato compromesso.
I danni causati da Heartbleed
A causa della vulnerabilità Heartbleed, numerose piattaforme e servizi web che implementavano OpenSSL hanno subito violazioni dei propri dati sensibili, con conseguenti gravi conseguenze.
Tra i data breach più significativi, si ricordano quelli avvenuti nel 2014 ai danni del Canada Revenue Agency (CRA) e dello US Community Health Systems (CHS). Questi incidenti hanno portato al furto di una vasta quantità di informazioni riservate, inclusi numeri di previdenza sociale e cartelle cliniche, compromettendo gravemente la sicurezza e la privacy degli utenti.
Sempre nello stesso anno, anche il sito web Mumsnet è stato colpito dalla vulnerabilità Heartbleed, con la violazione di numerosi account. Gli attaccanti sono riusciti a ottenere l’accesso all’account del CEO della piattaforma, utilizzandolo per compiere operazioni fraudolente.
Il team di OpenSSL ha dovuto affrontare ingenti spese per aggiornare e mettere in sicurezza le sue applicazioni, compreso il costo associato alla revoca di numerosi certificati di sicurezza SSL compromessi. Le aziende che sono state direttamente colpite da Heartbleed hanno dovuto affrontare spese legali significative, multe e danni reputazionali, mentre cercavano di contenere l’impatto dell’attacco e ripristinare la fiducia degli utenti.
Una minaccia ancora in agguato
Nonostante le contromisure adottate, non tutti hanno aggiornato le proprie librerie OpenSSL, lasciando così alcune infrastrutture vulnerabili e permettendo ai cybercriminali di sfruttare ancora la vulnerabilità Heartbleed anche negli anni successivi. Nel 2020, infatti, il SANS Internet Storm Center ha rilevato che più di 200.000 sistemi non erano stati correttamente messi in sicurezza. Sempre nel 2020, il sito web Shodan ha posizionato l’Italia al settimo posto nel mondo per numero di server vulnerabili ad Heartbleed. Il totale ammontava a ben 2.858 dispositivi esposti.
Anche oggi chi utilizza versioni obsolete di OpenSSL rimane a rischio. Non è da escludere, inoltre, che in futuro possano emergere nuovi exploit simili a Heartbleed. Pertanto, è di vitale importanza mantenere aggiornati i propri sistemi e applicazioni per proteggersi da vulnerabilità note che potrebbero essere sfruttate da attori malevoli per eseguire attività fraudolente.
Altre pratiche di sicurezza fondamentali per prevenire questo tipo di minacce includono:
- Monitorare costantemente il traffico di rete per individuare attività anomale che potrebbero indicare tentativi di sfruttamento di vulnerabilità.
- Eseguire regolarmente dei penetration test, per identificare e correggere eventuali vulnerabilità nei propri sistemi e applicazioni.



