Egy hónapja ismert a Kaminsky-DNS probléma - hol tart a hazai védekezés?

A BME Híradástechnikai Tanszék CrySyS Laboratóriuma a Kaminsky-féle DNS cache poisoning sebezhetőség apropójából megvizsgálta, hogy mennyire maradtak sérülékenyek a hazai DNS szerverek.

Sokakat érint és sokakat érdekel, hogyan halad a Kaminsky-féle DNS támadás
elleni védekezés implementálása hazánkban. A hiba létezése 2008. július 8. óta ismert, és azóta elérhetőek azok a friss szoftververziók is, amelyek védelmet nyújtanak a hiba ellen.
Vizsgálatunk során leellenőriztük, hogy a hazai DNS szerverek gazdái telepítették-e a
védekezéshez ma elengedhetetlen szoftvereket. Az eredmények azt mutatják, hogy a szerverek mintegy kétharmada jelenleg nem védett a támadás ellen. A nagy szolgáltatók többsége már implementálta a javasolt védelmet, de ez még nem elég az ügyfelek védelmére.

A Dan Kaminsky nevével jegyzett internetes DNS támadás lehetőségéről a nagyközönség 2008. július 8-án szerzett tudomást, amikor számos gyártó, fejlesztő előre egyeztetett módon egyszerre jelentett be egy korábban ismeretlen hiba ellen védekezést nyújtó javítócsomagot.
A hiba súlyossága miatt egyedülálló összefogás született, és ennek eredménye volt az, hogy a hiba kijavítása napvilágra került, de a hiba nem. Az eredeti tervek szerint Dan Kaminsky 2008. augusztus 7-én ismerteti a hiba és a támadás pontos módszerét a Black Hat 2008 konferencia keretében. Így 30 napja volt a rendszergazdáknak és üzemeltetőknek, hogy a rendelkezésre álló javításokat teszteljék és telepítsék.
Fontos megjegyezni ezen a ponton, hogy ipari környezetben egy szoftver frissítése, még ilyen súlyos esetben sem egy egyszerő feladat. A magas rendelkezésre állás garantálása érdekében a szoftvereket tesztelni kell, a cég-specifikus szoftvermódosításokat pedig átdolgozni az újabb, javított változatba. Az otthoni felhasználóknak és kis cégeknek pár nap is elég lehetne a szoftverek frissítésére, de a teljes Internet frissítése időigényes feladat.
Az eredeti terveket, a 30 napos „haladékot” módosította az, hogy az idők során kb. 2 héttel a javítások bejelentése után az Interneten körvonalazódott a biztonsági probléma mibenléte, és most, a hiba publikálásának időpontjában, kis részletek kivételével már mindenki tudja, mi is a hiba és rendelkezésre állnak a támadásokra készített programok is.
Letelt tehát a 30 nap, ami alatt mindenki frissíthette szoftvereit, hogy azok védettek legyenek. Sokakban felmerül a kérdés, hogy Magyarországon mennyire készültünk fel ezalatt a súlyos probléma kezelésére és nyugodtan tölthetjük-e be kedvenc bankunk elektronikus banki felületét az Interneten keresztül. Ezt vizsgáltuk meg Műegyetem Híradástechnikai Tanszékének CrySyS Laboratóriumában (www.crysys.hu) 2008. augusztus 6-án.

Vizsgálatunk tárgyai a hazai DNS kiszolgálók voltak. Azt kívántuk felderíteni, hogy a
Magyarországon üzemelő DNS kiszolgálók milyen arányban sebezhetıek a támadás szempontjából, és mennyi a biztonságos szerver. Fontos azonban tudni, hogy egy ilyen
vizsgálat komplikált és nem mindig nyújt egyértelmő eredményt, mert nincsen olyan adatbázis, ahonnan kiolvasható lenne az összes szerver címe, vagy ismerhető lenne az összes hálózat egyedi beállítása. Vizsgálatunk tehát nem feltétlenül reprezentatív, de a hozzáértőknek fontos információkkal szolgál a hazai biztonsági kultúra helyzetéről.

A felmérés teljes eredménye megtalálható ebben a tanulmányban.

Hozzászólások

Elég sok védelmi lehetőség van:
- random query ID-k
- random forrás portok
- random forrás IP-k
- nagy cache-ek (vagy épp ellenkezőleg: a cache kikapcsolása :)
- a válaszok körültekintő értelmezése ("trójai" rekordok, kis-nagybetű váltás, ellenőrzés, stb)
- a nem érvényes válaszokat küldő források rate limitálása, egyre hosszabb tiltása (fail close, DoS :)
- az autoritatív szerverek "megválogatása" (random, leggyorsabb)
- spoofing tiltása az access hálózatodban, a bejövő vonalakon forrásellenőrzés (sokszor nehéz a routing policyk és egyéb tényezők miatt)
- rekurzió korlátozása csak a saját klienseidre (akiknek a címeit kívülről nem fogadod el, lásd előző)
- TCP, DNSSEC :)

Meg még biztos jópár dolog, amihez gondolkozni is kellene (de éjszakázás után az most nem megy). :)

Persze nem mindenkinek van lehetősége ezt mind (és a többit) meglépni...

