Как защитить ценные данные в облаках: рекомендации Yandex Cloud

В связи с ростом количества инцидентов, связанных с информационной безопасностью, у компаний появилось больше задач по защите инфраструктуры. Кто и как должен следить за безопасностью в облаке, рассказывает Евгений Сидоров из Yandex Cloud.

В 2023 году количество инцидентов, связанных с информационной безопасностью, значительно выросло, считают 45% участников опроса State of DevOps Report 2023. Из-за этого у компаний появилось больше задач по усилению безопасности инфраструктуры, в том числе облачной.

Обычная инфраструктура чаще всего включает в себя набор серверов, сетевое оборудование, кабели, граничные маршрутизаторы, каналы и т. д. Всё это можно окружить средствами защиты, например, аппаратными файрволами. Кроме того, существует довольно чёткий корпоративный периметр.

В случае облачной инфраструктуры этот периметр размывается, поскольку у компании нет доступа к управлению оборудованием и базовой сетью. Все ресурсы виртуализированы и описаны программно, то есть представляют собой записи в базе данных облачного провайдера. Жизненный цикл и правила взаимодействия виртуальных ресурсов описаны в приложениях, управлять ими можно через control plane. Благодаря этому, что бы ни делала компания, слой управления ресурсами в публичных облаках остаётся общим для всех клиентов.

Слово «общий» в этом контексте не означает, что данные одной компании видны другой. API такого слоя обрабатывает запросы всех клиентов, но данные отделяются друг от друга не физически, а логически — на уровне программной изоляции и разделения полномочий пользователей. Поэтому говоря о размытии периметра в таких случаях имеют в виду не его отсутствие или уязвимость, а изменения, связанные с дополнительными уровнями изоляции: при переносе инфраструктуры в облако необходимо следить не за одним, а за несколькими периметрами сразу, что во многом меняет подходы и принципы работы специалистов по информационной безопасности.

Две стороны ответственности за информационную безопасность в облаке

Ответственность за безопасность систем, которые используют в работе облачные сервисы, делится между провайдером и клиентом. Провайдер гарантирует безопасность сервисов и доступность инфраструктуры. Но права доступа к ресурсам клиента (в том числе к виртуальным машинам) контролирует только он сам. Эту концепцию иногда называют принципом разделения ответственности, но в последнее время чаще говорят о совместной ответственности провайдера и заказчика.

Один из трендов будущего — контроль над облачным провайдером в режиме реального времени или Access Transparency. Крупнейшие гиперскейлеры разрабатывают для этого сервисы, которые постоянно мониторят, что происходит с ресурсами клиента на их стороне. Если специалисту технической поддержки облачного провайдера понадобится доступ к данным клиента, он не сможет получить его без разрешения владельца данных: клиент получит запрос с объяснением, зачем провайдеру данные, и должен будет подтвердить выдачу доступа.

Уязвимости на стороне провайдера

Провайдеры регулярно находят уязвимости в публичных облаках, но редко кто делится информацией о них (разве что на специализированных конференциях по информационной безопасности и в отчётах об обновлениях). Например, Вадим Осипов, инженер по информационной безопасности Yandex Cloud, и Александр Лодин, технический лидер по информационной безопасности Yandex Cloud, рассказывали об этом на Positive Hack Days 2023. Отчасти это связано с тем, что у крупных облаков разная архитектура, хотя некоторые сервисы и строятся по похожей модели.

Одна из попыток собрать базу уязвимостей облачных провайдеров — открытый проект CloudVulnDB CloudVulnDB, где собрано с десяток инцидентов таких провайдеров, как AWS, GCP, Azure, IBM, Oracle или Alibaba. Большинство из них связаны с недостаточной изоляцией сервисов и некорректно настроенными правами доступа. Благодаря этому и подобным каталогам уязвимостей появляются новые подходы к защите облачных сервисов, такие как фреймворк PEACH.

Как защититься?

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

  1. Придерживайтесь принципа минимальных привилегий. Выдавайте сотрудникам минимально необходимые доступы и внимательно настраивайте политики в инструментах управления доступами провайдера (как сетевых, так и логических в IAM), чтобы обезопасить себя в случае взлома технических учётных записей или сотрудников провайдера.

  2. Настройте аудит доступов. Облачные провайдеры часто предоставляют сервисы, которые ведут логи — автоматически фиксируемые изменения. Такая функциональность доступна и в управляемых решениях типа Managed Service for Kubernetes® и сервисах группы «Платформа данных» и т. д. Поэтому если хакеры завладеют учётной записью провайдера, то действия, совершённые от её имени, с высокой вероятностью окажутся в журналах аудита и помогут вам при анализе инцидента. Вы также можете настроить уведомления о попытках внести изменения в настройки доступа или других опасных действиях.

  3. Используйте встроенные в платформу средства шифрования. У большинства облачных провайдеров есть сервисы для шифрования вида Key Management Service (KMS), интегрированные с другими продуктами провайдера. Таким образом, злоумышленнику, который захочет получить доступ к вашей информации, придётся сначала получить доступ к ключам шифрования, то есть искать способ взломать ещё одну систему провайдера.

  4. Отключайте лишнюю функциональность.

