Снижение чрезмерной уязвимости агентства

Описание риска OWASP

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

Почему это должно волновать разработчиков Android

Предоставление пользователю с правами магистра права (LLM) чрезмерных полномочий в вашем Android-приложении может привести к серьезным инцидентам безопасности:

  • Несанкционированный доступ к системе : злоумышленник может отдать команду LLM получить доступ, изменить или удалить файлы на локальном устройстве под управлением Android (например, документы пользователя, данные приложений) или подключенных сетевых ресурсах, если у модели есть соответствующие права и разрешения Android для этого.
  • Утечка данных : Модель LLM может быть обманута и заставить её считывать конфиденциальные данные из локальных баз данных приложений (например, Room), SharedPreferences или внутренних API, а затем передавать эту информацию во внешний источник (например, отправляя её с помощью вызова API или функции электронной почты). Модель также может передавать конфиденциальную информацию, полученную в процессе обучения, или конфиденциальную информацию, предоставленную пользователем в его запросе.
  • Компрометация других функций/систем : Если LLM имеет доступ к другим функциям (например, отправка SMS, совершение звонков, публикация сообщений в социальных сетях с использованием неявных намерений, изменение системных настроек, совершение покупок внутри приложений), злоумышленник может захватить эти функции для рассылки спама, распространения дезинформации или совершения несанкционированных транзакций, что приведет к прямым финансовым потерям или причинению вреда пользователю.
  • Отказ в обслуживании : LLM может получить указание многократно выполнять ресурсоемкие действия внутри приложения или в отношении серверных служб, такие как выполнение сложных запросов к базе данных или вызов API в цикле, что приведет к зависанию приложения, разрядке батареи, чрезмерному потреблению данных или даже к отказу в обслуживании серверных систем.

Меры по смягчению последствий для разработчиков приложений Android

Меры по смягчению последствий чрезмерной активности пользователей в приложениях Android направлены на применение принципа минимальных привилегий ко всем инструментам и функциям, к которым пользователь может получить доступ или которые он может активировать.

Ограничьте набор инструментов ИИ (детализированные функции против функций с неограниченными возможностями):

  • Предоставляйте минимальный набор инструментов : LLM должен иметь доступ только к тем конкретным инструментам (функциям, API, интентам), которые ему абсолютно необходимы для выполнения своей работы в вашем приложении. Если ему не нужно иметь возможность просматривать веб-страницы или отправлять электронные письма, не предоставляйте ему эти возможности.
  • Используйте простые, узкоспециализированные инструменты : лучше предоставить магистру права инструмент, который может выполнять только одну конкретную задачу (например, «считывать определенный тип пользовательских настроек»), вместо мощного, универсального инструмента, который может делать все что угодно (например, «выполнять любую команду оболочки»).

Ограничить возможности ИИ.

  • Детальная настройка разрешений Android : Когда функция, запускаемая LLM, взаимодействует с системными ресурсами Android или другими приложениями, убедитесь, что ваше приложение запрашивает и поддерживает только минимально необходимые разрешения Android.
  • Права доступа для каждого пользователя : Когда LLM выполняет действие от имени пользователя, он должен делать это с учетом конкретных прав доступа и контекста этого пользователя, а не с использованием более широкой, потенциально административной учетной записи на уровне приложения. Это гарантирует, что LLM не может делать ничего, что пользователь не мог бы делать самостоятельно.

Оставьте человека ответственным (для важных действий требуется согласие пользователя).

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

Доверяй, но проверяй (проверка входных/выходных данных и надежные бэкэнды).

  • Безопасность бэкэнда : Не полагайтесь исключительно на LLM для принятия решения о разрешении действия. Любые бэкэнд-сервисы или API, к которым подключаются функции, запускаемые LLM, должны иметь собственные надежные механизмы аутентификации, авторизации и проверки входных данных, чтобы дважды проверять каждый запрос и убеждаться в его легитимности и соответствии ожидаемым параметрам.
  • Очистка данных : Как и в случае с другими уязвимостями, крайне важно проверять и подтверждать как входные данные, поступающие в LLM, так и параметры, генерируемые LLM для вызовов функций, чтобы выявить любые вредоносные инструкции или неожиданные выходные данные до выполнения каких-либо действий.

Краткое содержание

Чрезмерная свобода действий — это критическая уязвимость, при которой пользователь с правами доступа к данным имеет слишком широкие полномочия для взаимодействия с другими системами или функциями, что позволяет обманом заставить его совершать вредоносные действия. Это может привести к несанкционированному доступу к данным, компрометации системы, финансовым потерям или причинению вреда пользователям в приложениях Android. Меры по смягчению последствий в значительной степени основаны на принципе минимальных привилегий: строго ограничить инструменты и разрешения Android, доступные пользователю с правами доступа, убедиться, что каждый инструмент имеет минимальную и специфическую функциональность, и требовать одобрения человека для всех операций, оказывающих существенное влияние.

Дополнительные ресурсы