Какво е DNS атака? Видове DNS атаки и как да ги предотвратим
DNS атаките са всеки тип атака, която включва системата за имена на домейни (DNS) . Има много различни начини, по които нападателите могат да се възползват от слабостите в DNS. Повечето от тези атаки са фокусирани върху злоупотреба с DNS, за да попречат на интернет потребителите да имат достъп до определени уебсайтове. Те попадат под крилото на атаките за отказ на услуга (DoS).
Слабостите на DNS също могат да бъдат използвани отклоняват посетителите на сайта към злонамерени страници , в това, което е известно като отвличане на DNS. Нападателите могат също да използват DNS протокола, за да измъкват чувствителни данни от организации, като при DNS тунелиране.
Но трябва да направим крачка назад, преди да можем да навлезем в дълбочина на широкия диапазон от DNS атаки. Ще започнем с поставяне на основите, обяснявайки какво е DNS и как работи, преди да преминем към отделни дискусии за всеки тип атака.
Системата за имена на домейни (DNS) е телефонен указател
Една от най-популярните и прости аналогии за DNS е да се мисли за него като за телефонен указател. Може би е малко остарял, защото телефонните указатели са предимно остарели, но нека изпитаме носталгия за момент (или попитайте родителите си дали сте твърде млад, за да сте използвали такъв).
Защо хората са използвали телефонни указатели? Защото искаха да се обадят на човек, чието име знаеха, но чийто номер не знаеха. Да знаеш името на някого, но не и номера му, беше толкова често срещано явление, че разработихме мощни томове за дома на всеки, за да разрешим проблема.
Но имали ли сте някога обратен телефонен указател? Вероятно не си спомняте да знаете номера на човек, но не и името му, след което да се втурнете към книга с библейски пропорции, за да го разберете, нали? Разбира се, имаше тези услуги за търсене на номера, но повечето от нас биха ги използвали рядко, особено в сравнение с обикновения телефонен указател.
Чудили ли сте се защо се случва най-вече в едната посока?
Не само че би било странно, ако хората започнат да кръщават бебетата си 2982940293, но и много по-трудно се помни 10-цифрен телефонен номер, отколкото собственото и фамилното име на човек .
За щастие, телефонните указатели се появиха и решиха проблема. Те ни позволиха да използваме бройни системи, без да се налага да помним всяка една. Всичко, от което се нуждаехме, беше името на желания контакт и можехме да го потърсим в указателя, да напишем номера и след това да се надяваме, че ще вдигнат.
Системата за имена на домейни е много подобна на нашите телефонни указатели . Той действа като указател и ни спасява от необходимостта да помним куп дълги номера. Въпреки това, вместо да преобразува имената на хората в техните телефонни номера, той преобразува имена на домейни като Comparitech.com, в IP адреси , като 209.58.135.68 .
Имена на домейни
Имената на домейни са доста прости. По същество те са буквено-цифрови низ от знаци, който въвеждате, за да посетите уебсайт , като Comparitech.com или Wikipedia.org. Те се регистрират чрез регистратори на имена на домейни като GoDaddy или NameCheap. Най-важното е, че низът от думи или букви, които използваме в повечето имена на домейни, е много по-лесен за запомняне от хората, отколкото съответните IP адреси.
IP адреси
IP означава Internet Protocol, който е основният протокол, който използваме за прехвърляне на данни през мрежи по интернет. Вашият IP адрес по същество е вашият адрес в интернет протокола и всяко свързано с интернет устройство има такова.
Можете да ги мислите много като физически адреси. Ако искате куриер да вземе пакет от вашия бизнес и да го изпрати до друг, и двата адреса са необходими, за да знае куриерът къде да го намери и къде да го остави.
По същия начин, когато посетите уебсайт като Comparitech.com, браузърът на вашия компютър трябва да намери сървъра на Comparitech чрез неговия IP адрес, 209.58.135.68. Като част от взаимодействието, IP адресът на вашия компютър също е от съществено значение, така че нашият сървър да знае къде изпраща данните. Можете да запазите вашия IP адрес скрит от сайт, като използвате VPN, TOR и други инструменти за поверителност, но те са извън обхвата на нашата статия.
Защо използваме както имена на домейни, така и IP адреси?
Има няколко различни причини за това. Ако използвахме само IP адреси, за да посещаваме уебсайтове, колко различни мислите, че бихте могли да запазите в главата си? Вероятно приблизително същата сума като телефонните номера – не много.
Сравнете това с колко имена на домейни ритате в черепа си? Може да са стотици или хиляди. Дори ако никога преди не сте посещавали уебсайт и не знаете адреса му, има голям шанс да успеете да го намерите само като напишете името на бизнеса или лицето без интервали и.снакрая. В много случаи дори няма да имате нужда от инструмент като Google, който да ви помогне да стигнете до там.
Не бихте могли да направите това, ако използвахме само IP адреси. Имената на домейни са просто по-лесни за хората, отколкото IP адресите . Тъй като машините използват IP адреси, а не различните имена, които хората избират за своите уебсайтове, имаме нужда от някакъв начин, по който можем да преведем едното в другото и обратно.
Друга полза от наличието и на двете е, че уебсайтовете могат временно или постоянно да променят своите IP адреси, без това да засегне посетителите им . Ако Comparitech промени своя IP адрес, вие дори няма да забележите. Вашият браузър ще трябва да достигне до друг адрес, но вие все пак ще въведете Comparitech.com и ще стигнете до Comparitech.com, дори ако технически е на ново място.
DNS: Как работи телефонният указател в интернет
Системата за имена на домейни е децентрализирана структура, която използваме главно като директория за превод между имена на домейни и IP адреси . Въпреки че може да изглежда скучно и технически, това е основен компонент на интернет, който би бил силно ограничен без него.
Да приемем, че искате да посетите comparitech.com.
При системата за имена на домейни, когато въвеждате име на домейн в браузъра си, първата стъпка е вашият браузър и операционна система да прегледат и да видят дали вече знаят IP адреса на конкретната уеб страница.
The IP адресът може вече да е кеширан от предишни заявки. Това означава, че ако вече сте преминали през процеса преди, IP адресът може да е бил съхранен, за да улесни нещата в бъдеще . Ако IP адресът вече е кеширан, вашият браузър може директно да се свърже със сървъра на уебсайта за достъп до страницата.
Ако нито вашият браузър, нито вашата операционна система вече знаят IP адреса на домейна, то мъниче резолвер, който е прост DNS резолвер, вграден във вашата операционна система, пита друг сървър, известен като рекурсивен резолвер . Този тип DNS сървър често се управлява от ISP. Ако рекурсивният преобразувател е кеширал списъка, той ще ви изпрати IP адреса, така че вашият браузър да може да намери уебсайта.
Ако рекурсивният резолвер все още няма IP адреса, той започва да работи вместо вас и се опитва да го намери. Първата му стъпка е да се свържете с root сървър за имена . Основният сървър за имена не пази самите IP адреси, но знае къде да пренасочи заявката. Той изпраща на рекурсивния резолвер указанията към съответния сървъри на домейн от първо ниво (TLD). . Това се основава на разширението на заявения домейн. Това е частта в края, като .com, .org, .net и др.
В случай на търсене на comparitech.com, ще бъдете изпратени до TLD за.сдомейни. The.сСлед това TLD ще отговори на вашия рекурсивен преобразувател с авторитетен сървър за имена за домейна, който търсите.
След това вашият рекурсивен резолвер се свързва с авторитетен сървър за имена , и го пита за IP адреса. Авторитетните сървъри на имена знаят IP адресите в своите групи, защото имат достъп до оригиналните данни от регистъра. Това съдържа списъци с имена на домейни заедно със съответните им IP адреси.
The след това авторитетният сървър за имена изпраща на рекурсивния резолвер съответния IP адрес, който го съхранява в своя кеш, доставя на операционната система и след това го прехвърля в браузъра. Това е сложен процес, но накрая, вашият браузър знае IP адреса и може да ви насочи към уебсайта . Въпреки че процесът може да изглежда труден, всичко се случва с едно мигване и преди да се усетите, имате страницата, която искате, пред себе си.
Едно изключение е, ако авторитетният сървър за имена отговори с NXDOMAIN. Това основно означава, че ако уебсайтът съществува, авторитетният сървър за имена няма представа как да го намери. Ако получите отговор на NXDOMAIN, няма да имате достъп до уебсайта, който търсите. Когато получите отговор NXDOMAIN за уебсайт, за който сте сигурни, че е правилен, това обикновено означава, че сайтът е или офлайн, или има проблеми със сървъра.
Как системата за имена на домейни извлича IP адреси.
Да обобщим:
- Вашият браузър проверява дали IP адресът вече е кеширан локално.
- Ако не е, резолверът на мъничета пита DNS рекурсивния резолвер.
- Ако рекурсивният преобразувател няма съхранен IP адрес, той отправя запитване към основния DNS сървър за имена.
- След това основният сървър за имена отговаря на рекурсивния резолвер с кой TLD сървър за имена трябва да се свърже.
- Когато рекурсивният резолвер се свърже със съответния TLD сървър за имена, той казва на рекурсивния резолвер с кой доверен сървър за имена да се свърже.
- Рекурсивният резолвер се свързва с авторитетния сървър за имена, който търси неговите записи, след което изпраща съответния IP адрес обратно на рекурсивния резолвер. Рекурсивният резолвер завършва процеса, като го препраща към вашата машина. След това вашият браузър може да използва IP адреса, за да се свърже с уебсайта .
- Ако авторитетният сървър за имена няма DNS запис, той ще отговори на рекурсивния резолвер с NXDOMAIN.
Разбира се, ако DNS записите бъдат намерени в по-ранните стъпки, уебсайтът може да бъде достъпен, без да се налага да продължавате през целия процес.
Видове DNS атаки
DNS системата е сложна и нападателите могат да се възползват от нея по редица различни начини, като имат предвид различни крайни цели. Много от тези атаки имат за цел да направят уебсайтовете, мрежите или машините недостъпни, често като бомбардират системите им с фалшив трафик, което пречи на законния трафик да има достъп или да използва целевата услуга.
В общ смисъл те са известни като атаки за отказ на услуга (DoS). , които са често срещани в киберсигурността. Най-честата форма на DoS атака е a разпределена атака за отказ на услуга (DDoS). , което на практика означава, че трафикът на нападателя не идва от един източник. Вместо това целта се удря от хиляди различни IP адреси, които обикновено са част от ботнет. Това прави DDoS атаките много по-трудни за защита от DoS атаките.
Тази статия ще обсъжда само DoS и DDoS атаки, които включват системата за имена на домейни, а не тези, които се възползват от други части на интернет инфраструктурата. Тези DoS атаки включват DNS наводняване, заедно с неговите подвидове, NXDOMAIN атаки, произволни атаки на поддомейн и фантомни атаки на домейн .
Атаките с усилване също са вид атака за отказ на услуга , въпреки че са различни от изброените по-горе, защото използват отражение, за да увеличат силата на атаката.
DNS повторното свързване позволява на киберпрестъпниците да проникват в системи , докато DNS тунелирането им позволява да изпращат данни както навътре, така и навън . За разлика, Отвличането на DNS се фокусира върху промяна на конфигурациите на DNS, за да отведе потребителите до нежелани уебсайтове.
Линиите между различните видове DNS атаки не винаги са ясни, но ние се опитахме да ги подредим възможно най-прецизно, за да ви помогнем да разберете как се сравняват една с друга.
DNS наводняване
Ако DNS сървър е наводнен при DDoS атака, всички уебсайтове, които използват сървъра, могат да изпитат прекъсвания на трафика си . Нападателите често използват ботнет мрежи, за да се насочат към сървъри с огромни обеми DNS заявки. Когато сървърите са наводнени от тези злонамерени заявки, това означава, че законните заявки не могат да преминат.
Резултатът?
Ако се опитате да посетите уебсайт и все още не сте кеширали неговия IP адрес, вашата DNS заявка няма да може да премине поради конкуриращите се заявки. Огромният обем на атаката заема всички ресурси на DNS сървъра, така че няма да има свободния капацитет да ви изпрати IP адреса, който търсите.
Ако не можете да получите IP адреса, вашият уеб браузър не знае къде да отиде. аз няма представа как да намери сървъра, който хоства уебсайта, който се опитвате да посетите, така че не може да ви свърже . Дори уебсайтът технически да е все още онлайн, няма да можете да го посетите, ако все още не сте кеширали IP адреса. Това важи за всеки, който се опитва да получи достъп до уебсайта, което означава, че DNS наводненията могат значително да намалят трафика към уебсайтовете.
DDoS атаките не само могат да затрупат сървърите със собствен фалшив трафик, но потребителите, които не могат да се свържат с уебсайта, са склонни непрекъснато да опресняват страниците си. Това води до дори по-голям обем заявки от нормалното, което прави атаката много по-лоша.
Flooding атака срещу DNS сървърите на Dyn
Един от най-добрите примери за атака срещу DNS сървъри е 2016 г Dyn кибератака . Dyn е компания за интернет инфраструктура, която предоставя управлявана DNS платформа. Според компанията на 21 октомври 2016 г. е дошъл под нападение малко след 11 сутринта UTC. По-късно следобед пострада още един.
първоначално DDoS атаката беше насочена към управляваната DNS платформа на Dyn в регионите на Западна САЩ, Азия и Тихия океан, Южна Америка и Източна Европа. Докато Dyn монтира своя отговор, атаката се завъртя и се фокусира върху източната част на САЩ, наводнявайки големи обеми UDP и TCP пакети към порт 53 от значителен брой различни IP адреси.
Втората атака беше по-глобална по своя фокус, но компанията успя да се възстанови до вечерта. Имаше и редица по-малки сондиращи атаки през следващите няколко дни, но Dyn успя да ги смекчи, без да засегне клиенти или потребители.
От гледна точка на потребител на интернет, най-значимият ефект от атаката е, че попречи на някои от тях да имат достъп до уебсайтове. Тези на източното крайбрежие на САЩ е по-вероятно да бъдат засегнати. Засегнати уебсайтове включва Netflix, Spotify, Etsy, PayPal, Reddit, Twitter, GitHub и много други.
Важно е да се отбележи, че самите сайтове не бяха прекъснати, защото техните хостинг услуги не бяха засегнати от атаката . Проблемът беше за посетители на сайта, които не са имали кеширани IP адреси. Тъй като DNS сървърите на Dyn бяха претоварени, тези посетители не успяха да завършат своите DNS търсения, така че не им бяха изпратени съответните IP адреси.
Както обсъдихме в предишния раздел, тази атака също накара онези, които се опитваха да се свържат, непрекъснато да опресняват страниците си, което доведе до още по-голямо задръстване от повтарящите се заявки.
Атаката е организирана от Mirai botnet , който беше огромен ботнет, съставен главно от лошо защитени IoT устройства като рутери и камери. На тази армия от устройства беше наредено да прави DNS заявки в унисон, претоварвайки сървърите на Dyn и затруднявайки преминаването на легитимен трафик.
DDoS flood атаки срещу root сървъри за имена
Също така е възможно DDoS атаките да са насочени към главните DNS сървъри за имена. Теоретично, ако една атака има достатъчно мощност и се поддържа за достатъчно дълъг период от време, тя може да засегне DNS по целия свят, като попречи на интернет потребителите да разрешават своите заявки и им попречи да имат достъп до уебсайтове.
В действителност атаки от такъв мащаб са непрактични, тъй като DNS е децентрализиран и устойчив. Действителните атаки срещу DNS сървъри за основни имена имат по-конкретни фокуси.
Един пример е Атаките през 2015 г извършени срещу няколко от основните сървъри за имена. На 30 ноември и 1 януари няколко от основните сървъри за имена получиха голям обем трафик от различни източници, достигайки до 5 милиона заявки в секунда в пика на атаката.
Във всеки ден от атаката различно име на домейн беше залято от огромното количество заявки. Тези атаки са насочени към повечето, но не към всички DNS сървъри за основни имена. Заявките произхождат от привидно произволни IPv4 адреси, които лесно се подправят, което затруднява определянето на източника на атаката.
Въпреки че атаката включваше необичайно големи натоварвания, тя не оказа значително въздействие върху интернет потребителите. Според изявлението на Органа за присвояване на номера в интернет (IANA), не е имало „известни доклади за видими грешки на крайния потребител по време и в резултат на този инцидент“.
IANA продължи да заявява, че доколкото й е известно, единствените въздействия биха били някои потенциално незначителни закъснения в DNS търсенията , което би било „едва забележимо“ за интернет потребителите. Той приписва това на „цялостната устойчивост“ на DNS системата за основен сървър на имена.
през 2016 г. двама изследователи на VeriSign изнесоха лекция на конференция в Буенос Айрес, описвайки подробно тяхното разследване на атаката. Те откриха, че въпреки че DNS сървърите за основни имена са били засегнати от атаката, те не са били основните цели. Вместо това изследователите твърдят, че истинските цели са били два китайски IP адреса.
NXDOMAIN атака
NXDOMAIN атака е специфичен тип flood атака, която включва хакер, изпращащ голямо количество невалидни заявки към целеви DNS сървър. След това сървърът отправя запитване към авторитетния сървър за имена за IP адреси, които не съществуват, изразходвайки ресурсите и на двата сървъра. Ако атаката е достатъчно силна, това може да доведе до победа и на двамата.
Това води до наводняване на двата сървъра от невалидни заявки, което възпрепятства времето им за реакция за реални заявки и потенциално спира всичките им услуги за разрешаване на DNS. На практика това означава, че когато потребителите на интернет се опитат да посетят уебсайт, който използва атакувания DNS сървър, те ще изпитат забавяне или няма да могат да го достигнат, ако вече нямат кеширан IP адрес.
NXDOMAIN атаките могат да бъдат трудни за откриване на администраторите на DNS сървъри , тъй като те могат да предположат, че системата страда от проблеми с производителността, вместо да бъде наводнена от безбройните невалидни заявки на NXDOMAIN атака.
Случайна атака на поддомейн
Случайната атака на поддомейн е донякъде подобна на NXDOMAIN атака. Въпреки това, вместо да търсите невалиден или несъществуващ домейн, те включват отправяне на заявки за поддомейни, които не съществуват.
За да илюстрираме идеята, нека кажем, че основният домейн example.com е реален и организацията зад него управлява форум, център за поддръжка и раздел за кариера на уебсайта. Всеки от тях се намира в свои собствени поддомейни, съответно forum.example.com, support.example.com и career.example.com.
Ако искате да стартирате произволна атака на поддомейн срещу example.com, не бихте изпратили DNS заявки за forum.example.com или някой от другите съществуващи поддомейни. Вместо това ще генерирате низ от произволни знаци като невалидни поддомейни и ще правите заявки за тях.
Тези невалидни поддомейни може да изглеждат по следния начин:
n78tofoahdk.example.com
94nfajfo8.example.com
a4nkasof874.example.com
Когато правите заявки за невалидни поддомейни, рекурсивният сървър изразходва времето и ресурсите си за многократно запитване до авторитетния сървър за имена за поддомейни, които не съществуват , преди да върне съобщения за грешка.
Това поставя допълнителен стрес както върху рекурсивния сървър, така и върху авторитетния сървър за имена. Ако стартирате атаката с голяма ботнет, като всеки роб прави само няколко от тези заявки, това може да отнеме огромно количество ресурси, предотвратявайки преминаването на законни заявки.
Точно както при атаките на NXDOMAIN, когато хората се опитват да осъществят достъп до example.com, без IP адресът вече да е кеширан, те ще бъдат забавени или ще бъдат възпрепятствани да достигнат до сайта . Това е така, защото DNS сървърът е толкова затрупан от заявките за невалидни поддомейни от всички подчинени устройства.
Случайните атаки на поддомейни могат да бъдат трудни за откриване. Когато те произхождат от ботнети на устройства, които са били превзети от киберпрестъпници, е трудно да се различи кои заявки всъщност са легитимни.
Добър пример за възможна произволна атака на поддомейн беше публикуван от ФБР през февруари 2020 г. Блеещ компютър съобщи, че е видял документ на ФБР, който показва, че т DNS сървърът за уебсайт за регистрация на гласоподаватели е получил големи количества DNS заявки, които са в съответствие с произволна атака на поддомейн.
В течение на един месец DNS сървърът претърпя редица скокове, достигайки над 200 000 заявки през периоди от време, които обикновено получават около 15 000 заявки. Тези заявки бяха предимно за поддомейни, които не съществуваха и идваха от IP адреси, които принадлежаха на рекурсивни DNS сървъри. Това замъглява произхода на нападателя. Не е публично известно дали ФБР е успяло да проследи нападателя в своите разследвания.
Фантомна атака на домейн
При атака на фантомен домейн, a хакерът първо настройва серия от домейни, които са конфигурирани или да не отговарят, или да отговарят изключително бавно на DNS заявки . След това нападателят изпраща големи обеми от заявки за тези домейни към техния целеви DNS рекурсивен резолвер. Сървърът непрекъснато отправя запитвания към тези фантомни домейни в очакване на отговор.
Още веднъж, това изяжда ресурсите на рекурсивния сървър и може или да го забави значително, или да доведе до неуспех, предотвратявайки интернет потребителите да правят легитимни DNS заявки към сървъра. В крайна сметка това може да им попречи да имат достъп до сайта, който се опитват да посетят.
DNS усилващи атаки
Атаките с усилване на DNS са малко отклонение от тези, които вече разгледахме. Всяка от техниките, които обсъдихме по-горе, включва намиране на начини за претоварване на DNS сървърите, които уебсайтовете използват, на свой ред или предотвратявайки достъпа, или затруднявайки хората да достигнат до засегнатите уебсайтове.
Въпреки че атаките с усилване на DNS целят срив или забавяне на услугите, те не го правят, като се опитват да претоварят DNS сървърите. Вместо това те използват DNS сървърите като оръжия.
Атаките с усилване на DNS са специфичен тип отражателна атака. Атаките с отразяване на DNS включват киберпрестъпници, които правят заявки към DNS сървъри за IP адреси. Те обаче правят това, без да използват собствените си адреси – те фалшифицират заявката и вместо това вмъкват данните на целта.
Когато нападател прави заявки с подправен адрес, DNS сървърите получават заявките, след което изпращат отговорите на фалшивия адрес на целта. Ако нападателят създаде големи обеми от тези заявки, огромният брой отговори, изпратени до целта, може да я забави или затрупа.
Сървърът за целевия уебсайт се наводнява с отговорите за заявки, които дори не е правил, изтощавайки ресурсите му и потенциално го причинявайки недостъпен.
При нормални обстоятелства атака от такова естество би изисквала изключително голям обем фалшиви заявки, за да затрупа жертвата с отговори от DNS сървъри. Но какво ще стане, ако хакерът може да настрои атаката така, че всяка заявка да предизвика много по-голям отговор в замяна? Този вид увеличение ще направи много по-лесно максимално използване на ресурсите на целта и нейното сриване.
Това е основната концепция зад атаките за усилване на DNS – увеличаване на ефективността чрез намиране на начин за изпращане на относително малки заявки, които в крайна сметка ще върнат изключително големи отговори от DNS сървъри.
Добър пример за изключително ефективна атака с усилване е DDoS атаката, използваща Memcached сървъри през UDP, за която за първи път е писано от Cloudflare през 2018 г. Имайте предвид, че тази атака не използва DNS протокола, но все пак е добър пример за това как принципите зад усилването могат да направят атаките много по-мощни.
DDoS атака с помощта на Memcached сървъри през UDP
Нека започнем, като разопаковаме акронимите и жаргона в заглавието, така че всички да сме на една страница. Първо, имаме DDoS, който вече споменахме, е съкращение от разпределена атака за отказ на услуга.
Memcached е софтуер с отворен код, който се използва за ускоряване на определени уебсайтове чрез кеширане на някои данни. Използван е от Уикипедия , Google Cloud , Facebook и куп други уебсайтове, така че това е доста важен компонент от начина, по който взаимодействаме с интернет.
UDP е Протокол за потребителска дейтаграма , който е една от основите на набора от интернет протоколи, позволяващ на компютърните приложения да изпращат съобщения (известни като дейтаграми) по интернет в стандартизиран формат.
Когато Memcached сървърите са неправилно конфигурирани, нападателите могат да ги използват в атаки за усилване над UDP. Както се подчертава в статията на Cloudflare, заявка към Memcached сървър от само 15 байта може да доведе до отговор от 750 килобайта, което представлява увеличение от 51 000 процента.
Чрез монтирането на усилваща атака с помощта на тази техника става много по-лесно за хакерите да надделеят над своите цели. Всичко, което трябва да направят, е да направят поредица от малки заявки от робите на тяхната ботнет и целта бързо се наводнява, предотвратявайки законния достъп до уебсайта.
Атаките с усилване обикновено са трудни за защита, тъй като отговорите идват от легитимни сървъри. Добрата новина е, че версия 1.5.6 на Memcached помогна за смекчаване на този специфичен тип атака на усилване, като деактивира UDP по подразбиране. Въпреки това, остарели версии на Memcached, както и набор от други услуги, все още могат да се използват за монтиране на атаки с усилване.
DNS повторно свързване
DNS rebinding е техника за атака, която включва злоупотреба с DNS за проникване в частна мрежа. Това е подла маневра позволява на киберпрестъпниците да заобиколят политиката за същия произход .
По същество политиката за един и същи произход е концепция в сигурността на уеб приложенията, при която една уеб страница има достъп до данни от втора страница само ако и двете имат един и същ произход – и двете идват от едно и също име на хост, номер на порт и идентификационен номер.
Политиката за един и същи произход е критична за нашата онлайн сигурност. Без него може да сте влезли в банковата си сметка в един раздел и да разглеждате несигурен сайт в друг. Ако несигурният сайт хоства злонамерен JavaScript, той може да изиска данни от банковия ви раздел, да получи достъп до акаунта ви и дори да прехвърли всичките ви пари в чуждестранна банка.
за щастие, политиката за същия произход предотвратява това да се случи, защото вашата банка и незащитеният сайт имат различен произход.
Ще използваме пример, за да обясним как преобвързването на DNS може да се използва, за да се заобиколи политиката за същия произход. Да кажем, че се чувствате зловещо и искате да получите достъп до частната мрежа на организация, за да откраднете данни или да използвате нейните ресурси за изпращане на спам.
Първата ви стъпка в атака за повторно свързване на DNS би била да регистрирате домейн, като DNSrebindingexample.com. След това ще трябва да свържете домейна към DNS сървър, който също е под ваш контрол.
На този DNS сървър бихте го конфигурирали за изключително кратко време време за живот (TTL) . По отношение на DNS, TTL е продължителността от време, за което DNS записът може да бъде кеширан.
Ако конфигурирате TTL на вашия DNS сървър на около 10 секунди, вие ефективно предотвратявате кеширането на DNS записи. Това означава, че всеки, който се опитва да посети домейна, ще трябва да се свързва със сървъра всеки път.
Следващата стъпка е да привлечете жертвата към домейна. Има куп начини да направите това, но ако се насочвате към конкретна организация, да речем, че изпращате спам на всеки от служителите й с фишинг имейли които съдържат URL адреса под предлог, че това е уебсайтът за потенциален нов клиент.
Да предположим, че организацията има лоши практики за обучение по киберсигурност и поне един служител се влюбва в съобщението и кликва върху връзката . Докато техният уеб браузър се опитва да достигне вашия уебсайт, той първо се свързва с вашия DNS сървър. DNS сървърът отговаря на жертвата с DNSrebindingexample.com, IP адрес, който ще кажем, че е 1.2.3.4.
Жертвата се свързва с вашия уебсайт, който хоства злонамерен JavaScript, който автоматично се изпълнява като a изтегляне от шофиране . Скриптът ще изпълни полезен товар в частната мрежа на жертвата, която след това ще търси несигурни устройства, чиито пароли по подразбиране не са променени. Да приемем, че намирате рутер с IP адрес 4.4.4.4 зад защитната стена на организацията.
Когато браузърът на целта се опита да се свърже отново с вашия уебсайт, краткото TTL означава, че трябва да се свърже отново с вашия DNS сървър. Въпреки това, вместо да изпращате IP адреса на вашия сайт от 1.2.3.4, този път конфигурирате вашия DNS сървър да отговаря с IP адреса на рутера от 4.4.4.4.
Това ви позволява да заобиколите една и съща политика за произход на браузъра, тъй като и 1.2.3.4, и 4.4.4.4 изглежда имат един и същ произход, DNSrebindingexample.com. След това можете лесно да получите достъп до рутера зад защитната стена на организацията, защото браузърът не вижда причина да блокира достъпа, който изглежда идва от същото местоположение .
От този момент можете да проникнете по-навътре в мрежата, за да откраднете данни или да предприемете редица други атаки.
През 2017 г. а изследовател по сигурността от Google откри уязвимост в Blizzard Update Agent, която изложи на риск всичките му потребители. Нападателите биха могли да се възползват от него, за да инсталират зловреден софтуер, а агентът за актуализиране би предположил, че файловете са просто актуализации за игри.
Агентът за актуализиране създаде JSON RPC сървър с крайна точка, която не изисква оторизация, но други заявки трябваше да имат валидна заглавка за оторизация заедно с токена. Агентът за актуализиране на Blizzard е настроен по такъв начин, че позволява на уебсайтовете да изпращат заявки към демона с XMLHttpRequest(). Беше уязвим за повторно обвързване на DNS, тъй като уебсайтовете могат лесно да създават DNS имена, с които са упълномощени да се свързват, след което да ги преобразуват в локалния хост.
Резултатът от настройката на агента за актуализиране на Blizzard беше, че всеки уебсайт можеше да изпраща привилегировани команди към него, позволявайки на хакерите да ескалират своите атаки. Въпреки някои неразбирателства с откривателя на грешката, проблемът най-накрая беше закърпени в началото на 2018г.
Отвличане на DNS
Нападателите могат също така да се възползват от DNS системата, за да изпращат жертви към фалшиви уебсайтове, използвайки техника, наречена отвличане на DNS. Това е общ термин, известен също като DNS пренасочване, докато методите, които се фокусират върху нападател, променящ DNS отговора, са известни като DNS spoofing. Атаките, които запълват кеша на DNS резолвера с фалшиви записи на IP адреси, са известни като отравяне на кеша.
При отвличане на DNS нападателите отклоняват жертвите си от популярните уебсайтове, които обикновено посещават, използвайки Трикове, свързани с DNS, за да ги доведете до измамни сайтове . Тези фалшиви уебсайтове често са проектирани да изглеждат като законните сайтове и имат за цел да заблудят жертвите си да въведат своите идентификационни данни за вход или данни за кредитна карта. След това хакерите използват тази информация за достъп до техните акаунти или за извършване на измами и други престъпления.
Като алтернатива киберпрестъпниците могат също да използват отвличане на DNS, за да изпратят жертви към уебсайтове, които хостват зловреден софтуер. Това може да включва ransomware, шпионски софтуер, рекламен софтуер, троянски коне и набор от други злонамерени програми. В крайна сметка хакерите използват този зловреден софтуер, за да измъкнат каквото искат от жертвата, независимо дали е информация, достъп или пари.
Нападателите също се възползват от отвличането на DNS, за да пренасочат жертвите към уебсайтове, които контролират, така че да могат да правят пари от приходи от реклами. В това, което е известно като фармацевтични , вместо да стигнат до предвидения уебсайт, жертвите се пренасочват към сайт, контролиран от нападателя, който е силно натоварен с реклами. След това нападателят прави пари въз основа на гледания или кликвания.
Интернет доставчиците, доставчиците на DNS услуги и националната инфраструктура за цензура като Великата защитна стена на Китай използват Отвличане на DNS за показване на реклами, събиране на данни и блокиране на достъпа до определени уебсайтове . Това е противоречива практика в общността по сигурността, тъй като хората не само се насочват далеч от предназначените за тях уебсайтове, но също така може да ги направи уязвими междусайтови скриптови (XSS) атаки и възпрепятстват функционалността на различни системи, излагайки ги на допълнителни проблеми със сигурността.
В много ситуации интернет доставчиците използват отвличане на DNS за собствените си бизнес цели, но понякога им се нарежда да пренасочват посетители от определени сайтове със съдебно разпореждане. Добър пример за това е, когато Холандските съдилища наредиха на интернет доставчиците за блокиране на сайта за торент, The Pirate Bay.
Различни видове отвличане на DNS
Отвличането на DNS използва няколко различни техники за отклоняване на интернет потребител от предвидения уебсайт към злонамерена страница:
- Местно отвличане – Този тип отвличане на DNS включва хакер, който инсталира злонамерен софтуер на компютъра на целта, след което променя локалните настройки на DNS, за да ги пренасочи към злонамерен сайт вместо предвидената уеб страница.
- Отвличане на рутер – Много рутери имат уязвимости във фърмуера или все още използват своите пароли по подразбиране. Нападателите могат да се възползват от тези слабости в сигурността, за да получат достъп и да преконфигурират DNS настройките на рутера. Ако променят DNS настройките за определени сайтове на тези на злонамерен сайт, всеки, който се свързва през рутера, ще бъде пренасочен към злонамерения сайт, когато се опита да получи достъп до уебсайтовете, чиито DNS подробности са променени.
- Компрометиран сървър – Хакерите могат да компрометират DNS сървърите и да променят техните конфигурации, така че IP адресите на целевите уебсайтове действително да сочат към сайтове под контрола на нападателите. Всеки интернет потребител, чиято машина прави DNS заявка към един от целевите уебсайтове на компрометирания сървър, ще бъде пренасочен към злонамерения уебсайт, където може да се натъкне на злонамерен софтуер, фишинг или фарминг.
- Man-in-the-middle DNS отвличане – При атака „човек по средата“ киберпрестъпниците се вмъкват в комуникационен канал и или слушат, или променят съобщенията. Процесът е подобен при отвличане на DNS, като нападателят прихваща съобщенията, изпратени между DNS сървър и потребител. Нападателят променя отговора на DNS сървъра на IP адреса на техния злонамерен уебсайт, изпращайки потребителя към злонамерения сайт.
Добър пример за отвличане на локален DNS беше открит от Bitdefender изследователи през март 2020 г. Атаката включваше насочване към рутери и преконфигуриране на техните DNS настройки, което би изпратило жертвите до сайтове, натоварени със зловреден софтуер вместо страниците, които възнамеряват да посетят.
Изглежда, че атаката е насочена главно към различни модели рутери на Linksys. Въпреки че изследователите не са 100 процента сигурни как рутерите са били компрометирани, те предположиха, че това е чрез брутфорсиране на акаунти в облака на Linksys или чрез намиране на онлайн достъп до конзолите за управление на рутерите.
След като хакерите имат достъп, те променят настройките на DNS, така че жертвите, опитващи се да получат достъп до сайтове като disney.com или aws.amazon.com, да бъдат пренасочени към страници, които са под контрола на киберпрестъпниците.
При пристигането на страницата жертвите бяха посрещнати от изскачащ прозорец с фалшиво съобщение от Световната здравна организация, което им казваше да изтеглят и инсталират приложение, което съдържа информация за COVID-19.
Разбира се, тези, които попаднаха в капана, наистина завършиха с изтегляне на злонамерен .exe файл от хранилище на Bitbucket, което постави началото на верига от събития, водещи до инсталирането на Oski infostealer. След това този зловреден софтуер може да открадне голямо разнообразие от чувствителни данни от своите жертви, включително пароли за криптовалута и идентификационни данни за вход.
DNS тунелиране
DNS тунелирането е техника за атака, която използва DNS протокола за транспортиране на кодирани данни . Хакерите често го използват, за да извличат чувствителна информация от целеви организации. Те могат също така да се възползват от DNS тунелирането, за да се свържат с команден и контролен сървър от целевата мрежа, след което да изтеглят допълнителен зловреден софтуер в защитната стена на организацията.
DNS протоколът е основен и привидно безобиден компонент на интернет. Много организации не го наблюдават внимателно, което оставя възможност за киберпрестъпниците. Разбира се, има много други протоколи, които са по-подходящи за транспортиране на данни, но те са склонни да бъдат строго пазени. DNS тунелирането дава възможност на атакуващите да заобиколят защитните стени и методите за откриване.
Преди хакерите да могат да използват DNS тунелиране, за да откраднат данни от мрежата на организацията, те първо се нуждаят от достъп в мрежата на организацията. Това често се постига с фишинг или друга форма на доставка на зловреден софтуер.
Нападателите също трябва да имат DNS сървър извън целевата мрежа под техен контрол, както и уебсайт с DNS записи, които са достъпни чрез този DNS сървър. След като всичко е настроено, следващата стъпка е да ексфилтрирате чувствителни данни през DNS тунела.
След това хакерите инсталират локален DNS тунелен клиент в мрежата на целевата организация използвайте го, за да кодирате чувствителната информация като DNS заявки за уебсайта, контролиран от нападателя . Тези заявки се изпращат до DNS сървъра, който е под контрола на нападателя, под прикритието, че някой от организацията всъщност се опитва да получи достъп до уебсайта на нападателя.
Тъй като DNS протоколът често не се разглежда внимателно, тази техника позволява кодираните данни да бъдат ексфилтрирани, без да бъдат открити . Освен ако целевата организация не следи внимателно DNS протокола, хакерът може да измъкне чувствителните данни като това, което изглежда просто безвредни DNS заявки. По време на процеса DNS сървърът на атакуващия изпраща обратно отговори, за да изглеждат заявките легитимни.
След като DNS заявките са извън целевата мрежа и в ръцете на нападателя, те се декодират обратно в оригиналната си форма като чувствителна информация. От този момент нападателят може да продаде информацията, да я използва за измама или да извърши набор от други престъпления.
DNS тунелиране на OilRig
Страхотен пример за DNS тунелиране беше анализиран от екипа по сигурността, Единица 42 . Като част от своите разследвания на действията на групата за заплахи OilRig, Unit 42 откри персонализиран троянски кон, известен като ALMA Communicator.
След като ALMA Communicator бъде инсталиран в системата на целта, той ще комуникира обратно с командния и контролен център и ще ексфилтрира данни чрез DNS тунелиране. Въпреки това, той може да ексфилтрира само ограничено количество данни, като всяка DNS заявка може да съдържа само 10 байта. Големите файлове ще изискват значителен брой заявки, увеличавайки вероятността за откриване.
Предотвратяване на DNS атаки
Поради широкия набор от DNS атаки, редица различни подходи са необходими за защита, някои от които са извън контрола на индивида или организацията. Като пример, ако вашият уебсайт е използвал DNS сървърите на Dyn по време на атаките от 2016 г., споменати по-горе, не бихте могли да направите много, за да направите сайта си достъпен за тези, които се нуждаят от неговия IP адрес, освен ако не сте имали резервен DNS сървър.
Все още обаче има много неща, които вашата организация може да направи:
- Извършете DNS одит – С течение на времето е лесно да забравите за старите поддомейни или тестови домейни под ваш контрол. Някои от тях може да работят с остарял софтуер или лесно да бъдат достъпни от нападатели. Одитирането на вашите DNS зони ще ви даде необходимата представа за откриване на свързани с DNS уязвимости, което ще ви помогне да разберете какво трябва да се адресира.
- Използвайте специален DNS сървър – За по-малките компании е изкушаващо да хостват своя DNS сървър заедно със своите сървъри за приложения. Това обаче увеличава рисковете от атаки на уеб приложения. Ето защо е най-добре да стартирате DNS услуги на изолиран сървър.
- Ограничете трансферите на зони – Прехвърлянията на DNS зони са копия на DNS зоната. Ако вашето прехвърляне на DNS зона попадне в ръцете на нападател, това може да им даде по-добро разбиране на структурата на вашата мрежа. Можете да попречите на нападателите да извършват трансфери на зони, като влезете в конфигурационния файл на вашия DNS софтуер и ограничите трансферите на зони до конкретни IP адреси.
- Изключете DNS рекурсията – Ако вашият сървър е конфигуриран да позволява DNS рекурсия, това означава, че хостове от трети страни могат да отправят заявки към сървърите за имена. Това улеснява киберпрестъпниците да извършват атаки с отравяне на кеша и атаки с усилване на DNS. DNS рекурсията може да бъде деактивирана чрез промяна наnamed.confфайл.
- Актуализирайте вашите DNS сървъри – Киберпрестъпниците обичат да се възползват от уязвимостите в стария софтуер, така че стартирането на корекции възможно най-скоро е от съществено значение. Това важи навсякъде, включително за тези, които управляват свои собствени сървъри за имена. Най-новите версии на софтуер като Microsoft DNS и BIND поддържат спецификации за сигурност като DNSSEC, който предоставя мерки за удостоверяване и интегритет на данните.
- Използвайте услуга за ограничаване на DDoS – Ако вашите DNS сървъри са насочени към голяма DDoS атака, това може да направи услугите недостъпни, причинявайки смущения в бизнеса. Най-добре е да използвате доставчик на смекчаване на DNS като Cloudflare или Akamai, чиито ресурси могат да ви помогнат да поддържате вашите DNS сървъри онлайн.
Поради голямото разнообразие от DNS атаки, не е възможно да се обсъжда всеки важен защитен механизъм в подробностите, които заслужават. Всяка организация има своя собствена инфраструктура, софтуер и нужди, така че е трудно да се даде разумен съвет, който да отговаря на всяка ситуация.
Важното нещо, което трябва да разберете, е как работи DNS протоколът и как може да се злоупотребява с него по редица различни начини. Организациите ще могат да се защитят само ако разбират рисковете, пред които са изправени, и предприемат проактивен подход към защитата си. В противен случай те могат да се сблъскат със сериозните последици от прекъсване на бизнеса, кражба на данни или нещо по-лошо.