Обвальне зростання вразливостей в ОС Windows NT, Windows 9x/NT, Security & Hack, статті

(Тези)

С. Корт, П. Семьянов, (Центр захисту інформації СПбГТУ)


У доповіді розглядається стан справ з безпекою в самої передової ОС фірми MicrosoftWindows NT 4.0, Недавно випущеної на ринок. Той факт, що вона може використовуватися не тільки як клієнтська, а й мережна ОС (в т.ч. і в глобальних мережах) в поєднанні з її молодістю, відсутністю вихідних текстів і претензією на захищеність, викликав підвищений інтерес до неї з боку хакерів.

Цей інтерес поглиблюється тим, що сертифікація Windows NT відповідно до класу C2 носила досить формальний характер. При цьому можна відзначити не тільки явна невідповідність деяких вимог до системі класу С2 з істинною реалізацією даної ОС, а й те, що спроектована як мережева ОС, вона оцінювалася у відповідності до вимог до локальних систем. Також викликає здивування той факт, що оцінка системи проводилася в конфігурації без дисковода. (Умови експлуатації без мережевої карти і дисковода принаймні знизили б комерційний успіх даної ОС, і, природно, вона так ніколи не використовується).

Ці причини і призводять до зростання вразливостей Windows NT, який в 1997 році можна назвати обвальним.

Предметом цієї доповіді є уразливості, що приводять до несанкціонованого доступу до захищеної інформації в Windows NT і не розглядаються численні уразливості, що приводять до відмови в обслуговуванні, Хоча їх наявність ставить під сумнів претензії фірми Microsoft на роль Windows NT як сервера масштабу підприємства. Можна відзначити, що відмова в обслуговуванні може бути викликаний як локальним користувачем системи, так і незареєстрованим віддаленим (інакше кажучи, з якого комп’ютера, підключеного до Internet). Також автори не розглядають уразливості, пов’язані з вірусами та вразливості, викликані некоректним функціонуванням додатків, “чемпіоном” за помилок з яких є Internet Explorer фірми Microsoft.

Розгляд вразливостей ОС Windows NT за аналогією з UNIX-системами почнемо з вразливостей парольного системи.

Інформація про всіх користувачів Windows NT і їх паролі зберігається в базі даних системи (registry), А фізично розташована у файлі %SystemRoot%\SYSTEM32\CONFIG\SAM – Базі даних безпеки системи. Даний файл є за замовчуванням читаним, але “замкненим”, тому що використовується іншими компонентами системи. Копія даного файлу міститься в директорії %SystemRoot%\REPAIR\ після створення адміністратором відновного (repair) Диска і легко може бути скопійована звідти. Після інсталяції ОС база даних безпеки системи містить тільки користувачів Administrator і Guest.

Однак самі паролі у відкритому вигляді, природно, не містяться в даному файлі. Пароль користувача (в кодуванні UNICODE) з використанням хеш-алгоритму MD4 перетворюється в 16-байтного значення, яке і знаходиться у файлі SAM.

Таким чином, для того, щоб зламати пароль в Windows NT, зловмисникові необхідно виділити з бази даних безпеки системи ім’я користувача і відповідне йому хеш-значення. Дана процедура може бути виконана з використанням програми PWDUMP, Розробленої Jeremy Allison і вільно поширюваної. Використання даної програми вимагає привілеїв Administrator (для того, щоб мати доступ по читанню до відповідних значень registry), але вона може використовуватися в тому випадку, якщо з атакується системи вдалося отримати копію бази даних безпеки системи.

Після виділення паролів і відповідних їм хеш-значень може бути використана одна з багатьох програм злому пароля методом перебору або атаки по словнику – швидкість перебору складає приблизно 2500 паролів / сек на комп’ютері класу Pentium. При цьому, на відміну від UNIX, в Windows NT відсутнє поняття salt, Внаслідок чого словник може бути попередньо схешірован та швидкість тим самим може бути піднята на кілька порядків. У Service Pack 3 хеш-значення зашифровані алгоритмом DES, Причому ключем є значення, легко виводиться з атрибута користувача RID.

Як було зазначено на початку, Windows NT оцінювалася в конфігурації “без дисковода”. Існують порушення безпеки системи, пов’язані з отриманням зловмисником доступу до консолі, якщо дисковод все ж є. Може бути отриманий доступ до будь-яких файлів в системі при завантаженні з дискети ОС MS DOS, якщо використовується файлова система VFAT. При використанні ж файлової системи NTFS можливий безперешкодний доступ по читанню за допомогою утиліти NTFSDOS. Аналогічно, завантаження з дискети ОС Linux з наступним монтуванням розділу NTFS забезпечує доступ до нього з читання і запису.

Як також було відзначено, ОС Windows NT сертифікована в конфігурації не тільки без дисковода, а й у відсутності мережевого оточення. При цьому використання її як ОС, підключеної до мереж TCP / IP автоматично призводить до успіху типових віддалених атак, поширених в цих мережах: підміну IP-адреси (IP spoofing), Впровадження помилкових об’єктів через протоколи ARP, DNS і ICMP, пророкування TCP-ідентифікатора (TCP number prediction) І т.п.

Більш того, Windows NT виявилася не тільки не краще відбиває ці атаки, ніж UNIX, а навіть гірше – зокрема, вона схильна до атаки, пов’язаної з IP-фрагментацією. Ця атака призначена для проникнення через файрвол (firewall), Шляхом розбиття IP-пакета на пакети меншої довжини і подальшим його поновленням на атакується хості. Через помилку в ОС, яка не відстежує накладаються один на одного фрагменти, може бути отриманий такий пакет, який інакше був би не пропущено файрволом.

Існують також віддалені атаки, специфічні тільки для Windows NT. В результаті атаки, званої Red Button, База даних registry стає доступною для незареєстрованого користувача. При цьому може бути отриманий список користувачів системи і список поділюваних об’єктів системи. Це відбувається через те, що в системі є вбудований користувач anonymous, Що часто використовується при зв’язку між двома машинами. Даний користувач є членом групи Everyone. Отже:

Якщо група Everyone має доступ до додатків, в систему може бути вбудований троянський кінь.

Якщо всі розглянуті вище уразливості системи були пов’язані з помилками в проектуванні, то далі ми розглянемо уразливість, пов’язану з помилкою в реалізації системи. Дана уразливість призводить до можливості атаки, званої GetAdmin. Вразливим є системний сервіс NtAddAtom, Не перевіряючий параметри, передані йому, і встановлює біт 0 за адресою NtGlobalFlag+2. Для цього необхідно відкрити файл ntoskrnl.exe і знайти точку входу в NtAddAtom. Установка даного біта відключається перевірка привілеїв відладчика в NtOpenProcess і NtOpenThread. Таким чином, будь-який користувач має право відкрити будь-який процес в системі. Атака відкриває процес Winlogon і вбудовує dll до нього. Так як даний сервіс має привілеї SYSTEM, Він може додати користувача до групи Administrator або видалити його з цієї групи. Теоретично можливі й інші порушення безпеки системи.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*