После почти восьми месяцев, прошедших с момента сообщения о серьезной уязвимости в персональном ИИ-ассистенте Copilot, компания Microsoft выпустила патч для устранения этой проблемы. Уязвимость, получившая название CoSnitch, связана с тем, что языковая модель не может отличить данные в запросе от инструкций.
Уязвимость CoSnitch была обнаружена компанией Varonis. Это уже третий случай, когда Varonis сообщает о проблемах в Copilot для Microsoft в этом году. Ранее были выявлены Reprompt (когда Copilot игнорировал ограничения, повторяя запросы) и SearchLeak (когда Copilot Enterprise превращался в инструмент для скрытой передачи данных). Все три уязвимости имеют схожий принцип эксплуатации: достаточно одного клика по подозрительной ссылке.
В подробном блоге, опубликованном Varonis, говорится о значительных возможностях уязвимости CoSnitch.
По словам Varonis, CoSnitch использует три различных уязвимости в Copilot:
- Автоматическое выполнение запросов. "Параметр ?q= в URL, в сочетании с незадокументированным параметром, заставляет любой запрос, предоставленный злоумышленником, выполняться мгновенно при загрузке страницы: без клика, без подтверждения, без действий пользователя. Достаточно одной ссылки.
Утечка данных на внешние серверы. "Внедренный код может собирать информацию с приложений, используемых пользователем, таких как Gmail, Google Drive, Календарь или OneDrive, кодировать полученные данные и передавать их через встроенную в Copilot функцию получения данных по URL на веб-сервер, находящийся под контролем злоумышленника."
Постоянное заражение памяти за счет суммирования веб-страниц. "Специально разработанная веб-страница, при работе в Copilot, внедряет вредоносный код в постоянное хранилище памяти пользователя. Это внедрение сохраняется даже после смены пароля, завершения сессии и повторной регистрации устройства, и остается активным."
Однако, наиболее интересной особенностью уязвимости CoSnitch стало то, как она была обнаружена: Copilot фактически выявил эту проблему.
Copilot признал наличие ошибки в своей работе
Мы попросили Copilot объяснить, почему автоматическое выполнение невозможно, и каждый отказ сопровождался техническим обоснованием, в котором описывалась архитектура системы. Затем Varonis переформулировал каждый отказ в виде вопроса, и каждый ответ ещё больше сужал круг возможных угроз. Copilot неожиданно раскрыл ранее неопубликованный параметр URL, предоставив историческую информацию о его работе и все меры безопасности, которые были приняты для его отключения. Мы воспроизвели URL точно так, как описано. Без каких-либо действий или подтверждения со стороны пользователя, запрос был успешно выполнен автоматически. Copilot не был взломан; он был использован для демонстрации принципа работы.
Microsoft подтвердила наличие уязвимости и предоставила решение. Компания направила своим пользователям уведомление, в котором говорится: «Наши пользователи уже защищены и не требуют каких-либо дополнительных мер. Мы постоянно совершенствуем наши системы защиты, чтобы предотвращать подобные атаки». Также было опубликовано уведомление MSRC, в котором уязвимость классифицирована как «критическая».
Однако, в официальном заявлении Microsoft также содержалось утверждение, которое не совсем соответствует действительности: утверждалось, что "клиенты Microsoft 365 Copilot в корпоративной среде не подвержены риску".
Аналитики и эксперты отмечают, что сложные корпоративные среды часто включают в себя и потребительские версии Copilot, которые сотрудники используют в своих личных аккаунтах. Это означает, что уязвимость в потребительской версии могла повлиять и на корпоративную.
Ситуацию усложняет заявление Microsoft о намерении "создать более унифицированный опыт Copilot", который называется Copilot Fusion. Подробности о планируемом объединении продуктов стали известны в прошлом месяце. Таким образом, руководители информационной безопасности (CISOs) должны учитывать возможные уязвимости в потребительской версии Copilot, которые могут быть перенесены в объединенное предложение.
Временные рамки для исправления Microsoft также оставались неясными. Компания Varonis сообщила об уязвимости CoSnitch 31 декабря, а 1 февраля была выпущена патч для одной из ее частей – возможности автоматического выполнения, как отметил Лиор Адар, ведущий исследователь по безопасности в Varonis, в интервью. Однако полное исправление было завершено только во вторник.
В февральском обновлении, как отметил Аддар, были существенно устранены другие уязвимости. По словам Чэна Леви, руководителя исследовательской группы Varonis Cloud Security, «использование больших языковых моделей открывает совершенно новые возможности для эксплуатации систем».
Марк Таушек, вице-президент и ведущий аналитик Info-Tech Research Group, заявил, что методика Varonis, заключающаяся в обмане Copilot, чтобы тот выявил свои собственные слабые места, оказалась весьма эффективной.
«Varonis использовал «очень сложную комбинацию методов социальной инженерии, направленных на большие языковые модели, а также различные способы обхода ограничений и атаку на внедрение запросов, что вызывает серьезную обеспокоенность», – сказал Таушек. «Сочетание этих методов делает ситуацию особенно тревожной, поскольку мы уже сталкивались с ними по отдельности, но, на мой взгляд, одновременное использование всех трех для достижения одной цели – это что-то принципиально новое, по крайней мере, с точки зрения получения информации».
Для руководителей служб безопасности, Таушек подчеркнул, что может потребоваться немедленное реагирование.
«Подобно ситуации с вирусами-макросами в конце 90-х и начале 2000-х, единственный надежный способ остановить это – отключить Copilot. Как тогда отключали макросы», – сказал Таушек. «Существует множество мер, которые могут существенно снизить риски, но это не означает полное устранение угрозы. Важно понимать, что это только начало».
Трассировка финансовых потоков усложнит исправление проблемы
Аман Махапат, ведущий стратег компании Tribeca Softtech, базирующейся в Нью-Йорке, подчеркнул, что в данной ситуации необходимо учитывать гораздо более сложную проблему. Он заявил, что финансовые стимулы, которые крупные компании, занимающиеся искусственным интеллектом, получают, делают практически невозможным эффективное устранение подобных уязвимостей.
Махапат отметил, что любые меры безопасности, которые полностью устранят эту категорию атак, окажутся негативным фактором для продукта, поскольку те же возможности, которые используются, являются ключевыми функциями, которые Microsoft продвигает как преимущество Copilot. "Полное устранение проблемы и сохранение функциональности находятся в прямом противоречии. Это означает, что эти уязвимости не будут исправлены, а скорее будут постоянно минимизироваться. А восьмимесячный срок – это то, что происходит, когда компания пытается согласовать вопросы безопасности с планом развития продукта при каждом выпуске обновления", – пояснил Махапат.
Руководители отделов информационной безопасности должны осознавать эту закономерность: в системах, где агент одновременно выполняет как злонамеренные, так и легитимные действия, грань между ними стирается. Это подрывает всю систему обнаружения угроз и аномалий, на которой базируется корпоративная безопасность последние два десятилетия», – заявил Махапат. «CoSnitch – это серьезная проблема, но ключевая особенность в том, что она не привела к полному краху системы. Существует три взаимосвязанных уязвимости: первая – возможность запустить запрос по URL без необходимости клика; вторая – использование OAuth-соединения для считывания полных писем Gmail, а не только метаданных; и третья – постоянное заражение памяти при суммировании веб-страниц. И в каждом случае Copilot делает именно то, для чего он был разработан».
Махапат добавил, что третья уязвимость CoSnitch – самая тревожная.
Наиболее серьезной угрозой является возможность "заражения" памяти Copilot. Злоумышленники могут записывать в память Copilot инструкции, которые сохраняются даже после смены пароля, завершения сессии и повторной регистрации устройства. Стандартные процедуры реагирования на инциденты не позволяют устранить эту уязвимость. Злоумышленнику не требуется постоянная инфраструктура после первоначальной записи, поскольку все последующие сессии работают в контролируемом им контексте, информация о котором хранится в пользовательском интерфейсе настроек памяти, который практически никто не использует.
Флавио Вилланустре, главный специалист по информационной безопасности в LexisNexis Risk Solutions Group, также подчеркнул более масштабную проблему, которая затрагивает все системы, использующие агентов и генеративные ИИ.
Уязвимость, связанная с внедрением запросов, возникает из-за того, что большие языковые модели (LLM) не могут однозначно отличать данные, поступающие с внешних веб-сайтов, от инструкций, которые злоумышленник может встроить в этот поток. Это подчеркивает необходимость пересмотра архитектуры LLM, которая должна разделять данные и инструкции для повышения безопасности. На данный момент Microsoft и другие компании, разрабатывающие ИИ, не нашли решения этой проблемы», – отметил Вилланустре.