IT Manager: Біч для Інтернету, або DDOsловно про атаки

  1. Ілля Медведовський

IT Manager Безпека загрози Ілля Медведовський

| 26.05.2014

Останнім часом тема DDoS-атак знайшла достатню популярність, ставши одним з обов'язкових елементом інформаційної війни. «Задосить» сайт конкурента, або відомого інформаційного ресурсу, або державного порталу - це чи не буквально обов'язковий атрибут нашого сьогоднішнього інформаційного поля.

Давайте разом розберемося, що ж собою являють сучасні DDoS-атаки, благо практики по цій темі, особливо за останній рік, у нас накопичилося чимало. Для початку звернемося до базових термінів: DoS-атака (Denial of Service) - атака, здійснювана з одного ресурсу і спрямована на відмову в обслуговуванні іншого ресурсу або каналу; DDoS-атака (Distributed Denial of Service) - DoS-атака, здійснювана з різних ресурсів. Тепер давайте згадаємо, які бувають типи DDoS-атак. Думаю, багато хто чув тільки про одне, максимум двох типах DoS-атак, тому я впевнений, що в статті ви зможете отримати для себе щось нове в настільки модною сьогодні темі, що представляє серйозну небезпеку для веб-ресурсів.

Старий добрий SYN-flood

Насправді історія появи DoS-атак сягає початку 1990-х. Перші згадки про класичну атаці, яка носить назву SYN flood, датуються приблизно 1992-94 роками, а перше офіційне опис відноситься лише до 1996 му. Приблизно в той же час, а саме в 1994 році, автор цих рядків в процесі своїх досліджень захоплювався експериментами з DoS-атаками на Novell NetWare, а потім в 1995-96 рр. - на Windows 95 і різні UNIX-системи. Суть цієї класичної атаки полягає в наступному: атакуючий генерує максимально можливе число SYN-запитів на створення TCP-з'єднання, забиваючи TCP-стек операційної системи жертви і не даючи можливості нікому віддалено підключитися до атакується системі. Але так було раніше ...

Атака на канал

При атаці на канал ставиться завдання - повністю забити канал у атакується сервісу. Вид трафіку може бути, по суті, будь-який: TCP SYN, повноцінні приєднання, ICMP Ping'і, UDP. Груба, але дієва атака, адже канал у більшості ресурсів не перевищує 1 Гбіт.

І «задосить» можна практично все. Так, сьогодні при атаці потужністю 400 Гбіт себе можуть погано відчути навіть магістральні мережі з їх найпотужнішими каналами.

У разі DDoS-атаки запити йдуть вже не з одного, а різних IP-адрес. Для чого потрібен DDoS? Для посилення потужності і ускладнення фільтрації. Звідки беруться ресурси для DDoS-атаки? А це і є той самий звичний всім ботнет, який представляє собою набір комп'ютерів, домашніх роутерів (так, так - за цим майбутнє!) Або мобільних телефонів (це рідше) - «зомбі», масово зламаних зловмисниками, об'єднаних в мережу і використовуваних ними для своїх різних цілей (вірусні атаки, DDoS, спам, проксі, цільові атаки і т. д.). Атака добра, стара і до сих пір більш ніж робоча. Я абсолютно впевнений, що всі чули про цю атаку і багато хто думає, що це і є головна зброя сьогоднішніх досеров. Але це не зовсім так, та й за минулий час техніка DDoS-атак зробила крок далеко вперед, а тому ми поговоримо про куди менш відомих видах атак, які сьогодні активно застосовуються.

Відображена DDoS-атака з посиленням

