Kontakty

Čo je to dns spoofing. Píšeme doplnok pre server Microsoft DNS na ochranu pred spoofingom IDN. IDN Clones - technika založená na vonkajšej podobnosti zobrazenia názvov domén

Originál: Cyber ​​​​Attacks Explained: DNS Invasions
Autor: Prashant Phatak
Dátum zverejnenia: 22.02.2012
Preklad: A. Panin
Dátum prevodu: 8.12.2012

Často vidíme znehodnotené stránky, ktorých hlavné stránky nahradili votrelci. Ako sa útočníkom darí vykonávať takéto útoky a ako pred nimi môžeme chrániť našu sieťovú infraštruktúru? Tento článok popisuje, ako môžu útočníci zasahovať do DNS (Domain Name System). DNS útoky sú technicky zložité a nebezpečné pre sieť a webovú infraštruktúru. Správcovia siete by mali o tomto type útoku vedieť čo najviac a podniknúť všetky možné kroky na zaistenie bezpečnosti infraštruktúry, ktorú obsluhujú.

Ako vieme, dôvodom existencie DNS je skutočnosť, že človek si nepamätá veľa IP adries na prístup na stránky, pričom si ľahko pamätá názvy stránok pozostávajúce z písmen a číslic. Systém DNS bol navrhnutý v čase, keď internet používali priateľsky zmýšľajúci ľudia, čo viedlo k niektorým zvláštnostiam tohto systému v modernej dobe.

Obrázok 1 ilustruje základné princípy služby Network Name Resolution Service. Keď sa aplikácia (napríklad prehliadač) chce pripojiť k vzdialenej službe, požiada server DNS o adresu IP. Táto požiadavka vo forme paketu je odoslaná cez UDP port 53, po ktorom server vráti odpoveď vo forme paketu. (Všimnite si, že kvôli 512-bajtovému datagramu UDP zásobník protokolov automaticky používa TCP na vytváranie požiadaviek a prijímanie odpovedí.) Keď klient dostane odpoveď, pridá údaje do svojej lokálnej vyrovnávacej pamäte, čo môže urýchliť následné volania na rovnakú doménu. Položky lokálnej vyrovnávacej pamäte sa po skončení životnosti automaticky zničia (parameter TTL (Time to Live)).

Obrázok 1: Rozlíšenie názvu domény

Systém DNS používa typy záznamov ako A, CNAME, SOA, MX a iné. Aj keď popis týchto typov záznamov presahuje rámec tohto článku, je dôležité, aby správcovia systému vedeli, kedy a ako by sa mali používať, a pred ich použitím je potrebné vykonať prieskum pre budúce zabezpečenie systému. Predtým, ako sa pozrieme na útoky na systém DNS, musíme sa pozrieť na dva typy dotazov – iteratívne a rekurzívne.

  • Iteratívne DNS dotazy: Kým klient odošle požiadavku na server DNS s cieľom získať informácie o doméne, server DNS môže alebo nemusí mať informácie o tejto doméne. Ak DNS server nemá odpoveď, namiesto dokončenia požiadavky odošle klientovi názov vyššieho DNS servera, ktorý môže mať potrebné informácie. Tento proces sa bežne označuje ako sprostredkovanie DNS. Klient odošle požiadavku na nasledujúci (špecifikovaný) server; ak nemá odpoveď, pošle klientovi hlavný názov servera. Tento proces pokračuje dovtedy, kým klient nedostane IP adresu alebo chybové hlásenie oznamujúce, že požiadavku nebolo možné splniť.
  • DNS rekurzívne dotazy: V tomto prípade proces začína tým, že klient odošle požiadavku na rozlíšenie názvu domény priamo na server DNS. Ak DNS server nemá odpoveď, predpokladá sa, že komunikuje s nadradenými servermi namiesto toho, aby len dodával ich mená klientovi. Opäť, ak vyšší server nemá informácie na odpoveď na požiadavku, prepošle požiadavku vyššiemu serveru. Tento proces pokračuje, kým požiadavka nedosiahne koreňový server DNS, ktorý by mal mať potrebné informácie a klientovi sa vráti odpoveď, a ak požadovaný názov neexistuje, klientovi sa v reťazci serverov vráti chybová správa. Na rozdiel od iteratívnej metódy sa rekurzívny dotaz považuje za agresívnejší pri získavaní výsledku.

Iteratívne dopyty zvyčajne vytvárajú servery DNS, zatiaľ čo rekurzívne dopyty vytvárajú klienti, pretože tento typ dopytu sa vyhýba zložitým mechanizmom na spracovanie presmerovaní DNS. Z hľadiska zabezpečenia systému musia správcovia poznať základy fungovania systémov DNS, pretože organizácia môže prevádzkovať viacero serverov DNS a synchronizovať záznamy zón, aby sa zachovala konzistencia údajov.

Údaje DNS sa pravidelne synchronizujú bez potreby reštartovania systémových služieb a keď sa vykonajú zmeny na koreňovom serveri, automaticky odošle údaje o zmenách na nadväzujúce servery. Čas potrebný na synchronizáciu údajov je nastavený parametrom životnosti každého záznamu. V prípade geograficky rozptýlených serverov DNS môže doba synchronizácie údajov trvať až jeden deň, pretože každý zo serverov v reťazci používa vlastnú vyrovnávaciu pamäť na urýchlenie spracovania požiadaviek.

DNS útoky

Bolo pozorované, že správcov systému trávi veľa času vývojom bezpečnostných systémov pre aplikácie, servery a iné komponenty infraštruktúry, ale bohužiaľ zvyčajne zabúdame na bezpečnostné systémy pre servery DNS. Zvážte obrázok 2, ktorý ukazuje možné slabé stránky serverov DNS, ktoré ich robia zraniteľnými voči útokom. DNS je navrhnutý tak, aby väčšina komunikácie prebiehala cez UDP, chýba mu vstavaná bezpečnosť a vstavaná podpora autentifikácie – to všetko ho robí zraniteľnejším voči útokom ako iné sieťové služby. Poďme sa pozrieť na niekoľko typov najbežnejších DNS útokov.


Obrázok 2: Možné slabé stránky servera DNS

Otrava vyrovnávacej pamäte DNS

