Дослідники з Tenable Research виявили ряд критичних уразливостей в архітектурі ChatGPT, які дозволяють хакерам викрадати дані користувачів без їх активних дій. У їхньому звіті описано 7 сценаріїв атак, які використовують слабкі місця в способі обробки вхідних даних.
До них відносяться маніпуляції з результатами пошуку, приховані інструкції в коментарях на веб-сайтах, уразливості у формуванні URL-запитів, а також методи впровадження шкідливого коду в довготривалу пам'ять моделі.
Як пояснюється в дослідженні, небезпека пов'язана з механізмом так званої «ін'єкції підказки» – ситуації, коли зовнішня інформація сприймається моделлю як інструкція до дії.
Прикладом є типовий запит користувача: «розкажіть мені про цю статтю». Якщо стаття містить зловмисні коментарі або закладки, ChatGPT може інтерпретувати їх як команди та виконати дії, що порушують конфіденційність.
Також експерти виявили сценарій «нульового кліку». Користувач задає нешкідливе питання, а модель переходить на заздалегідь підготовлений ресурс, проіндексований в пошуку, і отримує ін'єкцію без переходу за посиланням. За словами Tenable, достатньо розмістити на сайті інструкції, адресовані внутрішній пошуковій підсистемі, щоб модель спокійно отримувала керуючий код.
Інша атака використовує вразливість у параметрі q в URL-адресі. Зокрема, якщо користувач натискає на посилання із запитанням, модель автоматично сприймає це як власну підказку. Це перетворює посилання на готовий до використання канал розгортання.
Особливої уваги заслуговує вразливість, пов’язана з механізмом url_safe, який ChatGPT використовує для перевірки надійності зовнішніх посилань. Оскільки домен bing.com внесено до білого списку, спеціально створені URL-адреси змогли пройти перевірку та повністю завантажитися. Дослідники змогли отримати конфіденційні дані, передавши їх через серію довірених посилань.
Також були зафіксовані випадки Conversation Injection – коли допоміжні системи, наприклад SearchGPT, передають шкідливий текст, вбудований в історію, в основний чат. Модель, сприймаючи це як частину контексту, виконує вкладені інструкції, не відокремлюючи їх від запиту користувача.
Шостий метод використовує функції рендерингу markdown — шкідливий код розміщується в одному рядку з маркером, що відкриває блок коду, залишається невидимим для користувача, але обробляється моделлю. Такий підхід дозволяє приховати небезпечні натяки безпосередньо в тексті відповіді.
Найнебезпечнішим виявився механізм ін'єкції пам'яті. Дослідники показали, що шкідливий фрагмент у відповіді SearchGPT може змусити модель оновити довготривалу пам’ять, вставивши туди керуючі інструкції. Після цього шкідливі шаблони зберігаються і запускаються навіть у нових сесіях, перетворюючись на постійне джерело витоків.
Поєднання цих прийомів дозволяє будувати повноцінні атаки. Tenable наводить приклади:
- фішингові посилання, які маскуються під випуски новин;
- зловмисні коментарі на популярних сайтах, які провокують повторні компрометації;
- ресурси, підготовлені для запуску «нульового кліку»;
- ін'єкції пам'яті, які дають хакерам регулярний доступ до особистих даних користувачів.
Джерело