В даному випадку немає усталеного назви для цієї атаки (Amplification), але, на наш погляд, цей термін найбільш точно відображає її технічну сутність. Ось про неї ми зараз і поговоримо. Перш за все, перший важливий момент, на який треба звернути увагу, - ця атака заснована на мережевому протоколі UDP (а не TCP, як SYN flood). Специфіка протоколу UDP полягає в тому, що він простий: «не створює» з'єднання, тим самим не гарантує доставку пакетів і не здійснює первинного «рукостискання», але при цьому активно використовується багатьма важливими інтернет-сервісами, зокрема DNS (всім відомий, Domain Name Service) і NTP (менш відомий, Network Time Protocol), хоча сьогодні вже ведуться атаки і за допомогою сервісів потокового мовлення. Найголовніше для нас в даному випадку, що немає «рукостискання», тобто сервіс «не перевіряє» адреса відправника. Іншими словами, будь-хто може послати UDP-пакет від чийого завгодно імені (IP-адреси). Відповідно, атакуючий посилає UDP-пакет на сервіс (зазвичай DNS або NTP) від імені жертви (з її IP-адреси) і сервіс відповідає не на IP-адреса атакуючого, а на IP-адресу жертви. Ось чому і назва у атаки - «відображення». Але цього було б мало для успішної DoS-атаки. У назві присутнє ще слово «посилення». В даному випадку у DNS- і NTP-служб є приємна для атакуючого особливість - множник. Це виглядає наступним чином: атакуючий від імені жертви відправляє на DNS- або NTP-сервер пакет розміром 1 кбайт, а DNS- або NTP-сервер відповідає на адресу жертви пакетом в N-раз більше! Ось це і є те саме посилення, про який було сказано на самому початку. Тому назва «посилена відображена DDoS-атака» досить точно характеризує технічну суть даного явища.

Для того, щоб розуміти загальний масштаб проблеми, подивимося на наступні цифри. У разі DNS-сервера множник може бути від 30 і майже до безкінечності. У разі NTP-сервера - від 10 до кількох тисяч. Всього в світі приблизно 11,5 млн DNS-серверів, з яких 6,2 млн дозволяють проводити подібну атаку. У разі NTP - загальне число серверів в світі приблизно 100 тисяч. З них дозволяють множити на 10 - 56 тисяч, на 100 - 15,5 тисяч, на 1000 - 10 тисяч NTP-серверів.

Неважко здогадатися, що зараз це головний тренд найпотужніших DDoS-атак у світі - просто, дешево і зручно. На сьогоднішній день була зареєстрована рекордна DDoS-атака саме даного типу, з інтенсивністю трафіку в 400 Гбіт / с! Трафік згенерований з використанням всього 4529 вразливих NTP-серверів, розміщених в 1298 мережах.

DDoS-атака повільними сполуками

Це досить хитрий тип атак. Одна з типових - Slow Post. Вона спрямована на 7-й рівень моделі OSI - рівень програми. Найпростіше пояснити її роботу на прикладі протоколу HTTP і запиту POST. Атакуючий відправляє HTTP POST-запит, вказуючи в ньому великий розмір пакета (<content length>), після чого повільно передає дані по 1 байту. За стандартом HTTP-сервер повинен дочекатися повної передачі даних (отримавши вміст розміром <content length> байт) і може закривати з'єднання тільки з таймаут. Таким чином, в разі подібної DDoS-атаки повільними сполуками атакується сервер відкриває величезну кількість з'єднань, катастрофічно витрачаючи свої ресурси (перш за все, відкриті в системі файлові дескриптори). Наприклад, наші численні експерименти показували, що від подібної атаки той же Apache «падає» за 1-2 секунди.

У чому плюс цієї атаки? Вона досить елегантна і не вимагає генерації величезного трафіку, як попередніх атак. Справа в тому, що на відміну від 1995 року, коли багато ОС можна було легко «завалити» SYN flood'ом щодо невеликої потужності, сьогодні це вже неможливо. А тому на допомогу приходить подібне варіація HTTP-flood'а з використанням повільних запитів, які на відміну від TCP SYN (ура, за 20 років вендори навчилися їх обробляти) багато систем до сих пір не вміють коректно обробляти.

«Розумні» DDoS-атаки

Якщо від перших трьох типів атак допоможе вберегтися зовнішній сервіс захисту від DDoS або спеціальне мережеве обладнання, що заощаджує кошти потенційної жертви - завжди приємно мати велику червону кнопку «Захист від DDoS» (про це ми поговоримо трохи пізніше), то в разі «розумних» атак так просто вже не захиститися. «Розумні» DDoS-атаки завжди пов'язані з атакою на специфічні слабкості безпосередньо атакується додатки, коли через ті чи інших вразливостей або специфічних недоліків додатки при атаці «падає» або фронт, або бек-енд. Це вимагає попереднього вивчення специфіки самого атакується додатки, але його абсолютно вільно можна провести щодо приховано для жертви в режимі блекбокс. І коли недоліки, залишені розробниками, знайдені, то вони стають базою для подальшої «розумної» DDoS-атаки. Досить одного абсолютно легітимного запиту з пари десятків машин і сервер (або база даних) «помер». Ну і звичайно, не варто забувати про уразливість веб-додатків, експлуатація яких веде до DDoS-атаки, коли сервер падає від 1-2 спеціально сформованих пакетів.

