Локальні атаки DOS
Не
дивлячись на те що видалені атаки DOS набули більшого поширення, локальні атаки теж здатні принести немало бід. Існує безліч многопользовательських систем, в яких атаку DOS може ініціювати авторизований користувач. Більшість локальних атак заснована на захопленні ресурсів або на використанні вад в програмному забезпеченні і напрямлено на те, щоб заборонити доступ легітимним користувачам. У системах NT і UNIX існують сотні можливостей реалізації локальних атак DOS, проте ми познайомимося із захопленням ресурсів і використанням помилок в програмному забезпеченням для систем Windows NT і UNIX відповідно.
Термінальний сервер Windows NT і процес proquota. ехе
Класичним прикладом атаки, направленої на захоплення ресурсів, є використання вільного дискового простору понад виділену квоту. Якщо функції квотування дискового простору в світі UNIX давно ні у кого не викликають здивування, то в системі Windows NT ця можливість є щодо нової. Термінальний сервер Windows NT дозволяє звичайному користувачеві застосувати функцію квотування дискового простору і заповнити системний диск (%systemdrive%). Після цього користувачі, у яких відсутній кешированний профіль доступу, не зможуть звернутися до системи. В процесі цієї атаки користувачі, у яких перевищена дискова квота, не зможуть завершити свою роботу. Проте для того, щоб обійти це обмеження, можна видалити процес proguota. ехе. Це можна здійснити, оскільки власником цього процесу є користувач, а не системний обліковий запис.
Контрзаходи
Практика підказує, що
системні файли і призначені для користувача дані краще всього зберігати в різних розділах. Ця аксіома як не можна краще підходить до приведеного прикладу. Змінна %systemdrive% повинна указувати на інший диск, а не на той, на якому зберігаються дані користувачів. Крім того, помістите профілі на незавантажуваному розділі і використовуйте їх тільки при необхідності.
Паніка ядра
У
ядрі системи Linux версії 2.2.0 з'являлася потенційна можливість для виникнення умови DOS, якщо програма idd, використовувана для друку залежностей спільно використовуваних бібліотек, застосовувалася для друку певних файлів ядра. Ця вада була зв'язана з викликом функції munmap (), використовуваною для відображення файлів або пристроїв в оперативну пам'ять. При певних обставинах функція munmap () могла перезаписати важливі області пам'яті, використовувані ядром, і викликати в системі паніку і її перезавантаження. Хоча така ситуація не виглядає незвичайною, вона все ж таки ілюструє основну концепцію, на якій заснована більшість направлених на ядро атак. В більшості випадків непривілейований користувач може скористатися вадою в програмному забезпеченні і пошкодити важливу область пам'яті, вживану ядром. Кінцевим результатом подібної діяльності практично завжди є паніка ядра (panic kernel).
Контрзаходи проти паніки ядра
Модуль оновлення,
що дозволяє закласти цей пролом в програмному забезпеченні, був вбудований в ядро версії 2.2.1. Практично нічого не можна зробити для виправлення помилок в операційній системі і пов'язаних з нею компонентах, таких як ядро, якщо їх початковий код залишається недоступним. Проте в багатьох вільно поширюваних версіях системи UNIX цілком можливо перевірити початковий код і при необхідності внести зміни.
|