Il bug di Kaminsky è ancora un problema per i siti senza DNSSEC?

7

Ho letto il bug di Kaminsky , ma non capisco appieno quanto sia facile per utilizzare questa vulnerabilità per un utente malintenzionato.

Il software DNS è stato aggiornato ora, quindi non è così facile usare questa vulnerabilità per un utente malintenzionato? o un sito sicuro deve usare DNSSEC per essere sicuro?

es. pensa a una banca Internet. Ha bisogno di usare DNSSEC in combinazione con SSL / TLS per essere sicuro? o ci sono altri modi per essere sicuro per il bug kaminsky?

Nell'agosto 2010, SecurityWeek ha elencato il bug di Kaminsky come il peggiore incidente di sicurezza DNS in I primi cinque Incidenti di sicurezza DNS peggiori

1. “The Kaminsky Bug” puts the whole Internet at risk

Often regarded as possibly the greatest security threat the Internet has ever faced, the so-called “Kaminsky Bug” emerged in July 2008, creating great unease and even greater hype. Researcher Dan Kaminsky discovered that it was easy to exploit a weakness in the DNS and built the software to do it. This weakness would enable malicious hackers to transparently imitate any Web page or e-mail account by poisoning the DNS information cached by Internet service providers.

...

Today, DNSSEC, the new standard security extensions for the DNS protocol, offers the best way of preventing the kind of cache poisoning attack that Kaminsky's findings would have enabled.

    
posta Jonas 21.11.2011 - 16:23
fonte

3 risposte

3

Kaminsky non è la prima persona a trovare una vulnerabilità di cache cache poising. Infatti molte di queste vulnerabilità sono state trovate ed è per questo che DNSSEC è importante. DNSSEC è una strategia di difesa approfondita contro questo modello di attacco. Tuttavia, i fornitori di software responsabili hanno le vulnerabilità delle patch e quando trovi un attacco di avvelenamento della cache DNS in BIND, verrà risolto immediatamente .

    
risposta data 21.11.2011 - 16:37
fonte
1

Does it need to use DNSSEC in combination with SSL/TLS to be secure?

In teoria, no. Il punto intero di SSL / TLS (e la crittografia in generale) è quello di garantire che tu parli con il ragazzo giusto (non importa cosa, anche se il DNS è danneggiato).

Inoltre, SSL / TLS è utile soprattutto quando la tua connessione può essere facilmente intercettata; in questo caso, qualcuno non ha bisogno di pasticciare con DNS. (Messing with DNS è utile solo se non hai la risposta DNS corretta nella cache, il pasticcio con la connessione TCP funziona a prescindere da cosa.)

È ancora possibile arrivare (per escogitare) con un caso teorico come DNSSEC sarebbe necessario proteggere:

  1. un avversario non ha la capacità di controllare completamente la connessione Internet e può solo iniettare pacchetti falsi (pacchetti IP con un indirizzo IP di origine che non appartiene all'avversario);
  2. ma conosce una debolezza del tuo risolutore DNS e può convincerti di una dichiarazione DNS errata (che bank.com risolve in cattiva.indirizzo IP);
  3. bad.I.P.address appartiene a lui e gestisce un server Web sopra SSL / TLS (noto come server HTTPS);
  4. o: a) conosce una debolezza del tuo client SSL / TLS in modo tale da convincere il tuo browser che il server SSL / TLS su bad.I.P.address è davvero "bank.com", o b) ha ottenuto un certificato SSL / TLS per "bank.com" da un'autorità di certificazione riconosciuta , con l'inganno (si è presentato alla sua scrivania affermando di rappresentare "bank.com", hackerando ( conosce un punto debole nel processo di controllo dei certificati), coercizione (inclusa la correzione legale) o altri mezzi a cui puoi pensare.

In questo caso, DNSSEC ti proteggerà comunque; senza DNSSEC, ti connetteresti al ragazzo sbagliato senza avvertimenti.

È estremamente improbabile che qualcuno possa fare questi sforzi solo per ottenere i dettagli della propria banca, quando può facilmente ottenere così tanti numeri di conto con mezzi tecnicamente zoppi (a quanto pare la frode di pesca più blanda funziona ancora - o smetterebbe di farlo) - a meno che il tuo codice segreto bancario sia molto più prezioso del codice segreto bancario medio (forse hai un sacco di soldi, e la possibilità di trasferire qualsiasi importo a chiunque, con solo la normale password del tuo conto bancario, e non un ulteriore passaggio - una pessima idea in ogni caso).

Sembra anche meno probabile che qualcuno si preoccupi dell'intercettazione del numero di carta di credito protetto da qualche crittografia (qualsiasi crittografia) quando riescono a ottenere in una volta hackerando il sistema che li memorizza (e l'ultima volta che ho sentito, possono ancora ottenere un sacco di numeri ad un prezzo ragionevole).

Ma SSL / TLS viene utilizzato per proteggere qualcosa di molto più critico dei dati di pagamento: download di software . Molti software scaricati, in particolare gli aggiornamenti automatici, sono solo attendibili in quanto vengono scaricati tramite un collegamento "sicuro" (il pacchetto software non è firmato o la firma non viene controllata automaticamente o dall'utente, che non sa che può controllare la firma crittografica del pacchetto, o anche che ci dovrebbe essere una firma).

A meno che non corri in un ambiente strettamente segregato, il software scaricato ha la capacità di leggere non solo i tuoi dati bancari, ma tutti i tuoi file personali e tutti i dati che invii tramite collegamenti SSL / TLS "sicuri".

    
risposta data 22.11.2011 - 05:24
fonte
1

Difese efficaci contro l'attacco Kaminsky. A rischio di semplificazione eccessiva, l'attacco Kaminsky può essere usato per attaccare i client DNS che non usano la randomizzazione della porta sorgente. La difesa immediata contro l'attacco di Kaminsky è di attivare la randomizzazione della porta sorgente. Al giorno d'oggi, la maggior parte dei moderni software DNS esegue la randomizzazione della porta sorgente.

(Se non lo fai da un po 'di tempo, ti consiglio vivamente di aggiornare il tuo software DNS, sia su client che su server, per ottenere i benefici di questa difesa.)

Lo stato attuale. Fortunatamente, la maggior parte di Internet ha già aggiornato il suo software DNS a versioni più recenti che incorporano le difese contro l'attacco Kaminsky. Queste difese rendono piuttosto difficile l'attacco di Kaminsky. (Non sono impossibili al 100%, ma richiederebbero molte risorse: miliardi di pacchetti.) Pertanto, la maggior parte dei siti oggi è probabile che sia ragionevolmente ben protetta dall'attacco di Kaminsky. Ad esempio, le probabilità sono molto buone che il tuo ISP e la tua banca siano protetti.

Se ci sono dei ritardatari là fuori che non hanno aggiornato il loro software DNS a una versione recente che incorpora le difese contro l'attacco di Kaminsky (ad es., randomizzazione della porta sorgente), allora è probabile che siano molto vulnerabili. L'attacco Kaminsky è abbastanza facile da montare e molto efficace, se il server non incorpora difese contro di esso.

E DNSSEC? DNSSEC è un accordo separato. È progettato per fornire sicurezza, anche in situazioni in cui i server DNS sono compromessi o in cui un man-in-the-middle sta attaccando il traffico di rete. Pertanto, in teoria, DNSSEC fornirebbe una difesa alternativa accettabile contro l'attacco di Kaminsky.

Tuttavia, in pratica, affidarsi a DNSSEC per proteggersi dall'attacco di Kaminsky sarebbe una pessima idea. Ci sono due problemi:

  • Innanzitutto, DNSSEC non è ampiamente utilizzato oggi. Oggi sono stati firmati pochissimi domini con DNSSEC. Ciò rende impossibile implementare DNSSEC con una convalida rigorosa. Invece, nelle attuali implementazioni DNSSEC, se viene ricevuta una risposta per un dominio non firmato, la risposta viene accettata senza eseguire alcun controllo crittografico. Ciò significa che un client vulnerabile all'attacco di Kaminsky può ancora essere attaccato, anche se usa DNSSEC.

  • In secondo luogo, la randomizzazione delle porte di origine è così facile da implementare, mentre il DNSSEC è più impegnativo (dal punto di vista operativo e logistico) da implementare. Dovresti essere pazzo per continuare a usare vecchie versioni vulnerabili del software DNS. La distribuzione della randomizzazione della porta di origine è abbastanza semplice (basta eseguire l'aggiornamento alla versione più recente del software DNS, nella maggior parte dei casi) che sarebbe impazzito non sfruttare la difesa della casualità della porta di origine.

DNSSEC è ancora un'ottima idea e l'attacco di Kaminsky sottolinea l'importanza di distribuire ampiamente DNSSEC. Quindi, non fraintendermi. Vi incoraggio ad abilitare DNSSEC sulle vostre macchine. Basta non vederlo come sostituto per la randomizzazione della porta sorgente.

In conclusione. Tutti dovrebbero usare la randomizzazione della porta sorgente. È un gioco da ragazzi, ed è attualmente la difesa più efficace contro l'attacco di Kaminsky. Fortunatamente, la mia impressione è che la randomizzazione della porta sorgente sia già ampiamente utilizzata, quindi la maggior parte di Internet dovrebbe essere ragionevolmente ben difesa contro l'attacco Kaminsky.

Considerando una visione più lunga, DNSSEC è importante perché fornisce protezioni robuste contro una vasta classe di possibili attacchi contro DNS - anche quelli a cui non abbiamo pensato o non siamo a conoscenza, ma che potrebbero essere scoperti in futuro . È il miglior profilattico che abbiamo, per prevenire proattivamente incidenti futuri come l'attacco di Kaminsky. Pertanto, sarebbe meglio che gli operatori di rete e gli altri facciano il possibile per implementare DNSSEC con tutta la velocità voluta.

    
risposta data 23.11.2011 - 04:42
fonte

Leggi altre domande sui tag