Tento útok vám umožňuje zasahovať do procesu rozlišovania mien dvoma spôsobmi. V prvej metóde cracker nainštaluje škodlivý softvér (rootkit alebo vírus), ktorý by mal kontrolovať lokálny DNS cache na stroji klienta. Záznamy v lokálnej vyrovnávacej pamäti DNS sa potom upravia tak, aby ukazovali na rôzne adresy IP.

Ak sa napríklad prehliadač pokúsi o prístup na stránku s adresou http://www.cnn.com/, namiesto IP adresy CNN dostane adresu nastavenú crackerovým softvérom, ktorá zvyčajne vedie na stránku umiestnenú na server, ktorý vlastní cracker a ktorý obsahuje škodlivý softvér alebo správu, ktorá uráža používateľa.

Druhým, nebezpečnejším spôsobom je, že útočník zaútočí na server DNS a upraví jeho lokálnu vyrovnávaciu pamäť, takže všetky servery používajúce tento server na rozlíšenie mien dostanú nesprávne IP adresy, čo nakoniec povedie k ich narušeniu. pri strate alebo krádeži informácií.

Vo veľmi zriedkavých prípadoch môžu útočníci získať prístup ku koreňovému DNS serveru, ktorý uchováva hlavné záznamy koreňových domén ako .com, .net alebo záznamy systému názvov domén jednotlivých krajín. Útočníci môžu upravovať záznamy na tomto serveri, zatiaľ čo ostatné servery dostanú zmenené údaje automaticky, čo môže viesť ku globálnym výpadkom komerčných sieťových služieb a stránok. Aj keď sú takéto situácie veľmi zriedkavé, stávajú sa – nie je to tak dávno, čo podobný útok narušil veľkú sociálnu sieť.

Nahradenie servera DNS (zneužitie DNS)

Tento útok sa tiež často používa na zmenu spôsobu fungovania systémov DNS. V tomto prípade sa nevykonajú žiadne zmeny vo vyrovnávacej pamäti DNS klienta, ale vykonajú sa zmeny v nastaveniach, po ktorých budú všetky požiadavky na rozlíšenie názvov adresované osobnému serveru DNS útočníka. Typicky sa tento útok nezameriava na krádež údajov, ale na zber štatistických informácií z počítača klienta. Všetky požiadavky na rozlíšenie názvov odoslané na server útočníka fungujú správne, ale útočník dostane informácie o stránkach, ktoré klient navštívil.

Tieto informácie možno neskôr použiť na ich zobrazenie klientovi. kontextová reklama... Niektorí útočníci využívajú presmerovanie používateľov na ich stránky resp vyhľadávače získať prostriedky z reklamy alebo jednoducho ukradnúť údaje a použiť techniky sociálneho inžinierstva. V prípadoch, keď túto funkciu Prevádzku DNS nemožno použiť na osobný zisk, využívajú ju mnohé známe stránky a poskytovatelia internetu na zhromažďovanie štatistických údajov o zdrojoch navštívených používateľom.

DNS spoofing

Tento útok je útokom odpočúvania za asistencie človeka, pri ktorom útočník získa kontrolu nad sieťou so serverom DNS a upraví vyrovnávaciu pamäť ARP falšovaním paketov. Keď má sieť kontrolu nad úrovňou MAC adresy, útočník vypočíta IP adresu DNS servera a začne monitorovať a upravovať požiadavky určené pre tento server.

Všetky požiadavky zo siete prechádzajú cez počítač útočníka a dostanú sa na skutočný server DNS. Tento útok môže mať vážne následky, pretože všetky počítače v sieti žiadnym spôsobom nezaznamenajú skutočnosť útoku a budú posielať všetky DNS dotazy na adresu počítača útočníka.

existuje alternatívny spôsob tento útok sa nazýva spoofing DNS ID. Každá požiadavka a odpoveď DNS má jedinečné identifikátory navrhnuté tak, aby oddeľovali požiadavky odoslané na server DNS súčasne. Tieto jedinečné identifikátory sú často tvorené MAC adresou, dátumom a časom, kedy bola požiadavka vykonaná, a sú automaticky generované zásobníkom protokolov.

Útočník používa sniffer na zachytenie jednej alebo viacerých požiadaviek a odpovedí s ich zodpovedajúcimi identifikátormi a potom vygeneruje požiadavku s príslušným identifikátorom a s falošnou IP adresou. V dôsledku týchto akcií sa sfalšovaná IP adresa uloží do lokálnej vyrovnávacej pamäte napadnutého systému. Potom môže byť napadnutý systém poškodený umiestnením na server s adresou škodlivého softvér.

Previazanie DNS

Tento útok sa tiež nazýva "DNS pinnig" a ide o obzvlášť zložitý útok. V tomto procese si útočník najprv zaregistruje svoje vlastné doménové meno, potom nastaví minimálnu hodnotu pre životnosť záznamov, čo zabráni tomu, aby sa informácie o tomto doménovom názve dostali do vyrovnávacej pamäte.

Útoky odmietnutia služby DNS

Ako sme sa dozvedeli v prvom článku série, bombardovanie portu 53 paketmi UDP alebo TCP požiadavkami môže viesť k odmietnutiu služby servera. Ďalším spôsobom vykonania tohto útoku je útok prúdom paketov ping alebo segmentov TCP SYN. Hlavnou myšlienkou týchto akcií je maximalizovať využitie zdrojov servera ( centrálna procesorová jednotka a Náhodný vstup do pamäťe), aby server prestal reagovať. Aj keď sú servery DNS chránené bránami firewall, ak porty DNS UDP nie sú blokované v prístupe z nedôveryhodných sietí, systém rozlišovania názvov domén bude dostupný tohto typuútokov.

Vysoké zaťaženie označuje zaťaženie servera DNS úlohami, ktoré server nedokáže vykonať. Existuje niekoľko spôsobov, ako spustiť server a nakoniec ho urobiť nepoužiteľným. Na implementáciu jednej z metód sa používa škodlivý softvér (trójsky kôň), ktorý upravuje lokálnu vyrovnávaciu pamäť DNS mnohých uzlov. Po týchto krokoch začnú všetky uzly s upravenou vyrovnávacou pamäťou odosielať požiadavky na konkrétny menný server, ktorý vopred vybrali útočníci.

