Microsoft отозвала сертификаты драйверов устройств — последствия для пользователей

11 июля 2023 года для операционной системы Windows 10 (актуальных версий) вышли очередные обновления безопасности, которые должны были закрыть уязвимость связанную с установкой драйверов, подписанных скомпроментированными сертификатами цифровой подписи. После установки этих накопительных обновлений, либо вышедших в последующие месяцы, у некоторых пользователей появились проблемы в работе устройств. Возникала ошибка с кодом 39, а в поле описания было указано, что Windows не может проверить цифровую подпись файла драйвера, так как сертификат был отозван. Эта проблема коснулась владельцев старых компьютеров, а точнее ноутбуков, так как нарушала работу Wi-Fi и/или Bluetooth.

Пример ошибки с кодом 39 для устройства Bluetooth производителя Ralink

Пример ошибки с кодом 39 для устройства Bluetooth производителя Ralink

Предыстория появления проблемы

В июне 2021 года здесь на Хабре появилась новость о том, что Microsoft признала, что подписала вредоносный драйвер. Там была ссылка на англоязычную статью специалиста по информационной безопасности компании G Data — Карстена Хана, где указывалось, что обнаружен руткит в драйвере, подписанный сертификатом с действительной цифровой подписью. Своё внимание к обнаруженной проблеме направили и другие специалисты в данной сфере. Изучение и понимание ситуации заняло пару лет, после чего в июле 2023 года здесь на Хабре появилась новость о том, что Хакеры использовали политику Microsoft для изменения даты подписи вредоносных драйверов до 29 июля 2015 года. Тут уже представлена расширенная информация об обнаруженной ранее проблеме и какое решение приняла Microsoft.

Так стало известно, что ещё с 2018–2019 годов существовали инструменты, разработанные китайскими хакерами, позволяющие внедрить руткит в файл драйвера устройства и подписать его сертификатом с действительной цифровой подписью. Но при этом, даты подписи изменённых драйверов необходимо было выбирать до 29 июля 2015 года. Злоупотребления обнаружили эксперты Sophos, Cisco Talos и Trend Micro. Были выявлены десятки поддельных сертификатов, которыми были подписаны сотни драйверов с внедрённым вредоносным кодом. В данной ситуации компания Microsoft решила отозвать старые сертификаты (до указанной выше даты), путём включения в июльский пакет обновления CRL (certificate revocation list — отзывной список сертификатов).

Последствия для пользователей

Если вы обладатель нового стационарного компьютера или ноутбука, выпущенного после 2015 года, то скорее всего входящие в него устройства работают под управлением таких же «свежих» драйверов. Вам не о чем беспокоится и установка очередных накопительных обновлений Windows 10, отзывающих какие-то там сертификаты для старых устройств, пройдёт для вам незамеченной. Но если ваш ПК более «древний», то после установки очередных накопительных обновлений Windows 10, вышедших в июле 2023 года или позже могут возникнуть проблем в работе устройств, так как ОС не допустить в работу драйвер с отозванной цифровой подписью.

Я владею ноутбуком HP Probook 4540s — модель из «бизнес серии», выпускавшаяся в 2012 году — старенький, тяжеленький, но меня устраивает. На нём тестирую свои сборки ОС семейства Windows. Хоть слово «сборка» иногда воспринимается негативно, но ничего противоестественного с образом WIM не делаю. Так, с помощью штатного инструмента DISM и своих скриптов, отключаю некоторые ненужные функции, удаляю «магазинные приложения», включаю .NET Framework 3.5 и интегрирую обновления. Всё это успешно делалось много лет, с периодичностью раз в год и не вызывало проблем. Очередная моя «сборка» устанавливалась на этот ноутбук и успешно проходила тест на работоспособность. Но этой зимой так не получилось.

Мой опыт обнаружения проблемы

