Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Razlike

Slijede razlike između dviju inačica stranice.

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
racfor_wiki:mrezna_forenzika:analiza_kaminsky_dns_napada [2022/01/06 21:36]
inavratil [Primjer DNS upita]
racfor_wiki:mrezna_forenzika:analiza_kaminsky_dns_napada [2023/06/19 18:17] (trenutno)
Redak 10: Redak 10:
  
 Ključne riječi: Kaminsky, DNS, DNS napad, DNS ranjivost Ključne riječi: Kaminsky, DNS, DNS napad, DNS ranjivost
-===== Osnove DNS-a ===== 
- 
- 
-Ništa ne sprječava bilo koji poslužitelj imena da poslužuje bilo koju zonu, uključujući i onu koju ne bi trebao posluživati. Napadač može postaviti poslužitelj imena i konfigurirati ga da određenu autoritativnu zonu, ali to neće imati bilo kakvog utjecaja budući da niti jedan poslužitelj imena na višoj razini mu neće delegirati zahtjev. 
- 
- 
- 
- 
  
 ==== Primjer DNS upita ==== ==== Primjer DNS upita ====
Redak 37: Redak 29:
   - Poslužitelj imena pružatelja internetskih usluga opet odabire jedan od autoritativnih poslužitelja te mu šalje zahtjev za A zapisom stranice www.unixwiz.net.   - Poslužitelj imena pružatelja internetskih usluga opet odabire jedan od autoritativnih poslužitelja te mu šalje zahtjev za A zapisom stranice www.unixwiz.net.
   - Za razliku od prethodnih slučajeva, ovaj poslužitelj imena ima A zapis stranice www.unixwiz.net. Uz zapis, autoritativni poslužitelj u odgovoru postavlja zastavicu AA koja označava da je to autoritativni odgovor.   - Za razliku od prethodnih slučajeva, ovaj poslužitelj imena ima A zapis stranice www.unixwiz.net. Uz zapis, autoritativni poslužitelj u odgovoru postavlja zastavicu AA koja označava da je to autoritativni odgovor.
-  - Poslužitelj imena pružatelja internetskih usluga je dobio IP adresu te ju prosljeđuje klijentu. Poslužitelj imena pružatelja internetskih usluga sprema dobivenu informaciju u svoju priručnu memoriju. Ukoliko neki klijent bude tražio IP adresu stranice www.unixwiz.net poslužitelj imena pružatelja internetskih usluga će ju imati u priručnoj memoriji, ali odgovor neće označiti sa zastavicom AA budući da iako je tu informaciju dobio od autoritativnog poslužitelja on sam nije autoritativni poslužitelj.+  - Poslužitelj imena pružatelja internetskih usluga je dobio IP adresu te ju prosljeđuje klijentu. Poslužitelj imena pružatelja internetskih usluga sprema dobivenu informaciju u svoju priručnu memoriju. Ako neki klijent bude tražio IP adresu stranice www.unixwiz.net poslužitelj imena pružatelja internetskih usluga će ju imati u priručnoj memoriji, ali odgovor neće označiti sa zastavicom AA budući da iako je tu informaciju dobio od autoritativnog poslužitelja on sam nije autoritativni poslužitelj.
  
  
Redak 66: Redak 58:
  
  
-Ništa ne sprječava bilokoji poslužitelj imena da poslužuje bilokoju zonu, uključujući i onu koju ne bi trebao posluživati. Napadač može postaviti poslužitelj imena i konfigurirati ga da određenu autoritativnu zonu, ali to neće imati bilokakvog utjecaja budući da niti jedan poslužitelj imena na višoj razini mu neće delegirati zahtjev.+Ništa ne sprječava bilo koji poslužitelj imena da poslužuje bilo koju zonu, uključujući i onu koju ne bi trebao posluživati. Napadač može postaviti poslužitelj imena i konfigurirati ga da određenu autoritativnu zonu, ali to neće imati bilo kakvog utjecaja budući da niti jedan poslužitelj imena na višoj razini mu neće delegirati zahtjev.
  
  
Redak 98: Redak 90:
 U prethodnim primjerima, poslužitelj imena pružatelja internetskih usluga je morao proslijediti dobiveni upit te se nije mogao osloniti na prethodno znanje, osim informacija o korijenskim poslužiteljima. U praksi, često prosljeđivanje upita nije potrebno budući da kada poslužitelj imena dobije autoritativni odgovor za određenu web stranicu on ju pohranjuje u svoju priručnu memoriju kako idući put kada dobije isti zahtjev može odmah odgovoriti na njega. U prethodnim primjerima, poslužitelj imena pružatelja internetskih usluga je morao proslijediti dobiveni upit te se nije mogao osloniti na prethodno znanje, osim informacija o korijenskim poslužiteljima. U praksi, često prosljeđivanje upita nije potrebno budući da kada poslužitelj imena dobije autoritativni odgovor za određenu web stranicu on ju pohranjuje u svoju priručnu memoriju kako idući put kada dobije isti zahtjev može odmah odgovoriti na njega.
  