Každý server môže odpovedať iba na obmedzený počet požiadaviek v obmedzenom čase (v závislosti od výkonu a konfigurácie CPU) a nakoniec začne pridávať požiadavky do frontu. Čím viac klientov bude podrobených zmenám v lokálnej vyrovnávacej pamäti DNS, tým viac požiadaviek bude zaradených do frontu a nakoniec bude server paralyzovaný.

Pri inom type tohto útoku cracker upravuje vyrovnávaciu pamäť DNS server; namiesto nahradenia adries IP, ktoré zodpovedajú záznamom A alebo CNAME, sa upravia názvy domén. Aby sme to skomplikovali, dĺžka každého názvu domény môže byť až niekoľko stoviek alebo tisícok znakov. Proces synchronizácie údajov po zmene zahŕňa odoslanie mnohých kilobajtov údajov z hlavného servera názvov na nadväzujúce servery a prípadne klientov.

Po uplynutí životnosti záznamov sa proces synchronizácie údajov spustí znova a môže viesť k zlyhaniu jedného alebo viacerých DNS serverov z reťazca. Tieto efekty vyrovnávacej pamäte simulujú distribuovaný útok odmietnutia služby, ktorý je nebezpečný a ťažko kontrolovateľný.

Ochrana systémov založených na slobodnom softvéri

Vo svete bezplatných systémov existuje implementácia služby rozlišovania doménových mien, ktorá je známa po celom svete vďaka najvyššej rýchlosti práce v porovnaní s analógmi. Týmto najpoužívanejším a najznámejším riešením je služba Bind. Keďže však väčšina útokov na služby DNS využíva chyby protokolu, úloha zabezpečenia bezplatných systémov pomocou služieb prekladania názvov domén sa stáva zložitejšou.

Úplne prvým krokom pri navrhovaní bezpečnostného systému by malo byť zapnuté blokovanie sieťová vrstva... Okrem portov pre údržbu servera by mali zostať otvorené iba porty pre DNS dotazy a všetky ostatné porty by mali byť blokované na firewalle aj priamo na serveri pomocou operačného systému.

Ďalším dôležitým krokom je uistiť sa, že na serveri nie je nainštalovaný žiadny softvér okrem služby prekladu názvu domény. Toto opatrenie by sa malo prijať najmä pri práci s podnikovým koreňovým serverom na rozlíšenie názvov, ktorý podporuje rozlíšenie všetkých interných názvov domén a obsluhuje všetky požiadavky na rozlíšenie názvov externým serverom pre lokálnu sieť.

Často sa stáva, že zraniteľnosť v program tretej strany vám umožňuje preniknúť na server na rozlíšenie názvov. Hoci najkritickejšie časti sieťovej infraštruktúry sú chránené firewallom, Unified Threat Management a výkonný antivirusový softvér, je často potrebné posilniť ochranu systémom detekcie narušenia. Chráni pred útokmi OSI Layer 2 a Layer 3, ako je ARP spoofing, IP spoofing, sniffer útoky a iné typy útokov.

Okrem kritických preventívnych opatrení opísaných vyššie existuje niekoľko komplexných metód, ktoré by sa tiež mali použiť. Ako sme sa už skôr dozvedeli, každá požiadavka má svoj vlastný jedinečný identifikátor a odosiela sa v pakete UDP. Bohužiaľ, vzhľadom na konštrukčné vlastnosti zásobníka DNS opísaného v štandardoch RFC sú tieto identifikátory ľahko predvídateľné, takže použitie náhodné čísla pre generovanie identifikátorov je dobrý nápad, aby ste zabránili spoofingovým útokom. Podobne aj číslo portu UDP, na ktorom server na rozlišovanie názvov prijíma požiadavky a odpovedá, je tiež ľahko predvídateľné a možno ho zmeniť na náhodné.

Na tieto účely existujú programy s otvoreným zdrojový kód, no pri ich používaní nezabúdajte, že prinášajú malé časové oneskorenie pri spracovaní požiadavky. Relatívne novou a populárnou bezpečnostnou technológiou je DNSSEC (DNS Security Extensions). Chráni klientov a servery pred útokmi, ktoré upravujú vyrovnávaciu pamäť DNS podpisovaním záznamov pomocou šifrovania verejný kľúč... Podobne ako pri SSL, žiadateľ a respondér si navzájom vytvoria dôveryhodné spojenie a po jeho vytvorení sa začne proces rozlíšenia názvu.

Po dokončení procesu rozlíšenia názvu sa relácia zruší, čím sa zachová bezpečnosť oboch strán. Technológia DNSSEC je implementovaná na väčšine serverov poskytovateľov internetových služieb na svete.

Manipulácia s DNS je bežným typom útoku. Začína sa využívaním chýb protokolu a vedie k tomu, že útočník získa prístup k IT infraštruktúre alebo použije počítače na vykonávanie iných typov útokov, ako je napríklad phishing. Systémy slobodného softvéru sú tiež náchylné na tieto útoky, takže správcovia systémov musia pochopiť a používať techniky na ochranu základnej infraštruktúry pred stratou alebo krádežou údajov.

Tento článok je súčasťou série o kybernetických útokoch od toho istého autora (Prashant Phatak). Pozrite si ďalšie články z tejto série.

DNS spoofing

DNS systém ( Systém doménových mien) skonvertuje názov domény (napr. www.test.com) na jeho IP adresu (napr. 192.168.0.1) a naopak. Tento útok využíva technológiu odosielania falošných odpovedí na DNS dotazy obete. Útok je založený na dvoch hlavných metódach.

Spoofing DNS ID

Hlavička paketu protokolu DNS obsahuje identifikačné pole na priradenie požiadaviek a odpovedí. Účelom spoofingu DNS ID je odoslať vašu odpoveď na dotaz DNS skôr, ako skutočný server DNS odpovie. Ak to chcete urobiť, musíte predpovedať ID žiadosti. Lokálne sa to robí jednoduchým počúvaním sieťovej prevádzky. Je však oveľa ťažšie vykonať túto úlohu na diaľku. Existujú rôzne metódy:

    kontrola všetkých dostupné hodnoty identifikačné pole. Nie je to veľmi praktické, pretože celkový počet možných hodnôt je 65535 (veľkosť poľa je 16 bitov);

    odoslanie niekoľkých stoviek DNS dotazov v správnom poradí. Je zrejmé, že táto metóda nie je veľmi spoľahlivá;

    Nájdenie servera, ktorý generuje predvídateľné identifikátory (napríklad zvýšenie o 1). Tento typ zraniteľnosti je vlastný niektorým verziám Bind a systémy Windows 9x.