В декабре 2023 года сделал свою сборку Windows 10 Enterprise LTSB 2016 (v1607), установил на свой ноутбук и после обновления драйверов обнаружил, что Wi-Fi и Bluetooth не работают. Причиной были ошибки описанные в начале статьи и ссылающиеся на отсутствующие (отозванные) сертификаты драйверов. Попробовал установить сборку этой же версии Windows 10, но сделанную мной годом ранее — всё работает с этими же драйверами. Однако, загрузка и установка обновлений из Центра обновлений Microsoft, после перезагрузки приводит к тому же результату. Подумал, что обновления в декабре выдались «неудачными» и решил подождать января. Подождал — то же самое.

Начал разбираться в проблеме и итерационным путём выяснять в каком же месяце в течение 2023 года вышли обновления нарушающие работу устройств. И выяснил! Сборка Windows 10 с интеграцией обновлений за июнь 2023 года является полностью рабочей, а с обновлениями за июль 2023 года — уже нет. Но тут же возникает опасность, что дай ОС выход в Интернет — она тут же обновится и станет нерабочей. Пробовал сделать сборку Windows 10 Enterprise LTSC 2019 (v1809) с интеграцией обновлений по январь 2024 года. Результат несколько лучше — не работал только Blurtooth. И опять же, итерационным путём выяснил, что крайние рабочие обновления были за июнь 2023 года.

Мой опыт решения проблемы

Первое, что пришло в голову, чтобы обойти проверку цифровой подписи драйверов устройств это отключить с помощью Локальных политик возможность такой проверки. Всё просто — выполнил gpedit.msc и через редактор локальной групповой политики нашел соответствующий параметр в одном из разделов Административных шаблонов в Конфигурации компьютера и включил его. Даже, с помощью утилиты RegShot вычислил соответствующий твик реестра. Перегрузил и обнаружил, что решение оказалось нерабочим. Видимо в используемой версии Windows 10 данный параметр игнорируется.

Второе, что могло помочь судя по информации из различных источников в Интернете, это модификация сценария загрузки Windows, таким образом, чтобы ОС всегда загружалась в тестовом режиме с отключением цифровой подписи драйверов. При этом в углу экрана присутствовала бы надпись уведомляющая об этом. Это решение показалось мне «некрасивым», поэтому даже не стал его пробовать. Кто знает: есть ли какие-либо ограничения в работе ОС в тестовом режиме?

Я выбрал третий вариант: «досрочный» End of Support для используемых мною для создания своих сборок версий Windows 10. Собрал сборки с интеграцией накопительных обновлений по июнь 2023 года и на этом всё, финиш! Хотя всё же вложил последние зимние обновления .NET Framework 4.8 так как они ничего не портят. Также отключил с помощью локальных политик автоматическую проверку и установку обновлений. Соответствующий твик реестра:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
;Отключить автоматическое обновление Windows
"NoAutoUpdate"=dword:00000001

Можно было бы отключить и службу Центра обновлений Windows, но тогда бы была утрачена возможность устанавливать драйверы устройств из репозитория Microsoft. При этом в интерфейсе настроек Windows остаётся кнопка Проверить обновления, нажатие на которую при доступе в Интернет приводит не только к проверке, но и к скачиванию и установке.

Мнение о решении Microsoft

Наверное, высшее руководство M$ считает, что компьютеры и ноутбуки старше 10 лет должны быть выкинуты пользователями на свалку, а взамен них куплены новые. Возможно, пользователи ноутбуков должны обратиться в специализированные мастерские, где им вскрыв корпус заменять плату комбинированного модуля Wi-Fi/Bluetooth на более новую со «свежими» драйверами.

Я считаю, что пользователь является собственником своего компьютера и должен иметь возможность принимать на себя риски, чтобы решать, допускать ли работу устройств с вероятностью присутствия руткита в драйвере или нет. Если не отключать автоматическое обновление, то какие есть способы решения изложенной здесь проблемы?

© Habrahabr.ru