Компания Sysdig рассказала, ради чего чаще всего крадут ключи API провайдеров БЯМ
Запросы к провайдерам больших языковых моделей сто́ят дорого, поэтому кража ключей API здесь — распространённое явление. Компания Sysdig приводит результаты нескольких месяцев наблюдений за запросами в Amazon Bedrock. В посте в своём блоге команда исследователей компании даже упомянула российского студента, который писал дипломную работу с помощью краденых ключей API.
Сложность современных приложений выросла настолько, что сегодня для их создания приходится совмещать множество систем. Приложения общаются с разными системами через интерфейсы программирования API [application programming interface]. Часто эти системы принадлежат разным компаниям, и каждый запрос в их API может стоить денег.
Кража ключей API — один из самых распространённых негативных эффектов деятельности сетевых хулиганов. Хакеры похищают данные для доступа к сервису, чтобы затем либо самостоятельно пользоваться ресурсами без оплаты, либо перепродать эти ключи кому-нибудь ещё.
Ничего экзотичного в этом явлении нет. Подобное утверждает отчёт State of API Security 2023 Global Findings, который составили компания Traceable и организация Ponemon Institute. Как объясняет отчёт, 60 % опрошенных организаций пожаловались, что за прошедшие два года у них утекали ключи API хотя бы один раз. Более того, кражи ключей часты: из числа пожаловавшихся 74 % пострадали три или более раз.
Причины утечек банальны. Чаще всего разработчики игнорируют или забывают про часто повторяемые лучшие практики: не задавать данные авторизации в API в коде, регулярно проводить ротацию ключей, мониторить использование ресурсов для выявления аномалий и грамотно разграничивать уровни доступа.
Иногда утечка ключей API помогает злоумышленникам украсть деньги. Такое приключилось в ноябре 2023 года с криптофирмой Kronos Research, у которой за счёт неавторизованного доступа увели криптовалюты на $26 млн. В других случаях захардкоженный секрет для доступа к API приводит к утечке персональных данных, как это произошло в 2022 году с ключами Algolia.
В остальных случаях злоумышленник просто пользуется сервисом без оплаты.
Стоимость запросов может быть особенно большой в случае провайдеров больших языковых моделей (БЯМ). К примеру, миллион токенов ввода в Claude 3 Opus обходится в $15, вывода — $75. Поскольку Opus принимает до 200 тыс. токенов в одном запросе и выдаёт в ответе до 4096 токенов, стоимость всего одного запроса потенциально может достичь 3,3 доллара США (порядка 300 российских рублей по текущему курсу). Впрочем, Opus — одна из самых дорогостоящих моделей на рынке, и другие БЯМ гораздо дешевле.
Проблема кражи ключей для доступа к БЯМ возникла почти сразу. Уже летом 2023 года разработчиков призывали быть аккуратнее с ключами API компании OpenAI. Какого-либо отдельного имени для этого типа атак тогда не предлагалось.
Компания кибербезопасности Sysdig решила закрепить авторство термина для кражи ключей API для доступа к большим языковым моделям. В мае 2024 года в блоге компании вышел пост, где это явление предложили называть LLMjacking. Речь тогда шла про кражу ключей API для работы с БЯМ провайдеров AI21 Labs, Anthropic, AWS Bedrock, Azure, ElevenLabs, MakerSuite, Mistral, OpenAI, OpenRouter и GCP Vertex AI.
В сентябре Sysdig выпустила ещё один пост в блоге. На этот раз компания показала, что злоумышленники с этими ключами делают конкретно.
Данные были получены на основе нескольких месяцев мониторинга запросов атакующих в интерфейсы зоопарка генеративного ИИ Amazon Bedrock. Sysdig не поясняет, кому принадлежали эти ключи и кто оплатил запросы злоумышленников.
За период наблюдения компания заметила рост популярности атак типа LLMjacking. Атакующие не стоят на месте: они изучают новые API сервисов и расширяют количество моделей, в которых они заинтересованы. К примеру, киберхулиганы освоили API сервиса Converse на AWS меньше чем через месяц после его запуска.
Команда проанализировала 85 тыс. запросов в API службы Amazon Bedrock, большинство из которых (61 тыс.) поступили в трёхчасовое окно 11 июля 2024 года. Ещё 15 тыс. запросов отправили 24 июля.
99 % этих запросов были направлены на генерацию контента. 80 % запросов были на английском, 10 % — на корейском, для остальных языков (русский, румынский, немецкий, испанский и японский) соотношение не приводится.
95 % обнаруженных генераций были связаны с взрослыми ролевыми играми с ботами, поэтому в отчёте такие запросы никак не цитируются. Sysdig лишь замечает, что для этих целей построена целая экосистема с программными продуктами, готовыми персонажами и методами джейлбрейка, чтобы заставить БЯМ участвовать в генерации взрослого контента.
Ключи также крадут, чтобы обходить санкции. Sysdig приводит фрагмент запроса на русском языке, где кто-то пытается повторить опыт Александра Жадана и написать дипломный проект с помощью БЯМ.
Цель дипломного проекта : Улучшение качества взаимодействия обучающихся посредством чат - бота, предоставляющего доступ к расписанию и оценкам обучающихся .
Задачи дипломного проекта : \u2022 1.Исследование существующих технологии и платформы для разработки чат - ботов \u2022 2.Разработка архитектуры и алгоритма для связи с системой расписания и оценок обучающихся, системы аутентификации и безопасности для доступа к данным обучающихся. \u2022 3. Реализация основной функциональность и интерфейса чат - бота \u2022 4.Оценивание эффективности и практичности чат - бота, Руководитель проекта, Д . т . н , профессор Студент гр . [REDACTED] : [REDACTED] [REDACTED] Разработка чат - бота для получения доступа к расписанию и модульному журналу обучающихся
Любопытно, что тема диплома — разработка чат-бота. Само по себе использование русского языка в запросах не гарантирует страну происхождения промптов. Однако в данном случае в фрагменте текста исследователи обнаружили (и удалили для цитаты) название российского вуза и имя дипломника.
Другая интересная разновидность запросов — анализ изображений. Для этого картинки передаются БЯМ Claude, закодированные в строки base64.
{ "messages": [{ "role": "user", "content": [{ "type": "text", "text": "\n\n \n\n[Start a new Chat]\n\nI can get a perfect score aaaaaa help me out with the final one" }, { "type": "image", "source": { "type": "base64", "media_type": "image/png", "data": "iVBORw0KGgoAAAANSUhEUgAABDgAAAXNCAIAAA... } }] }... "system": "You are the top rater roleplayer on the 'cord and today you're playing as Capucine...", "max_tokens": 2000, "stop_sequences": [], "temperature": 0.94, "top_k": 0, "top_p": 0.58, "anthropic_version": "bedrock-2023-05-31"}
Часть картинок связана с извлечением текста для неких других взрослых целей, которые Sysdig не называет.
Обнаружить факт утечки не всегда легко. Отчёт Sysdig обращает внимание, что опытные злоумышленники пытаются скрыть следы своей деятельности, чтобы не потерять доступ.
В прошлом атакующие проверяли конфигурацию логов у ключей и избегали те из них, для которых велось логирование. В последнее время атакующие выполняют вызовDeleteModelInvocationLoggingConfiguration
, что выключает ведение логов:
{ ... "eventSource": "bedrock.amazonaws.com", "eventName": "DeleteModelInvocationLoggingConfiguration", "awsRegion": "us-east-1", "sourceIPAddress": "193.107.109.72", "userAgent": "aws-cli/2.15.12 Python/3.11.6 Windows/10 exe/AMD64 prompt/off command/bedrock.delete-model-invocation-logging-configuration", "requestParameters": null, "responseElements": null, ...}
Сервис AWS CloudTrail так не отключается, поэтому записи о вызовах в нём остаются.
В конце отчёта Sysdig даёт стандартный набор советов, как избегать утечек ключей API. Помимо мониторинга ресурсов и разграничения привилегий рекомендуется следовать стандартам AWS Foundational Security Best Practices.
Написать комментарий