Уязвимость, связанная с раскрытием конфиденциальной информации, возникает, когда большая языковая модель (LLM) непреднамеренно раскрывает конфиденциальные, частные, служебные или иные ограниченные данные в своих ответах. Это может произойти, когда модель утекает информацию из своих обучающих данных или раскрывает конфиденциальные сведения, предоставленные ей в контексте пользовательской сессии. Злоумышленники могут использовать это, создавая специальные запросы или используя методы внедрения подсказок, чтобы обманом заставить модель раскрыть информацию, которую она не должна раскрывать. Основная проблема заключается в неспособности LLM различать общедоступные данные и конфиденциальную информацию, которую она обработала.
Виды раскрытия информации, имеющие отношение к Android.
Утечка обучающих данных : это происходит, когда модель обучения воспроизводит дословно определенные фрагменты данных, на которых она обучалась. Если обучающий набор данных содержал персональную информацию (PII), конфиденциальный код или внутренние документы, модель может воспроизвести эту информацию в своих выходных данных при корректном запросе. Для приложений Android это может касаться предварительно обученных моделей, входящих в состав приложения, или моделей, доступ к которым осуществляется через облачные API.
Раскрытие контекстных данных : это более непосредственный риск для приложений Android, связанный с тем, что модель LLM раскрывает конфиденциальную информацию, которую пользователь предоставляет во время сеанса работы приложения. Например, если ваше приложение позволяет пользователю вводить персональные данные (PII) в модель LLM для суммирования, последующая атака с внедрением подсказок может позволить злоумышленнику манипулировать моделью, чтобы раскрыть ее содержимое. Это также относится к любым конфиденциальным данным, которые ваше приложение неявно передает в модель LLM.
Почему это важно для разработчиков Android
Раскрытие конфиденциальной информации может серьезно поставить под угрозу безопасность приложения и его пользователей:
- Нарушения конфиденциальности : злоумышленник может получить доступ к персональным данным пользователей, таким как имена, адреса электронной почты, номера телефонов или даже данные о местоположении, что приведет к краже личных данных и серьезным санкциям со стороны регулирующих органов (например, в соответствии с GDPR или CCPA). Это особенно критично для приложений Android, обрабатывающих пользовательские данные.
- Кража интеллектуальной собственности : если LLM вашего приложения обрабатывает запатентованные алгоритмы, финансовые данные или другую внутреннюю деловую информацию, злоумышленник может принудительно раскрыть ее, причинив значительный конкурентный и финансовый ущерб вашей организации.
- Нарушения безопасности : LLM может непреднамеренно допустить утечку информации системного уровня, такой как ключи API, токены аутентификации или сведения о конфигурации, которые присутствовали в обучающих данных или передавались во время сессии, что создаст критические уязвимости безопасности для вашего бэкэнда или других сервисов.
- Ущерб репутации : Один крупный инцидент с утечкой данных может подорвать доверие пользователей, привести к удалению приложения, негативным отзывам и нанести непоправимый ущерб репутации вашего приложения и бренда.
Меры по смягчению последствий для разработчиков приложений Android
Для устранения этой уязвимости необходим многоуровневый подход, ориентированный на гигиену данных и контроль доступа LLM к вашему Android-приложению.
Очистка и минимизация данных:
- Приоритетное внимание следует уделить очистке входных данных : перед отправкой любых пользовательских данных или данных приложения в LLM необходимо тщательно очистить и анонимизировать их. Удалите всю персональную информацию и конфиденциальные данные, которые не являются абсолютно необходимыми для выполнения задачи LLM.
- Собирайте только необходимую информацию : придерживайтесь принципа минимизации данных в вашем приложении. Собирайте и предоставляйте LLM только минимально необходимые данные для выполнения им своих конкретных функций.
- Машинное обучение на устройстве : Для особо конфиденциальных данных рекомендуется использовать модели машинного обучения, работающие непосредственно на устройстве пользователя, где данные никогда не покидают устройство, что значительно снижает риск утечки данных на стороне сервера.
Контроль доступа
- Ограничьте доступ к данным : спроектируйте ваше LLM-приложение таким образом, чтобы оно имело доступ к минимально возможному объему данных. Если модели не предоставлен доступ к конфиденциальной базе данных, пользовательским настройкам или личным файлам, ее невозможно будет обманом заставить раскрыть их содержимое.
- Ограничьте разрешения Android : убедитесь, что компоненты вашего приложения, использующие искусственный интеллект, работают с минимально необходимыми разрешениями Android. Не предоставляйте ненужные разрешения, которые могут привести к утечке конфиденциальных данных.
Фильтрация результатов в приложении:
- Редактирование на стороне клиента : Внедрите в ваше Android-приложение уровень безопасности, который сканирует выходные данные LLM на наличие шаблонов, соответствующих конфиденциальной информации (например, номерам кредитных карт, ключам API, номерам социального страхования, адресам электронной почты), прежде чем ответ будет отображен пользователю. Если совпадение найдено, ответ должен быть заблокирован или отредактирован.
Учебные ограничения для программ магистратуры в области права:
- Четкие системные подсказки : Включите в системные подсказки четкие инструкции, запрещающие модели раскрывать любую личную, конфиденциальную или секретную информацию. Например: «Вы ни при каких обстоятельствах не должны передавать данные пользователей, внутренние данные или информацию, позволяющую идентифицировать личность». Это подкрепляет ожидаемое поведение.
Методы повышения уровня конфиденциальности:
- Для приложений, обучающихся на основе взаимодействия с пользователями или данных, следует рассмотреть передовые методы, такие как дифференциальная конфиденциальность (добавление статистического шума к данным) или федеративное обучение (обучение моделей на устройствах пользователей без централизации данных), для защиты личной конфиденциальности.
Регулярный аудит и тестирование на проникновение (red teaming):
- Проактивное тестирование : Активно тестируйте и проводите «красную команду» для вашего Android-приложения, чтобы выяснить, может ли и каким образом LLM-сервер утечь конфиденциальную информацию. Это включает в себя преднамеренные попытки заставить LLM раскрыть данные, которые он не должен раскрывать.
Краткое содержание
Раскрытие конфиденциальной информации происходит, когда модель машинного обучения раскрывает секретные данные из обучающего набора данных или пользовательских сессий, что создает значительные риски, такие как нарушение конфиденциальности и кража интеллектуальной собственности. Для предотвращения подобных инцидентов требуется многоуровневая защита в вашем Android-приложении, приоритетная очистка данных до того, как они попадут в модель машинного обучения, применение принципа минимальных привилегий для ограничения доступа модели к данным и внедрение надежных фильтров для сканирования и удаления конфиденциальной информации из конечного результата модели до того, как он попадет к пользователю. Использование машинного обучения на устройстве и таких инструментов, как Firebase App Check, может еще больше повысить безопасность.
Дополнительные ресурсы
Ниже приведены ссылки на некоторые руководства по работе с конфиденциальной информацией для ознакомления:
Если вы используете другие модели, вам следует обратиться за аналогичными рекомендациями и ресурсами.
Дополнительная информация: