La vulnerabilità con problemi di cuore colpisce i clienti in modo grave?

61

Se ho un crawler web (che usa una versione non patch di OpenSSL) che può essere convinto a connettersi a un sito https malvagio, può ottenere tutto dalla mia memoria di processo? Per attaccare un server puoi continuare a riconnetterti per ottenere più blocchi da 64kb (se ho capito bene), ma un client può essere costretto a riconnettersi molte volte, per ottenere più blocchi?

    
posta Gurgeh 08.04.2014 - 14:55
fonte

2 risposte

50

Sì, i client sono vulnerabili agli attacchi.

Gli avvisi di sicurezza iniziali indicavano che un server malevolo può utilizzare la vulnerabilità Heartbleed per compromettere un client interessato. Fonti di seguito (tutta l'enfasi è mia).

Da allora, gli attacchi proof of concept hanno convalidato questa posizione: è assolutamente certo che i client che eseguono app che utilizzano OpenSSL per le connessioni TLS potrebbero essere vulnerabili.

heartbleed.com :

...When [Heartbleed] is exploited it leads to the leak of memory contents from the server to the client and from the client to the server.

Avviso di sicurezza di Ubuntu USN-2165-1 :

An attacker could use this issue to obtain up to 64k of memory contents from the client or server

RFC6520 :

5. Use Cases
Each endpoint sends HeartbeatRequest messages...

Advisory sulla sicurezza di OpenSSL 07 aprile 2014 :

A missing bounds check in the handling of the TLS heartbeat extension can be used to reveal up to 64k of memory to a connected client or server.

Le applicazioni client hanno segnalato essere vulnerabili (credito a @Lekensteyn tranne dove diversamente specificato):

  • MariaDB 5.5.36
  • wget 1.15 (perde la memoria delle connessioni precedenti e del proprio stato)
  • curl 7.36.0
  • git 1.9.1 (testato clone / push, perdite non molto)
  • nginx 1.4.7 (in modalità proxy, perde la memoria delle richieste precedenti)
  • link 2.8 (perde il contenuto delle visite precedenti!)
  • Tutte le applicazioni KDE che usano KIO (Dolphin, Konqueror).
  • Server di posta Exim
  • OwnCloud Versione sconosciuta | Source

Nota che alcuni di questi programmi non usano OpenSSL. Ad esempio, il ricciolo può essere creato con Mozilla NSS ed Exim può essere creato con GnuTLS (come avviene su Debian).

Altri client comuni:

  • Windows (tutte le versioni): Probabilmente non influenzato ( utilizza SChannel / SSPI ), ma l'attenzione dovrebbe essere pagata alle implementazioni TLS nelle singole applicazioni. Ad esempio, gli utenti Cygwin devono aggiornare i loro Pacchetti OpenSSL .

  • OSX e iOS (tutte le versioni): probabilmente inalterato. SANS implica potrebbe essere vulnerabile dicendo " OS X Mavericks non ha PATCH disponibile ", ma others nota che OSX 10.9 viene fornito con OpenSSL 0.9.8y, che non è interessato. Apple dice : "Le librerie OpenSSL in OS X sono deprecate, e OpenSSL non è mai stato fornito come parte di iOS "

  • Chrome (tutte le piattaforme tranne Android): Probabilmente non affetto ( utilizza NSS )

  • Chrome su Android: 4.1.1 potrebbe essere interessato ( utilizza OpenSSL ). Source . 4.1.2 non deve essere modificato, poiché è compilato con heartbeat disabilitati . Source .
  • Prodotti Mozilla (ad es. Firefox, Thunderbird, SeaMonkey, Fennec): Probabilmente non interessati, tutti usano NSS
risposta data 13.04.2017 - 14:45
fonte
9

Sì, influisce sui client in modo grave, come indicato sul sito Web heartbleed:

Furthermore you might have client side software on your computer that could expose the data from your computer if you connect to compromised services.

Naturalmente, e questo non è solo il caso di questa vulnerabilità o di un particolare client, il client ha ancora per avviare la connessione da attaccare. In nessun modo questa vulnerabilità consente a un utente malintenzionato di avviare una connessione al proprio web crawler e sfruttare la vulnerabilità.

Nel tuo caso comunque, dato che hai un controllo diretto sul codice client OpenSSL (e suppongo che questo sia il caso basato sul tuo post), vuoi assicurarti che la tua versione di OpenSSL non sia inclusa nell'opzione Heartbeat e se lo fa, rimuoverlo. Per fare ciò, puoi:

  • mostra quali opzioni specifiche sono state utilizzate per compilare la tua versione di OpenSSL:

    openssl version -o

  • o visualizza ogni informazione dalla tua versione OpenSSL:

    openssl version -a

  • compilare OpenSSL senza supporto Heartbeat, semplicemente usando questo flag in fase di compilazione:

    -DOPENSSL_NO_HEARTBEATS

Una volta che questo è stato fatto, o se la tua versione di OpenSSL non l'ha inclusa inizialmente, allora non sei vulnerabile.

Modifica: un altro metodo consiste nel recuperare la versione di OpenSSL con:

openssl version

E confrontalo con l'elenco delle versioni interessate disponibili on heartbleed :

  • OpenSSL 1.0.1 through 1.0.1f (inclusive) are vulnerable
  • OpenSSL 1.0.1g is NOT vulnerable
  • OpenSSL 1.0.0 branch is NOT vulnerable
  • OpenSSL 0.9.8 branch is NOT vulnerable
    
risposta data 08.04.2014 - 15:02
fonte

Leggi altre domande sui tag