V každom prípade musíte odpovedať pred skutočným serverom DNS. To sa dá dosiahnuť napríklad vykonaním útoku odmietnutia služby proti serveru.

Pre úspešný útok musí útočník ovládať server DNS (ns.attaquant.com) autoritatívny pre zónu attaquant.com. Predpokladá sa, že cieľový server DNS (ns.cible.com) vytvára prediktívne identifikačné čísla(zvýšenie o 1 pri každej žiadosti).

Útok vyžaduje štyri kroky:

Výsledkom je, že vyrovnávacia pamäť cieľového servera DNS bude obsahovať zhodu požadovanú útočníkom a ďalším klientom požadujúcim adresu www.spoofed.com bude poskytnutá adresa útočníka. Môže obsahovať kópiu tejto stránky, pomocou ktorej môže útočník ukradnúť dôverné informácie.

Zmena DNS Cache Poisoning

Servery DNS používajú vyrovnávaciu pamäť na ukladanie výsledkov predchádzajúcich dotazov na určitý čas. Deje sa tak, aby sa predišlo neustálym opakovaným požiadavkám na autorizované servery príslušných domén. Druhým variantom útoku spoofingu DNS je zmena vyrovnávacej pamäte servera DNS. Tu je príklad:

Používame rovnaké údaje ako v predchádzajúcom príklade. Tu sú kľúčové body tejto možnosti útoku:

    odoslať požiadavku DNS na rozlíšenie názvu www.attaquant.com na server DNS domény cible.com;

    cieľový server DNS odošle požiadavku na rozlíšenie názvu www.attaquant.com na server DNS útočníka;

DNS spoofing je jednoduchá metóda spoofingu DNS systému, blok rozlišovania názvov DNS pomocou falošných informácií prijatých od hostiteľa, ktorý za tieto informácie nezodpovedá. Každý dns paket má 16-bitové id číslo, id číslo je časť dns paketu, ktorá umožňuje identifikovať každý dns paket, ktorý prechádza portom 53 a taktiež požiadavka môže byť viackrát. id je jediný spôsob, ako rozlíšiť medzi rôznymi požiadavkami súvisiacimi s dns, ktoré servery dns používajú na určenie pôvodnej požiadavky. V prípade BIND sa toto číslo zvyšuje o 1 úroveň pre každú požiadavku. Je možné vykonať útok ako TCP seq id, aj keď je to zložitejšie. Aj keď BIND nemôže uložiť informácie, ktoré pošlete, odošle odpoveď späť pôvodnému hostiteľovi. V prípade, že ircd odošle požiadavku PTR ako odpoveď na hostiteľa, ktorý sa k nemu pripojí, paket odpovede môže byť formulovaný tak, aby obsahoval Ďalšie informácie z ktorého bude ircd vykonávať interné ukladanie do vyrovnávacej pamäte. Tento útok vyžaduje prístup typu root "a" na serveri DNS, ktorý je zodpovedný za informačný blok in-addr. Arpa dns. Ircd môže tiež ukladať do vyrovnávacej pamäte iba jednu doménu. Existuje ďalší útok, pretože id je 16 bitov. Používateľ by mohol iterovať cez celý idspace. Aby ste sfalšovali svoje dns, povedzme na DALNet "e, musíte poslať 65 000 vygenerovaných požiadaviek na server ns, akonáhle počítač dostane odpoveď na požiadavku, budete musieť prečítať paket a bude v ňom napísané správne id. Hneď ako získate ID, musíte nájsť akýkoľvek „balík“ nástroj na tvorbu"na vytvorenie dns paketu. Zostáva len sfalšovať dns pakety, odoslať do ns. dal. net a získať sfalšovanie TCP spojenia."

Všeobecná formulácia problému V súvislosti s rýchlym rastom internetu problém ochrany informačné zdroje stále významnejšie. Ak ste pripojení na internet, váš systém môže byť napadnutý. Poďme sa pozrieť na to, ako DNS funguje. Externé adresovanie segmentov sa vykonáva pomocou IP adries, ale servery sú zvyčajne adresované názvami domén. V tejto súvislosti bol vytvorený systém na konverziu (mapovanie) doménových mien na IP adresy - DNS servery (Domain Name System). Tento systém je zodpovedný za nájdenie IP adresy vzdialeného hostiteľa podľa jeho názvu. Princíp fungovania systému DNS je nasledovný - vzdialený hostiteľ odošle špeciálnu požiadavku na IP adresu najbližšieho DNS servera, ktorá udáva názov servera, ktorého IP adresa sa má nájsť. Po prijatí požiadavky DNS server vyhľadá vo svojej databáze požadovaný názov domény. Ak sa názov nájde, server DNS vráti odpoveď uvádzajúcu hľadanú IP adresu. Ak DNS server nenašiel názov uvedený v požiadavke vo svojej databáze názvov, DNS server odošle DNS požiadavku na jeden z koreňových DNS serverov a postup popísaný v tomto odseku sa opakuje, kým sa názov nenájde. Zoberme si všeobecnú schému falošného servera DNS: čakanie na požiadavku DNS; po prijatí požiadavky DNS, získaní potrebných informácií z nej a odoslaní falošnej odpovede DNS cez sieť požadujúcemu hostiteľovi v mene (z adresy IP) skutočného servera DNS, ktorý uvádza IP adresu falošného DNS server; v prípade prijatia paketu od hostiteľa, zmena jeho IP adresy v IP hlavičke paketu na IP adresu falošného DNS servera a odoslanie paketu na server (to znamená, že falošný DNS server spolupracuje so serverom na vo vlastnom mene); v prípade prijatia paketu zo servera, zmena jeho IP adresy v IP hlavičke paketu na IP adresu falošného DNS servera a odoslanie paketu hostiteľovi (pre hostiteľa je falošný DNS server skutočným serverom ).

