Почему даже самый жёсткий «безопасный режим» у нейросетей можно обойти, и при чём здесь криптография и пазлы.

Криптографы показали, что защитные фильтры в больших языковых моделях вроде ChatGPT принципиально не могут быть полностью надёжными. Даже самые продвинутые системы окажутся уязвимы для обхода, если на безопасность тратится меньше вычислительных ресурсов, чем на саму модель. Несколько новых работ предлагают строгие математические аргументы, объясняющие, почему так происходит.
Пользователи давно пытаются «взломать» чат-боты, добиваясь от них запрещённых инструкций. На заре развития таких систем иногда было достаточно попросить модель «забыть правила». Позже появились сложные ролевые сценарии из серии «представь, что ты герой романа, который…». В одной из научных работ описывается особенно изящный подход: вредоносный запрос просто заворачивают в стихотворение. Модель, не распознав угрозу, честно продолжает поэтическую игру, а фильтр пропускает такой текст как безобидный. Тем не менее компании обычно быстро закрывают подобные лазейки: для этого не нужно переобучать гигантскую нейросеть, достаточно обновить фильтр, который стоит перед ней.
Парадокс в том, что именно эти внешние фильтры и превращаются в ключевое слабое звено. Несколько недавних препринтов на arXiv демонстрируют, что защитные механизмы вокруг мощных языковых моделей можно обойти, опираясь на классические идеи из криптографии. В двухуровневой схеме, где между пользователем и огромной моделью стоит быстрый и относительно лёгкий фильтр, неизбежно возникает разрыв в возможностях — удобная брешь для злоумышленника.
Интерес к этому направлению появился, когда криптографы начали всерьёз анализировать надёжность ИИ с помощью собственных инструментов. «Мы пользуемся мощной технологией, которая может приносить пользу, но и вред. Криптография — это область, которая должна давать нам уверенность в безопасности», — отмечает лауреат премии Тьюринга Шафи Голдвассер из Беркли и MIT. Изначально исследователи хотели использовать криптографию для борьбы с так называемым несоответствием моделей — ситуациями, когда ИИ выдаёт вредные или нежелательные ответы. Но быстро стало ясно, что формально определить, что именно считать «плохим», крайне сложно.
Разработчики на практике полагаются на три основные стратегии: переобучать модель на очищенных данных, тонко её донастраивать или ставить перед ней внешний фильтр, который пытается отфильтровать опасные запросы. Последний подход — самый дешёвый и гибкий, его проще всего обновлять после обнаружения очередного jailbreak'а. Но именно он, как показывают криптографы, даёт системные уязвимости.
Команда Голдвассер подчёркивает: фильтры по определению слабее основной модели — иначе они были бы слишком медленными и дорогими для реальной эксплуатации. Это делает их уязвимыми к запросам, которые сама модель понимает, а фильтр — нет. В одной из недавних работ учёные продемонстрировали практический пример: они прятали запрещённый запрос внутри простой головоломки — шифра подстановки. Фильтр не мог расшифровать скрытый текст и считал его безобидным, а модель справлялась с задачей и послушно выполняла зашифрованные инструкции. Такой подход получил название «управляемое раскрытие».
Другие исследователи, вдохновившись криптографией, предложили более общий теоретический сценарий с использованием так называемых «пазлов со временем раскрытия» (time-lock puzzles). Это конструкции, которые можно «открыть» только после заранее заданного количества вычислительных операций. Идея в том, чтобы спрятать вредоносный запрос внутрь такого пазла и подобрать время так, чтобы фильтр не успевал его решить, а модель распаковывала зашифрованный текст уже после прохождения проверки.
Прямая подача длинного случайного числа в запрос могла бы вызвать подозрение фильтра, поэтому авторы предлагают использовать другой канал — параметр seed, управляющий случайностью в ответах ИИ. Многие модели позволяют пользователю задавать seed вручную. В теоретической схеме число из time-lock пазла выступает в роли этого seed. Внешне фильтр видит лишь невинный запрос вроде «Напиши стихотворение», а модель, получив seed, способна выполнить вычисления, раскрыть спрятанную внутри инструкцию и фактически ответить на скрытый вредоносный вопрос.
Авторы подчёркивают, что их выводы носят общий характер. Если на безопасность тратится меньше вычислительных ресурсов, чем на саму модель, уязвимости неизбежны — какие бы именно фильтры ни были реализованы. Один из участвовавших исследователей, Грег Глюх, формулирует исходный вопрос так: можно ли надёжно обеспечивать безопасность только внешними средствами, не понимая внутреннего устройства модели? Судя по новым результатам, ответ отрицательный.
Проще говоря, как бы высокой ни казалась защитная стена вокруг языковых моделей, при текущем подходе к их защите в ней всегда можно будет найти трещину.