Драйвер проверяет все имена запущенных процессов на системе и сравнивает их со списком из 19 видеоигр.
Исследователь в области кибербезопасности Алекс Ионеску (Alex Ionescu) выявил на своем тестовом компьютере под управлением Windows 10 замаскированный драйвер AMD. Драйвер способен менять настройки системы в зависимости от того, какие видеоигры запущены на устройстве. По словам ИБ-эксперта, подобные действия могут вызвать проблемы для кибербезопасности системы и позволяют использовать уязвимости.
Ионеску обнаружил файл AMDPciDev.sys, сертифицированный WHQL как драйвер PnP PCI и установленный в операционной системе как устройство с «фиктивной функцией PCIe».
После проведения обратной разработки драйвера исследователь зафиксировал необычные особенности его поведения, включая работу алгоритма хеширования, а также отслеживание создания и завершения новых процессов в системе и их мониторинг в процессе выполнения задач. Как выяснилось, драйвер проверяет все имена запущенных процессов на системе и сравнивает их с внутренним списком из 19 хешированных именований видеоигр. В случае совпадения драйвер меняет на системе бит MSR для отключения или включения определенных аппаратных оптимизаций, в том числе отключение или управление кэшем инструкций.
Подобное поведение способно привести к проблемам в работе системы под нагрузкой, но улучшить производительность игры. Как полагает эксперт, проблема заключается «очень слабом 32-битный хеше (CRC или XOR)», используемом драйвером.
Еще одной проблемой является тот факт, настройки безопасности позволяют любому приложению в пользовательском режиме задействовать непривилегированный интерфейс драйвера. Злоумышленник таким образом может с помощью однострочной команды в PowerShell вызвать сбой в работе системы.
По словам Ионеску, проблемы затрагивают только версии B1 процессоров серии Zen 1 (Ryzen 1xxx) и Zen 2 XT (Ryzen 3xxx), однако риски могут быть намного большими.