Predpokladom pre tento typ útoku je zachytenie požiadavky DNS. To je možné len vtedy, ak je útočník buď v ceste hlavnej prevádzky alebo v segmente skutočného servera DNS. Splnenie jednej z týchto podmienok pre umiestnenie útočníka v sieti sťažuje implementáciu takéhoto vzdialeného útoku v praxi (útočníkovi sa s najväčšou pravdepodobnosťou nepodarí dostať sa do segmentu DNS servera a ešte viac do inter -segmentový komunikačný kanál). Ak sú však tieto podmienky splnené, je možné vykonať medzisegmentový vzdialený útok na internete. Výsledkom tohto útoku je zavedenie vynútenej korešpondencie medzi IP adresou a doménové meno do vyrovnávacej pamäte servera DNS. V dôsledku úspešného vykonania takéhoto útoku dostanú všetci používatelia servera DNS nesprávne informácie o názvoch domén a IP adresách. Tento útok sa vyznačuje veľká kvantita Pakety DNS s rovnakým názvom domény. Je to kvôli potrebe vybrať niektoré parametre výmeny DNS.

Ako ukazuje analýza existujúcich metód ochrany, útokom možno čeliť nasledujúcimi metódami. Prevedením DNS na TCP Prechod z UDP na TCP trochu spomalí systém. Pri použití ТСР je potrebné vytvoriť virtuálne spojenie a tiež stojí za zváženie, že koncové sieťové operačné systémy najskôr pošlú DNS požiadavku pomocou protokolu UDP a ak dostanú špeciálnu odpoveď od DNS servera, tak sieťová systém odošle požiadavku DNS pomocou ТСР ... Použitie TCP skomplikuje útok na spoofing paketov, ale spomalí ho. Analýzou prevádzky DNS. Analýzou návštevnosti môžete čeliť útokom. Na server DNS sa neustále odosielajú falošné pakety s falošnými adresami IP. Ak sa prijatý falošný paket zhoduje s požiadavkou, potom sa falošná adresa IP akceptuje ako pravdivá. Ak paket nie je zachytený zo servera, potom je útok charakterizovaný veľkým počtom DNS paketov s rovnakým názvom. Je to kvôli potrebe vybrať niektoré parametre výmeny DNS. Analýzou prenosu DNS môžete takéto pakety ignorovať, aby ste sa vyhli sfalšovaniu IP adresy.

Závery Po preskúmaní fungovania servera DNS je zrejmé, že aktuálna verzia nie je optimálna a je zraniteľná voči útokom rôzneho druhu. Útokom môžete čeliť analýzou prevádzky DNS alebo prenosom DNS z UPD na TCP. Žiadna metóda neposkytuje úplnú ochranu pred útokmi, obe metódy iba sťažujú vykonanie útoku. Obe metódy vyžadujú dodatočné zdroje zo servera. V prípade prenosu prevádzky servera DNS na TCP sa tiež zvyšuje čas výmeny medzi servermi, pretože protokol UDP je rýchlejší ako protokol TCP. Na tento moment, navrhované modely protiakcie sú najefektívnejšie a je vhodné ich použiť v komplexe, aby sa dosiahla maximálna možná bezpečnosť.

Taktiku vydávať sa za niekoho s cieľom získať prístup k dôverným údajom či bankovým účtom úspešne využívajú nielen zločinci v reálnom svete, ale aj ich kolegovia vo virtuálnom priestore. Tento postup sa nazýva spoofing – súhrnná kategória, ktorá zahŕňa koncepty spoofingu IP adresy (odosielanie správ počítačom pomocou IP adresy dôveryhodného zdroja), e-mailového spoofingu (spoofing hlavičky e-mailu, aby sa zamaskoval skutočný odosielateľ) a DNS spoofing (zmena nastavenia servera DNS pre presmerovanie názvu domény na adresu IP útočníkov).

Ako spoofing funguje?

Spoofing je technika používaná na odcudzenie identity inej osoby s cieľom oklamať sieť alebo konkrétneho používateľa, aby dôveroval zdroju informácií. E-mailový spoofing hackeri môžu napríklad zavádzať používateľa o identite odosielateľa a získať prístup k citlivým údajom. Alebo sa môžu pokúsiť použiť techniky spoofingu IP a DNS, aby oklamali sieť používateľa, aby ho presmerovala na nečestné stránky, ktoré sa tvária ako skutočné, čo spôsobí infikovanie počítača používateľa.

Ako spoofing rozpoznať?

Najjednoduchší spôsob, ako rozpoznať spoofing e-mailov, je, že priamym cieľom je samotný používateľ. Akákoľvek e-mailová správa E-mail, ktorý vyžaduje od používateľa osobné informácie, môže byť pokusom o spoofing, najmä ak sa zobrazí výzva na zadanie poverení. Pamätajte, že žiadna dôveryhodná súkromná alebo vládna agentúra nepožaduje osobné údaje týmto spôsobom. Venujte pozornosť adrese odosielateľa, aby ste sa uistili, že je legitímna. Používateľ sa však takmer nikdy nedozvie, že je obeťou spoofingu IP alebo DNS, hoci zvyk venovať veľkú pozornosť detailom a zmenám v bežnom správaní stránky môže byť mimoriadne prospešný. Ak má stránka alebo jej správanie čo i len najmenšie pochybnosti, je najlepšie od plánovanej operácie upustiť, aby boli vaše údaje a finančné prostriedky v bezpečí.

Ako odstránim spoofing?

Spoofing je o maskovaní skutočného zdroja, a preto ho nie je ľahké „eliminovať“. Chrániť sa môžete len zdravým rozumom a pozorovaním základné pravidlá bezpečnú prácu v sieti, napríklad za žiadnych okolností, bez poskytnutia vašich osobných údajov e-mailom. pošty, aj keď je povesť odosielateľa nepochybná.

Ako zabrániť spoofingu
  • Neodpovedajte na správy, ktoré vás žiadajú o zaslanie osobných údajov alebo poverení
  • Starostlivo skontrolujte adresu odosielateľa
  • Dávajte pozor na zvláštne správanie alebo rozdiely v detailoch stránok, na ktoré ste zvyknutí.
Chráňte sa pred spoofingom

Na jednej strane môže byť ochrana pred spoofingom založená na dodržiavaní základných princípov bezpečného surfovania na internete. Pre svoju vlastnú bezpečnosť však môžete urobiť oveľa viac. V prvom rade môžete ochranu svojho počítača a dát na ňom uložených zveriť do rúk výkonnému antivírusovému riešeniu, napríklad takému, ktoré vyvinula spoločnosť Avast, ktoré spoľahlivo chráni pred podvodnými stránkami a blokuje vírusy, ktoré sa snažia preniknúť do vašej siete.