Уязвимости на стороне клиента

Некорректная конфигурация ресурсов (misconfigurations)

По данным OWASP, самая распространенная уязвимость — неправильная конфигурация ресурсов в публичном облаке. Классический пример — создание публично доступного объекта с данными в сервисах наподобие AWS S3: данные просто оказываются в публичном доступе, злоумышленнику остаётся только понять, откуда их забрать. Так в мае 2023-го в открытом доступе оказались данные более чем двух миллионов владельцев Toyota.

Как защититься:

  1. Читайте документацию, которую предоставляет облачный провайдер. Прежде чем полагаться на какой-либо продукт, надо понять, где зона вашей ответственности и как правильно конфигурировать сервис, который вы хотите использовать.

  2. Изучите принятые в индустрии гайдлайны по безопасной конфигурации CIS Benchmarks. Также советуем ознакомиться со Стандартом по защите облачной инфраструктуры Yandex Cloud.

  3. Подключите дополнительные сервисы для интеллектуального обнаружения угроз и управления средствами безопасности в облаке: CSPM или сервисы аудита от облачного провайдера, которые зачастую легко интегрируются с SIEM-системами клиентов.

Утечка секретов или ключей доступа к данным (токенов)

Для доступа к control plane облачного провайдера нужны ключи аутентификации. Из-за этого конфигурация с ключами иногда попадает на GitHub или же в другое легкодоступное место (например, в код мобильного приложения). Злоумышленник может найти эти секреты и использовать их, чтобы получить доступ к данным клиентов.

Как защититься?

  1. Как можно реже используйте статические ключи аутентификации, пароли и токены. Например, вместо того чтобы создавать для пользователей учётные записи с отдельными логинами и паролями, подключитесь к системе SSO, если она уже есть в компании. В Yandex Cloud мы используем для таких задач Yandex Identity and Access Management.

  2. Назначайте учётные записи для виртуальных машин с помощью средств провайдера. В этом случае токены аутентификации с коротким сроком действия окажутся внутри виртуальных машин, и вам не понадобиться генерировать долгоживущие секреты и отправлять их пользователям. Yandex Identity and Access Management умеет и такое.

  3. Управляйте секретами правильно: обычно у провайдеров есть специальные сервисы, которые позволяют контролировать доступы, отправлять пользователям секреты и ротировать их. Наши клиенты создают и хранят секреты с помощью Yandex Lockbox.

  4. Настройте мониторинг утечек секретов, чтобы своевременно получать уведомления об инцидентах и как можно быстрее реагировать на них. Попробуйте наш сервис Yandex Audit Trails. Сейчас он на стадии Preview, поэтому доступен бесплатно.

Уязвимости в информационных системах компаний: чем может помочь облако

IT-системы не статичны, они постоянно развиваются. Невозможно один раз создать надёжное решение и забыть о нём: приложения и программы обновляются, рабочие процессы меняются, и система информационной безопасности компании ослабевает. Снизить риски можно, только планомерно выстраивая внутри команды процессы безопасной разработки и эксплуатации систем, например, придерживаясь подхода DevSecOps. Что это такое, как автоматизировать проверки безопасности и зачем сдвигать их в левую часть пайплайна разработки, можно узнать из бесплатного курса Yandex Cloud DevSecOps в облачном CI/CD.

Как защититься?

  1. Разберитесь, из чего состоит приложение, какие микросервисы в него входят, с какими данными оно работает и где его периметр. Это позволит обнаружить точки входа потенциально небезопасных данных, которые требуют защиты.

  2. Используйте средства безопасности, которые предлагает облачный провайдер или его партнёры: группы безопасности, WAF или антиDDoS (как, например, Yandex DDoS Protection). Зачастую такие средства уже интегрированы с облачной платформой, легко разворачиваются и не требуют больших расходов на администрирование.

  3. Регулярно проводите пентесты: анализируйте код и окружающие его тесты на проникновение.


Полную версию статьи читайте на pro.rbc.ru

author
Евгений Сидоров
CISO Yandex Cloud

Вакансии

Все актуальные вакансии Yandex Cloud

Мероприятия

Календарь событий Yandex Cloud

Обучение

Освойте инструменты Yandex Cloud
Как защитить ценные данные в облаках: рекомендации Yandex Cloud
Войдите, чтобы сохранить пост