Поверхность атаки облака
Риски IAM, хранилищ и метаданных
«Поверхность атаки облака» — бесплатный урок Cyber Security Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cyber Security Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cyber Security Academy содержит 4 уроков всего.
Модель общей ответственности в облаке
В облаке поставщик защищает инфраструктуру, а клиент отвечает за конфигурацию, идентификацию и данные. Большинство утечек происходит на стороне клиента.
- Поставщик устанавливает исправления для гипервизоров и обеспечивает физическую безопасность.
- Клиент отвечает за политики IAM, разрешения хранилищ и сетевые правила.
- Основной риск связан с неправильной настройкой, а не с компрометацией поставщика.
Идентичность — новый периметр
В облаке нет традиционной сетевой границы. Доступ регулируется с помощью IAM: пользователей, ролей, политик и ключей. Утечка ключа доступа может быть столь же опасной, как кража пароля администратора домена.
- Политики IAM предоставляют разрешения на действия с ресурсами.
- Роли позволяют службам и пользователям получать временные учетные данные.
- Идентичности с избыточными разрешениями — основной вектор повышения привилегий.
Утечка учетных данных
Учетные данные облачных сред постоянно становятся доступными посторонним. К распространенным источникам относятся:
- Ключи доступа, добавленные в общедоступные репозитории Git.
- Ключи, зашитые в мобильные приложения, журналы CI или образы контейнеров.
- Подделка запросов на стороне сервера (SSRF), достигающая службы метаданных.
- Слишком широкое распространение ключей с длительным сроком действия вместо краткосрочных ролей.
# Scan a repo for leaked cloud secrets
trufflehog git file://./repo --only-verified
# Validate an AWS key you found
aws sts get-caller-identityСлужба метаданных
Каждый облачный экземпляр предоставляет конечную точку метаданных, которая может выдавать временные учётные данные роли. Уязвимость SSRF или RCE на VM, имеющей к ней доступ, часто позволяет получить роль экземпляра.
- AWS IMDS находится по адресу
169.254.169.254. - IMDSv1 не требует ничего, кроме запроса, и тривиально используется через SSRF.
- IMDSv2 требует токен сессии (PUT, затем GET), что предотвращает многие атаки SSRF.
# IMDSv1 (vulnerable) credential theft via SSRF
curl http://169.254.169.254/latest/meta-data/iam/security-credentials/ROLE
# IMDSv2 requires a token first
TOKEN=$(curl -X PUT 'http://169.254.169.254/latest/api/token' -H 'X-aws-ec2-metadata-token-ttl-seconds: 60')Неправильные настройки хранилищ
Объектное хранилище (S3, GCS, Azure Blob) регулярно становится источником утечек данных.
- Бакеты с публичным чтением раскрывают конфиденциальные файлы.
- Бакеты с публичной записью позволяют изменять содержимое или размещать вредоносные программы.
- Слишком широкие политики бакетов или списки контроля доступа предоставляют аутентифицированным пользователям доступ.
- Предварительно подписанные URL с длительным сроком действия раскрывают постоянный доступ.
# Enumerate and test an S3 bucket
aws s3 ls s3://target-bucket --no-sign-request
aws s3 cp s3://target-bucket/secret.txt . --no-sign-requestОткрытый доступ к сети и сервисам
Облачные средства контроля сети (группы безопасности, NSG, правила брандмауэра) легко открыть слишком широко.
- Базы данных или порты администрирования доступны из
0.0.0.0/0. - Плоскости управления (API Kubernetes, RDP, SSH) доступны из интернета.
- Внутренние сервисы неявно доверяют VPC и не используют аутентификацию.
Бессерверные и управляемые сервисы
Бессерверная архитектура меняет характер рисков, но не устраняет их. У функций, очередей и управляемых баз данных есть собственная идентичность выполнения.
- Роль выполнения Lambda может иметь слишком много разрешений.
- Переменные окружения часто содержат секреты, доступные для чтения после компрометации.
- Неправильная настройка источника событий может позволить недоверенным данным запускать привилегированные функции.
Плоскость управления и плоскость данных
Различайте эти две поверхности атаки:
- Плоскость управления: облачный программный интерфейс (создание ресурсов, изменение IAM, чтение конфигураций). Её компрометация затрагивает весь аккаунт.
- Плоскость данных: сами рабочие нагрузки (приложения, VM, контейнеры).
Получение точки опоры в плоскости данных, позволяющей завладеть учётными данными плоскости управления, — классический способ повышения привилегий в облаке.
Несколько аккаунтов и разные арендаторы
Крупные организации распределяют рабочие нагрузки между множеством аккаунтов, подписок и проектов.
- Роли между аккаунтами со слабыми политиками доверия позволяют перемещаться между средами.
- Проблемой замешанного заместителя в роли интеграции со сторонним сервисом можно злоупотребить.
- Роли уровня организации (например, OrganizationAccountAccessRole) особенно ценны для атакующего.
Журналы и возможности обнаружения
Защитники полагаются на журналы, создаваемые облачными сервисами. Атакующие пытаются лишить их видимости.
- CloudTrail / журнал действий / журналы аудита фиксируют вызовы плоскости управления.
- Атакующие могут отключить журналы аудита или остановить доставку журналов.
- GuardDuty / Security Command Center / Defender выявляют аномалии.
Отключение журналирования само по себе является событием с высокой информативностью, о котором следует оповещать.
Определение границ облачных тестов
Тесты облачных систем на проникновение требуют знания требований провайдера и соответствующего разрешения. Некоторые действия (отказ в обслуживании, определённые виды сканирования) нарушают условия провайдера. Всегда подтверждайте владение аккаунтом, согласовывайте радиус воздействия и сначала отдавайте предпочтение перечислению данных только для чтения.
Используйте выделенный аккаунт для тестирования или ресурсы с понятными метками и никогда не обращайтесь к ресурсам за пределами задокументированных границ.
Быстрая проверка
Проверьте, насколько хорошо вы понимаете поверхность атаки в облаке.
Итоги
Вы составили карту поверхности атаки в облаке.
- Неправильные настройки на стороне клиента — главный источник рисков облака.
- Идентичность — это периметр; утёкшие ключи и роли — основные векторы атаки.
- Служба метаданных связывает уязвимости плоскости данных с облачными учётными данными.
- Неправильные настройки хранилищ, сети и журналирования дополняют эту поверхность атаки.
Далее: перечисление облачных ресурсов для поиска этих проблем.
Часто задаваемые вопросы
Урок «Поверхность атаки облака» бесплатный?
Да — полный текст урока «Поверхность атаки облака» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cyber Security Academy, подпишись на CoddyKit PRO. Курс Cyber Security Academy содержит 4 уроков всего.
Чему я научусь в уроке «Поверхность атаки облака»?
Риски IAM, хранилищ и метаданных Ты практикуешь Cyber Security Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cyber Security Academy?
Предыдущий опыт не требуется. Cyber Security Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Поверхность атаки облака»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cyber Security Academy?
Да. Каждый урок Cyber Security Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Поверхность атаки облака
- Перечисление облачных ресурсов
- Эксплуатация неправильных настроек IAM
- Закрепление и горизонтальное перемещение