
- •5. Кібербезпека та захист інформації
- •5.1. Основи кібербезпеки
- •5.1.1. Поняття кіберпростору та інформаційного простору
- •5.1.2. Інформаційна безпека як сфера національної безпеки України
- •5.1.3. Поняття кібербезпеки, захисту інформації та кіберзахисту
- •5.1.4. Види захисту інформації
- •5.1.5. Поняття конфіденційності, цілісності, доступності
- •5.1.6. Принципи кібербезпеки
- •5.2. Кіберзагрози та кібератаки
- •5.2.1. Поняття загроз, атак, вразливості
- •5.2.2. Класифікація загроз, атак
- •5.2.3. Кіберзлочини. Кібервійна. Кібероборона
- •5.2.4. Кібертероризм. Кіберрозвідка
- •5.2.5. Модель порушника
- •5.2.6. Поняття, сутність та основні завдання комплексної системи захисту інформації
- •5.3. Безпека мережі
- •5.3.1. Поняття про шкідливе програмне забезпечення
- •5.3.2. Шпигунські програми, фішинг, програми-вимагачі
- •5.3.3. DDoS-атаки
5.3.3. DDoS-атаки
Атака на відмову в обслуговуванні, розподілена атака на відмову в обслуговуванні (англ. DoS attack, DDoS attack, (distributed) denial-of-service attack) — напад на комп'ютерну систему з наміром зробити комп'ютерні ресурси недоступними користувачам, для яких комп'ютерна система була призначена.
Одним із найпоширеніших методів нападу є насичення атакованого комп'ютера або мережевого устаткування великою кількістю зовнішніх запитів (часто безглуздих або неправильно сформульованих) таким чином атаковане устаткування не може відповісти користувачам, або відповідає настільки повільно, що стає фактично недоступним. Взагалі відмова сервісу здійснюється:
примусом атакованого устаткування до зупинки роботи програмного забезпечення/устаткування або до витрат наявних ресурсів, внаслідок чого устаткування не може продовжувати роботу;
заняттям комунікаційних каналів між користувачами і атакованим устаткуванням, внаслідок чого якість сполучення перестає відповідати вимогам.
Якщо атака відбувається одночасно з великої кількості IP-адрес, то її називають розподіленою (англ. distributed denial-of-service — DDoS).
Анатомія DoS-атак. DoS-атаки поділяються на локальні та віддалені. До локальних відносяться різні експлойти: форк-бомби і програми, що відкривають по мільйону файлів або запускають якийсь циклічний алгоритм, який «з'їдає» пам'ять та процесорні ресурси. Для локальної DoS атаки необхідно мати, або якимось чином отримати доступ до атакованої машини на рівні, що буде достатнім для захоплення ресурсів.
Розглянемо віддалені DoS-атаки. Вони поділяються на два види:
Віддалена експлуатація помилок в ПЗ з метою довести його до неробочого стану.
Flood (UDP-флуд, ICMP-флуд, MAC-флуд)[1] — надсилання на адресу жертви величезної кількості безглуздих (рідше — осмислених) пакетів. Метою флуду може бути канал зв'язку або ресурси машини. У першому випадку потік пакетів займає весь пропускний канал і не дає машині, що атакується, можливості обробляти легальні запити. У другому — ресурси машини захоплюються за допомогою багаторазового і дуже частого звернення до якого-небудь сервісу, що виконує складну, ресурсоємну операцію. Це може бути, наприклад, тривале звернення до одного з активних компонентів (скрипту) web-сервера. Сервер витрачає всі ресурси машини на обробку запитів, що атакують, а користувачам доводиться чекати.
У традиційному виконанні (один нападник — одна жертва) зараз залишається ефективним лише перший вид атак. Класичний флуд — марний. Просто тому що при сьогоднішній ширині каналу серверів, рівні обчислювальних потужностей і повсюдному використанні різних анти-DoS прийомів в ПЗ (наприклад, затримки при багаторазовому виконанні тих самих дій одним клієнтом), нападник перетворюється на докучливого комара, не здатного завдати будь-якого збитку. Але якщо цих «комарів» наберуться сотні, тисячі або навіть сотні тисяч, вони легко покладуть сервер на лопатки. Розподілена атака типу «відмова в обслуговуванні» (DDoS), зазвичай здійснювана за допомогою безлічі «зазомбованих» хостів, може відрізати від зовнішнього світу навіть найстійкіший сервер, і єдиним ефективним захистом при цьому є організація розподіленої системи серверів (кластера).
Є два варіанти організації DDoS атак:
Ботнет — зараження певного числа комп'ютерів програмами, які в певний момент починають здійснювати запити до атакованого сервера.
Флешмоб — домовленість великого числа користувачів інтернету почати здійснювати певні типи запитів до атакованого сервера.
Методи боротьби. Небезпека більшості DDoS-атак — в їх абсолютній прозорості і «нормальності». Адже якщо помилка в ПЗ завжди може бути виправлена, то повна витрата ресурсів — явище майже буденне. З ними стикаються багато адміністраторів, коли ресурсів машини (ширини каналу) стає недостатньо, або web-сайт піддається слешдот-ефекту. І, якщо різати трафік і ресурси для всіх підряд, то можна врятуватися від DDoS, у той же час, втративши велику частину клієнтів.
Виходу з цієї ситуації фактично немає, проте наслідки DDoS-атак і їх ефективність можна істотно понизити за рахунок правильного налаштування маршрутизатора, брандмауера і постійного аналізу аномалій в мережевому трафіку.
Є кілька методів боротьби, один із них полягає використання фільтрувальної мережі. Мережа приймає трафік на себе, фільтрує його і до цільового сервера доходить тільки перевірений і якісний трафік від реальних користувачів[2].
Універсальні поради. Щоб не попасти в безвихідь під час DDoS-атаки на системи, необхідно ретельно підготувати їх до такої ситуації:
Всі сервери, які мають прямий доступ в зовнішню мережу, мають бути підготовлені до простої і швидкої віддаленої роботи. Великим плюсом буде наявність другого, адміністративного, мережевого інтерфейсу, через який можна отримати доступ до сервера при зайнятому основному каналі.
Програмне забезпечення, використовуване на сервері, завжди повинно знаходитися в актуальному стані. Всі дірки — пропатчені, оновлення встановлені. Це захистить вас від DoS-атак, багів у сервісах.
Всі слухаючі мережеві сервіси, призначені для адміністративного використання, мають бути заховані брандмаузером від всіх, хто не повинен мати до них доступу. Тоді той, що атакує не зможе використовувати їх для проведення DoS-атаки або брутфорса.
На підходах до сервера (найближчому маршрутизаторі) має бути встановлена система аналізу трафіку (Netflow в допомогу), яка дозволить своєчасно дізнатися про атаку, що починається, і вчасно виконати заходи з її запобігання.
Слід зазначити, що всі прийоми, приведені у попередньому і цьому розділах, спрямовані на зниження ефективності DDoS-атак, що ставлять своєю метою витратити ресурси машини. Від флуду, що забиває канал сміттям, захиститися практично неможливо, і єдиний правильний, але не завжди здійсненний спосіб боротьби полягає в тому, щоб «позбавити атаку сенсу». Якщо в розпорядженні є дійсно широкий канал, який легко пропустить трафік невеликого ботнету, можна вважати, що від 90 % атак сервер захищений. Є витонченіший спосіб захисту. Він заснований на організації розподіленої обчислювальної мережі, що включає безліч дублюючих серверів, які підключені до різних магістральних каналів. Коли обчислювальні потужності або пропускна спроможність каналу закінчуються, все нові клієнти перенаправляються на інший сервер (або ж поступово «розмазуються» по серверах за принципом round-robin). Це неймовірно дорога, але дуже стійка структура, завалити яку практично нереально.