Відмова в обслуговуванні
Якщо більшість серйозних атак проти операційної системи NT, направлених на генерацію стану DOS (відмова в обслуговуванні), запобігають за допомогою сервісного пакету NT 4 Service Pack 6a, то Win 2000 є порівняно надійною в цьому відношенні операційною системою. До цих пір не було виявлено ніяких погроз виникнення умови DOS, навіть після тестування операційної системи на вузлі win2000test.com.
Атака SYN і бомбардування IP-пакетами
Internet підтверджує відому істину: життя — це гра без правил. Особливо наочно це виявилося в експерименті з Win2000test.com, коли згідно правилам атаки DOS були категорично заборонені. Проте, сервери цього вузла піддалися масованим атакам IP-пакетами, кількість яких значно перевищила можливості серверів по їх обробці, а також добре відомим атакам SYN, що приводять до переповнювання черг в стеку протоколу Tcp/ip (докладніша інформація про специфіку цих атак міститься в розділі 15).
Контрзаходи проти атак DOS
Щоб мінімізувати збиток від подібних атак, необхідно відповідним чином набудувати мережеві шлюзи або брандмауери (докладніша інформація міститься в розділі 12). Проте ще раз повторюваний, що доцільно також протистояти таким атакам на рівні окремих комп'ютерів. Це зіграє свою роль, якщо одна з ліній оборони буде прорвана. Завдяки експерименту з вузлом Win2000test.com компанія Microsoft змогла додати в операційну систему Windows 2000 декілька нових ключів системного реєстру, які можна використовувати для захисту стека протоколу Tcp/ip від атак DOS. У таблиці. 6.3 міститься інформація про конфігурацію параметрів системного реєстру на серверах win2000test.com (ця таблиця створена на основі звіту компанії Microsoft, присвяченого результатам експерименту і розташованого за адресою
http://www.microsoft.com/securityа також особистого спілкування авторів з групою розробників Win2000test. com).
Деякі з цих значень, наприклад synattackprotect=2, в деяких випадках можуть виявитися дуже жорсткими. Вони були вибрані для захисту сервера Internet з активним трафіком.
Таблиця 6.3.
Параметри, що рекомендуються, для стека протоколу Tcp/ip в операційній системі
Nt/2000, що дозволяють запобігти атакам DOS
Параметр в розділі Hklm\sye\ccs\ Services
|
Значення,
що рекомендується
|
Опис
|
Tcpip\ Parameters \ Synattackprotect
|
2
|
Цей параметр дозволяє настроювати процес передачі підтверджень SYN-ACK і забезпечує швидший перехід в режим очікування при виявленні атаки SYN. Виявлення цієї атаки базується на поточних значеннях параметрів Tcpmaxportsexhausted, Tcpmaxhalfopen і Tcpmaxhalfopenretried. Значення 2 забезпечує якнайкращий захист від SYN-атак, але може привести до проблем із з'єднаннями, що характеризуються високою затримкою. Крім того, якщо цей параметр приймає значення 2, то не враховуються наступні опції сокетів: змінний розмір вікна (RFC 1323) і налаштування параметрів TCP для кожного адаптера (розмір вікна)
|
Tcpip\parameters\ Enabledeadgwdetect
|
0
|
Якщо цей параметр приймає значення 1, то протокол TCP може виявляти неактивні шлюзи і у разі труднощів з декількома з'єднаннями перемикатися на резервний шлюз. Резервні шлюзи можна визначити в розділі Advanced діалогового вікна конфігурації протоколу Tcp/ip аплета Network панелі управління. Якщо цей параметр приймає значення 0, то зломщик не може спровокувати перемикання на менш бажані шлюзи
|
Tcpip\parameters\ Enablepmtudiscovery
|
0
|
Якщо
цей параметр приймає значення 1 (true), то протокол TCP намагається визначити максимальну одиницю передачі MTU (Maximum Transmission Unit) для кожного з'єднання з видаленим вузлом. Визначивши значення MTU і обмеживши цим значенням розмір сегментів TCP, можна усунути фрагментацію на маршрутизаторах, що сполучають мережі з різними значеннями MTU уздовж шляху проходження пакетів. Фрагментація може приводити до пробок в мережі. Якщо цей параметр приймає значення 0, то значення MTU набуває рівним 576 байт для всіх з'єднань, ініційованих ззовні локальній підмережі. Це перешкоджає спробам хакерів змінити значення MTU на менше з метою переповнювання стека
|
Tcpip \Parameters \Keep Alivetime
|
300000 (5мінут)
|
Цей
параметр відповідає за частоту відправки контрольних пакетів (keep-alive), перевіряючих, чи не розірвано з'єднання, що знаходиться в режимі очікування. Якщо видалена система все ще досяжна і функціонує в нормальному режимі, то вона направляє підтвердження. Контрольні пакети за умовчанням не відправляються. Цю властивість можна включити для даного з'єднання за допомогою відповідного застосування. Дані параметри є глобальними, тобто застосовуються для всіх інтерфейсів. Їх значення можуть виявитися дуже малими для адаптерів, використовуваних в цілях управління або резервування
|
Tcpip\parameter \Interfaces \ <інтерфейс>noname Releaseondemand
|
0 (false)
|
Цей параметр визначає, чи слід комп'ютеру повертати своє ім'я NETBIOS у відповідь на запит Name-release з мережі. Значення 0 запобігає атакам, направленим на отримання імені NETBIOS (див. бюлетень Microsoft Security Bulletin Msoo-047). До кінця не ясно, до якого результату можуть привести подібні атаки при відключенні протоколів Netbios/smb/cifs, як описано вищим в цьому розділі
|
Tcpip \ Parameters\interfaces\ <інтерфейс> Реrfоrmrouterdiscovery
|
0
|
Від значення цього параметра залежить, чи буде Windows Nt/2000 виконувати пошук маршрутизатора згідно специфікації RFC 1256 для кожного інтерфейсу окремо. Значення 0 запобігає спробам атак з використанням помилкових пакетів від помилкових маршрутизаторів. Для визначення, який інтерфейс відповідає мережевому адаптеру, можна використовувати значення ключа Tcpipxparameters \Adapters
|
Докладніша інформація про ці параметри і опис параметра Synattackprotect міститься в статті Q142641 бази знань компанії Microsoft.
Генерація стану DOS сервера ч.,, Telnet Win 2000
Ета проста атака, придумана в лабораторії Securexpertlabs
(http://www. secure xpert com), припускає відправку бінарного рядка, що складається з нулів, службі Telnet Microsoft (яка в Win 2000 за умовчанням відключена). Це приводить до виведення служби з ладу і автоматичного перезапуску (якщо такий передбачений). При багатократному повторенні спроб автоматичного перезапуску (коли їх число досягає максимально допустимого значення) служба відключається назовсім.
Ця атака легко реалізується за допомогою команди netcat (див. главу Ь) в операційній системі Linux
nc target.host 23 < /dev/zero
Модуль оновлення для сервера Telnet
Для запобігання цій атаці необхідно використовувати модуль оновлення, який можна знайти за адресою
http://www.microsoft.com/technet/security/ bulletin/ms00-050.asp. Він не включений в сервісний пакет Win 2000 Service Pack 1 і може застосовуватися як до, так і після цього пакету. Сервер Telnet можна конфігурувати на виконання автоматичного перезавантаження. В цьому випадку постійні нападки зломщиків, можливо, як і раніше докучатимуть, проте тепер їх можна відстежувати за допомогою маршрутизатора, якщо підтримуваний на нім журнал має достатньо великий розмір і зломщики не використовують помилкові пакети.
Генерація стану DOS на сервері імен NETBIOS
У липні 2000 року сер Дастік (Sir Dystic) з групи хакерів Cult of the Dead Caw ("Кутьт мертвої корови"
http://www.cultdeadcow.com)
повідомив про те що відправка повідомлення "NETBIOS Name Release" службі імен NETBIOS (NBNS UDP 137) комп'ютера Nt/2000 приводить до конфлікту, пов'язаного з цим ім'ям, і неможливості його подальшого використання. Після отримання такого повідомлення це ім'я не можна використовувати в мережі NETBIOS. Приблизно в цей же час з лабораторії Network Associates COVERT Labs
(http //www.nai.com) повідомили, що повідомлення "NETBIOS Name Conflict можна відправити службі імен NETBIOS навіть в тому випадку, якщо цільовий комп'ютер не знаходиться в процесі реєстрації свого імені NETBIOS. Це теж приводить до конфлікту і неможливості подальшого використання імені.
Сер
Дастік (Sir Dystic) написав програму злому під назвою nbname, за допомогою якої можна відправити пакет "NBNS Name Release" всім комп'ютерам, зареєстрованим в таблиці імен NETBIOS, і теж викликати аналогічну проблему. Хакери локальних мереж (NBNS не підтримує маршрутизацію) вважають цю програму за достатньо могутній засіб реалізації атак
DOS.
Контрзаходи проти атаки DOS на сервер імен NETBIOS
На жаль, протокол NETBIOS не документований, тому автори не можуть гарантувати надійність наступного рецепту. Компанія Microsoft розробила ключ системного реєстру, що запобігає підтвердженню повідомлення Name Release з боку сервера NBNS. Вирішення проблеми з повідомленням "Name Conflict полягає в тому що це повідомлення обробляється тільки на етапі реєстрації. Таким чином, комп'ютер залишається уразливим тільки в цей час. Відповідний модуль оновлення і докладніша інформація міститься за адресою
http: //www.microsoft.com/ technet/security/bulletin/ms00-047.asp. Цей модуль оновлення не увійшов в Sp1 і може застосовуватися як до, так і після установки сервісного пакету.
Надійніше рішення, звичайно, полягає у відмові від використання служби NETBIOS і, як наслідок, повному запобіганні подібному хуліганству. Крім того, безумовно, необхідно відключити UDP-порт 137 для доступу ззовні.
|