Вразливість M365 Copilot: як викрадають дані
Вразливість у платформі M365 Copilot AI: як зловмисники витягують конфіденційні дані
Минулого вівторка Microsoft виправила вразливість, яку оцінила як максимально критичну, у своїй платформі M365 Copilot AI. У понеділок дослідники, які виявили вразливість і повідомили про неї Microsoft, розповіли, як їхній експлойт для підтвердження концепції міг витягувати коди двофакторної автентифікації (2FA) та інші конфіденційні дані з електронних листів, доступних Copilot.
“Першопричина: ШІ-боти не здатні відрізнити інструкції, надані користувачами, від тих, що були непомітно впроваджені в сторонній контент, який моделі підсумовують, на який складають відповіді або який використовують для виконання інших дій від імені користувача”.
Не маючи можливості убезпечити цю ключову межу, Microsoft та її колеги змушені зводити складні та спеціальні захисні бар’єри (guardrails), розроблені для стримування наслідків цієї невиліковної довірливості.
Перестрибування через захисні бар’єри
Один із захисних бар’єрів, вбудованих у Copilot та більшість інших LLM, не дозволяє їм надсилати вебформи, електронні листи та виконувати подібні дії, які можуть бути використані для вилучення (ексфільтрації) даних користувача. Щоб обійти це, хакери LLM звернулися до мови розмітки, яка, серед іншого, дозволяє користувачам додавати до тексту такі елементи форматування, як заголовки, списки та посилання, без необхідності використання HTML-тегів.
Інший обхідний шлях полягає в тому, щоб загорнути конфіденційні дані всередину HTML-тегів, таких як <img> та <form>. У будь-якому випадку вебзапит, що відображає ці дані, потрапляє на вебсервер зловмисника, де секретна інформація фіксується в журналах.
Охоронна фірма Varonis розробила ланцюжок експлойтів, який зміг перестрибнути ці захисні бар’єри. Першим елементом було те, що дослідники називають “Ін’єкцією параметра в підказку” (Parameter-to-Prompt Injection).
Ін’єкція параметра в підказку
Щоб здійснити ін’єкцію параметра в підказку, зловмисник надсилає цілі електронний лист, який містить URL-адресу з синтаксисом [https://m365.cloud.microsoft/search/?auth=2&origindomain=microsoft365&q=](https://m365.cloud.microsoft/search/?auth=2&origindomain=microsoft365&q=). Поле містить інструкцію. Copilot з готовністю її виконував.
“Функція пошуку — це саме те, що потрібно зловмисникам, оскільки навіть з обмеженими можливостями користувача з доступом до критичної інформації цілком достатньо”.
Послідовність атаки
Отже, послідовність виглядає так:
- Copilot починає потокову передачу своєї відповіді, яка включає тег <img>
- Браузер бачить <img>, рендерить його і відправляє HTTP-запит до URL-адреси джерела
- Copilot завершує генерацію. Захисний бар’єр загортає все в <code>
- Занадто пізно! Запит уже відправлено.
Тепер дослідники мали запит на зображення, який відправлявся з браузера цілі. Проблема полягала в тому, що Copilot не надсилає запити на зображення до більшості вебсайтів.
Атака SearchLeak
Щоб подолати цей бар’єр, ланцюжок експлойтів використав пошукову систему Microsoft Bing як своєрідний трамплін. Згідно з політикою безпеки контенту Copilot, Bing належить до сайтів, яким дозволено надсилати такі запити.
Компанія Varonis назвала цю атаку SearchLeak. “Оскільки SearchLeak націлений на корпоративний рівень (Enterprise tier) Microsoft, радіус ураження не обмежується особистими даними — він здатний витягнути на поверхню будь-що, до чого користувач має доступ всередині організації, включно з електронними листами, запрошеннями на зустрічі та нотатками”.
Як зазначалося, у вівторок Microsoft виправила вразливості, які використовував SearchLeak. Однак, оскільки немає відомого способу усунути першопричину подібних провалів, зловмисники неминуче знайдуть нові способи обійти щойно збудовані захисні бар’єри, і процес повториться знову і знову.