Класифікація DDoS-атак.
Мережеві DоS та DDоS-атаки
Атаки, спрямовані на захоплення критичних системних ресурсів: процесорний час, місце на диску, пам’ять і т.д. Resource starvation часто дуже схожий на bandwidth consumption: зломщик відсилають безліч запитів на сервер. Але на цей раз пакети не забивають канал хоста-жертви, а займають, скажімо, всі його процесорний час. Адже на обробку кожного пакету сервер витрачає деякий процесорний зусилля… Читати ще >
Класифікація DDoS-атак. Мережеві DоS та DDоS-атаки (реферат, курсова, диплом, контрольна)
· Насичення смуги пропускання (bandwidth consumption).
Ці атаки засновані на тому, що атакуючий заповнює смугу пропускання каналу. Відповідно, забитий канал не може пропустити до сервера ще які-небудь інші запити. Інформація з сервера стає тимчасово недоступною для користувачів.
· Недолік ресурсів (resource starvation).
Атаки, спрямовані на захоплення критичних системних ресурсів: процесорний час, місце на диску, пам’ять і т.д. Resource starvation часто дуже схожий на bandwidth consumption: зломщик відсилають безліч запитів на сервер. Але на цей раз пакети не забивають канал хоста-жертви, а займають, скажімо, всі його процесорний час. Адже на обробку кожного пакету сервер витрачає деякий процесорний зусилля. Результат — всі інші процеси висять, користувачі не можуть отримати доступу до сервісів.
· Помилки програмування (programming flaw).
Ці атаки спрямовані на слабкі місця, «баггі» і недокументовані функції операційних систем, програмного забезпечення, процесорів і програмованих мікросхем. Знаючи «дірки» в чимось з перерахованого вище, можна створити і відправити за призначенням певний пакет, який викличе якусь помилку, переповнення буфера або стека. В результаті цього можливі тяжкі наслідки для всієї системи.
· Маршрутизація і DNS.
Якщо мати доступ до маршрутизатора, то можна змінити таблиці маршрутизації таким чином, щоб бажаючі потрапити на сервер з IP адресою таким-то потрапляли зовсім на інший IP-адреса, або на IP, якого взагалі не існує. Те ж саме DNS, але вже щодо сайтів. Якщо отримати доступ до кешу DNS, можна прив’язати шукане доменне ім'я зовсім до іншого IP адресою, і тоді користувачі будуть потрапляти на цей самий зовсім інший сервер, а не туди, куди вони хотіли. Якщо ж вставити взагалі неіснуючий IP, то це буде більше схоже на DoS.
Особливістю цих атак є те, що сам атакується сервер (та він, загалом то, і не атакуємо) продовжує нормально працювати, у той час як його користувачі не можуть на нього потрапити.
· Flood (Флуд або Потік / Затоплення).
Цей тип можна віднести до попередніх DoS, але виділимо його окремо. З деякої кількості машин посилають жертві максимально можливу кількість запитів (наприклад, запити на з'єднання). Від цього жертва не встигає відповідати на кожен запит, і в результаті не відповідає на запити користувачів, тобто перестає нормально функціонувати. Можна виділити наступні типи Flood:
SYN Flood — при даному виді атаки на атакується вузол направляється велика кількість SYN-пакетів по протоколу TCP. При цьому на атакується сервері через короткий час вичерпується кількість відкритих сокетів і сервер перестає відповідати.
UDP Flood — цей тип флуду атакує не комп’ютер-мета, а його канал зв’язку. Провайдери резонно припускають, що UDP більш пріоритетним, ніж TCP. Великою кількістю UDP-пакетів різного розміру викликається перевантаження каналу зв’язку, і сервер, що працює по протоколу TCP, перестає відповідати.
ICMP Flood або Ping Flood — те ж саме, що SYN Flood тільки пакетами ICMP. Система повинна відповісти на такий пакет, тим самим створюється велика кількість пакетів, які знижують продуктивність каналу.
Identification Flood (Ident Flood) — Схожий на ICMP Flood, але відповідь на запит на порт 113 типу identd займає у системи більше часу, тому атака більш ефективна.
DNS Flood — атака спрямована на DNS сервера. Їх наповнюють DNS запити, на які сервер не встигає відповідати, таким чином, на Ваші запити він так само відповісти не зможе. Як наслідок, Ви не можете відвідувати Інтернет сайти.
DDoS DNS — Атака досить нова, і ще немає «усталеного» назви. По суті, цей прийом приблизно те ж саме, що і попередній, з тією лише різницею, що запити надходять з великої кількості машин (попередній тип цього не виключає). Адреса, за якою повинен відповісти DNS-сервер на ці запити, дорівнює адресою самого DNS сервера, тобто його не тільки наповнюють запити DNS, але він же ще й відправляє їх собі ж. Таким чином, прийом більш ефективний, ніж попередній, але й більш складний у реалізації.
Boink (Bonk, Teardrop) — Жертві надсилається величезна кількість сильно фрагментованих пакетів, але при цьому фрагменти великого розміру. Для кожного фрагментированного пакета виділяється спеціальний буфер, в який надалі будуть поміщені інші фрагменти, щоб потім скласти їх докупи. Величезна кількість великих фрагментів переповнюють буфера і можуть спровокувати зависання або аварійну зупинку.
HTTP flood (POST, GET) — Один з найпоширеніших на сьогоднішній день способів «флуду». Заснований на нескінченній посилці HTTP-повідомлень на 80й порт з метою завантажити веб-сервер настільки, щоб він виявився не в змозі обробляти всі інші запити. Часто метою «флуду» стає корінь веб-сервера, а один з скриптів, що виконують ресурсомісткі завдання або працює з базою даних [7].
TCP SYN атака.
Розглянемо докладніше TCP SYN (tcp syn flood) атаку, яка спрямована на прикладні сервіси, що використовують протокол транспортного рівня TCP. Цей протокол набув широкого поширення в інформаційних системах за рахунок того, що він гарантує 100% доставку всіх переданих даних. Взаємодіючі вузли мережі, що використовують в Як транспорт цей протокол, встановлюють між собою TCP з'єднання, в рамках яких ведеться контроль над тим, що одержувач отримає всі послані відправником пакети. Це досягається за рахунок того, що одержувач сповіщає відправника про те, які пакети він отримав. Якщо до одержувача дійшли не всі призначені йому пакети, то відправник повторно їх відправить. Як видно гідністю цього протоколу є можливість встановлення з'єднання. Для зберігання інформації про поточний стан з'єднання зокрема використовується поле бітових прапорів в пакетах, використовуваних протоколом. Під це поле відведено 8 біт, проте 2 з них є зарезервованими і в даний час використовуються тільки 6 прапорів: URG (прапор терміновості), ACK (прапор підтвердження), PSH (прапор push функції), RST (прапор скидання), SYN (Прапор синхронізації) і FIN (Прапор закінчення). На жаль, встановлений стандартом механізм встановлення з'єднання не є досконалим, і розглянута атака, як раз використовує його недоліки.
Основна мета цієї TCP SYN атаки — перевищити обмеження на кількість TCP з'єднань, що знаходяться в стані установки. Розглянемо процедуру встановлення TCP з'єднання. Спочатку клієнт, ініціалізувалися з'єднання відправляє серверу TCP-SYN запит. Отримавши такий запит, сервер виділяє пам’ять для параметрів з'єднання в спеціально призначеному для цього буфері. Потім відправляє клієнту TCP пакет з прапорами SYN + ACK. Отримавши пакет SYN + ACK, клієнт повинен відправити серверу пакет з підтвердженням, тобто пакет зі встановленим прапором ACK. Коли сервер отримає і обробить цей пакет, з'єднання є встановленим.