Windows містить функцію безпеки під назвою цілісність коду ядра , яка допомагає захистити систему, гарантуючи, що драйвери ядра, завантажені в систему, працюють із цілісністю та криптографічно підписані довіреними корпорацією Майкрософт повноваженнями.
Якщо відображається це повідомлення, це означає, що драйвер або програмне забезпечення в режимі ядра не підписано належним чином або не відповідає вимогам підпису цілісності коду ядра Windows.
Windows вимагає, щоб усі нові драйвери надсилалися та підписувалися в процесі програми сумісності обладнання Windows (WHCP). Раніше довірені драйвери Windows, підписані програмою з перехресним підписом , термін дії якого завершився. Проте в оновленні системи безпеки за квітень 2026 р. ці драйвери більше не вважаються надійними за замовчуванням. Оголошення доступне тут: https://go.microsoft.com/fwlink/?linkid=2356646.
Яка політика драйвера Windows?
Політика драйвера Windows – це політика в ядрі Windows, яка обмежує завантаження драйверів у режимі ядра на вашому пристрої. Якщо активовано, завантажувати можна лише такі драйвери:
-
Драйвери належним чином підписані через процес сертифікації Microsoft WHCP
-
Драйвери, які відображаються в політиці драйверів Windows, дозволяють список надійних драйверів, підписаних програмою з перехресним підписом
Драйвери, які не підписано Microsoft WHCP або відображаються в політиці драйвера Windows, буде заблоковано в області, увімкнуто системи.
Ця функція допомагає захистити вас від потенційно небезпечних або неперевірених драйверів, знижуючи ризик шкідливого програмного забезпечення, нестабільності системи та вразливостей системи безпеки, викликаних незахищеними драйверами та видавцями драйверів.
Як працює ця функція?
Політика драйвера Windows використовує двофазний підхід, наприклад Smart App Control , щоб поступово збільшувати захист на пристрої.
Режим оцінювання (аудит)
Коли функція активується вперше, вона запускається в режимі оцінювання . На цьому етапі:
-
Драйвери, які буде заблоковано політикою, перевіряються, але все одно дозволено завантажувати . Це гарантує, що ваш пристрій продовжує працювати нормально, поки Windows визначає, чи підходить примусове виконання для вашої системи.
-
Windows відстежує, скільки драйверів у вашій системі буде порушено політикою.
-
Якщо під час обчислення виявлено драйвер, який порушить політику, перебіг обчислення буде скинуто . Це означає, що зворотний відлік для примусового виконання почнеться знову, надаючи Windows більше часу для спостереження за використанням драйвера в системі.
Умови оцінки
Windows відстежує наведені нижче умови, щоб визначити, коли пристрій буде готовий до примусового застосування.
-
Час роботи системи . На пристрої має бути накопичено 100 годин активного використання.
-
Сеанси завантаження : з моменту початку оцінювання пристрій потрібно перезавантажити принаймні 3 рази (2 рази на Windows Server).
-
Немає порушень політики : якщо драйвер, який буде заблоковано, завантажується протягом періоду обчислення, лічильники сеансів безвідмовної роботи та завантаження скидаються до нуля , подовжуючи період обчислення.
Якщо пристрій постійно завантажує драйвери, які проходять політику та відповідають цим умовам, система вважається хорошим кандидатом на примусове виконання.
Режим примусового застосування
Коли умови оцінювання виконуються, Windows автоматично переходить у режим примусового виконання . На цьому етапі:
-
Пристрої захищено від драйверів, які не відповідають вимогам до підписання в політиці драйвера Windows.
-
Ці драйвери заблоковано для завантаження та створення діагностичних даних для корпорації Майкрософт для перевірки, а також записів у журналі подій Windows, які можна переглянути.
-
Список довірених драйверів і видавців включається в політику, щоб дозволити деяким широко використовуваним застарілим драйверам, які ще не були сертифіковані WHCP для продовження роботи.
Після активації режиму примусового застосування політика продовжує діяти під час перезавантаження.
Запитання й відповіді
Якщо драйвер заблоковано цією політикою, може з'явитися таке:
-
Апаратний пристрій працює неправильно.
-
Периферійний пристрій або компонент (принтер, мережевий адаптер, графічний процесор тощо) не розпізнано.
-
Програма, яка залежить від драйвера ядра, не запускається.
Ви можете підтвердити, чи відповідає політика драйвера Windows, перевіривши журнали подій цілісності коду двома способами.
Події цілісності коду запиту вручну
-
Клацніть правою кнопкою миші кнопку Пуск і виберіть перегляд подій .
-
В області ліворуч перейдіть до розділу: Журнали програм і служб > Microsoft > Код Windows > Integrity > Operational
-
Знайдіть або відфільтруйте журнал подій за допомогою цих ідентифікаторів:
-
Подія з ідентифікатором 3076 – перевірено драйвер (його було б заблоковано, але його було дозволено, оскільки політика перебуває в режимі аудиту).
-
Event ID 3077 – драйвер заблоковано , тому що він порушив політику примусового виконання.
У відомостями про подію знайдіть поле Ідентифікатор політики . Події, викликані цією функцією, будуть посилатися на один із наведених нижче ідентифікаторів GUID політики:
-
Політика аудиту : {784C4414-79F4-4C32-A6A5-F0FB42A51D0D}
-
Застосувати політику : {8F9CB695-5D48-48D6-A329-7202B44607E3}
Події цілісності коду запиту за допомогою PowerShell
За допомогою PowerShell можна швидко знайти події, пов'язані з цією функцією:
# Find audit events (Event ID 3076) from the Windows Driver audit policy
$events = Get-WinEvent -LogName 'Microsoft-Windows-CodeIntegrity/Operational' -FilterXPath "*[System[EventID=3076]]" -ErrorAction SilentlyContinue |
Where-Object { $_.Message -like '*784C4414-79F4-4C32-A6A5-F0FB42A51D0D*' }
$results = $events | ForEach-Object {
$xml = [xml]$_.ToXml()
$data = $xml.Event.EventData.Data
[PSCustomObject]@{
TimeCreated = $_.TimeCreated
DriverName = ($data | Where-Object { $_.Name -eq 'File Name' }).'#text'
ProductName = ($data | Where-Object { $_.Name -eq 'ProductName' }).'#text'
ParentProcess = ($data | Where-Object { $_.Name -eq 'Process Name' }).'#text'
}
}
$results | Select-Object DriverName, ProductName, ParentProcess -Unique | Format-Table -AutoSize -Wrap
# Find block events (Event ID 3077) from the Windows Driver enforced policy
$events = Get-WinEvent -LogName 'Microsoft-Windows-CodeIntegrity/Operational' -FilterXPath "*[System[EventID=3077]]" -ErrorAction SilentlyContinue |
Where-Object { $_.Message -like '*8F9CB695-5D48-48D6-A329-7202B44607E3*' }
$results = $events | ForEach-Object {
$xml = [xml]$_.ToXml()
$data = $xml.Event.EventData.Data
[PSCustomObject]@{
TimeCreated = $_.TimeCreated
DriverName = ($data | Where-Object { $_.Name -eq 'File Name' }).'#text'
ProductName = ($data | Where-Object { $_.Name -eq 'ProductName' }).'#text'
ParentProcess = ($data | Where-Object { $_.Name -eq 'Process Name' }).'#text'
}
}
$results | Select-Object DriverName, ProductName, ParentProcess -Unique | Format-Table -AutoSize -Wrap
Відомості про подію міститимуть ім'я перевіреного або заблокованого драйвера та ім'я процесу, який намагався завантажити драйвер, що може допомогти визначити, на який драйвер або пристрій це впливає.
Якщо ви користувач пристрою або ІТ-адміністратор
-
Перевірте журнали подій , виконавши наведені вище кроки, щоб визначити, який драйвер блокується.
-
Перевірте наявність оновлених драйверів у Windows Update. Підписані драйвери, сертифіковані для WHCP, уже можуть бути доступні через Windows Update. Перейдіть до розділу Настройки > Windows Update > Додаткові параметри > Додаткові оновлення > Оновлення драйвера, щоб перевірити наявність доступних оновлень драйверів.
-
Відвідайте веб-сайт виробника . Завантажте останню версію драйвера з офіційної сторінки підтримки постачальника – новіші версії, швидше за все, будуть підписані WHCP.
4. Зверніться до постачальника обладнання або програмного забезпечення , який публікує драйвер. Запитайте в них, чи доступна версія драйвера, сертифікована WHCP, і де отримати до нього доступ. Більшість постачальників уже WHCP сертифікують свої драйвери.
Якщо ви – видавець драйвера
Якщо ви розробляєте та розповсюджуєте драйвери в режимі ядра для Windows, ви повинні переконатися, що ваші драйвери підписані через процес WHCP:
-
Приєднайтеся до Центру розробки обладнання Windows . Зареєструйтеся в Центрі розробки обладнання Windows за допомогою дійсного сертифіката підпису коду розширеної перевірки.
-
Створіть надсилання . На приладній дошці обладнання створіть новий продукт і надішліть пакет драйвера для сертифікації.
-
Запустіть тести HLK . Скористайтеся пакетом Windows Hardware Lab Kit (HLK) для виконання необхідних тестів для типу драйвера та категорії пристрою.
-
Надіслати для підписання . Після проходження тестів надішліть результати HLK разом із пакетом драйверів. Корпорація Майкрософт підписуватиме драйвер за допомогою сертифіката WHCP.
-
Розповсюдити підписаний драйвер . Після підписання опублікуйте драйвер із сертифікатом WHCP через Windows Update та/або свій веб-сайт.
Увага!: Драйвери, підписані за допомогою лише перехресних сертифікатів без сертифікації WHCP, можуть бути заблоковані в системах з політикою драйвера Windows у режимі примусового застосування.
Попередження!: Вимкнення цієї функції знижує безпеку пристрою. Радимо залишити його ввімкнутим і працювати з видавцями драйверів, щоб натомість отримати драйвери з підписом WHCP.
Політика драйвера Windows – це підписана політика цілісності коду, яка зберігається на системному розділі EFI та захищена компонентами раннього завантаження Windows. Щоб вимкнути цю функцію, потрібно виконати наведені нижче дії вручну, щоб зловмисне програмне забезпечення, запущене як адміністратор, не може підробити цю функцію.
Крок 1. Вимкнення безпечного завантаження
-
Перезавантажте комп'ютер і введіть меню настройок мікропрограми UEFI (BIOS). Зазвичай це можна зробити, натиснувши клавішу під час завантаження (наприклад, F2 , F10 , Del або Esc , перевірте документацію виробника пристрою).
-
Крім того, у Windows: перейдіть до розділу Настройки > Система > Відновлення > Розширений запуск > Перезавантажити зараз . Потім виберіть виправлення неполадок > Додаткові параметри > Настройки мікропрограми UEFI > Перезавантажити .
-
-
У настройках мікропрограми знайдіть параметр Безпечне завантаження (зазвичай на вкладці Безпека або Завантаження ).
-
Установіть для параметра Безпечне завантаження значення Вимкнуто .
-
Збережіть зміни та закрийте настройки мікропрограми.
Крок 2. Видалення файлів політики з системного розділу EFI
1. Відкрийте PowerShell із правами адміністратора .
2. Під'єднання системного розділу EFI за допомогою:
mountvol S: /s
Замість букви "S:" можна використовувати будь-яку доступну букву диска.
3. Видаліть файл політики аудиту:
del S:\EFI\Microsoft\Boot\CiPolicies\Active\{784C4414-79F4-4C32-A6A5-F0FB42A51D0D}.cip
4. Якщо наявна також політика примусового застосування, видаліть її.
del S:\EFI\Microsoft\Boot\CiPolicies\Active\{8F9CB695-5D48-48D6-A329-7202B44607E3}.cip
5. Також перевірте наявність і видаліть політики з системного каталогу Windows:
del %windir%\System32\CodeIntegrity\CiPolicies\Active\{784C4414-79F4-4C32-A6A5-F0FB42A51D0D}.cip
del %windir%\System32\CodeIntegrity\CiPolicies\Active\{8F9CB695-5D48-48D6-A329-7202B44607E3}.cip
6. Відключіть розділ EFI:
mountvol S: /d
Крок 3. Перезавантаження комп'ютера
Перезавантажте пристрій, щоб зміни набрали сили. Після перезавантаження політика більше не буде активною, і всі підписані драйвери, в тому числі ті, які не мають сертифікації WHCP , будуть дозволені для завантаження.
Крок 4. Повторне ввімкнення безпечного завантаження
Після видалення файлів політики повторно ввімкніть безпечне завантаження в настройках мікропрограми UEFI для підтримки інших засобів захисту від безпечного завантаження.
Ця функція запускається в режимі оцінювання , де реєструється, але не блокує несерйфіковані драйвери. Після того, як система відповідає критеріям оцінки (достатньо часу роботи та перезавантаження без порушень політики), політика автоматично переходить у режим примусового застосування , а драйвери, які не підписані WHCP, буде заблоковано. Це може призвести до припинення завантаження драйверів, які раніше працювали.
Наразі не можна обійти політику для окремих драйверів. Ви можете повністю вимкнути цю функцію (див. вище) або (бажано) звернутися до видавця драйвера та попросити його надати версію драйвера з підписом WHCP.
Ця функція застосовується лише до драйверів у режимі ядра . Ця політика не впливає на застосунки в режимі користувача.
Щоб перевірити це, виконайте такі команди як адміністратор у PowerShell:
$evalPolicy = (citool -lp -json | ConvertFrom-Json).Policies | Where-Object { $_.PolicyID -eq "784c4414-79f4-4c32-a6a5-f0fb42a51d0d" }
$enforcedPolicy = (citool -lp -json | ConvertFrom-Json).Policies | Where-Object { $_.PolicyID -eq "8F9CB695-5D48-48D6-A329-7202B44607E3" }
if ($enforcedPolicy.IsEnforced -and $enforcedPolicy.IsAuthorized) { Write-Host "✅ The feature is in enforcement mode" -ForegroundColor Green }
elseif($evalPolicy.IsEnforced -and $evalPolicy.IsAuthorized) { Write-Host "✅ The feature is in evaluation mode" -ForegroundColor Green }
else { Write-Host "❌ The feature is not available on this system" -ForegroundColor Red }
Так – Windows Server 2025 р. та новіших серверних платформ. Однак у Windows Server потрібно завантажити сеанс 2 перезавантаження (у порівнянні з 3 в клієнтських випусках). Усі інші умови однакові.
Якщо скинути або повторно інсталювати Windows, ця функція запуститься в режимі ознайомлення. Лічильники оцінювання буде скинуто, а перехід до примусового виконання почнеться знову з самого початку.
Потрібна додаткова довідка?
Якщо проблеми із заблокованим драйвером не зникають, відвідайте форуми Microsoft Community або зверніться до служби підтримки Microsoft .
Ми будемо раді вашим відгукам щодо цієї функції. Щоб надати спільний доступ до своїх можливостей, виконайте наведені нижче дії.
-
У Windows відкрийте Центр відгуків (натисніть клавіші Win+F ).
2. На кроці 2 — Виберіть категорію , виберіть Безпека та конфіденційність > App Control .