Il bug Heartbleed consente infatti ad altre parti di leggere la memoria al di fuori dello spazio previsto, ma lo fa non consente di leggere la memoria da altri processi . L'indirizzo iniziale non può essere modificato dall'attaccante, dipende in realtà dall'algoritmo di allocazione della memoria che la memoria deve restituire. Molto probabilmente questa è la memoria di una richiesta HTTP recente (per server Web e browser). Per i server Web molto affollati, esiste un'alta probabilità di ottenere dati completamente diversi perché la memoria è stata sovrascritta mentre serviva altri utenti.
Cloudflare ha studiato il possibilità di ottenere una chiave SSL privata dal server Web di nginx, ma è altamente improbabile che comprima la chiave privata. L'argomento principale è che il server web nginx carica la chiave privata molto presto durante l'avvio. Non è allocata / utilizzata molta memoria in quel momento, quindi la chiave privata è archiviata a un indirizzo basso. Quando arrivano nuove richieste, vengono utilizzati indirizzi più distanti, quindi pensano che sia difficile (e probabilmente impossibile) ottenere la chiave. Ecco perché hanno presentato una sfida che chiede ai tester di dimostrare il contrario.
Si noti che non esiste una prova davvero certa che non sia possibile ottenere le chiavi. L'atteggiamento paranoico (e sicuro) è quindi supporre che sia possibile (anche se la probabilità di essere colpiti da un meteorite è più alta). Per dimostrare che non è possibile ottenere le chiavi usando questo singolo bug , si dovrebbe controllare attentamente come funziona l'allocatore di memoria e come altri fattori esterni possono influenzare l'indirizzamento.
I ricercatori sono riusciti a ottenere la chiave privata in "condizioni di laboratorio". Quali erano queste condizioni? Se eseguono un server web personalizzato che utilizza OpenSSL su un dispositivo embedded a bassa memoria, questo potrebbe rendere molto più semplice ottenere la chiave privata, ma non è realistico.
Indipendentemente dal fatto che le chiavi private possano essere trapelate o meno, è stato dimostrato che le richieste e le risposte HTTP recenti possono essere lette dalla memoria. Ciò include le password (vedi Yahoo, conosco qualcuno che ha ottenuto 3k password in breve tempo), documenti aziendali, codice sorgente (comprese le credenziali del database), token di accesso, ID di sessione e altro. Sebbene la chiave privata principale non sia stata rubata, è ancora del tutto possibile che i segreti premaster siano trapelati e ciò consentirebbe a qualcuno che ha annusato la rete di decrittografare i dati crittografati.
Per quanto riguarda il controllo, non può vedere nei log di accesso dei server web che è stato attaccato con questo bug. Puoi solo dire con una cattura di pacchetti.
Poiché gli attacchi sono piuttosto invisibili e il bug consente agli aggressori remoti di raccogliere facilmente dati che normalmente non sono accessibili all'esterno (codice sorgente) o dovrebbero essere crittografati (password), a mio parere Heartbleed è piuttosto severo. Ha ottenuto molta stampa, ma sembra essere giustificato.