Библиотеки DLL AppInit и безопасная загрузка
Начиная с Windows 8 инфраструктура AppInit_DLLs отключена при включенной безопасной загрузке.
Инфраструктура AppInit_DLLs предоставляет простой способ перехвата системных API путем загрузки пользовательских библиотек DLL в адресное пространство каждого интерактивного приложения. Приложения и вредоносное программное обеспечение используют библиотеки DLL AppInit по одной и той же основной причине, что и для перехвата API; После загрузки пользовательской библиотеки DLL он может подключить хорошо известный системный API и реализовать альтернативные функциональные возможности. Только небольшой набор современных законных приложений использует этот механизм для загрузки БИБЛИОТЕК DLL, в то время как большой набор вредоносных программ использует этот механизм для компрометации систем. Даже законные AppInit_DLLs могут непреднамеренно вызвать проблемы с системной взаимоблокировкой и производительностью, поэтому использование AppInit_DLLs не рекомендуется.
Windows 8 принял UEFI и безопасную загрузку, чтобы повысить общую целостность системы и обеспечить надежную защиту от сложных угроз. Если включена безопасная загрузка, механизм AppInit_DLLs отключен в рамках подхода без компрометации для защиты клиентов от вредоносных программ и угроз.
Обратите внимание, что безопасная загрузка — это протокол UEFI, а не компонент Windows 8. Дополнительные сведения о UEFI и спецификации протокола безопасной загрузки см. в https://www.uefi.org.
Одним из требований сертификации классических приложений Windows 8 является то, что приложение не должно загружать произвольные библиотеки DLL для перехвата вызовов API Win32 с помощью механизма AppInit_DLLs. Дополнительные сведения о требованиях к сертификации см. в разделе 1.1 Требования к сертификации классических приложений Windows 8.
- Механизм AppInit_DLLs не является рекомендуемым подходом для законных приложений, так как это может привести к взаимоблокировкам системы и проблемам с производительностью.
- Механизм AppInit_DLLs по умолчанию отключен при включенной безопасной загрузке.
- Использование AppInit_DLLs в классическом приложении Windows 8 — это сбой сертификации классических приложений Windows.
Чтобы скачать технический документ с информацией о AppInit_DLLs в Windows 7 и Windows Server 2008 R2, посетите архив центра разработки оборудования Windows и найдите библиотеки DLL AppInit в Windows 7 и Windows Server 2008 R2.