Mark of the Web – это функция, помогающая защищать устройства пользователей от вредоносных файлов, загруженных из сети. Система ставит специальную маркировку на все документы и файлы, попадающие на компьютер. Эта маркировка заставляет другие программы аккуратнее вести себя с новыми файлами. Например, Microsoft Office открывает документы с пометкой MoTW в специальном защищенном режиме. Кроме того, когда пользователь пытается открыть файл с флагом Mark-of-the-Web, Windows выводит предупреждение о том, что к файлу следует относиться с осторожностью. А недавнее расследование деятельности операторов программы-вымогателя Magniber показало, что злоумышленники начали использовать уязвимость, позволяющую подписывать JS-файлы неправильной цифровой подписью, тем самым обходя MoTW-предупреждения и заражая жертв своим вымогательским ПО. Чтобы было понятнее, речь идет не о JS-файлах, обычно используемых почти на всех веб-сайтах, а о файлах, которые злоумышленники распространяют в виде вложений или загрузок, запускаемых вне веб-браузера. В случае с Magniber злоумышленники используют цифровую подпись со встроенным блоком подписи в кодировке base64.
Проанализировав образцы файлов, используемых злоумышленниками, Уилл Дорманн , старший аналитик уязвимостей в ANALYGENCE, обнаружил , что злоумышленники подписывают их неправильным ключом. Если файл использует такую подпись, то даже при наличии на нем флага MoTW, Windows не отображает предупреждение от системы безопасности, а скрипт автоматически выполняется и устанавливает Magniber. Убедившись в наличии неправильных подписей, Дорманн создал тестовые JS-файлы, которые обходили MoTW-предупреждения. Исследователь предоставил их изданию BleepingComputer. Как видно на скриншотах, оба файла получили флаг Mark-of-the-Web. Разница между этими двумя файлами заключается в том, что один из них подписан тем же неправильным ключом, что и файлы Magniber, а другой вообще не содержит подписи. Когда неподписанный файл открывается в Windows 10, предупреждение о безопасности MoTW отображается должным образом. Однако при открытии второго файла Windows не выводит предупреждение безопасности и просто выполняет JS-код, как показано ниже. Используя неправильные подписи, хакеры могут обойти обычные предупреждения от системы безопасности, появляющиеся при открытии загруженных JS-файлов, и автоматически выполнить их содержимое. Дорманн рассказал BleepingComputer, что эта уязвимость могла появиться с выходом Windows 10, поскольку на Windows 8.1 предупреждения появляются. По мнению исследователя, всему виной стала функция SmartScreen в Windows 10, которая связала MoTW-предупреждения с подписями Authenticode. Как выяснилось позже, хакеры могут модифицировать любой файл с подписью Authenticode, чтобы обойти MoTW-предупреждения. Дорманн рассказал, что для этого достаточно воспользоваться шестнадцатиричным редактором и заменить некоторые байты в части подписи файла. Испорченная подпись не будет проверяться с помощью SmartScreen и ОС позволит файлу запуститься. Дорманн сообщил обо всем Microsoft, которая заявила, что не смогла воспроизвести обход MoTW-предупреждений. Однако IT-гигант не планирует оставлять уязвимость без внимания и пообещал заняться ее расследованием.