Il bug è noto come Heartbleed .
Sono vulnerabile?
Generalmente, sei interessato se esegui un server per cui hai generato una chiave SSL ad un certo punto. La maggior parte degli utenti finali non è (direttamente) interessata; almeno Firefox e Chrome non usano OpenSSL. SSH non è interessato. La distribuzione dei pacchetti Ubuntu non è interessata (si basa sulle firme GPG).
Sei vulnerabile se esegui qualsiasi tipo di server che utilizza le versioni OpenSSL 1.0–1.0.1f (ad eccezione delle versioni ovviamente modificate da quando è stato scoperto il bug). Le versioni di Ubuntu interessate sono da 11.10 oniriche a 14.04 pre-release attendibili. È un bug di implementazione, non un difetto nel protocollo, quindi solo i programmi che usano la libreria OpenSSL sono interessati. Se hai un programma collegato alla vecchia versione 0.9.x di OpenSSL, non è interessato. Sono interessati solo i programmi che utilizzano la libreria OpenSSL per implementare il protocollo SSL; i programmi che usano OpenSSL per altre cose non sono interessati.
Se hai eseguito un server vulnerabile esposto a Internet, consideralo compromesso a meno che i tuoi registri non mostrino alcuna connessione dall'annuncio del 2014-04-07. (Ciò presuppone che la vulnerabilità non sia stata sfruttata prima del suo annuncio.) Se il server è stato esposto solo internamente, la necessità di modificare le chiavi dipenderà da quali altre misure di sicurezza sono in atto.
Qual è l'impatto?
Il bug consente a qualsiasi client in grado di connettersi al server SSL di recuperare circa 64 KB di memoria dal server. Non è necessario che il client sia autenticato in alcun modo. Ripetendo l'attacco, il client può scaricare diverse parti della memoria in tentativi successivi.
Uno dei dati critici che l'attaccante potrebbe essere in grado di recuperare è la chiave privata SSL del server. Con questi dati, l'attaccante può impersonare il tuo server.
Come posso ripristinare su un server?
Porta offline tutti i server interessati. Finché sono in esecuzione, stanno potenzialmente perdendo dati critici.
Aggiorna il libssl1.0.0
pacchetto e assicurati che tutti i server interessati siano riavviati.
Puoi verificare se i processi interessati sono ancora in esecuzione con `` grep '' libssl. (cancellato) "/ proc / / maps"
Genera nuove chiavi . Ciò è necessario perché il bug potrebbe aver consentito a un utente malintenzionato di ottenere la vecchia chiave privata. Segui la stessa procedura che hai usato inizialmente.
- Se si utilizzano certificati firmati da un'autorità di certificazione, inviare le nuove chiavi pubbliche alla propria CA. Quando ottieni il nuovo certificato, installalo sul tuo server.
- Se si utilizzano certificati autofirmati, installarlo sul server.
- In ogni caso, sposta le vecchie chiavi e i certificati (ma non eliminarli, assicurati solo che non vengano più utilizzati).
Ora che hai nuove chiavi senza compromessi, puoi riportare il tuo server online .
Revoca i vecchi certificati.
Valutazione del danno : qualsiasi dato che è stato nella memoria di un processo che serve connessioni SSL potrebbe essere stato trapelato. Ciò può includere password degli utenti e altri dati riservati. È necessario valutare quali potrebbero essere stati questi dati.
- Se stai eseguendo un servizio che consente l'autenticazione con password, le password degli utenti che si sono connessi da poco prima dell'annuncio della vulnerabilità dovrebbero essere considerate compromesse. (Un po 'prima, perché la password potrebbe essere rimasta inutilizzata in memoria per un po'.) Controlla i tuoi registri e modifica le password di qualsiasi utente interessato.
- Invalida anche tutti i cookie di sessione, poiché potrebbero essere stati compromessi.
- I certificati client non sono compromessi.
- Qualsiasi dato scambiato da poco prima della vulnerabilità potrebbe essere rimasto nella memoria del server e quindi potrebbe essere trapelato a un utente malintenzionato.
- Se qualcuno ha registrato una vecchia connessione SSL e ha recuperato le chiavi del tuo server, ora può decodificare la sua trascrizione. (A meno che PFS non sia stato garantito - se non lo sai, non lo era.)
Come posso recuperare su un client?
Esistono solo poche situazioni in cui le applicazioni client sono interessate. Il problema sul lato server è che chiunque può connettersi a un server e sfruttare il bug. Per sfruttare un client, devono essere soddisfatte tre condizioni:
- Il programma client ha utilizzato una versione errata della libreria OpenSSL per implementare il protocollo SSL.
- Il client si è connesso a un server dannoso. (Ad esempio, se ti sei connesso a un provider di posta elettronica, questo non è un problema.) Ciò doveva accadere dopo che il proprietario del server è diventato consapevole della vulnerabilità, quindi presumibilmente dopo il 2014-04-07.
- Il processo client aveva in memoria dati riservati che non erano condivisi con il server. (Quindi, se hai appena corso
wget
per scaricare un file, non c'erano dati da perdere.)
Se lo hai fatto tra il 2014-04-07 sera UTC e l'aggiornamento della libreria OpenSSL, considera compromessi tutti i dati presenti nella memoria del processo client.
Riferimenti