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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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