DNS cache poisoning (отруєння кешу DNS) — пошкодження цілісності даних у системі DNS шляхом заповнення кешу DNS-сервера даними, що не походять від авторитетного DNS-джерела. Подібна компрометація даних може бути результатом хакерської атаки на сервер імен або несподіваним результатом помилки в конфігурації DNS-кешу. Даний тип атаки був вперше вивчений і описаний у 2008 році експертом з інформаційної безпеки . Перша відома велика атака такого типу була здійснена Євгеном Кашпуревим у 1997 році.
Коли DNS-сервер отримує неавтентичні дані і кешує їх для оптимізації швидкодії, він стає отруєним і починає надавати неавтентичні дані своїм клієнтам.
DNS-сервер покликаний транслювати доменне ім'я (наприклад, example.com) в IP-адресу, що використовується хостами для з'єднання з ресурсами Інтернету. Якщо DNS-сервер отруєний, він може повертати некоректну IP-адресу, спрямовуючи, таким чином, трафік на інший комп'ютер.
Атаки на кеш
Зазвичай комп'ютер в мережі використовує DNS-сервер, наданий своєю організацією або інтернет-провайдером. DNS-сервери часто встановлюються у мережі організацій для прискорення процесу трансляції імен за допомогою кешування раніше отриманих відповідей на запити. Атака на DNS-сервер може вплинути на роботу користувачів цього сервера або навіть на користувачів інших серверів, що звертаються до отруєного.
Для здійснення атаки атакуючий використовує вразливість у конфігурації DNS. Якщо сервер не перевіряє відповіді DNS на коректність, щоб переконатися що вони походять від авторитетного джерела (наприклад, за допомогою DNSSEC), він буде кешувати некоректні відповіді локально і використовувати їх, щоб відповідати на запити інших користувачів.
Дана техніка може використовуватися для того, щоб перенаправити клієнтів на інший сайт за вибором атакуючого. Наприклад, за допомогою спуфінгу можна спрямувати клієнта на DNS-сервер, який видасть завідомо неправильну IP-адресу сайту і таким чином направить адресата на сервер, контрольований зловмисником. Вміст такого сервера може містити, наприклад, черв'яки або віруси. Відвідувач такого сервера не буде інформований про підміну і завантажить шкідливе програмне забезпечення.
Приклади атаки
У наведених нижче прикладах A-запис для сервера ns.target.example буде замінений (кеш буде отруєний) і стане вказувати на DNS-сервер атакуючого з IP-адресою w.x.y.z. В прикладі припускається, що DNS-сервером target.example є ns.target.example.
Щоб виконати таку атаку, атакуючий повинен змусити DNS-сервер-жертву виконати запит про будь-який домен, для якого DNS-сервер атакуючого є авторитетним.
Підміна IP-адреси DNS-сервера домену жертви
Перший варіант отруєння DNS-кешу полягає в перенаправленні DNS-сервера, авторитетного для домену зловмисника, на DNS-сервер домену-жертви, тобто заданням DNS-серверу IP-адреси, обраної зловмисником.
Запит від DNS-сервера жертви: який A-запис для subdomain.attacker.example?
subdomain.attacker.example. IN A
Відповідь зловмисника:
Answer: (no response) Authority section: attacker.example. 3600 IN NS ns.target.example. Additional section: ns.target.example. IN A w.x.y.z
Сервер-жертва збереже A-запис (IP-адресу) ns.target.example, який вказаний у додатковій секції, у своєму кеші, що дозволить атакуючому відповідати на подальші запити для всього домену target.example.
Підміна NS-запису для іншого домену жертви
Другий варіант атаки полягає в перенаправленні DNS-сервера іншого домену, що не відноситься до первісного запиту, на IP-адресу, вказану атакуючим.
Запит DNS-сервера: який A-запис для subdomain.attacker.example?
subdomain.attacker.example. IN A
Відповідь зловмисника:
Answer: (no response) Authority section: target.example. 3600 IN NS ns.attacker.example. Additional section: ns.attacker.example. IN A w.x.y.z
Сервер-жертва збереже інформацію про NS-запис, який не відноситься до запиту про NS-запис для target.example в кеші, що дозволить атакуючому відповідати на наступні запити для всього домену target.example.
Запобігання атакам і протидія
Більшість атак на кеш можуть бути відвернені на стороні DNS-серверів за допомогою зменшення ступеня довіри до інформації, що надходить від інших DNS-серверів, або навіть ігнорування будь-яких DNS-записів, які прямо не належать до запитів. Наприклад, останні версії BIND (версії 9, 10) виконують такі перевірки. Суттєво знизити імовірність успішної атаки на кеш може використання випадкових UDP-портів для виконання DNS-запитів.
Незважаючи на це, маршрутизатори, мережеві екрани, проксі-сервери й інші пристрої-шлюзи, які виконують трансляцію адрес (NAT), або, більш конкретно, трансляцію портів (PAT), часто підміняють порт, що використовується для виконання запитів, для відстеження з'єднання. При цьому пристрої, що виконують PAT, зазвичай втрачають випадковість при виборі порту, створену DNS-сервером.
Протокол DNSSEC використовує електронний цифровий підпис із побудовою для визначення цілісності даних. Застосування DNSSEC може звести результативність атак на кеш до нуля. У 2011 році впровадження DNSSEC йде вже швидкими темпами (більшість доменних зон gTLD: .com, .net, .org — вже підписані DNSSEC). Починаючи з липня 2010 року, кореневі сервери DNS містять кореневу зону DNS, підписану за допомогою стандартів DNSSEC.
Атакам на кеш також можна протиставити транспортний рівень або рівень додатків моделі OSI, оскільки і на цих рівнях можна використати цифрові підписи. Наприклад, у безпечній версії HTTP — HTTPS користувач може перевірити, чи має сервер, з яким він з'єднався, сертифікат ЕЦП і кому цей сертифікат належить.
Схожий рівень безпеки має SSH, коли програма-клієнт перевіряє ЕЦП віддаленого сервера при встановленні з'єднання. З'єднання за допомогою IPSEC не встановиться, якщо клієнтом і сервером не будуть пред'явлені заздалегідь відомі ключі ЕЦП. Додатки, які завантажують свої оновлення автоматично, можуть мати вбудовану копію сертифікату ЕЦП і перевіряти справжність оновлень за допомогою порівняння ЕЦП сервера оновлень із вбудованим сертифікатом.
Див. також
Посилання
- SANS DNS cache poisoning update [ 4 січня 2007 у Wayback Machine.]
- DNS Threats & Weaknesses: research and presentations [ 13 жовтня 2006 у Wayback Machine.]
- Movie explaining DNS Cache Poisioning [ 21 липня 2012 у Wayback Machine.]
- An Illustrated Guide to the Kaminsky DNS Vulnerability [ 18 квітня 2018 у Wayback Machine.]
- US CERT advisory : Multiple DNS implementations vulnerable to cache poisoning [ 20 січня 2022 у Wayback Machine.]
- Secret Geek A-Team Hacks Back, Defends Worldwide Web [ 27 березня 2014 у Wayback Machine.] An article about defending against DNS poisoning
- Обзор схем DNS-атак [ 10 квітня 2018 у Wayback Machine.]
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
DNS cache poisoning otruyennya keshu DNS poshkodzhennya cilisnosti danih u sistemi DNS shlyahom zapovnennya keshu DNS servera danimi sho ne pohodyat vid avtoritetnogo DNS dzherela Podibna komprometaciya danih mozhe buti rezultatom hakerskoyi ataki na server imen abo nespodivanim rezultatom pomilki v konfiguraciyi DNS keshu Danij tip ataki buv vpershe vivchenij i opisanij u 2008 roci ekspertom z informacijnoyi bezpeki Persha vidoma velika ataka takogo tipu bula zdijsnena Yevgenom Kashpurevim u 1997 roci Koli DNS server otrimuye neavtentichni dani i keshuye yih dlya optimizaciyi shvidkodiyi vin staye otruyenim i pochinaye nadavati neavtentichni dani svoyim kliyentam DNS server poklikanij translyuvati domenne im ya napriklad example com v IP adresu sho vikoristovuyetsya hostami dlya z yednannya z resursami Internetu Yaksho DNS server otruyenij vin mozhe povertati nekorektnu IP adresu spryamovuyuchi takim chinom trafik na inshij komp yuter Ataki na keshZazvichaj komp yuter v merezhi vikoristovuye DNS server nadanij svoyeyu organizaciyeyu abo internet provajderom DNS serveri chasto vstanovlyuyutsya u merezhi organizacij dlya priskorennya procesu translyaciyi imen za dopomogoyu keshuvannya ranishe otrimanih vidpovidej na zapiti Ataka na DNS server mozhe vplinuti na robotu koristuvachiv cogo servera abo navit na koristuvachiv inshih serveriv sho zvertayutsya do otruyenogo Dlya zdijsnennya ataki atakuyuchij vikoristovuye vrazlivist u konfiguraciyi DNS Yaksho server ne pereviryaye vidpovidi DNS na korektnist shob perekonatisya sho voni pohodyat vid avtoritetnogo dzherela napriklad za dopomogoyu DNSSEC vin bude keshuvati nekorektni vidpovidi lokalno i vikoristovuvati yih shob vidpovidati na zapiti inshih koristuvachiv Dana tehnika mozhe vikoristovuvatisya dlya togo shob perenapraviti kliyentiv na inshij sajt za viborom atakuyuchogo Napriklad za dopomogoyu spufingu mozhna spryamuvati kliyenta na DNS server yakij vidast zavidomo nepravilnu IP adresu sajtu i takim chinom napravit adresata na server kontrolovanij zlovmisnikom Vmist takogo servera mozhe mistiti napriklad cherv yaki abo virusi Vidviduvach takogo servera ne bude informovanij pro pidminu i zavantazhit shkidlive programne zabezpechennya Prikladi atakiU navedenih nizhche prikladah A zapis dlya servera ns target example bude zaminenij kesh bude otruyenij i stane vkazuvati na DNS server atakuyuchogo z IP adresoyu w x y z V prikladi pripuskayetsya sho DNS serverom target example ye ns target example Shob vikonati taku ataku atakuyuchij povinen zmusiti DNS server zhertvu vikonati zapit pro bud yakij domen dlya yakogo DNS server atakuyuchogo ye avtoritetnim Pidmina IP adresi DNS servera domenu zhertvi Pershij variant otruyennya DNS keshu polyagaye v perenapravlenni DNS servera avtoritetnogo dlya domenu zlovmisnika na DNS server domenu zhertvi tobto zadannyam DNS serveru IP adresi obranoyi zlovmisnikom Zapit vid DNS servera zhertvi yakij A zapis dlya subdomain attacker example subdomain attacker example IN A Vidpovid zlovmisnika Answer no response Authority section attacker example 3600 IN NS ns target example Additional section ns target example IN A w x y z Server zhertva zberezhe A zapis IP adresu ns target example yakij vkazanij u dodatkovij sekciyi u svoyemu keshi sho dozvolit atakuyuchomu vidpovidati na podalshi zapiti dlya vsogo domenu target example Pidmina NS zapisu dlya inshogo domenu zhertvi Drugij variant ataki polyagaye v perenapravlenni DNS servera inshogo domenu sho ne vidnositsya do pervisnogo zapitu na IP adresu vkazanu atakuyuchim Zapit DNS servera yakij A zapis dlya subdomain attacker example subdomain attacker example IN A Vidpovid zlovmisnika Answer no response Authority section target example 3600 IN NS ns attacker example Additional section ns attacker example IN A w x y z Server zhertva zberezhe informaciyu pro NS zapis yakij ne vidnositsya do zapitu pro NS zapis dlya target example v keshi sho dozvolit atakuyuchomu vidpovidati na nastupni zapiti dlya vsogo domenu target example Zapobigannya atakam i protidiyaBilshist atak na kesh mozhut buti vidverneni na storoni DNS serveriv za dopomogoyu zmenshennya stupenya doviri do informaciyi sho nadhodit vid inshih DNS serveriv abo navit ignoruvannya bud yakih DNS zapisiv yaki pryamo ne nalezhat do zapitiv Napriklad ostanni versiyi BIND versiyi 9 10 vikonuyut taki perevirki Suttyevo zniziti imovirnist uspishnoyi ataki na kesh mozhe vikoristannya vipadkovih UDP portiv dlya vikonannya DNS zapitiv Nezvazhayuchi na ce marshrutizatori merezhevi ekrani proksi serveri j inshi pristroyi shlyuzi yaki vikonuyut translyaciyu adres NAT abo bilsh konkretno translyaciyu portiv PAT chasto pidminyayut port sho vikoristovuyetsya dlya vikonannya zapitiv dlya vidstezhennya z yednannya Pri comu pristroyi sho vikonuyut PAT zazvichaj vtrachayut vipadkovist pri vibori portu stvorenu DNS serverom Protokol DNSSEC vikoristovuye elektronnij cifrovij pidpis iz pobudovoyu dlya viznachennya cilisnosti danih Zastosuvannya DNSSEC mozhe zvesti rezultativnist atak na kesh do nulya U 2011 roci vprovadzhennya DNSSEC jde vzhe shvidkimi tempami bilshist domennih zon gTLD com net org vzhe pidpisani DNSSEC Pochinayuchi z lipnya 2010 roku korenevi serveri DNS mistyat korenevu zonu DNS pidpisanu za dopomogoyu standartiv DNSSEC Atakam na kesh takozh mozhna protistaviti transportnij riven abo riven dodatkiv modeli OSI oskilki i na cih rivnyah mozhna vikoristati cifrovi pidpisi Napriklad u bezpechnij versiyi HTTP HTTPS koristuvach mozhe pereviriti chi maye server z yakim vin z yednavsya sertifikat ECP i komu cej sertifikat nalezhit Shozhij riven bezpeki maye SSH koli programa kliyent pereviryaye ECP viddalenogo servera pri vstanovlenni z yednannya Z yednannya za dopomogoyu IPSEC ne vstanovitsya yaksho kliyentom i serverom ne budut pred yavleni zazdalegid vidomi klyuchi ECP Dodatki yaki zavantazhuyut svoyi onovlennya avtomatichno mozhut mati vbudovanu kopiyu sertifikatu ECP i pereviryati spravzhnist onovlen za dopomogoyu porivnyannya ECP servera onovlen iz vbudovanim sertifikatom Div takozhKorenevi serveri DNS PharmingPosilannyaSANS DNS cache poisoning update 4 sichnya 2007 u Wayback Machine DNS Threats amp Weaknesses research and presentations 13 zhovtnya 2006 u Wayback Machine Movie explaining DNS Cache Poisioning 21 lipnya 2012 u Wayback Machine An Illustrated Guide to the Kaminsky DNS Vulnerability 18 kvitnya 2018 u Wayback Machine US CERT advisory Multiple DNS implementations vulnerable to cache poisoning 20 sichnya 2022 u Wayback Machine Secret Geek A Team Hacks Back Defends Worldwide Web 27 bereznya 2014 u Wayback Machine An article about defending against DNS poisoning Obzor shem DNS atak 10 kvitnya 2018 u Wayback Machine