Детальний опис функції "Заборона виконання даних" (DEP) у Windows XP з пакетом поновлення 2 (SP2), Windows XP Tablet PC Edition 2005 і Windows Server 2003

Переклади статей Переклади статей
Номер статті: 875352 - Показ продуктів, яких стосується ця стаття.
Розгорнути все | Згорнути все

На цій сторінці

ПІДСУМКИ

Заборона виконання даних (Data Execution Prevention, або DEP) - це сукупність апаратних і програмних технологій, які шляхом додаткових перевірок пам'яті запобігають виконанню в системі шкідливого програмного коду. В операційних системах Microsoft Windows XP з пакетом поновлення 2 (SP2) і Microsoft Windows XP Tablet PC Edition 2005 DEP застосовується як на апаратному, так і на програмному рівні.

Головна перевага DEP - можливість запобігати виконанню програмного коду зі сторінок даних. Звичайно вміст стосу за промовчанням (heap) і стека не є виконуваним кодом. Апаратна DEP виявляє код, запущений із цих областей пам'яті, і порушує виняток. Програмна DEP запобігає використанню шкідливим програмним кодом механізмів керування винятками у Windows.

ВСТУП

У цій статті описується функція DEP у Windows XP з пакетом оновлень 2 (SP2) й у Microsoft Windows Server 2003 з пакетом оновлень 1 (SP1) і обговорюються такі питання:

ДОДАТКОВІ ВІДОМОСТІ

Апаратна DEP

Апаратна DEP позначає всі області пам'яті процесу як непридатні для запуску коду, якщо тільки така область не містить явно виконуваний програмний код. Це робиться для захисту від атак, коли зловмисник намагається вставити свій програмний код у невиконувані області пам'яті та запустити його звідти. DEP перехоплює такі спроби та порушує виняткову ситуацію.

В апаратній DEP використовується можливість процесора виявляти спеціальний атрибут областей пам'яті й не виконувати код з областей із таким атрибутом. DEP працює на рівні окремих сторінок віртуальної пам'яті і, щоб позначити таку сторінку, звичайно змінює один біт в елементі таблиці сторінок (page table entry - PTE).

Реалізація DEP в обладнанні та спосіб позначення сторінок віртуальної пам'яті визначається архітектурою процесора. Процесори, які підтримують апаратну DEP, можуть порушувати виняток у разі запуску коду зі сторінки пам'яті, позначеної відповідним атрибутом.

Компанії Advanced Micro Devices (AMD) та Intel випускають сумісні з Windows процесори, які підтримують DEP.

Починаючи з пакета оновлень 2 (SP2) для Windows XP у 32-розрядній версії Windows використовується один із таких методів.
  • Функція процесора no-execute page-protection (NX), розроблена компанією AMD.
  • Функція Execute Disable Bit (XD), розроблена компанією Intel.
Для використання цих функцій процесор має працювати в режимі розширення фізичних адрес (Physical Address Extension, PAE). Windows автоматично вмикає режим PAE для підтримки DEP. Тому немає потреби вмикати PAE окремо, зазначаючи параметр /PAE у файлі boot.ini.

Примітка. Оскільки 64-розрядні ядра підтримують технологію розширення вікна адресації (Address Windowing Extensions, AWE), у 64-розрядних версіях Windows немає окремого ядра PAE.
Щоб отримати додаткові відомості про PAE та AWE у Windows Server 2003, клацніть номер статті в базі знань Microsoft Knowledge Base:
283037 Підтримка пам'яті великого розміру у Windows Server 2003 та Windows 2000. (Це посилання може вказувати на матеріали, повністю або частково викладені англійською мовою.)

Програмна DEP

У пакеті оновлень 2 (SP2) для Windows XP реалізовано додаткові перевірки, які дають змогу забороняти виконання даних. Ці перевірки, які мають назву програмної DEP, розроблено для запобігання роботі шкідливого програмного коду, який використовує механізми обробки винятків у Windows. Програмна DEP може працювати на будь-якому процесорі, який підтримує Windows XP SP2. За промовчанням програмна DEP захищає лише деякі системні двійкові файли, незалежно від можливостей процесора з підтримки апаратної DEP.

Переваги

Головна перевага DEP - можливість запобігати виконанню програмного коду зі сторінок даних, таких як сторінки стосу за промовчанням, різні сторінки стека та сторінки пула пам'яті. Звичайно вміст стосу за промовчанням (heap) і стека не є виконуваним кодом. Апаратна DEP виявляє код, запущений із цих областей пам'яті, і порушує виняток. Якщо цей виняток залишається необробленим, процес зупиняється. У режимі ядра виконання коду із захищеної пам'яті призводить до невиправної помилки (Stop).