Spoofing je zaujímavá metóda útoku, ktorú mnohí bezpečnostní profesionáli zanedbávajú. A márne, veľmi márne. Z tohto článku pochopíte, aký môže byť tento rozmanitý svet klamlivý. Neverte svojim očiam!

POZOR

Všetky informácie sú poskytované len na informačné účely. Redakčná rada ani autor nezodpovedajú za prípadné škody spôsobené materiálmi tohto článku.

Úvod

Od kolegov v obchode často počúvam, že o spoofingu ako o vektore útoku by sa ani nemalo uvažovať. Môžem vás však ubezpečiť, že ak sú metódy spoofingu dôkladne premyslené, dajú sa použiť na veľa, veľmi veľa. Navyše rozsah a výsledky takýchto útokov sú niekedy katastrofálne. Koniec koncov, keď som raz oklamal vaše oči, budem vás klamať aj naďalej. Najdôležitejším argumentom v prospech skutočnosti, že spoof útoky predstavujú skutočné nebezpečenstvo, je, že ani jedna osoba, vrátane profesionálov, nie je voči nim imúnna. Tu je potrebné poznamenať, že samotný spoofing nerobí nič: na vykonanie skutočne hackerského útoku musíte použiť post-exploitation. Vo väčšine prípadov sú cieľom post-exploatácie štandardné prevzatie, eskalácia privilégií, masová distribúcia malvér a v dôsledku toho krádež osobných údajov a elektronických digitálnych kľúčov bankových systémov s ďalším praním špinavých peňazí. V tomto článku chcem po prvé hovoriť o tom, aké metódy spoofingu sú vo všeobecnosti, a po druhé vám podrobne povedať o niektorých moderných prístupoch. Prirodzene, všetky informácie sú vám poskytnuté len preto, aby vám pomohli brániť sa proti tomuto druhu útokov.

Falšovanie minulosti a súčasnosti

Pôvodne sa pojem „spoofing“ používal ako pojem sieťovej bezpečnosti, čo znamená úspešné falšovanie určitých údajov s cieľom získať neoprávnený prístup ku konkrétnemu sieťovému zdroju. Postupom času sa tento termín začal používať aj v iných oblastiach informačnej bezpečnosti, hoci väčšina takzvaných oldschoolových špecialistov dnes naďalej používa slovo „spoofing“ len na objasnenie typu sieťových útokov.

Prvé IDN klony

Útok homografom IDN bol prvýkrát opísaný v roku 2001 Evgeny Gabrilovich a Alex Gontmakher z Technion Israel Institute of Technology. Prvý známy úspešný útok pomocou túto metódu, bol zverejnený v roku 2005 na hackerskej konferencii ShmooCon. Hackerom sa podarilo zaregistrovať falošnú doménu pаypal.com (xn--pypal-4ve.com v Punycode), kde prvé písmeno a je cyrilika. Príspevok na Slashdot.org upriamil pozornosť verejnosti na tento problém, po ktorom nasledovali prehliadače a mnohí správcovia domén špičková úroveň vyvinuté a zavedené protiopatrenia.

