Що таке DDoS та Nuke атаки - Безпека в Інтернет

Зміст

Історія появи розподілених атак

Nuke та DDoS у чому різниця?

Що це WinNuke?

Почнемо, звичайно ж, із класичного та широко відомого WinNuke, що з'явився 7 травня 1997 року. Автор методу помістив його опис та вихідний текст програми до кількох news-конференцій. Через крайню простоту методу практично кожен міг озброїтися новітньою зброєю і піти трощити праворуч і ліворуч. Першою жертвою став сервер Microsoft. Він припинив відгукуватися в п'ятницю ввечері (9 травня) і тільки до обіду понеділка знову набув стійкості. Залишається лише пошкодувати його адміністраторів, які весь вікенд регулярно натискали чарівну комбінацію трьох клавіш, після чого реанімований сервер падав знову. А може, після перших кількох спроб сервер і припинили пожвавлювати, хто знає… Звичайно ж, поряд із жертвою номер раз у травні 97-го впали багато серверів, на яких красувався гордий напис «Windows NT Powered», а також сервери і без неї , але які працюють під Windows NT. До честі Microsoft слід зауважити, що латки з'явилися досить швидко. Отже, що таке WinNuke? Поряд із звичайними даними стандарт передбачає пересилання по TCP з'єднанню та термінових (Out Of Band, OOB) службових даних. На рівні форматів пакетів TCP це виявляється у ненульовому значенні відповідного поля (urgent pointer). Більшість комп'ютерів, що працюють під Windows, використовують мережевий протокол NetBIOS, що потребує трьох IP портів: 137, 138, 139. Як з'ясувалося, якщо з'єднатися з Windows машиною через 139-й порт і надіслати туди кілька байт OOB-даних, то NetBIOS, не знаючи, що робити з цими даними, просто підвішує або перезавантажує машину. У Windows 95 це зазвичай виглядає як синій текстовий екран зповідомлення про помилку в драйвері TCP/IP, і робота з мережею стає неможливою до перезавантаження операційної системи. NT 4.0 без service pack`ів перезавантажується. NT 4.0 лише з другим service pack'ом випадає в синій екран, повідомляючи про необроблений виняток у коді ядра (цю картинку нерідко називають blue screen of death). Судячи з інформації в Мережі, такій атаці схильні і Windows NT 3.51, і Windows 3.11 for Workgroups, і WinFrame, основу якого лежить Windows NT 3.51. Офіційні латки від Microsoft:

Тут доречно згадати досить кумедну історію. Як з'ясувалося невдовзі після випуску SP3 (Service Pack 3 для Windows NT 4.0), WinNuke, запущений з комп'ютерів Macintosh, легко «пробивав» захист Service Pack. Причиною стало існування двох різних стандартів на IP пакети, що містять OOB-дані, - стандарту Berkley і стандарту, описаного в RFC. Вони по-різному обчислюють UrgentPointer і результат обчислень відрізняється рівно на одиницю. Третій service pack, що захищає від своїх OOB-пакетів, виявився беззахисним проти пакетів іншого стандарту. Тому майже одразу після SP3 вийшов додатковий OOB-fix. Його можна знайти на ftp://ftp.microsoft.com

Слід зазначити, що й для написання оригінального WinNuke досить найтривіальніших функцій роботи з TCP/IP (програма на PERL займає сім рядків), те, щоб «пробити» SP3, потрібно працювати з TCP низький рівень чи запускати стандартний WinNuke з платформи, підтримує іншу реалізацію OOB. Саме існування OOB-даних, безвідносно WinNuke, викликає чимало проблем саме через існування двох стандартів, чи, вірніше, відсутності стандарту. Тому гарантувати коректну роботу програми, яка використовує OOB, не може ніхто (правильніше сказати, легко можна гарантувати їїнекоректну роботу). Розумні люди рекомендують взагалі не використовувати OOB-дані у своїх програмах, і багато хто так і робить. Таким чином, OOB сьогодні - це наявність потенційних дірок, що дозволяють зловмисникам винаходити дедалі нові методи атак. Просто "пострілявши" OOB-даними по відкритих TCP-портах, можна спробувати знайти нову дірку в будь-якій програмі. Декому, кажуть, вдається…

Що таке SPing?

Зауважимо, що SPing набагато серйозніший, ніж WinNuke, оскільки використовує ICMP-пакети, які найчастіше не фільтруються брандмауером, а якщо й фільтруються, то подібний захист можна спробувати подолати, використовуючи прийоми спуфінгу.