Блокування завантаження недовірених шрифтів в Windows 10

Одним із способів атаки на Windows машини, який отримує все більш широке поширення, є експлуатація вразливостей в драйвері шрифтів Windows через завантаження і виконання користувачем спеціально сформованого файлу шрифту. Щоб реалізувати таку атаку - зловмиснику досить змусити користувача відкрити спеціально сконструйований документ, веб-сторінку або запустити спеціальний додаток (безпечне само по собі), яке завантажує шрифт зі шкідливим кодом з зовнішнього джерела. У Windows 10 з'явилася вбудована можливість заборонити завантаження і виконання "сторонніх" шрифтів, тобто тих, що не заставлені в системі і не розташовуються в каталозі% WINDIR% \ Fonts.

Для управління завантаженням сторонніх шрифтів в Windows 10 з'явився окремий параметр групової політики, який знаходиться в розділі консолі gpedit.msc: Computer Configuration -> Administrative Templates -> System -> Mitigation Options . параметр називається Untrusted Font Blocking. Доступні 3 режиму роботи даної політики:

  • Block untrusted fonts and log events - повністю заборонити додаткам завантажувати сторонні шрифти з будь-якої папки, крім% windir% Fonts і записувати всю інформацію в журнал
  • Do not block untrusted fonts - сторонні шрифти не блокують (значення за замовчуванням)
  • Log events without blocking untrusted fonts - так званий режим аудиту, коли завантаження і установка сторонніх шрифтів не блокується, але інформація про шрифт і встановила його додатку записується в журнал

У домашніх версіях Windows 10 Home (в яких відсутній редактор групових політик), управління цією захисною функцією можливо тільки через реєстр. Для цього в гілці реєстрі HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Kernel \ потрібно створити параметр типу QWORD (64-bit) з ім'ям MitigationOptions. Параметру потрібно задати одне з наступних значень:

  • Блокування шрифтів включена - 1000000000000
  • відключений - 2000000000000
  • режим аудиту - 3000000000000

Після внесення змін потрібно перезавантажити систему.

Якщо потрібно, щоб політика заборони завантаження шрифтів не діяли на конкретне застосування, його можна додати в виключення. Наприклад, щоб Outlook коректно відображав листи з вбудованими шрифтами, потрібно в гілці реєстру HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Image File Execution Options створити з'єднання з ім'ям виконуваного файлу програми. У нашому випадку це буде outlook.exe.

Порада. Майте на увазі, при активній політиці блокування шрифтів деякі програми можуть перестати відображатися коректно. Тому рекомендується заздалегідь вивчити роботу популярних корпоративних додатків в режимі аудиту. Потрібні файли сторонніх шрифтів можна централізовано встановити пакетним сценарієм.

При включенні політики аудиту, все пов'язані події знаходиться в розділі системного журналу додатки Application-> Service Logs -> Microsoft -> Windows -> Win32k -> Operational. Нас цікавлять події з EventID 260

Функцією блокування сторонніх шрифтів також можна управляти через Microsoft EMET 5.5. Для цього в інтерфейсі EMET потрібно включити опцію Block Untrusted Fonts.

У деяких випадках перед використанням політики рекомендується скинути все шрифти і їх налаштування в Windows на стандартні.