Відмова в обслуговуванні або DoS — це термін, який використовується для опису цифрової атаки на машину або мережу, спрямовану на те, щоб зробити її непридатною для використання. У багатьох випадках це означає засипання одержувача такою кількістю запитів або таким обсягом трафіку, що це спричиняє збій. Іноді це також може означати надсилання меншої кількості конкретної шкідливої інформації, наприклад, щоб викликати збій.
Щоб пояснити процес більш детально – машина, підключена до мережі, може працювати (тобто надсилати й отримувати) певну кількість трафіку та все ще функціонують. Обсяг трафіку залежить від багатьох факторів, таких як розмір зроблених запитів і переданої інформації. А також якість і потужність підключення до мережі.
Коли надходить забагато запитів, мережі буде важко встигати. У деяких випадках запити відхиляються або залишаються без відповіді. Якщо надлишок надто високий, то або мережа, або приймаюча машина можуть мати проблеми, аж до помилок і відключень.
Типи атак
Існує багато різних типів атак DoS з різними цілями та методологіями атак. Деякі з найпопулярніших включають:
SYN Повінь
SYN флуд (вимовляється як «гріх») – це атака, при якій зловмисник надсилає швидкі повторні запити на з’єднання, не завершуючи їх. Це змушує приймаючу сторону використовувати свої ресурси для відкриття та утримання нових з’єднань, чекаючи їх вирішення. Такого не буває. Це споживає ресурси та сповільнює або робить уражену систему повністю непридатною для використання.
Подумайте про це як про відповідь на DM — якщо продавець отримує сотню запитів щодо автомобіля, який він хоче продати. Їм доводиться витрачати час і зусилля, щоб відповісти їм усім. Якщо 99 із них залишать прочитати продавець, єдиний справжній покупець може не отримати відповідь або отримати її надто пізно.
Атака SYN flood отримала свою назву від пакета, який використовується в атаці. SYN — це ім’я пакета, яке використовується для встановлення з’єднання через протокол керування передачею або TCP, який є основою більшості інтернет-трафіку.
Атака переповнення буфера
Переповнення буфера відбувається, коли програма, яка використовує будь-яку пам'ять, доступну системі, перевищує виділену пам'ять. Отже, якщо він заповнений такою кількістю інформації, виділеної пам’яті недостатньо для її обробки. Таким чином, він також перезаписує сусідні місця пам’яті.
Існують різні типи атак переповнення буфера. Наприклад, надсилання крихітного фрагмента інформації, щоб обманом змусити систему створити невеликий буфер перед заповненням його більшим бітом інформації. Або ті, які надсилають неправильний тип введення. Будь-яка його форма може спричинити помилки, завершення роботи та некоректні результати в будь-якій програмі, на яку це впливає.
Пінг смерті
Відносно жартівлива назва PoD-атаки надсилає некоректний або зловмисний пінг на комп’ютер, щоб спричинити його несправність. Звичайні пакети ping мають максимум 56-84 байти. Однак це не обмеження. Вони можуть мати розмір до 65 Кбайт.
Деякі системи та машини не розроблені для роботи з пакетами такого типу, що призводить до так званого переповнення буфера, яке зазвичай призводить до збою системи. Його також можна використовувати як інструмент для ін’єкції шкідливого коду, у деяких випадках, коли мета не є завершення роботи.
Розподілені DoS-атаки
DDoS-атаки є більш просунутою формою DoS-атаки – вони складаються з кількох систем, які працюють разом, щоб виконати скоординовану DoS-атаку на окрему ціль. Замість атаки 1-до-1, це ситуація Багато-до-1.
Загалом, DDoS-атаки мають більше шансів на успіх, оскільки вони можуть генерувати більше трафіку, їх важче уникнути та запобігти, і їх можна легко замаскувати під «звичайний» трафік. DDoS-атаки можуть здійснюватися навіть через проксі. Припустімо, третій стороні вдалося заразити «невинну» машину користувача шкідливим програмним забезпеченням. У такому випадку вони можуть використовувати машину цього користувача, щоб сприяти своїй атаці.
Захист від (D)DoS-атак
DoS- і DDoS-атаки є відносно простими методами. Вони не вимагають надзвичайно високого рівня технічних знань або навичок з боку зловмисника. У разі успіху вони можуть значно вплинути на важливі сайти та системи. Однак навіть державні веб-сайти виявилися таким чином ліквідованими.
Існує кілька різних способів захисту від атак DoS. Більшість з них працюють приблизно так само і вимагають моніторингу вхідного трафіку. Атаки SYN можна заблокувати шляхом блокування певної комбінації пакетів від обробки, яка не зустрічається в цій комбінації в звичайному трафіку. Після ідентифікації як DoS або DDoS, blackholing використовується для захисту системи. На жаль, весь вхідний трафік (включаючи справжні запити) перенаправляється та відкидається для збереження цілісності системи.
Ви можете налаштувати маршрутизатори та брандмауери, щоб фільтрувати відомі протоколи та проблемні IP-адреси, які використовувалися під час попередніх атак. Вони не допоможуть проти більш витончених і добре розподілених атак. Але все ще є важливими інструментами для припинення простих атак.
Хоча це технічно не є захистом, переконавшись, що в системі є достатньо вільної смуги пропускання та резервних мережевих пристроїв, також можна ефективно запобігти успішним атакам DoS. Вони покладаються на перевантаження мережі. Сильнішу мережу важче перевантажити. Для блокування 8-смугової автомагістралі потрібно більше автомобілів, ніж для 2-смугової, приблизно так.
Значну частину DoS-атак можна запобігти, застосовуючи виправлення до програмного забезпечення, включаючи ваші операційні системи. Багато з використаних проблем є помилками в програмному забезпеченні, які розробники виправляють або принаймні пропонують пом’якшення. Однак деякі типи атак, наприклад DDoS, не можна виправити за допомогою виправлення.
Висновок
По суті, будь-яка мережа, яка успішно захищається від атак DoS і DDoS, зробить це, об’єднавши набір різних профілактичних і контрзаходів, які добре працюють разом. Оскільки атаки та зловмисники розвиваються та стають все більш витонченими, механізми захисту також розвиваються.
Правильне налаштування, конфігурація та обслуговування можуть відносно добре захистити систему. Але навіть найкраща система, швидше за все, втрачає частину законного трафіку та пропускає кілька нелегітимних запитів, оскільки ідеального рішення не існує.