-Kada se DNS odgovor pohranjuje, on se ne može spremiti zauvijek jer bi to dovelo do netočnog usmjeravanja budući da se IP adrese web stranica mjenjaju. Administrator zone određuje koliko dugo se u priručnu memoriju pohranjuje svaki zapis. To vrijeme se zove Time To Live (TTL) te je izraženo u sekundama. TTL može biti od nekoliko sekundi do nekoliko tjedana - sve ovisi o administratoru te zone. +Kada se DNS odgovor pohranjuje, on se ne može spremiti zauvijek jer bi to dovelo do netočnog usmjeravanja budući da se IP adrese web stranica mijenjaju. Administrator zone određuje koliko dugo se u priručnu memoriju pohranjuje svaki zapis. To vrijeme se zove Time To Live (TTL) te je izraženo u sekundama. TTL može biti od nekoliko sekundi do nekoliko tjedana - sve ovisi o administratoru te zone. 
  
-U priručnu memoriju se ne pohranjuju samo zapisi tipa A već i zapisi tipa NS koji imaju svoj vlastiti TTL. Zapisi tipa A označavaju IP adresu za danu domenu dok zapisi tipa NS označavaju koji DNS poslužitelj je autoritativan za tu domenu. TLL zapisi u NS zapisima služe tome da ako je istekao TLL zapisu tipa A, ali nije istekao TTL zapisu tipa NS koji sadrži informacije o autoritativnom serveru za neku stranicu moguće je odmah poslati zahtjev nekom od autoritativnih servera, a nije potrebno raditi cijeli postupak koji započinje slanjem upita korijenskom poslužitelju.+U priručnu memoriju se ne pohranjuju samo zapisi tipa A već i zapisi tipa NS koji imaju svoj vlastiti TTL. Zapisi tipa A označavaju IP adresu za danu domenu dok zapisi tipa NS označavaju koji DNS poslužitelj je autoritativan za tu domenu. TTL zapisi u NS zapisima služe tome da ako je istekao TTL zapisu tipa A, ali nije istekao TTL zapisu tipa NS koji sadrži informacije o autoritativnom poslužitelju za neku stranicu moguće je odmah poslati zahtjev nekom od autoritativnih poslužitelja, a nije potrebno raditi cijeli postupak koji započinje slanjem upita korijenskom poslužitelju.
  
  
Redak 126: Redak 118:
   - Napadač šalje zahtjev poslužitelju imena za stranicu čijim poslužiteljem imena on upravlja (npr. test.badguy.com)   - Napadač šalje zahtjev poslužitelju imena za stranicu čijim poslužiteljem imena on upravlja (npr. test.badguy.com)
   - Žrtvin poslužitelj imena prima zahtjev i izvršava standardni postupak razrješavanja imena.   - Žrtvin poslužitelj imena prima zahtjev i izvršava standardni postupak razrješavanja imena.
-  - Žrtvin poslužitelj imena će biti usmjeren na napadačev poslužitelj imena budući da je on autoritativan za domenu koju je nadač poslao u zahtjevu+  - Žrtvin poslužitelj imena će biti usmjeren na napadačev poslužitelj imena budući da je on autoritativan za domenu koju je napadač poslao u zahtjevu
   - Napadač iz odgovora žrtvinog poslužitelja imena može pročitati Query ID   - Napadač iz odgovora žrtvinog poslužitelja imena može pročitati Query ID
  
Redak 142: Redak 134:
 Prije napada, napadač mora konfigurirati poslužitelj imena koji je autoritativan za zonu čiju domenu želi oteti (npr. zonu bankofsteve.com). Općenito, moguće je postaviti poslužitelj imena koji je autoritativan za neku domenu, ali ako nijedan korijenski poslužitelj ne pokazuje na njega on neće dobiti niti jedan upit tj. on ima (potencijalno lažne) odgovore, ali nitko ne postavlja pitanje.  Prije napada, napadač mora konfigurirati poslužitelj imena koji je autoritativan za zonu čiju domenu želi oteti (npr. zonu bankofsteve.com). Općenito, moguće je postaviti poslužitelj imena koji je autoritativan za neku domenu, ali ako nijedan korijenski poslužitelj ne pokazuje na njega on neće dobiti niti jedan upit tj. on ima (potencijalno lažne) odgovore, ali nitko ne postavlja pitanje. 
  
-Cilj idućeg postupka je zamijeniti legitimnu IP adresu stranice www.bankofsteve.com sa drugom IP adresom. Napadač je kao pripremu napada poslužitelj imena ns1.bankofsteve.com za domenu bankofsteve.com.+Cilj idućeg postupka je zamijeniti legitimnu IP adresu stranice www.bankofsteve.com drugom IP adresom. Napadač je kao pripremu napada poslužitelj imena ns1.bankofsteve.com za domenu bankofsteve.com.
  
 Postupak: Postupak:
  
-1. Napadač odabire nasumično ime unutar ciljanje domene (npr. www12345678.bankofsteve.com). Cilj je odabrati ime koje se neće nalazi u priručnoj memoriji.+1. Napadač odabire nasumično ime unutar ciljane domene (npr. www12345678.bankofsteve.com). Cilj je odabrati ime koje se neće nalazi u priručnoj memoriji.
  
  
-2a. Napadač zna da će žrtva tražiti ns1.bankofsteve.com za IP adresu stranice budući da će joj taj poslužitelj imena vratiti korijenski poslužitelj. Tada napadač šalje veliki broj paketa prema žrtvite delegira odgovor na drugi poslužitelj imena putem polja "Authority records". Podatci pod tim poljem mogu sadržavati stvarne poslužitelje imena za stranicu bankofsteve.com, ali u dodatnoj sekciji su navedene IP adrese napadača. Tu se događa trovanje priručne memorije jer ako Query ID odgovara onda će žrtva vjerovati da je napadačev poslužitelj imena autoritativan za stranicu bankofsteve.com. Ako napad uspije, napadač je vlasnik cijele zone.+2a. Napadač zna da će žrtva tražiti ns1.bankofsteve.com za IP adresu stranice budući da će joj taj poslužitelj imena vratiti korijenski poslužitelj. Tada napadač šalje veliki broj paketa prema žrtvi te delegira odgovor na drugi poslužitelj imena putem polja "Authority records". Podatci pod tim poljem mogu sadržavati stvarne poslužitelje imena za stranicu bankofsteve.com, ali u dodatnoj sekciji su navedene IP adrese napadača. Tu se događa trovanje priručne memorije jer ako Query ID odgovara onda će žrtva vjerovati da je napadačev poslužitelj imena autoritativan za stranicu bankofsteve.com. Ako napad uspije, napadač je vlasnik cijele zone.
  
 2b. & 3. Žrtvin zahtjev za IP adresu i odgovor korijenskog/GTLD poslužitelja. 2b. & 3. Žrtvin zahtjev za IP adresu i odgovor korijenskog/GTLD poslužitelja.
Redak 155: Redak 147:
 4. Žrtva šalje upit poslužitelju imena ns1.bankofsteve.com za IP adresu ww.bankofsteve.com te koristi Query ID = 1001. 4. Žrtva šalje upit poslužitelju imena ns1.bankofsteve.com za IP adresu ww.bankofsteve.com te koristi Query ID = 1001.
  
-5. Poslužitelj imena odgovara na zahtjev sa vrijednošću polja Query ID = 1001 i "ispravnim" odgovoro, ali ako je napadač pogodio Query ID u koraku 2a poruka se odbacuje.+5. Poslužitelj imena odgovara na zahtjev vrijednošću polja Query ID = 1001 i "ispravnim" odgovorom, ali ako je napadač pogodio Query ID u koraku 2a poruka se odbacuje.
  
-6. U priručnoj memoriji poslužitelja imena se sada nalazi promjenjena IP adresa (npr. od poslužitelja imena napadača)+6. U priručnoj memoriji poslužitelja imena se sada nalazi promijenjena IP adresa (npr. od poslužitelja imena napadača)
  
 7. Svi daljnji upiti za kompromitirani poslužitelj imena dobiti će IP adresu poslužitelja imena napadača. 7. Svi daljnji upiti za kompromitirani poslužitelj imena dobiti će IP adresu poslužitelja imena napadača.