Úgy tűnik az oktatás színvonalának újbóli emelkedésére is. :(

Aki kicsit is érti a dolgot, tisztában van vele, hogy a DNS jelen formájában nem kijátszhatatlan. De vannak lépések, amelyekkel megnehezíthető a folyamat, ezekről írtam (ami nekem éppen eszembe jutott).
A DNSSEC (és a TCP, ha már itt tartunk) olyan dolgok, amelyek alapvetően nem a kérdezőn múlnak.

Azon sem csodálkoznék, ha nagy hirtelen mindenki elkezdené használni a DNSSEC-et, és a következő hasonló konferencián annak (általános, vagy egy nagyobb telepítéssel rendelkező konkrét implementációjának) hibájáról hallhatnánk...

A címhamisítás pedig olyan dolog, hogy ha minden ISP rendesen védekezne, sokkal, de sokkal nehezebb lenne ilyen támadásokat kivitelezni.

nemigazán értem eztafajta reagálást, az oktatás egyáltalán hogy jön képbe ?

a "minden ISP rendesen védekezne", egyetértünk ebben hogy ez utópia, pont ebből kifolyolag arról probáltam lerántania leplet, hogy hiába vonogatnak egyesek vállat hogy nemérdekes eza sebezhetőség, igenis érdekes, ésamellett hogy a lehető legszorosabban kéne vedekezni ellene, lassan az utódot is elkéne kezdeni felnevelgetni.

Volt valahol egy URL, amivel lehetett csekkolni a DNS-eket. Megvan vkinek?

Van valakinek valami jo anyaga arrol, hogy hogyan is mukodik reszletesen ez a tamadas?
A legjobb lenne magyarul, esetleg egy konnyebben ertheto angol.

Megkered a kiszemelt DNS-t, hogy oldjon fel neked egy nevet. Majd azonnal kuldod is ra azt a valaszt amit te szeretnel kapni (a trukk az, hogy nem muszaj hostnevet valaszolnod, mehet kamu redirect is). Ez jo esellyel elobb fog hozza megerkezni mint a valodi valasz a valodi DNS-tol, es neked hiszi majd el -> azt irsz bele amit akarsz.

Ezt neheziti a TXID, viszont az csak 16 bites. Ezt neheziti a random port, viszont vannak mar gigabites kartyak. Ezt neheziti ha nem all veled szoba a DNS, viszont altalaban van mogotte mailszerver/IDS, aki igen. Ezt neheziti a TTL, de... ez mind le van irva Kaminsky prezentaciojaban. :)

Amit Husky ír az kb. a korábbi tudás. Csak akkor volt esélyed, ha eltaláltad a 16 bites TXID-t. Ha nem találtad el, ki kellett várni a TTL-t (ez egy előbbi kommenthez is fontos adalék) és akkor tudtad újra támadni a célpontot. Mondjuk két nap múlva. És persze egyszerre elküldhetsz jó sok TTL-t, van esélyed,hogy a másik szerver előtt többszáz a tiedből fut be. De nem 64k.
A csavar az, hogy a szervertől lekérdezed az
1.dc.hu
2.dc.hu
3.dc.hu
..
sok.dc.hu címeket. Mindig elküldesz egy sereg különböző TXID-vel válaszokat, mondjuk 200-at. Egyszer, valamikor te fogsz győzni, és a te válaszod lesz a friss az adott
33643.dc.hu kérésre.
Nos, ekkor jön a csel. Oké, hogy sikerült átírnod a célgépen a 33643-at, de az nem volt célod, ki a francnak okoz örömet. Viszont küldhetsz egy olyan választ is, hogy ( 33643.dc.hu -> nem én vagyok a felelős, keresd fel ezért a www.dc.hu -t, ja és megsúgom, a www.dc.hu IP címe 6.6.6.6. ) Ez a zárójeles rész maga a teljes válasz, mindenestül.

Nos, ekkor a célzott szerver nemcsak a 33643-at, hanem a www.dc.hu -t is megtanulja rosszul, ha még nem ismerte addig. És így sokkal hatékonyabb támadás született, mint akkor, amikor Husky módszerével csak "egyetlen címet" támadtak. (mert most sokon keresztül támadható az egy)

Mint eredeti hozzaszolasomban emlitettem, a "vedettseg" (ami a legtobb embernek, aki nem olvas utana, kb a port randomizaciot jelenti) nem er sokat onmagaban. Ez az utolso szo a kulcs. ;)

Egyeb finomsagokkal kiegeszitve mar el lehet venni elobb-utobb a kedves probalkozok kedvet, es elhetunk tovabb boldogan. De ha csak annyit teszunk, hogy felrakjuk a legujabb bindet es remenykedunk, annyi erovel akar tojhatnank is az egesz temara.

Talalkoztam jonehany olyan emberrel, aki igy tett, felrakta, megnezte jajjdejo, random portok, es utana az ugy le van zarva.

Edit: bra postjara akart menni, csak nem tudok kattintani igy hajnali fel haromkor.

Asszem szorakozik velem valaki... Illetve az intranetes Active Directory nevszervereivel.
Milyen lehetosegem lehet megfogni az illetot?