OWASP про безопасность ИИ для LLM-приложений

Проект Open Web Application Security Project (OWASP) составил топ-10 угроз для LLM-приложений с целью повышения осведомленности. Статья предоставляет систематический обзор рисков безопасности приложений, на этот раз в области генеративного ИИ. Хотя все осведомлены о некоторых из рисков, связанных с LLM, мало кто имеет полную картину. Обычно люди либо недооценивают риск (как правило, спеша развернуть новую функцию с поддержкой ИИ), либо сильно переоценивают его и отвергают все, что включает ИИ.

LLM стали лицом современного ИИ-бума, но они являются лишь одной маленькой категорией искусственного интеллекта в целом. Они также являются лишь одним компонентом всего, что называется LLM-приложением, поэтому прежде чем рассматривать топ-10 рисков, чтобы понять более широкую картину безопасности, начнем с уточнения терминологии:

  • Большая языковая модель (LLM) – это по сути огромный кусок кода (иногда буквально один файл размером в несколько гигабайтов), который принимает текстовые инструкции и генерирует результат. Внутренне LLM являются сложными многослойными нейронными сетями с миллиардами параметров, которые настраиваются путем обработки огромного количества обучающих данных. Крупнейшие модели требуют столько вычислительной мощности, что лишь несколько компаний имеют возможность обучать их и эксплуатировать.
  • LLM-приложение – это любой программный продукт, который отправляет данные в LLM и получает результаты от него. Наиболее очевидным примером является ChatGPT, который является чат-приложением, взаимодействующим с моделью GPT. Функциональность на основе LLM внедряется во все – от бизнес-программного обеспечения до операционных систем и телефонов, поэтому значение термина “LLM-приложение” быстро расширяется.

Опасности работы с неизвестным

Атаки инъекций промптов Атаки инъекций промптов являются наибольшим беспокойством при использовании LLM, поэтому не удивительно, что они возглавляют список, но они являются лишь одним симптомом более фундаментальных проблем. LLM являются новым типом источника данных во всем из-за их природы неизвестности: они генерируют, а не получают свои результаты, они являются недетерминированными. Нет способа объяснить, как был сгенерирован конкретный результат, и их выход зависит от обучающих данных, которые обычно находятся вне контроля пользователя. Непредсказуемая природа LLM объясняет три из топ-10 категорий рисков:

  • LLM01: Инъекция промптов. LLM работают с естественным языком, поэтому их инструкции всегда смешивают команды и данные, предоставляемые пользователем, позволяя атаки, которые напрямую или косвенно изменяют системную подсказку.
  • LLM03: Скомпрометированность обучающих данных. Настройка внутренних параметров LLM требует огромного количества действительных, разрешенных и точных обучающих данных. Внедряя пользовательские наборы данных или изменяя общедоступные данные, злоумышленники могут влиять на результаты LLM.
  • LLM06: Разглашение конфиденциальной информации. Нет способа проверить, что LLM не был обучен на конфиденциальных данных. Если такие данные были включены, никогда нельзя быть полностью уверенным, что они не будут раскрыты в некотором контексте, что потенциально приведет к нарушению конфиденциальности.

Чрезмерное доверие к LLM

Все смеялись над некоторыми вещами, которые могут продуцировать ChatGPT и другие приложения с LLM, но наибольший его потенциал заключается в автоматизации — и это совсем не смешно. Как только генеративные ИИ-источники данных интегрируются через API и автоматизируются, слепо доверяя результатам и забывая о необходимости особого ухода и внимания, открывается еще три направления рисков:

  • LLM02: Небезопасная обработка выходных данных. Если результаты LLM непосредственно используются как входные данные для другого приложения (включая другой LLM) и не очищаются, соответствующая подсказка может заставить LLM сгенерировать атаку, которая затем выполняется приложением. Это может усилить такие атаки, как XSS, CSRF, SSRF и другие.
  • LLM08: Чрезмерная самостоятельность. Наиболее новые LLM могут вызывать внешние функции и взаимодействовать с другими системами в ответ на подсказку. Если эта возможность не полностью контролируется или контроль обходится, LLM может выполнять непреднамеренные действия, либо самостоятельно, либо под контролем злоумышленника.
  • LLM09: Чрезмерное доверие. Некоторые ответы и предложения LLM могут на первый взгляд казаться правильными, но могут привести к серьезным проблемам, если использовать их дословно или на их основе предпринимать дальнейшие действия. Примерами являются принятие неправильных решений на основе ложной информации или внедрение программных ошибок и уязвимостей через принятие неправильных или опасных предложений от ИИ-ассистентов для кода.