Takže keď bol web ešte len v plienkach, väčšina úsilia programátorov a vývojárov smerovala hlavne k optimalizácii algoritmov pre fungovanie sieťových protokolov. Bezpečnosť nebola taká kritická ako dnes a ako to často býva, venovalo sa jej veľmi málo pozornosti. V dôsledku toho sa dostávame k banálnym a zásadným chybám sieťové protokoly, ktoré dodnes existujú, napriek rôznym druhom opráv (pretože žiadna oprava nedokáže opraviť chybu logického protokolu). Tu sú potrebné totálne zmeny, ktoré Sieť v existujúcom zobrazení jednoducho neprežije. Napríklad v článku „Útoky DNS: Včera, dnes, zajtra“ (] [ #5 2012) som hovoril o katastrofálnych základných zraniteľnostiach v systémoch DNS – o použití UDP (ktoré na rozdiel od TCP/IP nie je bezpečné, pretože nemá zabudovaný mechanizmus na zabránenie spoofingu) a lokálnej vyrovnávacej pamäti.

vektory

V závislosti od cieľov a zámerov možno vektory spoofingu rozdeliť na miestne (lokálne) a sieťové (sieťové) smery. Práve o nich budeme v tomto článku uvažovať. Za objekt útokov v lokálnom vektore sa najčastejšie priamo považuje samotný OS nainštalovaný na počítači obete, ako aj určité typy aplikácií, ktoré si často vyžadujú dodatočnú analýzu v závislosti od situácie. Na druhej strane objekty útokov so sieťovým vektorom sú viac abstrahované. Hlavnými sú komponenty informačné systémy reprezentované lokálnymi aj globálnymi sieťami. Poďme sa pozrieť na hlavné typy spoofingu.

  1. Spoofing TCP/IP & UDP – útoky na transportnú vrstvu. Kvôli zásadným chybám pri implementácii transportu protokolov TCP a UDP sú možné nasledujúce typy útokov:
    • IP spoofing - myšlienka je spoofovať IP adresu zmenou hodnoty zdrojového poľa v tele IP paketu. Používa sa na sfalšovanie adresy útočníka, napríklad na zavolanie paketu odpovede na požadovanú adresu;
    • ARP spoofing je technika útoku na ethernetové siete, ktorá vám umožňuje zachytiť prenos medzi hostiteľmi. Na základe použitia protokolu ARP;
    • DNS cache Otrava - otrava DNS cache servera;
    • Spoofing NetBIOS / NBNS – založený na špecifikách rozlíšenia názvov lokálnych počítačov v sieťach Microsoft.
  2. Referrer spoofing – spoofing refererov.
  3. Otrava sietí na zdieľanie súborov – phishing v sieťach na zdieľanie súborov.
  4. Spoofing ID volajúceho – spoofing vyzváňajúceho telefónneho čísla vo VoIP sieťach
  5. Spoofing e-mailovej adresy – spoofing e-mailovej adresy odosielateľa.
  6. GPS Spoofing - spoofing paketov zo satelitu s cieľom zmiasť zariadenie GPS.
  7. Spoofing hlasovej pošty - zámena čísel hlasová pošta za účelom phishingu hesiel obete.
  8. SMS spoofing je metóda spoofingu založená na spoofingu čísel odosielateľa SMS správy.

Najnovšie v oblasti spoofingu

Najbežnejšie techniky sú už dosť staré a opotrebované. Globálna sieť sa doslova hemžia informáciami o možných variáciách ich fungovania a ochrany pred nimi. Dnes sa pozrieme na niekoľko najnovších techník spoofingu, ktoré naberajú na sile, od lokálnych vektorov po sieťové vektory. Takže všetko je v poriadku.

Flamer a škandalózne spoofing certifikátov od Microsoftu

Microsoft Security Advisory (2718704) – Neautorizované digitálne certifikáty môžu umožniť spoofing. Pomerne zaujímavá vec sa našla v kópiách notoricky známeho špionážneho bota Flamer: v dôsledku reverzného inžinierstva komponentov tohto malvéru sa našiel kúsok kódu zodpovedný za vykonávanie spoofingových útokov, ako je phishing. Simulujúc poskytovanie originálnych certifikátov veľkých spoločností, bot vykonal útok MITM, ktorého účelom bolo zachytiť osobné údaje používateľov firemná sieť s následným odoslaním na server vývojára. Tento spoofingový incident dostal bezpečnostné odporúčanie # 2718704 s hodnotením závažnosti Vysoká.

Spoofing OS

1. Extension Spoofing - spoofing prípony súboru

Technika, ktorá uzrela svetlo sveta vďaka úspechom čínskeho výskumníka v oblasti o informačná bezpečnosť Zhitao Zhou. Podstatou tejto techniky je použitie riadiaceho znaku 0x202E (RLO) v názve súboru, ktorý umožňuje zmeniť poradie znakov pri zobrazovaní názvu súboru v Prieskumník systému Windows(explorer.exe). Tu je príklad použitia tejto jednoduchej techniky:

Super hudba nahraná o 15:00.SCR

Súbor 3 pm.SCR nie je nič iné ako spustiteľný súbor, ktorý implementuje určité funkcie (program Trójsky kôň. - pozn. redakcie). Ak na začiatok názvu súboru "15 pm.SRC" vložíte riadiaci znak 0x202E (pozri obr. 1), poradie znakov sa obráti a v prieskumníkovi sa zobrazí názov súboru. Windows už inak:

Super hudba nahraná RCS.mp3

Ak chcete zmeniť ikonu súboru, použite ľubovoľný editor zdrojov (Restorator, Hacker zdrojov). Táto technika je určená pre neopatrného používateľa, ktorý si môže pomýliť tento súbor so skladbou a otvoriť ho dvojitým kliknutím, čím spustí škodlivý program. Bohužiaľ, táto technika nebude fungovať v analógových programoch Explorer, ktoré podporujú Unicode. Nižšie je uvedený kód C #, ktorý mení názov súboru pridaním riadiaceho znaku 0x202E pred:

Public Sub U_202E (súbor As String, prípona As String) Dim d As Integer = file.Length - 4 Dim u As Char = ChrW (823) Dim t As Char () = extension.ToCharArray () Array.Reverse (t) Dim dest As String = file.Substring (0, d) & u & New String (t) & file.Substring (d) System.IO.File.Move (file, dest) End Sub

2. Spoofing názvu súboru - klonovanie názvu súboru

Túto techniku ​​predstavil japonský výskumník Yosuke Hasegawa na konferencii Security-Momiji. Je založená na použití znakov nulovej dĺžky (ZERO WIDTH Characters), ktoré nijako neovplyvňujú zobrazenie názvu súboru (viď obr. 2). Nižšie sú uvedené všetky symboly z tejto kategórie:

U + 200B (NULOVÁ ŠÍRKA MEDZERA) - U + 200C (NULOVÁ ŠÍRKA NON-JOINER) - U + 200D (NULOVÁ ŠÍRKA JOINER) - U + FEFF (NULOVÁ ŠÍRKA BEZ PREDSTAVENIA) - U + 202A (ZĽAVA DOPRAVA VLOŽENIE)

Okrem toho je možné použiť kódovanie UTF na falšovanie názvov existujúcich súborov. Túto techniku ​​často používa moderný malvér. Narazil som na vzorky malvéru, ktoré vykonali tieto typy útokov. Napríklad malvér TrojanDropper: Win32 / Vundo.L (používaný na phishingové stránky vk.com, vkontakte.ru, * odnoklassniki.ru) používa presne túto techniku.


Súbor % SystemRoot% \ system32 \ drivers \ etc \ hosts bol skopírovaný do klonového súboru hostiteľov so znakom UTF „o“ (0x043E), po ktorom bol pôvodný súbor hosts pripísané skrytý súbor a jeho obsah bol prepísaný pridaním nasledujúcich záznamov:

92.38.66.111 odnoklassniki.ru 92.38.66.111 vk.com 92.38.66.111 vkontakte.ru


Spoofing webových prehliadačov

1. Stavový riadok / spoof odkazu

Princípom tohto útoku je dynamická zmena adresy hypertextového odkazu ( ). Napríklad obeť umiestni kurzor myši na odkaz, po ktorom sa v stavovom riadku prehliadača zobrazí adresa, na ktorú tento odkaz vedie. Po kliknutí na odkaz zložitý kód JavaScript dynamicky nahradí adresu sprostredkovania. Môj priateľ výskumník, známy pod prezývkou iamjuza, študoval a vyvíjal PoC na použitie tejto techniky v praxi, ale jeho vývoj nebol univerzálny a fungoval iba v konkrétnych prehliadačoch. V podobnej štúdii som dosiahol lepšie výsledky vďaka tomu, že som túto techniku ​​spooferu dokázal univerzálne zneužiť vo všetkých prehliadačoch. Proof-of-Concept je zverejnený na 1337day.com. Technická implementácia vyzerá takto:

Method this.href = ":
Metóda location.replace (""):

Methon location.assign (""):

Metóda window.location.assign (""):

Metóda window.location.replace (""):

Metóda window.location.href = "":

Daný HTML kód dynamicky nahrádza zadanú adresu ( www.google.com) na adresu lokality] [() pomocou rôznych metód založených na udalosti JavaScript onclick = "".

2. URL Bar Spoofing - nahradenie odkazu v adresnom riadku prehliadača

Na prvý pohľad sa to zdá nemožné, ale verte mi - toto je len úloha na rozvoj vynaliezavosti. Zvážte zraniteľnosť CVE-2011-1452, ktorá sfalšuje panel s adresou v nepremožiteľnom prehliadači Google Chrome až do verzie 11.0.696.57:

Klikni na mňa

  • otvorí sa nové okno (spoofing.php) s priradením k premennej "a";
  • po 4500 mikrosekundách (4,5 sekundy) (funkcia window.setTimeout) sa vráti história prechodov späť, za čo je zodpovedná funkcia a.history.back () priradená premennej "a";
  • po 5000 mikrosekundách sa premenná "a" nastaví na nové miesto pre spoofing.php, ktoré sa nachádza v rovnakom adresári.

Panel s adresou sa teda prepíše na novú adresu URL v kontexte prvej stránky „rodiča“.

Ďalšia zraniteľnosť CVE-2010-4045 (Opera<= 10.62):

Proof of Concept - OPERA High Location Bar Spoofing




Po kliknutí na tlačidlo, ktoré je znázornené obrázkom (), sa stránka automaticky znovu načíta (location.reload ()), pričom je možné prepísať panel s adresou v kontexte aktuálnej karty.

Niektoré platobné / bankové webové stránky sú zahrnuté tu.
  1. začať poc kliknutím na tlačidlo spustíte poc.


"); myWindow.focus(); return false; }




Po kliknutí na tlačidlo Demo sa premennej aj objektu myWindow priradí hodnota funkcie, ktorá otvorí stránku apple.com s rozmermi 200 x 100, čo zodpovedá oblasti rozšírenia prehliadača Safari pre mobilné zariadenia. Potom myWindow vloží dodatočný kód HTML (JavaScript / VB / atď.) pomocou funkcie document.write (). Posledným krokom je presunúť zameranie prehliadača Safari na objekt myWindow.

Na podvrhnutí adresy v adresnom riadku prehliadača nie je nič zložité, len treba správne použiť svoju vynaliezavosť tam, kde je to potrebné ;-).

