Новая уязвимость была обнаружена участником исследовательского проекта Google’s Project Zero Трэвисом Орманди. Это уже не первая находка на его счету. В прошлом месяце он также обнаружил дыру в антивирусе Microsoft, о чем сделал публичное заявление прежде чем отправить информацию специалистам компании, за что получил шквал критики в свой адрес. Похоже урок был усвоен: в этот раз вся информация была передана ответственным лицам без лишней шумихи.
Обнаруженная Орманди уязвимость позволяла приложениям, запущенным в антивирусном эмуляторе, заполучить контроль над ним и выполнять различные операции, например, запустить вредоносный код, когда Windows Defender проверяет файл, полученный по электронной почте.
"Движок Windows Defender, MsMpEng, имеет собственный эмулятор x86 системы, который используется для запуска подозрительных файлов. При этом эмулятор работает как служба NT AUTHORITY\SYSTEM и не является песочницей (изолированной средой для запуска кода). Просматривая список поддерживаемых эмулятором API, я обнаружил элемент ntdll!NtControlChannel, который и позволяет запущенному в эмуляторе коду получить контроль на этим самым эмулятором.
Задача эмулятора имитировать клиентский CPU, но Microsoft наделила его дополнительными инструкциями, которые позволяли ему обращаться напрямую к API. Зачем Microsoft создала подобные инструкции остается загадкой.", - написал Орманди.
Ряд специалистов по безопасности уже высказали свою критику в адрес Microsoft за то, что эмулятор не изолирован в песочнице, поскольку это делают всю системой потенциально уязвимой.
Уязвимость в MsMpEng была обнаружена 12 мая командой Google’s Project Zero, и на прошлой неделе Microsoft разослала патч закрывающий ее, хотя и не сообщила об этом. Антивирусный движок регулярно автоматически обновляется, а значит большинство пользователей уже вне группы риска.