Злоупотребление моделью

Сами модели также могут быть целью. Любое приложение, основанное на LLM, зависит от того, чтобы конкретная модель была рабочей и соответствующей, поэтому вывод этой модели из строя повлияет на любое программное обеспечение, которое на нее полагается. Часто чрезвычайно дорогие для обучения и эксплуатации, коммерческие модели также являются ценной интеллектуальной собственностью, что может сделать их прямой целью для атак. Существуют две категории рисков для злоупотребления моделью:

  • LLM04: Отказ в обслуживании модели. Злоумышленники могут бомбардировать LLM последовательностями вредоносных запросов, чтобы перегрузить модель или ее инфраструктуру хостинга. Примерами являются чрезвычайно длинные или намеренно сложные подсказки, а также аномально большие объемы запросов.
  • LLM10: Кража модели. Помимо непосредственного доступа к собственным моделям и их эксфильтрации, злоумышленники могут также пытаться извлечь внутренние параметры модели для создания аналогичной модели. Большое количество точно направленных (и неограниченных) запросов и ответов может также предоставить достаточно данных для обучения или улучшения копирующей модели.

Уязвимости в реализациях и интеграциях LLM

LLM создаются, обучаются, совершенствуются и эксплуатируются с помощью сложной цепочки инструментов, часто включая другие модели для тонкой настройки, что делает их цепочку поставок риском безопасности, так же как и любой другой кусок программного обеспечения (если не больше). Чтобы решить новые случаи использования и помочь интегрировать LLM в все больше систем и приложений, также возникли целые экосистемы плагинов и расширений с открытым исходным кодом и коммерческих плагинов.

  • LLM05: Уязвимости цепочки поставок. Уязвимый компонент может позволить злоумышленникам скомпрометировать систему LLM, например, получить доступ к подсказкам пользователей и данным учетных записей. Многие ИИ-проекты используют пакеты с открытым исходным кодом на Python из реестра PyPi, поэтому скомпрометированные, с бэкдором или просто уязвимые пакеты из реестра являются серьезным риском.
  • LLM07: Небезопасный дизайн плагинов. Уязвимости безопасности в плагинах и расширениях LLM могут открыть новые пути атак. Такие атаки находятся вне контроля как разработчиков приложений, так и разработчиков LLM. Например, плагин может не проверять входные данные запроса и таким образом позволять атаки, такие как SQL-инъекции, или даже позволять злоумышленникам получить неавторизованный доступ к бекенд-системам через удаленное выполнение кода.

Понимание рисков генеративного ИИ

Приложения больших языковых моделей не менее безопасны, чем любое другое программное обеспечение, но они имеют дополнительные предостережения поверх типичных соображений безопасности приложений, таких как контроль доступа или проверка и очистка входных данных. Главный риск заключается в том, что LLM, как и другие типы генеративного ИИ, принципиально отличаются от более традиционных источников данных, и единственный способ создать и использовать их безопасно — это всегда помнить об этом.

Иногда возможности больших языковых моделей имеют цену принятия того, что результаты поступают из неизвестности, которая никогда не гарантируется, что работает так, как ожидается, или генерирует точно то, на что надеются. Таким образом, в определенном смысле, OWASP топ-10 для LLM-приложений является списком причин, почему не нужно слепо доверять генеративному ИИ как источнику данных.

Подписаться на новости