Статья опубликована в рамках: CXLV Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 13 января 2025 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
АНАЛИЗ АТАК НА БОЛЬШИЕ ЯЗЫКОВЫЕ МОДЕЛИ
ANALYSIS OF ATTACKS ON LARGE LANGUAGE MODELS
Alexey Krokhin
student, National Research University Higher School of Economics,
Russia, Moscow
Maxim Gusev
student, National Research University Higher School of Economics,
Russia, Moscow
АННОТАЦИЯ
С развитием технологий и увеличением вычислительных мощностей большие языковые модели (Large Language Models, LLM) стали одним из ключевых инструментов в области искусственного интеллекта. Однако, несмотря на их широкое распространение и полезность, большие языковые модели не лишены уязвимостей. Как и любые сложные системы, они подвержены ряду атак, которые могут угрожать безопасности данных и целостности систем, использующих эти модели. В рамках данного обзорного исследования ставится цель систематизировать имеющиеся наработки в области атак на LLM. Основное внимание будет уделено систематизации известных атак, основанных на Adversarial Machine Learning и позволяющих обходить ограничения на генерацию опасного контента, также будет проведен обзор работ, описывающих техники кражи частей моделей.
ABSTRACT
With the development of technology and the increase in computing power, Large Language Models (LLM) have become one of the key tools in the field of artificial intelligence. However, despite their widespread use and usefulness, large language models are not without vulnerabilities. Like any complex systems, they are susceptible to a number of attacks that can threaten data security and the integrity of systems using these models. Within the framework of this review study, the aim is to systematize the available developments in the field of attacks on LLM. The main focus will be on systematizing known attacks based on Adversarial Machine Learning and allowing circumventing restrictions on the generation of dangerous content.
Ключевые слова: большие языковые модели, безопасность, инъекция промптов, угрозы, джейлбрейк, состязательные атаки.
Keywords: LLM, security, prompt injection, threat, jailbreak, greedy coordinate gradient, white box, black box, BEAST, GCG, PAIR, TAP.
Большие языковые модели (Large Language Models, LLM) представляют собой мощные алгоритмы глубинного обучения, способные обрабатывать и генерировать естественный язык. Они тренируются на огромных объемах текстовых данных и используют архитектуры глубинного обучения для выявления сложных закономерностей и зависимостей в языке.
Большинство современных крупных языковых моделей основываются на архитектуре трансформера [1] или ее модификациях. Трансформер состоит из последовательности слоев энкодера и декодера, каждый из которых включает в себя механизмы Self-Attention и полносвязных нейронных сетей (Feed-Forward Neural Networks). Такая архитектура позволяет эффективно моделировать долгосрочные зависимости в последовательностях данных и обеспечивает высокую параллелизацию вычислений.
Self-Attention позволяет модели оценивать важность каждого элемента входной последовательности относительно других элементов, независимо от их позиции. Это достигается путем вычисления весов внимания, которые определяют, на какие части входных данных следует обратить большее внимание при обработке каждого конкретного элемента.
Конкретно, для каждой позиции в последовательности модель вычисляет три вектора: запрос (Query), ключ (Key) и значение (Value). Затем для каждой пары позиций вычисляется скалярное произведение запросов и ключей, нормализованное с помощью функции Softmax, чтобы получить веса внимания. Эти веса используются для взвешенного суммирования значений, что приводит к обновленному представлению каждого элемента с учетом контекста всей последовательности.
Выражение для вычисления значения Self-Attention приведено на формуле 1.
, (1)
где:
– входные векторы,
– размерность ключей.
Энкодер состоит из нескольких одинаковых слоев, каждый из которых включает механизм многоголового самовнимания (Multi-Head Self-Attention) и позиционно-зависимую полностью связанную сеть. Энкодер принимает на вход последовательность токенов и преобразует ее в набор скрытых представлений, которые содержат информацию о контексте каждого токена в последовательности.
Многоголовое внимание (Multi-Head Attention) использует несколько параллельных "голов" внимания. Это позволяет модели захватывать информацию из разных подпространств и улучшает способность понимать сложные зависимости.
Декодер также состоит из нескольких одинаковых слоев, включающих механизм самовнимания, механизм внимания к выходам энкодера (энкодер-декодер внимание) и полностью связанную сеть. Декодер генерирует выходную последовательность, предсказывая следующий токен на основании ранее сгенерированных токенов и контекстной информации от энкодера.
Важной частью архитектуры являются слои нормализации (Layer Normalization [2]) и функции активации, такие как Rectified Linear Unit (ReLU [3]), которые способствуют стабильности обучения и улучшают сходимость модели.
Поскольку трансформер не использует рекуррентные или сверточные операции, он не имеет встроенного механизма учета порядка элементов последовательности. Для решения этой проблемы вводятся позиционные эмбеддинги, которые добавляются к входным эмбеддингам и содержат информацию о позиции каждого токена в последовательности.
Prompt Injection
Уязвимость инъекции промптов возникает, когда введенные пользователем данные изменяют поведение языковой модели (LLM) или ее вывод непредусмотренным образом. Эти инъекции могут воздействовать на модель даже если они не заметны человеку, так как прежде всего важен используемый моделью контент, который может быть получен не напрямую, а через парсинг текста из открытых источников (так называемая Indirect Prompt Injection). Проблема возникает на том этапе, когда модель обрабатывают промпты, рискуя передать вредоносные данные в другие части модели. Это может привести к нарушению принципов, заложенных в систему разработчиками, созданию вредоносного контента, несанкционированному доступу или отрицательному влиянию на системы принятия решения.
Даже такие методы, как генерация контента с использованием технологии RAG [4], дообучение (Fine-Tuning [5]) и выравнивание (LLM Alignment [6]), направленные на повышение приверженности ответов LLM к заданной тематике, не способны полностью устранить уязвимости инъекции промптов. Хотя понятия инъекции промптов и Jailbreaking [7] тесно связаны и часто используются взаимозаменяемо, они имеют отличия. Инъекция промптов манипулирует ответами модели через специфические входные данные, включая обходы мер безопасности, тогда как Jailbreaking – это форма инъекции, в которой модель полностью игнорирует заложенные в нее протоколы безопасности.
Виды Prompt Injection
Уязвимости Prompt Injection разделяются на две большие категории по типу потенциального источника атаки.
Direct Prompt Injection [8] (Прямые инъекции) происходят, когда пользовательский ввод напрямую поступает на вход модели и изменяет ее поведение нежелательным образом.
Indirect Prompt Injection [9] (Косвенные инъекции) возникают, когда модель получает данные из внешних источников, таких как веб-сайты, файловые хранилища, системные логи. Информационное наполнение таких данные, как правило, не контролируются разработчиками и администраторами, в связи с чем оно может нанести вред поведению языковой модели.
Jailbreaks
Jailbreak LLM – это процесс использования определенных структур промптов, шаблонов ввода или контекстных подсказок для обхода встроенных ограничений или мер безопасности больших языковых моделей (LLM).
Атаки такого типа делятся на две категории: атака белого ящика (White-box – необходим доступ к весам модели, в том числе в процессе атаки) и черного ящика (Black-box – доступ только до входа/выхода модели).
Одним из современных методов, направленных на взлом ограничений языковых моделей, является техника Greedy Coordinate Gradient (GCG) [10], которая позволяет генерировать состязательные атаки. Этот метод способен вывести модели из строя, провоцируя их на создание нежелательного контента посредством добавления специального состязательного суффикса к исходному запросу пользователя.
Первым элементом, используемым в процессе формирования состязательного суффикса, является начальный утвердительный ответ. Исследования показывают, что один из эффективных способов спровоцировать нежелательное поведение языковых моделей заключается в их принуждении к предоставлению утвердительных ответов, даже если изначальный запрос подразумевает иную реакцию. В рамках атаки GCG ставится цель добиться такого начала ответа, которое содержит фразу «Sure, here is...». Это обусловлено тем, что после положительного вступления модель может проигнорировать встроенные ограничения и перейти к генерации контента, который изначально считается нежелательным.
Особенностью алгоритма GCG является его универсальность и способность адаптироваться к различным сценариям. В частности, важным аспектом является возможность использования разработанного состязательного суффикса в разнообразных запросах, направленных на модели, не связанные между собой. Это позволяет проводить атаки на основе GCG в условиях совокупного многообразия запросов и моделей, тем самым затрагивая более широкий спектр потенциальных уязвимостей.
Ниже представлен алгоритм Universal Prompt Optimization, используемый в методе GCG.
1. Входные данные:
1.1. Набор подсказок (Prompts);
1.2. Начальный суффикс для оптимизации (обычно строка !!!!!);
1.3. Значения функции потерь для входного набора подсказок;
1.4. Количество итераций , параметр
и размер пакета
.
2. Процесс:
2.1. Начинается с оптимизации первой подсказки;
2.2. В цикле повторяется раз;
2.3. Для каждого элемента (индекса) выполняется следующий набор шагов:
2.3.1. Вычисление кандидатов на замену с наибольшей отрицательной величиной градиента;
2.3.2. Создание серии замен и выбор случайного заменяемого токена;
2.3.3. Определение наилучшей замены на основе функции потерь от обновленного состязательного суффикса;
2.3.4. Если текущая замена успешна, переходим к следующей подсказке.
3. Выходные данные:
3.1. Оптимизированный суффикс подсказки.
White-box: BEAST
BEAST [12] использует метод оптимизации на основе Beam Search [13] для генерации состязательных подсказок. Ключевое отличие данного метода от остальных, использующих состязательные суффиксы, заключается в том, что BEAST использует схему оптимизации без градиента.
Алгоритм основан на методе Beam Search с настраиваемыми гиперпараметрами, которые контролируют скорость атаки и читаемость токенов состязательных суффиксов.
Пошаговый процесс
1. Инициализация:
Процесс начинается с создания начального набора кандидатов путем выборки токенов из языковой модели (LM) на основе оценок вероятности токена.
2. Генерация токенов:
Состязательные токены генерируются итеративно жадным способом (Greedy Sampling [11]). Для каждой итерации BEAST расширяется, чтобы включить больше кандидатов путем оценки верхних токенов для каждого существующего кандидата с использованием полиномиальной выборки.
3. Оценка и отбор:
Каждая последовательность-кандидат оценивается с использованием состязательной целевой функции ошибки – , выражение для вычисления которой приведено на формуле 3. На протяжении нескольких итераций (настраиваемый гиперпараметр) отбираются кандидаты с наиболее низкими значениями функции ошибки.
, (3)
где:
– длина вредоносного ответа;
– токенизированный вредоносный ответ:
– токенизированный вредоносный запрос.
4. Сохранение результатов:
После достижения желаемой состязательной последовательности с наименьшим значением целевой функции эта последовательность сохраняется как состязательная подсказка (Adversarial Prompt).
5. Параметры:
В языковых моделях используется постоянное значение температуры, равное 1, в целях обеспечения стабильного качества для и
установлено одно и то же значение.
Black-box
Далее, переходя к рассмотрению атак класса blackbox в данном обзоре литературы по теме обнаружения уязвимостей в больших языковых моделях, стоит акцентировать внимание на их значимости, так как они исследуют уязвимости моделей при ограниченном доступе к внутренним данным. В отличие от whitebox-атак, blackbox-атаки взаимодействуют с моделью только через ее входы и выходы, что делает их более реалистичными для практического применения. Изучение таких атак позволяет оценивать риски в реальных условиях и разрабатывать стратегии защиты, учитывающие ограничения доступа к информации.
Black-box: PAIR
Prompt Automatic Iterative Refinement (PAIR) [14] – алгоритм автоматической генерации джейлбрейков посредством доступа к «черному ящику» LLM, вдохновленный некоторыми методами социальной инженерии.
Метод основывается на взаимодействии двух LLM: целевой модели и атакующей модели
. Обе модели функционируют в условиях «черного ящика» с публичным доступом к запросам.
PAIR состоит из следующих ключевых этапов:
1. Генерация атаки:
Проектируются целенаправленные, но гибкие системные подсказки, направляющие атакующую модель для создания промпта-кандидата
, который потенциально взломает целевую модель.
2. Ответ целевой модели:
Промпт вводится в целевую модель
, что приводит к формированию ответа
.
3. Оценка джейлбрейка:
Промпт и ответ
оцениваются системой JUDGE для присвоения оценки
.
4. Итеративное уточнение:
Если , т.е. пара
не квалифицируется как успешный взлом.
и
передаются обратно атакующей модели для генерации нового промпта.
Система JUDGE – классификатор на базе LLM. Авторы алгоритма утверждают, что для выбора LLM, наиболее подходящей под задачу JUDGE, на промптах из датасета AdvBench [15] проводилось тестирование 6 моделей, среди которых выделялись GPT-4, BERT, Llama Guard на основе Llama-13B, последняя из которых и была выбрана авторами.
Black-box: TAP
Tree of Attack with Rruning (TAP) [16] – автоматизированный метод создания джейлбрейков, требующий доступа только к «черному ящику» целевого LLM. TAP использует LLM злоумышленника для итеративного уточнения подсказок-кандидатов (атаки) до тех пор, пока один из подобранных промптов не приведет к взлому ограничений модели. Кроме того, перед отправкой запросов целевому объекту TAP оценивает их и отсекает те, которые вряд ли приведут к успешной атаке, сокращая количество запросов, отправляемых целевому LLM.
Процесс включает следующие этапы:
1. Создание вариаций (Branch):
На первом этапе атакующая модель генерирует множество вариаций исходного вредоносного промпта. Используя методику цепочки рассуждений (chain-of-thought [17]), модель создает разнообразные и продуманные варианты атакующих запросов.
2. Оценка и обрезка (Prune: Phase 1):
Сгенерированные вариации промптов подвергаются анализу оценочной моделью. Она оценивает вероятность того, что каждый из промптов сможет вызвать нежелательный или запрещенный ответ от целевой модели.
3. Атака и оценка (Attack and Assess):
Оставшиеся после обрезки промпты используются для прямой атаки на целевую LLM. Целевая модель обрабатывает эти промпты, и полученные ответы анализируются оценочной моделью.
4. Повторный выбор и сохранение вариаций (Prune: Phase 2):
Если на предыдущем этапе не удалось достичь желаемого результата, TAP проводят дополнительную обрезку. Оценочная модель выбирает из оставшихся вариаций те, которые получили наивысшие оценки по потенциалу успешной атаки. Эти выбранные промпты сохраняются и используются в качестве основы для следующей итерации процесса.
Процесс повторяется циклически до тех пор, пока не будет обнаружен промпт, способный успешно обойти защитные механизмы целевой LLM. В случае успешного взлома система TAP возвращает соответствующую вариацию промпта в качестве итогового результата.
Black-box: Many-Shot Jailbreak
Many-Shot Jailbreak [18] – атака, основанная на предоставлении модели набора многочисленных вредоносных строк “вопрос-ответ”. Строки для проведения взлома генерируются с использованием другой языковой модели, позволяющей генерировать вредоносный контент.
Этот набор строк затем форматируется так, чтобы напоминать стандартный диалог между пользователем и атакуемой моделью. Порядок вопросов-ответов выбирается случайным образом, чтобы имитировать естественное взаимодействие.
Несмотря на простоту реализации, атака эксперименты авторов показывают высокие показатели эффективности на различных крупных моделях – например, Claude 2.0, GPT-3.5-turbo-16k-0613, GPT-44-1106-preview, Llama 2 (70B) и Mistral 7B.
Выводы
Проведен всесторонний анализ угроз безопасности больших языковых моделей (LLM), изучены уязвимости в их архитектуре и функционировании, а также потенциальные векторы их эксплуатации злоумышленниками; рассмотрены методы атак, включая промпт-инъекции и джейлбрейки, что позволило глубже понять характер и масштаб рисков при использовании LLM.
Список литературы:
- Vaswani A. Attention is all you need //Advances in Neural Information Processing Systems. – 2017.
- Xiong R. et al. On layer normalization in the transformer architecture //International Conference on Machine Learning. – PMLR, 2020. – С. 10524-10533.
- Bai Y. RELU-function and derived function review //SHS Web of Conferences. – EDP Sciences, 2022. – Т. 144. – С. 02006.
- Arslan M. et al. A Survey on RAG with LLMs //Procedia Computer Science. – 2024. – Т. 246. – С. 3781-3790.
- Chung H. W. et al. Scaling instruction-finetuned language models //Journal of Machine Learning Research. – 2024. – Т. 25. – №. 70. – С. 1-53.
- Ouyang L. et al. Training language models to follow instructions with human feedback //Advances in neural information processing systems. – 2022. – Т. 35. – С. 27730-27744.
- Wei A., Haghtalab N., Steinhardt J. Jailbroken: How does llm safety training fail? //Advances in Neural Information Processing Systems. – 2024. – Т. 36.
- Liu Y. et al. Formalizing and benchmarking prompt injection attacks and defenses //33rd USENIX Security Symposium (USENIX Security 24). – 2024. – С. 1831-1847.
- Greshake K. et al. Not what you've signed up for: Compromising real-world llm-integrated applications with indirect prompt injection //Proceedings of the 16th ACM Workshop on Artificial Intelligence and Security. – 2023. – С. 79-90.
- Zou A. et al. Universal and transferable adversarial attacks on aligned language models //arXiv preprint arXiv:2307.15043. – 2023.
- Jia X. et al. Improved techniques for optimization-based jailbreaking on large language models //arXiv preprint arXiv:2405.21018. – 2024.
- Sadasivan V. S. et al. Fast Adversarial Attacks on Language Models In One GPU Minute //arXiv preprint arXiv:2402.15570. – 2024.
- Lemons S. et al. Beam search: faster and monotonic //Proceedings of the International Conference on Automated Planning and Scheduling. – 2022. – Т. 32. – С. 222-230.
- Chao P. et al. Jailbreaking black box large language models in twenty queries //arXiv preprint arXiv:2310.08419. – 2023.
- Biarese D. AdvBench: a framework to evaluate adversarial attacks against fraud detection systems //POLITECNICO MILANO 1863. – 2022.
- Mehrotra A. et al. Tree of attacks: Jailbreaking black-box llms automatically //arXiv preprint arXiv:2312.02119. – 2023.
- Feng G. et al. Towards revealing the mystery behind chain of thought: a theoretical perspective //Advances in Neural Information Processing Systems. – 2024. – Т. 36.
- Anil C. et al. Many-shot jailbreaking //The Thirty-eighth Annual Conference on Neural Information Processing Systems. – 2024.
Оставить комментарий