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.