Функція DEP дає змогу відвертати цілий клас загроз безпеці. Зокрема, DEP може сприяти блокуванню шкідливої програми, у ході роботи якої вірус вставляє у процес додатковий код, а потім намагається запустити цей код. Якщо система підтримує DEP, виконання вставленого коду викликає виняток. Програмна DEP може сприяти блокуванню програм, які використовують системні механізми обробки винятків.

Конфігурація DEP на рівні системи

Конфігурація DEP на рівні системи визначається параметрами у файлі Boot.ini. Користувач із правами адміністратора може змінити параметри DEP за допомогою діалогового вікна Система панелі керування.

Windows підтримує чотири можливі конфігурації DEP на рівні системи (як для апаратної, так і для програмної реалізації).
Згорнути цю таблицюРозгорнути цю таблицю
КонфігураціяОпис
OptInЦя конфігурація використовується за промовчанням. У системах із процесорами, які підтримують апаратну DEP, функція DEP за промовчанням діє для окремих системних двійкових файлів і програм. У цій конфігурації захист DEP поширюється лише на системні файли Windows.
OptOutDEP увімкнено за замовчуванням для всіх процесів. За допомогою діалогового вікна Система панелі керування можна вручну створити список програм, для яких слід вимкнути DEP. Фахівці з інформаційних технологій можуть скористатися комплектом Application Compatibility Toolkit, щоб вимкнути захист DEP для однієї або кількох програм. У цій конфігурації для DEP діють виправлення, які забезпечують сумісність програм.
AlwaysOnЦя конфігурація забезпечує повний захист DEP для всієї системи. Перевірки DEP постійно виконуються для всіх процесів. Вимкнути захист DEP для окремих програм у цій конфігурації неможливо. Виправлення для сумісності програм не діють на DEP. Програми, захист для яких було вимкнуто за допомогою Application Compatibility Toolkit, виконуються з використанням DEP.
AlwaysOffУ цій конфігурації DEP не захищає жодну частину системи, незалежно від можливостей апаратної підтримки DEP. Процесор працює в режимі PAE, лише якщо у файлі Boot.ini зазначено параметр /PAE.
Настройка апаратної та програмної DEP виконується однаково. Якщо на рівні системи для DEP вибрано конфігурацію OptIn, одні й ті самі основні системні файли Windows і програми буде захищено як апаратною, так і програмною DEP. Якщо система не підтримує апаратну DEP, основні системні файли Windows і програми захищаються лише програмною DEP.

Аналогічно, якщо на рівні системи для DEP вибрано конфігурацію OptOut, то програми, виведені з-під захисту DEP, звільняються як від апаратної, так і від програмної DEP.

Параметри у файлі Boot.ini мають такий вигляд:
/noexecute=рівень_політики
Примітка. рівень_політики може мати одне з значень: AlwaysOn, AlwaysOff, OptIn або OptOut.

Існуючі значення параметра /noexecute у файлі Boot.ini не змінюються в разі інсталяції пакета оновлень 2 (SP2) для Windows XP. Ці значення також не змінюються, якщо образ операційної системи Windows переносять на інший комп'ютер, незалежно від того, чи є на ньому підтримка апаратної DEP.

Під час інсталяції Windows XP з пакетом оновлень 2 (SP2), Windows Server 2003 з пакетом оновлень 1 (SP!) або новішої версії за промовчанням вмикається рівень політики OptIn, якщо в параметрах автоматичної установки не зазначено інший рівень політики. Якщо у файлі Boot.ini для версії Windows, яка підтримує DEP, немає параметра /noexecute=рівень_політики, діє режим /noexecute=OptIn.

Користувач із правами адміністратора може вручну вибрати для DEP рівень політики OptIn або OptOut на вкладці Заборона виконання даних у діалоговому вікні Властивості системи. Щоб вручну налаштувати DEP на комп'ютері, виконайте такі дії.
  1. Натисніть кнопку Пуск, виберіть пункт Виконати, введіть команду sysdm.cpl і натисніть кнопку ОК.
  2. На вкладці Додатково натисніть у групі Швидкодія кнопку Параметри.
  3. Відкрийте вкладку Заборона виконання даних і виконайте одну з таких дій.
    • Щоб вибрати політику OptIn, установіть перемикач Увімкнути DEP лише для основних програм і служб Windows.
    • Щоб вибрати політику OptOut, установіть перемикач Увімкнути DEP для всіх програм і служб, окрім вибраних нижче, а потім натисніть кнопку Додати та вкажіть програми, для яких не слід застосовувати функцію DEP.
  4. Двічі натисніть кнопку ОК.
Фахівці з інформаційних технологій можуть скористатися різними способами керування конфігурацією DEP на рівні системи. Зміни до файлу Boot.ini можна вносити безпосередньо за допомогою сценаріїв або за допомогою засобу Bootcfg.exe, який входить до складу Windows XP SP2.

Щоб зазначити використання для DEP політики AlwaysOn за допомогою Boot.ini, виконайте такі дії.
  1. Натисніть кнопку Пуск, клацніть правою кнопкою миші пункт Мій комп'ютер і виберіть команду Властивості.
  2. Відкрийте вкладку Додатково та натисніть кнопку Параметри у групі Завантаження й відновлення.
  3. У групі Завантаження операційної системи натисніть кнопку Змінити. Файл Boot.ini буде відкрито у Блокноті.
  4. У Блокноті виберіть у меню Правка команду Знайти.
  5. У полі Знайти введіть /noexecute та натисніть кнопку Знайти далі.
  6. У діалоговому вікні Знайти натисніть кнопку Скасувати.
  7. Замість рівня_політики введіть AlwaysOn.

    ПОПЕРЕДЖЕННЯ. Вводьте текст уважно. У результаті файл Boot.ini міститиме запис
    /noexecute=AlwaysOn
  8. У Блокноті виберіть у меню Файл команду Зберегти.
  9. Двічі натисніть кнопку ОК.
  10. Перезавантажте комп'ютер.
У разі автоматичної установки Windows XP з пакетом оновлень 2 (SP2) або новіших версій можна вказати попередню конфігурацію DEP у файлі Unattend.txt. Конфігурація DEP на рівні системи вказується як значення параметра OSLoadOptionsVar у розділі [Data] файлу Unattend.txt.

Конфігурація DEP для окремих програм

Рівень політики OptOut дає змогу з метою забезпечення сумісності програм вимкнути функцію DEP для окремих 32-розрядних програм. Для цього слід скористатися вкладкою Заборона виконання даних вікна Властивості системи. Для фахівців з інформаційних технологій до складу пакета оновлень 2 (SP2) для Windows XP включено нове виправлення DisableNX для забезпечення сумісності програм. Це виправлення вимикає функцію DEP для програми, до якої воно застосовується.

Виправлення DisableNX можна застосувати до програми за допомогою комплекту Application Compatibility Toolkit. Щоб отримати додаткові відомості про сумісність застосунків Windows, перегляньте статтю Windows Application Compatibility (англійською мовою) на веб-сайті Майкрософт за адресою
http://technet.microsoft.com/windowsvista/aa905066.aspx
Щоб отримати додаткові відомості, клацніть номер статті в базі знань Microsoft Knowledge Base:
912923 Як визначити наявність і конфігурацію апаратної заборони виконання даних (DEP) на комп'ютері. (Це посилання може вказувати на матеріали, повністю або частково викладені англійською мовою.)

ПОСИЛАННЯ

Щоб отримати додаткові відомості, клацніть номер статті в базі знань Microsoft Knowledge Base:
899298 У розділі довідки "Про заборону виконання даних" неправильно вказано прийняту за замовчуванням настройку DEP у Windows Server 2003 з пакетом оновлень 1 (SP1). (Це посилання може вказувати на матеріали, повністю або частково викладені англійською мовою.)

Властивості

Номер статті: 875352 - Востаннє переглянуто: 18 жовтня 2006 р. - Редакція: 14.2
ЗАСТОСОВУЄТЬСЯ ДО:
  • Microsoft Windows Server 2003 Service Pack 1, у разі використання з:
    • Microsoft Windows Server 2003 Web Edition
    • Microsoft Windows Server 2003 Standard Edition
    • Microsoft Windows Server 2003 Datacenter Edition
    • Microsoft Windows Server 2003 Enterprise Edition
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows XP Professional Service Pack 2 (SP2)
  • Microsoft Windows XP Home Edition Service Pack 2 (SP2)
  • Microsoft Windows XP Media Center Edition Service Pack 2 (SP2)
  • Microsoft Windows XP Tablet PC Edition 2005
Ключові слова: 
kbtshoot kbinfo KB875352

Надіслати відгук

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com