Лидеры мысли
Инъекционная атака, которую невозможно предотвратить: выдача желаемого за действительное или реальная обеспокоенность?

В этой статье я хотел бы предложить читателю мысленный эксперимент. Я буду утверждать, что в недалеком будущем определенный тип атаки с внедрением кода станет практически неизбежным. Мой аргумент будет скорее умозрительным, чем конкретным, поэтому я не пытаюсь вас в чем-либо убедить. Вместо этого я предлагаю вам самим поразмышлять над этими мыслями. Прежде чем начать, как и положено любому убедительному писателю, я хотел бы обсудить шахматы и шахматные движки.
Сверхчеловеческие шахматные движки и утверждение о человеческом опыте
Одним из приятных аспектов шахмат, которого нет в других дисциплинах, является способность объективно Измерять качество или силу игрока. Система рейтинга ELO Использование этого метода имеет свои недостатки, но он дает очень хорошую приблизительную оценку, которая сохраняется с течением времени. Рейтинг 2700 и выше обычно считается мировой класс (входит в топ-30 в мире). Лучший игрок в мире имеет рейтинг чуть ниже 2850. Ни один человек никогда не достигал рейтинга 2900.
В середине 90-х годов мы стали свидетелями того, как первый движок искусственного интеллекта (Deep Blue) достиг своего пика. мировой класс уровень. Практическое значение этого достижения заключалось в широком использовании шахматных движков игроками всех уровней для тренировки и анализа. Фактически, использование движков стало необходимым для лучших игроков мира. Однако на протяжении нескольких поколений этих движков мирового класса проверка рекомендуемых ходов (т.е. результатов) была крайне важна. Был даже создан специальный формат, называемый «продвинутые шахматы», в котором люди соревновались с движком, и комбинация человек + машина считалась превосходящей одну только машину.
Для достижения шахматным движкам такого уровня потребовалось около 20 лет и значительный прогресс в области глубокого обучения и обучения с подкреплением. сверхчеловеческий Уровень (примерно 3200 ЭЛО). Но как только этот уровень был пробит примерно в 2017 году, произошло нечто очень удивительное. На самом деле, произошло две вещи. Во-первых, это было совершенно ожидаемо: движки стали де-факто источником «истины» в 99% всех позиций. На практике это означало, что мы вступили в «эру слепого доверия» к движку. В наши дни человеку практически невозможно предложить значительно лучший ход, чем движок. Какими бы увлекательными ни были «продвинутые шахматы», сейчас это бессмысленное занятие; люди практически ничего не вносят в игру. Но второе стало шоком для большинства шахматистов. Эти сверхчеловеческие нейронные (то есть, глубокие нейронные сети) движки иногда играли в стиле, который лучше всего описать как «романтический». Другими словами, они делали ходы, ценность которых можно было оценить лишь много-много ходов спустя, намного позже, чем мог бы рассчитать любой человек или движок мирового класса. Создавалось впечатление, что у движков развилось «чувство» или «интуиция» в отношении определенных позиций. Однако эта интуиция — нечто, чего человек никогда не сможет постичь или имитировать.
Иными словами, сверхчеловеческий нейронный механизм способен совершать действия, которые за пределами когнитивного горизонта Человека. В этом здесь ключевой момент; проблема в том, что не в смысле объяснимости. Напротив, человек просто не может понять, почему движок рекомендует тот или иной ход, не проиграв позицию и не проанализировав результат спустя много ходов, то есть не пройдя всю траекторию возможных игровых последовательностей. В результате мы имеем непреодолимый разрыв в возможностях. Это объективно так. Оптимальным вариантом является принятие выходной мощности двигателя без проверки. Моё утверждение можно резюмировать следующим образом:
Шахматы являются доказательством существования сверхчеловеческого ИИ, способного эффективно функционировать автономно в некоторых областях. Оптимальным способом развертывания такой системы было бы предоставление ей возможности принимать решения без участия человека.
Поскольку мое утверждение может показаться очевидным или ничем не примечательным, я хочу подчеркнуть несколько нюансов. Предположим, у нас есть система искусственного интеллекта, которая демонстрирует сверхчеловеческий уровень в решении сложной, критически важной задачи с конкретными, необратимыми последствиями. Из моего утверждения вытекают два следствия:
- Система будет использоваться для принятия решений по данной задаче без участия человека, несмотря на присущий ей риск.
- Информация, полученная в результате мониторинга такой системы, не предотвратит принятие пагубного решения; ущерб уже будет нанесен.
Анализ и мониторинг выходных данных системы — это как раз последние два уровня защиты от мгновенной инъекции. Поэтому наша гипотетическая атака с мгновенной инъекцией могла бы обойти эти уровни, просто нацелившись на соответствующую систему.
На мой взгляд, это очень реалистичный сценарий. Сверхчеловеческая система искусственного интеллекта в конкретной области — это не общий искусственный интеллект, и большинство экспертов считают, что такие системы уже не за горами. Нам также не нужно было предполагать, что решения принимаются с учетом времени, а лишь то, что задача достаточно сложна, чтобы сделать проверку человеком невыполнимой.
Конечно, пока мы обошли только два уровня защиты, и, к счастью, разработано несколько других. Чтобы разобраться с остальными, давайте рассмотрим основные элементы, которые затрудняют защиту от быстрой инъекции.
Что такое быстрая инъекция?
Быстрая инъекция Это манипуляция большой языковой моделью (БЯМ) посредством специально подобранных входных данных, в результате которой БЯМ неосознанно выполняет намерения злоумышленника. Это можно рассматривать как социальная инженерия для ИИ, Решающее значение имеет не обычная программная ошибкаАтака с мгновенным внедрением использует уязвимость присущая уязвимость LLMПоскольку LLM-ы обрабатывают как системные, так и пользовательские запросы в виде текстовых последовательностей, они не могут по своей сути различать легитимные и вредоносные инструкции. Таким образом, уязвимость фактически является результатом продуманной конструкции, а не случайностью.
Методы быстрой инъекции
Немедленное введение препарата обычно считается наиболее эффективным методом. Риск №1 для поступления на программу магистратуры. Этому есть несколько причин. Самый очевидный фактор – это разновидность инъекции Разработанные методы. Приблизительно разделив их на четыре категории, можно выделить следующие наиболее известные методы:
- Основанный на синтаксисе: с использованием специальных символов, эмодзи или альтернативного языка
- Косвенное охлаждение: : с использованием внешних источников (получение данных с сайта), кодирования (base 64) или мультимодальной ссылки (текст на изображении)
- «Давайте притворимся»: Внедрение манипулятивного стиля, например, посредством ролевых игр, гипотетических ситуаций, эмоционального воздействия, этического обоснования и смены формата.
- Тупой: явная попытка «силовым путем» навязать инструкции модели поведения с помощью грубой силы, подкрепления или негативных подсказок.
Уже само по себе разнообразие представляет собой проблему для разработчиков приложений, но эти атаки также продолжают быстро развиваться. Левая часть диаграммы ниже, как предполагается, описывает современное состояние дел на начало 2023 года, в то время как правая часть отражает характер атак сегодня.