Redak 189: Redak 181:
 Napadač će tipično postaviti vrlo veliku TTL vrijednost u trovajućem odgovoru tako da žrtva ima netočne podatke što duže u svojoj priručnoj memoriji. Napadač će tipično postaviti vrlo veliku TTL vrijednost u trovajućem odgovoru tako da žrtva ima netočne podatke što duže u svojoj priručnoj memoriji.
  
-Nužni uvjet uspjeha ovog napada je da napadačev odgovor mora doći do DNS poslužitelja prije nego stvarni odgovor, ukoliko se to ne dogodi napadačev odgovor će biti odbačen.+Nužni uvjet uspjeha ovog napada je da napadačev odgovor mora doći do DNS poslužitelja prije nego stvarni odgovor, ako se to ne dogodi napadačev odgovor će biti odbačen.
  
  
Redak 197: Redak 189:
 U primjeru je prikazano otimanje za jedan upit, ali nije vjerojatno da će ono biti uspješno. Zbog nasumičnog odabira Query ID vrijednosti polja, nije vjerojatno da će napadač uspjeti pogoditi vrijednost. U primjeru je prikazano otimanje za jedan upit, ali nije vjerojatno da će ono biti uspješno. Zbog nasumičnog odabira Query ID vrijednosti polja, nije vjerojatno da će napadač uspjeti pogoditi vrijednost.
  
-Napadač tada ponavlja upite, ali svaki put sa drukčijim imenom poddomene kako ne bi dobio odgovor iz priručne memorije. Svaki put napadač šalje određeni broj odgovor u nadi da će pogoditi Query ID.+Napadač tada ponavlja upite, ali svaki put drukčijim imenom poddomene kako ne bi dobio odgovor iz priručne memorije. Svaki put napadač šalje određeni broj odgovor u nadi da će pogoditi Query ID.
  
  
  
  
-==== Posljedice Kaminsky DNS napada ====+===== Posljedice Kaminsky DNS napada =====
  
 Posljedice ovakvog napada su katastrofalne. Budući da napadač postaje vlasnik cijele domene, on kontrolira sve što se tiče poslužitelja imena. On može preusmjeravati posjetitelje na njegove poslužitelje te može preusmjeravati emailove na svoje poslužitelje Posljedice ovakvog napada su katastrofalne. Budući da napadač postaje vlasnik cijele domene, on kontrolira sve što se tiče poslužitelja imena. On može preusmjeravati posjetitelje na njegove poslužitelje te može preusmjeravati emailove na svoje poslužitelje
Redak 209: Redak 201:
 ===== Rješenje Kaminsky DNS problema ===== ===== Rješenje Kaminsky DNS problema =====
  
-Akcije koje su poduzete nakon otkrivanja Kaminsky DNS problema nisu u potpunosti rješile problem već su značajno otežali napadaču da njegov odgovor bude prihvaćen. Ovaj napad je bio moguć zbog relativno malog broja vrijednosti polja Query ID. +Akcije koje su poduzete nakon otkrivanja Kaminsky DNS problema nisu u potpunosti riješile problem već su značajno otežali napadaču da njegov odgovor bude prihvaćen. Ovaj napad je bio moguć zbog relativno malog broja vrijednosti polja Query ID. 
  
 Potrebno je dodati dodatan izvor nasumičnosti što se ostvarilo odabirom nasumičnog izvornog porta prilikom slanja poruke. Umjesto jednog porta, korišten je puno veći raspon portova alociran od strane poslužitelja imena. Potrebno je dodati dodatan izvor nasumičnosti što se ostvarilo odabirom nasumičnog izvornog porta prilikom slanja poruke. Umjesto jednog porta, korišten je puno veći raspon portova alociran od strane poslužitelja imena.
  
-Mircosoftovi DNS poslužitelji su alocirali 2500 UDP portova za izvršavanje upita što je značilo da napadač mora pogoditi jednu od 163840000 kombinacija u odnosu na jednu od 64000 kombinacija koliko je trebao pogoditi prije uvođenja ove promjene.+Microsoftovi DNS poslužitelji su alocirali 2500 UDP portova za izvršavanje upita što je značilo da napadač mora pogoditi jednu od 163840000 kombinacija u odnosu na jednu od 64000 kombinacija koliko je trebao pogoditi prije uvođenja ove promjene.
  
  
racfor_wiki/mrezna_forenzika/analiza_kaminsky_dns_napada.1641501419.txt.gz · Zadnja izmjena: 2023/06/19 18:15 (vanjsko uređivanje)
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0