Исследователь безопасности Иоганн Ребергер недавно обнаружил уязвимость в ChatGPT, которая позволяла злоумышленникам внедрять ложную информацию и вредоносные инструкции в долговременную память пользователей. OpenAI быстро закрыло расследование, назвав это скорее "проблемой функциональности", чем прямой угрозой безопасности.
Ребергер, как и положено хорошему исследователю, разработал эксплойт, который позволял использовать эту уязвимость для постоянного сохранения всех пользовательских данных. После того как инженеры OpenAI узнали об этом, они выпустили частичное исправление.
Суть уязвимости заключалась в долговременной памяти, которую OpenAI начала тестировать в феврале и расширила доступ к ней в сентябре. Эта функция позволяет ChatGPT запоминать информацию из предыдущих разговоров, чтобы использовать её для контекста в будущем. Например, модель может помнить ваш возраст, предпочтения или другие личные данные, чтобы не запрашивать их каждый раз.
Ребергер обнаружил, что можно внедрить ложные воспоминания через косвенные подсказки — тип атаки, в которой модель обучается на ненадёжных данных, таких как письма, блоги или документы. Он продемонстрировал, как можно заставить ChatGPT "думать", что пользователю 102 года, что он живёт в Матрице или что Земля плоская. И что важно — модель продолжала использовать эту ложную информацию во всех следующих разговорах. Внедрять такие ложные данные можно было через загрузку файлов в Google Drive или OneDrive, а также через веб-сайты вроде Bing, что делает этот способ особо опасным.
Исследователь сообщил OpenAI о проблеме в мае, но тогда компания не предприняла достаточных мер. Через месяц Ребергер отправил новое сообщение, включив в него доказательство концепции (PoC), которое показывало, как ChatGPT на macOS может пересылать все пользовательские данные на сервер злоумышленника. Для этого пользователю достаточно было попросить LLM открыть ссылку на сайт с вредоносным изображением. После этого весь ввод и вывод пересылался на сторонний сервер.
Самое интересное в том, что эти данные сохраняются в долговременной памяти. Модель продолжает использовать их, даже когда начинается новый разговор.
Стоит отметить, что атака невозможна через веб-интерфейс ChatGPT благодаря защите, введённой с помощью API OpenAI в прошлом году.
Хотя OpenAI выпустила исправление, которое предотвращает использование этой уязвимости для кражи данных, ненадёжные источники всё ещё могут внедрять ложную информацию в память модели. Пользователям рекомендовано внимательно следить за сеансами и проверять, не добавилось ли что-то подозрительное в воспоминания. Также OpenAI предлагает руководство по управлению долговременной памятью, чтобы пользователи могли удалять нежелательные данные.
На вопрос о дополнительных мерах по предотвращению атак с ложными воспоминаниями представители OpenAI пока не ответили.