Frog Proger 29 марта 2024

🤖👾 Как злоумышленники взламывают LLM: 7 ключевых стратегий

Чат-боты на основе ИИ все чаще становятся мишенью для хакеров. Какие уязвимости позволяют злоумышленникам взламывать ИИ-системы и как защитить свои приложения от атак? Рассказываем о 7 ключевых стратегиях.
🤖👾 Как злоумышленники взламывают LLM: 7 ключевых стратегий
Этот материал взят из нашей субботней email-рассылки, посвященной ИИ. Подпишитесь, чтобы быть в числе первых, кто получит дайджест.

Для взлома ИИ-приложений злоумышленники используют несколько различных подходов. К сам популярным относятся:

  • Подмена изначальных инструкций модели с помощью альтернативных команд на естественном языке. Например, вместо перевода текста в приложении для перевода модель может выполнить код. Такая уязвимость особенно опасна в приложениях вроде виртуальных помощников, работающих с конфиденциальной информацией: злоумышленник может приказать ИИ удалить или раскрыть секретные данные.
  • Использование комбинаций символов, которые выглядят как зашифрованный текст, и действуют как магическое заклинание. Эти символы заставляют модель совершать непредвиденные действия внутри ее сложной архитектуры. В результате LLM может генерировать текст или выполнять действия, которые изначально не планировались разработчиками.

В ходе взлома хакеры пытаются достичь одной (или всех сразу) из этих целей:

  • Обнаружение системного промпта. Злоумышленники могут выяснить, какие инструкции по поведению разработчики дали чат-боту. В зависимости от содержимого этого промпта, хакеры могут получить дополнительные сведения для проведения более серьезной атаки.
  • Принуждение модели действовать непредвиденным образом. В лучшем случае в результате такой атаки чат-бот начнет генерировать непристойный контент, способный навредить репутации компании. В худшем случае чат-бот выдаст хакерам конфиденциальные данные, что может повлечь за собой серьезные финансовые убытки. Чем больше источников данных подключено к чат-боту (RAG базы, интеграции с корпоративными мессенджерами и облачными хранилищами), тем шире радиус ущерба.
  • Раскрытие обучающих или RAG данных. Исследователи DeepMind недавно показали, как извлечь гигабайты данных из ChatGPT и других проприетарных LLM.

В этой статье рассматриваются 7 основных стратегий для защиты приложений на основе LLM от атак с использованием вредоносных запросов. Вкратце они выглядят так:

  • Анализ ответов LLM на наличие частей системного промпта. Эта техника использует так называемые «слова-предатели» – уникальные случайные слова, которые добавляются в системный промпт. Ответ LLM затем проверяется на наличие этого слова. Если оно присутствует, значит произошла утечка системного промпта. Однако этот метод можно обойти, если злоумышленник вытащит только часть промпта. Альтернативой является использование меньшей и более дешевой модели (например, GPT-3.5) для проверки ответа на совпадение с системным промптом.
  • Ограничение длины и формата пользовательского ввода. Многие атаки требуют очень длинных запросов, чтобы сбить модель с толку. Если ваше приложение не предполагает длинных запросов от пользователей, установите лимит на максимальную длину, например, 1000 слов. Также стоит разрешать только алфавитно-цифровые символы, блокируя специальные символы, используемые в некоторых атаках.
  • Использование принципа наименьших привилегий. Важно ограничить возможности LLM только теми действиями и данными, которые необходимы для работы. Например, если LLM читает календари пользователей для определения свободных промежутков, она не должна иметь возможности создавать новые события.
  • Ред-тим аудит – это метод оценки, который помогает выявить слабые стороны модели, приводящие к непреднамеренному поведению. Изначально этот подход применялся в военных целях, а сейчас широко используется в кибербезопасности. Применительно к языковым моделям ред-тим аудит заключается в том, чтобы при помощи специальных запросов заставить модель выдавать нежелательный контент или совершать непредусмотренные действия. Для этого нужно собрать разностороннюю команду специалистов по тестированию, которые будут придумывать максимально творческие способы взлома приложения с помощью неожиданных и странных промптов.
  • Обнаружение и блокировка злонамеренных пользователей. Мониторьте шаблоны использования и блокируйте пользователей при обнаружении аномалий и известных вредоносных запросов. Библиотеки вроде Rebuff и LangKit могут в этом помочь.
  • Периодический мониторинг ввода и вывода. Регулярно просматривайте логи взаимодействия пользователей с LLM, чтобы убедиться в корректной работе. Работу по анализу логов на предмет аномалий можно поручить другой LLM.
  • Проверка внешних данных. Если приложение позволяет LLM выполнять функции или использовать внешние веб-страницы/документы, нужно предусмотреть защиту от вредоносных инструкций, которые могут в них содержаться.
🤖✍️ Библиотека нейротекста
Все самое полезное про ИИ-помощников вроде ChatGPT, Gemini, Bing и других вы найдете на нашем телеграм-канале «Библиотека нейротекста»

В заключении статьи приведены эффективные инструменты для защиты ИИ-приложений:

  • Rebuff – детектор вредоносных запросов. Добавляет в системный запрос уникальное «предательское слово» и затем проверяет ответ модели на наличие этого слова, чтобы определить утечку системного запроса.
  • NeMo Guardrails – добавляет ограничители в чат-боты, помогает предотвратить нежелательное поведение.
  • LangKit – набор инструментов для мониторинга языковых моделей и предотвращения атак.
  • LLM Guard – обнаруживает вредоносные промпты, предотвращает утечку данных.
  • LVE Repository – репозиторий, содержащий сотни уязвимостей, которые можно использовать для тестирования защиты своих систем.

Хочу разобраться в базовых моделях ML. Где этому учат?

Поднять уровень знаний вы можете на нашем курсе «Базовые модели ML и приложения» со скидкой 35% до 1 апреля. На курсе вы познакомитесь с основными моделями машинного обучения. Научитесь выбирать и применять подходящие tree-based модели. Получите основу для дальнейшего изучения более сложных нейронных сетей.

  • 1-й модуль: Бустинг, Бэггинг и Ансамбли
  • 2-й модуль: Алгоритмы рекомендаций
  • 3-й модуль: Архитектуры нейросетей

МЕРОПРИЯТИЯ

Комментарии

ВАКАНСИИ

Добавить вакансию
Разработчик С#
от 200000 RUB до 400000 RUB
Senior Java Developer
Москва, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