Достъпът до DoS (Denial of Service) и DDoS (Distributed Denial of Service) атаки стават все по-чести и мощни. Нападенията за отказ от обслужване идват в много форми, но имат обща цел: спиране на потребителите да имат достъп до ресурс, независимо дали става въпрос за уеб страница, имейл, телефонна мрежа или нещо друго. Нека да разгледаме най-често срещаните видове атаки срещу уеб цели и как DoS може да стане DDoS.
В основата си, атака на отказ от услуга обикновено се извършва чрез наводняване на сървър - да речем, на сървър на уеб сайт - толкова, че да не може да предоставя услугите си на легитимни потребители. Има няколко начина, по които това може да се осъществи, като най-често срещаните са атаки на TCP за наводняване и атаки за усилване на DNS.
Почти целият трафик в мрежата (HTTP / HTTPS) се осъществява посредством протокола за управление на преноса (TCP). TCP има повече разходи от алтернативата, User Datagram Protocol (UDP), но е проектиран да бъде надежден. Два компютъра, свързани помежду си чрез TCP, ще потвърдят получаването на всеки пакет. Ако не е предоставено потвърждение, пакетът трябва да бъде изпратен отново.
Какво се случва, ако един компютър бъде прекъснат? Възможно е даден потребител да загуби властта, техният интернет доставчик да е неуспешен или каквото и да е приложение, което използва, без да информира другия компютър. Другият клиент трябва да спре изпращането на същия пакет или пък да губи ресурси. За да се избегне непрекъснато предаване, се посочва времетраенето на изчакване и / или се поставя ограничение колко пъти може да бъде изпратен пакетът, преди да се откаже напълно връзката.
TCP е създаден, за да улесни надеждната комуникация между военните бази в случай на бедствие, но този дизайн я оставя уязвим при атаки срещу отказ от обслужване. Когато TCP е създаден, никой не е знаел, че ще бъде използван от над един милиард клиентски устройства. Защитата срещу съвременните атаки за отказ на услуги просто не беше част от процеса на проектиране.
Най-честата атака на отказ от услуга срещу уеб сървъри се извършва чрез спам на SYN (синхронизиране) пакети. Изпращането на SYN пакет е първата стъпка за иницииране на TCP връзка. След получаване на пакета SYN, сървърът отговаря със SYN-ACK пакет (потвърждаване на синхронизирането). Накрая, клиентът изпраща пакет ACK (потвърждение), който завършва връзката.
Ако обаче клиентът не отговори на пакета SYN-ACK в определено време, сървърът отново изпраща пакета и чака отговор. Той ще повтори тази процедура отново и отново, което може да загуби паметта и времето на процесора на сървъра. Всъщност, ако бъде направено достатъчно, то може да загуби толкова много време за паметта и процесора, за да могат легитимните потребители да спрат сесиите си, или новите сесии не могат да започнат. Освен това увеличеното използване на честотната лента от всички пакети може да насити мрежи, което ги прави невъзможни за извършване на трафика, който действително искат.
Атаките срещу отказ от обслужване могат да се насочат и към сървърите DNS: сървърите, които превеждат имена на домейни (като например howtogeek.com) в IP адреси (12.345.678.900), които компютрите използват за комуникация. Когато пишете howtogeek.com във вашия браузър, той се изпраща на DNS сървър. След това DNS сървърът ви насочва към действителния уеб сайт. Скоростта и ниската латентност са основни проблеми за DNS, така че протоколът работи над UDP вместо TCP. DNS е критична част от инфраструктурата на интернет и честотната лента, консумирана от DNS заявки, обикновено е минимална.
Въпреки това DNS бавно нараства, като постепенно се добавят нови функции с течение на времето. Това доведе до проблем: DNS има ограничение на размера на пакета от 512 байта, което не беше достатъчно за всички тези нови функции. Така че през 1999 г. IEEE публикува спецификацията за разширителни механизми за DNS (EDNS), която увеличи горната граница до 4096 байта, което позволява да се включи повече информация във всяка заявка.
Тази промяна обаче направи DNS уязвима за "атаки на амплификация". Нападателят може да изпраща специално създадени заявки към DNS сървъри, като изисква голямо количество информация и изисква от тях да бъдат изпратени на IP адреса на целевата си група. Създава се "усилване", защото отговорът на сървъра е много по-голям от заявката, която го генерира, а DNS сървърът ще изпрати отговора си на подправения IP адрес.
Много DNS сървъри не са конфигурирани да откриват или пускат лоши искания, така че когато нападателите неколкократно изпращат фалшиви заявки, жертвата получава наводнения с огромни EDNS пакети, които пресичат мрежата. Не могат да се справят с толкова много данни, законният им трафик ще бъде загубен.
Атака срещу разпространено отказване от услуга е тази, при която има няколко (понякога невиждащи) нападатели. Уеб сайтовете и приложенията са проектирани да обработват много паралелни връзки - в края на краищата, уеб сайтовете няма да са много полезни, ако само един човек може да посети едновременно. Гигантските услуги като Google, Facebook или Amazon са предназначени за работа с милиони или десетки милиони съпътстващи потребители. Поради това не е възможно един единствен нападател да ги свали с атака на отказ от услуга. Но много атакуващите биха могли.
Най-разпространеният метод за набиране на нападатели е чрез ботнет. В един бот, хакерите заразяват всички видове интернет свързани устройства с злонамерен софтуер. Тези устройства могат да бъдат компютри, телефони или дори други устройства във вашия дом, като DVR и камери за сигурност. Веднъж заразени, те могат да използват тези устройства (наричани зомбита), за да се свързват периодично със сървър за команди и контрол, за да поискат инструкции. Тези команди могат да варират от минните cryptocurrencies до, да, участващи в DDoS атаки. По този начин те не се нуждаят от тон хакери, които да се съберат заедно - те могат да използват несигурните устройства на обикновените домашни потребители, за да вършат мръсната си работа.
Други DDoS атаки могат да се извършват доброволно, обикновено поради политически мотивирани причини. Клиенти като Low Orbit Ion Cannon правят DoS атаките прости и лесно се разпространяват. Имайте предвид, че в повечето страни е незаконно да участвате (умишлено) в атака на DDoS.
И накрая, някои DDoS атаки могат да бъдат непреднамерени. Първоначално споменаван като ефектът на Slashdot и обобщен като "прегръдка на смъртта", огромни обеми от легитимен трафик могат да осакатят уебсайт. Вероятно сте виждали това да се случи преди - популярен сайт, свързан с малък блог и огромен приток на потребители, които случайно са довели сайта надолу. Технически, това все още е класифицирано като DDoS, дори и да не е умишлено или злонамерено.
Типичните потребители не трябва да се безпокоят, че са обект на атаки срещу отказ от обслужване. С изключение на streamers и pro геймъри, много рядко е да се посочи DoS, който да е насочен към човек. Казано, все пак трябва да направите всичко възможно, за да защитите всичките си устройства от злонамерен софтуер, който може да ви направи част от ботнет.
Ако обаче сте администратор на уеб сървър, има много информация за това как да защитите услугите си срещу DoS атаки. Конфигурацията на сървъра и уредите могат да смекчат някои атаки. Други могат да бъдат предотвратени, като се гарантира, че неудостоверените потребители не могат да изпълняват операции, изискващи значителни сървърни ресурси. За съжаление, успехът на DoS атака най-често се определя от кой има по-голямата тръба. Услуги като Cloudflare и Incapsula предлагат защита, като стоят пред уеб сайтове, но могат да бъдат скъпи.