Типові приклади подібних «розумних» запитів, «вбивають» додаток:

• Різні «важкі» запити; вибірка великих обсягів даних; пошукові запити

• ZIP-бомби (42 кб архів, який розпаковується в 8.5 петабайт)

• XML-бомби

• Підміна параметрів при вибірці різних даних (наприклад, сказано, що можна вибрати 100 товарів, а атакуючий вручну змінює HTTP-запит і вибирає 999999+ товарів)

• і т. Д. І т. П. - фантазія досвідченого хакера воістину безмежна

Ціна питання

Практика показує, що сьогодні організувати DDoS-атаку можна легко і невимушено, швидко і досить дешево. Сервісів для організації DDoS-атак «для чайників» в Інтернеті маса. І це не кустарні вироби, а серйозні розробки різних організованих злочинних груп з прекрасним сервісом і прекрасним дружнім інтерфейсом, від якого буквально захоплює дух. Вибирай тип атаки, її інтенсивність, жертву і т. П., Плати і радій, як твоя жертва корчиться в муках DDoS. Все абсолютно доступно, відносно безпечно і починається буквально від кількох десятків доларів, було б бажання.

Якщо ж ти профі і плануєш цільові атаки, то не складно здогадатися, що тут взагалі немає ніяких проблем, причому ні з чим - було б бажання і необхідність. Досить самостійно розробити потрібний софт і потім його правильно застосувати. Але я не буду детально описувати весь процес самостійної організації DDoS-атаки в силу зрозумілих причин, хоча нам його, як не дивно, задають досить часто. Хто знає - той знає, а хто ні - тому і не потрібно.

«Куди ж бідному селянинові податися»?

Насправді, як показує практика, не такий страшний чорт, як його малюють. Для захисту від атак перших трьох видів (Flood'и всіх типів, відображені посилені і повільні з'єднання) досить використовувати спеціальне обладнання або, що в багатьох випадках більш обгрунтовано, - зовнішній сервіс захисту від DDoS. Головне тільки, щоб він був якісним. При цьому треба чітко розуміти, що в будь-якому випадку, будь то обладнання або сервіс, потрібно регулярне тестування, тобто імітація реальних DDoS-атак, щоб король раптом не виявився голим. Тому що випадки, як відомо, бувають різні, і сьогодні сервіс захищає, а завтра вже немає.

Для захисту від «розумних» цільових DDoS-атак ніякої сервіс не допоможе - потрібна глибокий аналіз специфіки самого додатка з подальшою його оптимізацією з точки зору навантаження і усунення знайдених в процесі тестування специфічних особливостей, які можуть стати причиною успіху DDoS-атаки.

***

Тема DDoS-атак завжди у мене асоціюється з фразою: «Все нове - це добре забуте старе». DDoS-атаки будуть завжди і всюди - в будь-яких розподілених системах. Це просто даність, пов'язана як зі специфікою мереж і мережевих протоколів, так і з нюансами їх обробки на цільових системах. Розуміння як основних принципів DDoS-атак, які досить прості і легко пояснюються буквально на пальцях, так і методів захисту від атак, заощадять час і нерви будь-якому ІТ та ІБ-фахівця і допоможуть адекватно реагувати і максимально знизити ймовірність успішної реалізації цієї актуальної на сьогоднішній день загрози, що стала в XXI столітті справжнім бичем для популярних інтернет-проектів.

Ключові слова: безпеку , зовнішні загрози

Журнал IT-Manager № 05/2014 [ PDF ] [ Підписка на журнал ]

про авторів

Ілля Медведовський

Більше 20 років займається інформаційною безпекою. Це давно вже перестало бути просто бізнесом, захоплюючою роботою. ІБ - хобі, улюблена справа, місія і мрія. Протягом 12 років керує консалтинговою компанією Digital Security, яка на сьогоднішній день є одним з лідерів російського ринку аудиту ІБ. У 2010 році створив також дочірню міжнародну компанію ERPSсan, ​​що здійснює розробку засобів моніторингу захищеності SAP. Автор близько 200 статей з інформаційної безпеки, а також легендарної хакерської серії книг «Атака через Інтернет», до якої також увійшли «Атака на Інтернет» і «Атака з Інтернету». Спікер на провідних російських конференціях по ІБ.

Для чого потрібен DDoS?
Звідки беруться ресурси для DDoS-атаки?
У чому плюс цієї атаки?
«Куди ж бідному селянинові податися»?