3. Spoofing zdrojového kódu – spoofing obsahu stránky a zdrojového kódu

Využitie je realizované vďaka už známemu riadiacemu znaku UTF-8 0x202E (RLO). Metódu objavil študent Virginia Tech John Kurlak. Na demonštráciu techniky použil funkciu JavaScript History.replaceState (), ktorá umožňuje dynamicky meniť adresu stránky v paneli s adresou. Dôkaz o koncepcii (source.html):

Zdroj

Môžete zobraziť môj zdroj z prehliadača Chrome?



Obsah súboru source.html [% 20% 2E] Môžete, ale nie tak ľahko ...

Podstatou tejto metódy je nahradenie obsahu zdrojového kódu stránky pomocou triku s riadiacim znakom RLO na konci súboru (pozri obrázok 4). Keď sa pokúsime zobraziť zdrojový kód stránky source.html, dostaneme obsah druhého súboru source.html% 20% 2E. Celkom zaujímavá a exotická metóda spoofingu s veľmi zvláštnym ziskom, ako by ste si na prvý pohľad mohli myslieť. Najzaujímavejšie je, že tento skript umožňuje „skryť“ zdrojový kód stránky a maskovať ho nielen v kontexte adresy, ale aj v kontexte názvu hostiteľa.


4. IDN Clones – technika založená na vonkajšej podobnosti zobrazovania doménových mien

Nie je tu nič inovatívne, technika sa praktizuje už od vzniku systému DNS, no práve použitie IDN (Internationalized Domain Names) umožnilo vytvárať takmer nerozoznateľné „klony“ doménových mien. Technická implementácia phishingového útoku je nasledovná:

  1. Zaregistruje sa názov domény, ktorý je čo najviac podobný napadnutej doméne. Väčšinou sa používa podobnosť písmen s číslami v niektorých typoch písma (písmeno l a číslo 1, písmeno O a číslo 0), podobnosť kombinácií písmen (rn a m, cl a d).
  2. Vytvorí sa fejk pôvodnej stránky, ktorý sa umiestni na vytvorený „klon“.
  3. Šíria sa odkazy na phishingovú doménu (spam mail, spam na sociálnych sieťach, cez obľúbené služby ako Twitter, používanie iframe, doorways).
  4. Ukazuje sa, že ide o zisk :).

Hlavný rozdiel medzi týmto útokom založeným na podobnosti názvov domén v porovnaní s inými typmi phishingu pomocou falošných webových stránok je v tom, že nevyžaduje zásah do sieťových protokolov: z technického hľadiska je falošná doména legitímna.

Metódy ochrany pred útokmi IDN sa začali implementovať v polovici roku 2005, keď registrátori doménových mien prijali dohody o obmedzení možnosti registrovať akúkoľvek doménu IDN. Napríklad medzinárodná doména .org obmedzuje počet povolených znakov na jednu alebo druhú podmnožinu rozšírenej latinskej abecedy. Ale vďaka niektorým bezohľadným registrátorom a vynaliezavosti existuje aj dnes každá príležitosť na registráciu phishingovej domény.

Najradikálnejšou obranou proti homografickej hrozbe by bolo úplné odstránenie dekódovania IDN na displeji. Potom by fiktívne meno vždy začínalo „xn“ a končilo nečitateľným sledom znakov, čo by ho ostro odlišovalo od originálu. Bohužiaľ, táto možnosť neguje takmer všetky výhody IDN.

Hlavnou ochranou proti spoofingu IDN na strane klienta je stavový riadok prehliadača. Keď umiestnite kurzor myši na odkaz v stavovom riadku, zobrazí sa ekvivalent punycode domény IDN, čo okamžite naznačuje možný phishing. Ale to nie je všeliek, ak použijete svoju vynaliezavosť, môžete urobiť chybu ;-). Pozrite si môj univerzálny exploit pre všetky prehliadače.

Záver

Spoofing vždy bol a bude žiadaný, pretože je základom a zárukou úspešných útokov v mnohých smeroch. Dúfam, že ste vyvodili správne závery. Buďte pozorní v rozľahlosti webu.





Páčil sa vám článok? Zdieľaj to