Аннотация:
В последнее время производительность Windows 11 продолжает подвергаться критике со стороны пользователей, а фоновая служба под названием «Работоспособность Windows и оптимизированный интерфейс» также привлекает внимание. Ранее утверждалось, что служба отслеживает информацию о процессоре, температуре и батарее и отправляет данные в Microsoft каждые 15 минут. В связи с этим реверс-инженер Сюшэн Ли проанализировал основной сервис whesvc и пришел к выводу, что у сервиса действительно достаточно обширные системные разрешения, но существующие скрипты в основном используются для диагностики производительности, и никаких признаков автоматической загрузки пользовательских данных или мониторинга экрана обнаружено не было.

Инженер Microsoft Скотт Хансельман ранее объяснял, что служба предназначена для сбора целевых диагностических данных производительности, когда Windows обнаруживает задержку работы или медленный ответ. Соответствующая информация отслеживания сначала будет сохранена локально, и пользователи смогут выбрать, отправлять ли ее через «Центр обратной связи». Обратный анализ Сюшэн Ли в основном подтверждает это утверждение, но также показывает, что его базовая реализация намного сложнее, чем обычные службы диагностики производительности.
Анализ показывает, что размер тела службы whesvc невелик, а ключевые функции в основном расположены в Windiag.dll. Библиотека динамической компоновки включает язык сценариев Lua 5.4.7. Microsoft также предоставляет вместе с системой файл whesvc_assets.dll, который содержит 84 скомпилированных сценария Lua, каждый из которых отвечает за различные сценарии диагностики.
Сюшэн Ли обнаружил, что механизм сценариев открывает для сценариев 79 встроенных функций с широким спектром вызываемых возможностей. К ним относятся чтение и изменение реестра Windows, выполнение файловых операций, создание и управление процессами, запрос WMI (инструментария управления Windows), сбор данных ETW (трассировка событий Windows), проверка токенов безопасности, получение информации о питании и температуре, загрузка файлов символов, создание сжатых пакетов .cab и инициирование HTTP-запросов.
Кроме того, этот механизм включает в себя общий интерфейс внешних функций (FFI), который позволяет сценариям взаимодействовать с собственными библиотеками DLL и различными дескрипторами Windows. С точки зрения возможностей, разрешения этого базового механизма действительно выходят далеко за рамки того, что требуется для обычной диагностики производительности, что может легко заставить пользователей беспокоиться о конфиденциальности и контроле над системой.
Однако быть могущественным не означает, что вас используют в ненадлежащих целях. Результаты обратного проектирования показывают, что большинство сценариев, поставляемых Microsoft вместе с системой, используют эти возможности только для рутинных диагностических задач. Например, функции, связанные с реестром, в основном используются для сохранения собственных счетчиков после перезапуска службы; модуль информации о драйвере может изменять настройки средства проверки драйверов Windows, но эта функция должна запускаться определенными переменными среды и служит для процесса мониторинга памяти. Исследователи полагают, что это может быть одна из самых инвазивных операций WHESVC в практическом использовании.
Некоторые сценарии также вызывают собственные инструменты Microsoft. Например, один сценарий запускает powercfg.exe для создания отчета об исследовании сна, а другой путь вызывает wpr.exe для объединения записей отслеживания производительности, созданных Регистратором производительности Windows.
Что касается практических диагностических возможностей, whesvc может собирать информацию трассировки, когда приложение перестает отвечать на запросы, отслеживать задержку ввода и отображать аномалии, выявлять приложения, которые запускаются медленно, и обнаруживать системные службы, которые остаются в состоянии ожидания в течение длительного времени. Его модуль питания можно использовать для устранения неполадок с ненормальным энергопотреблением, анализа факторов, мешающих переходу компьютера в спящий режим, и реагирования на постоянные проблемы с энергопотреблением.
В качестве примера возьмем модуль Memory_handle_leak, который специально используется для устранения утечек памяти. Он отслеживает количество памяти и дескрипторов в течение нескольких интервалов времени и сочетает последовательный рост с наклонами линейной регрессии, чтобы попытаться отличить потенциальные утечки памяти от нормального роста ресурсов.
Спорное утверждение о «загрузке данных каждые 15 минут» также было прояснено в этом анализе. Модуль system_summary генерирует системную сводку в формате JSON за 900 секунд или 15 минут, но эти данные по умолчанию сохраняются локально. Несмотря на возможности сетевого взаимодействия службы, исследователи не обнаружили сценариев, которые бы выполняли случайные HTTP-запросы; среди всех 84 сценариев единственный идентифицированный URL-адрес указывал на общедоступный сервер символов Microsoft — функцию, которая, как сообщается, отключена в обычных розничных установках Windows.
Поэтому Сюшэн Ли сказал, что он специально искал возможное подозрительное поведение, но не нашел никаких доказательств того, что служба будет тайно записывать экран, а также не обнаружил, что данные диагностического отслеживания будут автоматически загружены в Microsoft без каких-либо действий со стороны пользователя. Распространенное в Интернете утверждение о том, что «Windows 11 использует этот сервис для тайного наблюдения за пользователями», не имеет соответствующей технической основы.
В целом, Microsoft создала для Windows 11 универсальный механизм диагностики системы, который работает с системными разрешениями и может выполнять такие задачи, как реестр, файлы, процессы и выполнение собственного кода. Его базовые возможности, очевидно, более мощные, чем те, которые необходимы для устранения неполадок с производительностью, но сценарии, в настоящее время поставляемые с системой, по-прежнему ограничены рамками диагностики производительности. Другими словами, структура разрешений whesvc, возможно, заслуживает постоянного внимания, но существующий анализ не поддерживает его прямую характеристику как «шпионского ПО».
Комментарии