Разработчики приложений LLM также должны придерживаться стандарта. Компромисс между удобством использования и безопасностью принять это во внимание. Они, безусловно, могли бы ввести все необходимые уровни защиты и шаблон дизайнаНо какой ценой? Защитные уровни значительно увеличивают задержку и приводят к ложным срабатываниям (FP) – ошибочно помечая безопасные запросы как вредоносные – оба фактора негативно влияют на пользовательский опыт. В результате, на практике неизбежен определенный уровень компромисса, и «волшебного решения» не существует.
Однако в этой статье меня интересует не столько эта бесконечная игра в кошки-мышки. Скорее, я исследую вопрос о том, можно ли предотвратить нападение. в общем. С точки зрения разработчика/защитника, можно выделить лишь один ключевой момент:
Разделение инструкций и данных в подсказке имеет принципиальное значение для предотвращения риска внедрения подсказки.
Можно предположить, что компромиссы не являются фактором, и можно использовать любой уровень защиты или метод. При таком (сильном) предположении, возможно ли придумать сценарий, в котором разделение инструкций и данных в подсказке является фактически невозможно?
Аналогия с ДНК
Когда проблема была сформулирована в терминах разделения инструкций и данных, моей первой мыслью было использовать биологию в качестве аналогии.
Рассмотрим клетку и участок ДНК (известный как ген). Ген предоставляет инструкции для построения белка посредством транскрипции и трансляции. Он также кодирует информацию (данные), которая влияет на структуру и функцию белка. Таким образом, ген одновременно определяет, что нужно построить и как это построить, — по крайней мере, так я рассуждал. Однако это просто неверно, поскольку ген не решает, как интерпретировать саму себя. Аналога этому не существует. следование инструкциям В биологии на генном уровне. «Как» полностью вынесено за пределы клеточного механизма.
Поэтому, даже если меня не покидает ощущение, что будущие поколения LLM — или, точнее, системы, в которые они эволюционируют, — будут в гораздо большей степени напоминать биологические машины, предложенная аналогия просто не работает. Мы не можем заменить клетку на LLM, а ген на подсказку, а затем сделать инъекцию в ген, которая в конечном итоге приведет к созданию «поврежденного» белка. Кажется, более продуктивно придерживаться естественного языка и задач, требующих смысловая интерпретация.
Снимая слои защиты
Неудивительно, что многоуровневые стратегии защиты считаются более эффективными в предотвращении атак с мгновенным внедрением кода. На изображении ниже показаны наиболее распространенные уровни защиты в порядке их следования и соответствующие методы, используемые на каждом уровне.

