Microsoft в прошлый вторник исправила уязвимость с максимальным уровнем критичности в своей платформе M365 Copilot для ИИ. В понедельник исследователи из компании по кибербезопасности Varonis, которые нашли эту уязвимость, раскрыли, как их proof-of-concept-эксплойт мог извлекать коды двухфакторной аутентификации и другие конфиденциальные данные из писем, доступных для Copilot. Корневая причина — неспособность ИИ-ботов отличать инструкции, предоставленные пользователями, от инструкций, встроенных в сторонний контент, который обрабатывают модели, из-за чего Microsoft и другие поставщики LLM не могут помешать своим продуктам выполнять вредоносные запросы на извлечение данных.
Исследователи Varonis обходят защитные ограждения Copilot с помощью языка разметки
Microsoft встроила защитные ограждения в Copilot, чтобы не позволять LLM отправлять веб-формы, отправлять письма и выполнять подобные действия, которые могли бы привести к утечке пользовательских данных. Исследователи Varonis обошли эти ограничения с помощью языка разметки, который позволяет добавлять элементы форматирования, такие как заголовки, списки и ссылки, в текст без HTML-тегов. Еще один обходной путь заключался в том, чтобы оборачивать конфиденциальные данные в HTML-теги вроде и . В обоих случаях веб-запрос, содержащий данные, попадает на веб-сервер атакующего, где секретная информация фиксируется в логах.
Microsoft внедрила дополнительные защитные ограждения: в частности, оборачивала выходные данные Copilot в блоки, чтобы браузеры воспринимали их как обычный текст, и ограничивала сайты, которые Copilot может посещать, без явного одобрения. Хотя Copilot имеет общее разрешение отправлять запросы на домены Microsoft, защитные ограждения ограничивают запросы на ненадежные сайты.
Эксплойты через инъекцию параметр → промпт (Parameter-to-Prompt Injection) по параметрам URL
Varonis разработала цепочку эксплойтов, которая обходила эти защитные ограждения, используя то, что исследователи называют Parameter-to-Prompt Injection. В данном случае параметр — это q в URL, который помечает запрос, который был включен. Parameter-to-Prompt Injection — близкий родственник prompt injection, с той разницей, что вредоносная команда находится в параметре запроса, а не в письме или другом фрагменте недоверенного контента.
FAQ
Какую уязвимость Microsoft исправила в Copilot в прошлый вторник?
Microsoft исправила уязвимость максимальной критичности в своей платформе M365 Copilot для ИИ, которая позволяла хакерам извлекать коды двухфакторной аутентификации и другие конфиденциальные данные из писем, доступных для Copilot. Исследователи Varonis, которые обнаружили уязвимость, раскрыли свой proof-of-concept-эксплойт в понедельник.
Как исследователи Varonis обходили защитные ограждения Copilot?
Исследователи Varonis использовали язык разметки, чтобы добавлять элементы форматирования без HTML-тегов, и оборачивали конфиденциальные данные внутри HTML-тегов вроде и . Они также применили технику Parameter-to-Prompt Injection, которая размещала вредоносные команды в параметрах URL-запроса, а не в содержимом письма, позволяя веб-запросам с пользовательскими данными попадать на серверы, контролируемые злоумышленником, где информация фиксировалась в логах.