Як працює гаряче виправлення у Windows: оновлення без зупинки системи

Гаряче виправлення — це механізм застосування оновлень безпеки Windows до процесів, що виконуються в оперативній пам’яті, без необхідності перезавантаження системи. Це вирішує фундаментальну проблему традиційних сукупних оновлень (Cumulative Updates), які вимагають перезапуску для заміни заблокованих системних файлів (∗.dll, ∗.exe), що використовуються активними процесами.

Нова каденція обслуговування

Технологія впроваджує квартальний цикл оновлень замість щомісячного перезавантаження:

  • Місяць 1 (Базова лінія): Встановлюється повне сукупне оновлення, що містить виправлення безпеки, якості та нові функції (включно з .NET, Defender тощо). Потребує перезавантаження. Це створює новий еталон системи.
  • Місяць 2 та 3: Застосовуються виключно гарячі виправлення. Вони містять лише критичні оновлення безпеки. Перезавантаження не потрібне.

Усі оновлення якості та функцій, що виходять у Місяці 2 та 3, кумулюються та включаються до наступної базової лінії (Місяць 1 нового кварталу).

Технічна реалізація: Механізм «In-Memory»

Гаряче виправлення модифікує поведінку запущених процесів шляхом ін’єкції коду та перенаправлення викликів функцій.

  1. Файли виправлень: Замість заміни основного файлу (напр., kernel32.dll), система доставляє спеціальний файл (kernel32_hotpatch.dll). Цей файл містить лише оновлені, виправлені версії функцій.
  2. Метадані та «обв’язка»: Файл *_hotpatch містить метадані, що описують, як інтегрувати новий код у процес, що вже виконується. Це досягається через два ключові механізми:
    • Пряме приєднання (Forward Attach): Система знаходить в пам’яті всі точки виклику старої, вразливої функції. Вона динамічно «перепрошиває» (патчить) ці інструкції виклику, перенаправляючи їх на нову, виправлену версію функції, завантажену з *_hotpatch файлу.
    • Зворотне приєднання (Reverse Attach): Нова, виправлена функція все ще потребує доступу до ресурсів оригінального процесу (інших функцій, глобальних змінних, дескрипторів/handles). Цей механізм надає новому коду зворотні посилання та контекст для коректної взаємодії з рештою процесу, ніби він завжди був його частиною.
  3. Кумулятивність: Гарячі виправлення є кумулятивними. Патч Місяця 3 містить усі виправлення з Місяця 2. При його встановленні система перенаправляє всі «прямі приєднання» на найновішу версію коду з патча Місяця 3.

При встановленні наступної «базової лінії» (Місяць 1) всі ці зміни в пам’яті відкидаються, оскільки оновлені файли завантажуються з диска під час перезавантаження, і цикл починається знову.

Доступність та обмеження

Підтримувані платформи:

  • Azure: Windows Server 2022 / 2025 Data Center: Azure Edition.
  • Гібридні/Локальні: Windows Server 2025 (Standard/Data Center) лише з підключенням до Azure Arc та використанням Azure Update Manager (платна послуга).
  • Клієнтські ОС: Windows 11 Enterprise / Education (версії 24H2+) лише під керуванням Intune Autopatch.
  • VDI: Windows 365 Enterprise та Azure Virtual Desktop (AVD).

Обмеження:

  • .NET: Бінарні файли .NET наразі не підтримуються гарячим виправленням. Їх оновлення входять до «базової лінії» (Місяць 1).
  • Файли передзавантаження (Preboot): Оновлення компонентів, що виконуються до завантаження ОС (напр., bootloader), також вимагають перезавантаження.
👍ПодобаєтьсяСподобалось3
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Підписатись на коментарі