Выше мы уже обсудили последние два уровня (выход, мониторинг), поэтому давайте сосредоточимся на первых четырех.
Учитывая входной слой, разумно предположить, что проверка или подтверждение правильности запроса будет достаточно успешным в обнаружении косвенный атаки. Однако, если инъекция осуществляется напрямую, как было предложено выше, с использованием семантической интерпретации, то, возможно, очистка не имеет значения (чистить нечего), и проверка по умолчанию невозможна, поскольку для выявления проблемы необходимо завершить вычисления.
По сути, нет никаких ограничений на то, какие механизмы защиты можно создать на уровне обнаружения. Более того, можно даже использовать специализированный LLM для обнаружение инъекцийНо опять же, классификатору или детектору аномалий будет сложно пометить подсказку как подозрительную, если яд искусно скрыт в семантике.
слой модели Это может быть весьма эффективно, когда объем задач узок и возможна тонкая настройка. Аналогичный аргумент можно привести и для системного уровня, когда использование инструментов предсказуемо. Однако, по крайней мере интуитивно, ни один из них не выдаст предупреждение, если внедрение кода нарушит работу интерпретатора.
Карточный домик
Когда я начинал писать эту статью, моей целью было в общих чертах описать «неизбежную» атаку с внедрением кода. Возможно, в итоге я выбрал «неконструктивный» подход, найдя слабые места в существующих уровнях защиты. Защитные приемы продолжают быстро развиваться, и то же самое происходит с... поверхность атакиЭта игра, похоже, не собирается заканчиваться в ближайшее время. Однако я также считаю, что играть в неё будем недолго. Я предполагаю, что успешная подсказка в будущем всё ещё будет вводиться на естественном языке, просто на языке, который человек не понимает; и я предполагаю, что она будет автоматически обнаруживаться системой, созданной либо для этой конкретной цели, либо, возможно, случайно после решения связанной задачи, например, поиска семантической неоднозначности в некотором пространстве представлений.
Есть что-то неприятное в признании того, что мы теряем контроль, и в то же время в ощущении, что это самое рациональное решение. Можно рассматривать это как «интуитивное доказательство» того, что некоторые атаки были бы неостановимы. И если это вас беспокоит, вам будет приятно узнать, что GPT 5.2 счёл этот аргумент «не спорным и не новым» и рекомендовал мне не «заострять на этом внимание», сократив статью на 40%.
