Блог Amazon Web Services
Как вы можете использовать Amazon GuardDuty для обнаружения подозрительной активности в вашем аккаунте AWS
Оригинал статьи: ссылка (Amit Meggido, Senior Technical Product Manager для Amazon GuardDuty)
Amazon GuardDuty – это автоматизированный сервис обнаружения потенциальных угроз, который постоянно отслеживает подозрительную деятельность и несанкционированное поведение для защиты ваших аккаунтов AWS, рабочих нагрузок и данных, хранящихся на Amazon S3. В этой статье я расскажу о том, как вы можете использовать GuardDuty с его новой высоконастраиваемой усовершенствованной моделью машинного обучения, чтобы лучше защитить ваше окружение AWS от потенциальных угроз. Модель масштабируется и работает с широким спектром клиентских приложений, рабочих нагрузок и операционных моделей. Новые типы потенциальных угроз, поддерживаемые GuardDuty, позволяют использовать обнаружение аномалий для получения более точных результатов, относящихся к безопасности, которые отличаются от необычных, но доброкачественных событий, без большого количества ложных срабатываний и шума.
Обзор новой модели машинного обучения GuardDuty
Новая модель машинного обучения GuardDuty основана на анализе непрерывного потока вызовов API, происходящих в ваших аккаунтах AWS, на базе активности пользователей, которая отслеживается в AWS CloudTrail. Модель основана на Variational Autoencoders (VAEs), которые в последнее время стали одним из наиболее успешных подходов к моделированию сложных распределений данных. Это позволяет GuardDuty оценить вероятностное распределение вызовов API, выполняемых пользователями в вашем аккаунте AWS. Даже если пользователь в вашем аккаунте совершает какие-то определённые действия впервые, модель будет предсказывать, являются ли они частью его нормальной, ожидаемой работы. Именно эта добавленная вероятностная составляющая помогает проводить точные обнаружения подозрительного поведения внутри вашего аккаунта.
GuardDuty использует новую модель машинного обучения для выявления необычной активности в ваших учётных записях, анализа релевантности этой активности с точки зрения безопасности с учётом контекста, в котором она осуществлялась, и применения прогнозируемой вероятности для принятия окончательного решения о том, является ли эта активность достаточно аномальной, чтобы заслуживать проведения расследования. Новые методы обнаружения угроз на основе моделей, добавленные в GuardDuty, также помогут вам определить характер атаки, связанной с аномальными вызовами API, включая сбор информации, первоначальный доступ и его сохранение для дальнейшего использования, повышение привилегий, обход защиты, доступ к учётным данным, нарушение работы, манипулирование данными, а также уничтожение или хищение данных.
Новые методы обнаружения аномалий в GuardDuty показали среднее снижение количества предупреждений об аномальной активности учётных записей более чем на 50%, а также расширение охвата мониторинга более чем на 300%. Аномальное поведение пользователей, выявленное новыми методами, с большей вероятностью представляет собой реальную вредоносную активность по сравнению с предыдущими методами обнаружения аномалий в GuardDuty.
Подозрительное поведение, которое вы можете обнаружить с помощью новой модели машинного обучения включает:
- Необычные вызовы Amazon Simple Storage Service (Amazon S3) API для обнаружения возможностей для атаки, включая изменение прав доступа различных уровней.
- Несанкционированное создание новых пользователей, ролей или ключей доступа Amazon Identity and Access Management (IAM) для обеспечения постоянного доступа.
- Захват инстансов Amazon Elastic Compute Cloud (Amazon EC2) для использования их в майнинге криптовалюты.
- Создание снапшотов Amazon Relational Database Service (Amazon RDS) в рамках осуществления попыток хищения данных.
Если вы уже используете GuardDuty, то новые методы обнаружения потенциальных угроз с помощью моделей машинного обучения уже доступны для вас. Мы постоянно работаем над улучшением и расширением методов обнаружения потенциальных угроз GuardDuty, и новые методы по умолчанию добавляются для всех ваших аккаунтов AWS со включённым сервисом GuardDuty без дополнительной платы. Это означает, что в момент, когда вы читаете эту статью, новая модель уже отслеживает активность вызовов API пользователями в ваших аккаунтах для десятков сервисов AWS, включая Amazon EC2, Amazon Identity and Access Management (IAM), Amazon Simple Storage Service (S3), Amazon DynamoDB, Amazon Elasticsearch Service, Amazon Relational Database Service (RDS), AWS Key Management Service (KMS), Amazon Elastic Container Registry (Amazon ECR) и AWS Secrets Manager.
Расширенные метаданные в оповещениях помогут вам быстро анализировать новые обнаруженные потенциальные угрозы
Новые поведенческие методы обнаружения потенциальных угроз на основе моделей машинного обучения GuardDuty предоставляют вам расширенные контекстные данные вместе с обнаруженными потенциальными угрозами GuardDuty. Эти контекстные данные позволяют быстро принимать решения о том, следует ли запускать процедуру реагирования на инцидент. Вы можете просмотреть их в консоли управления GuardDuty, все детали также включены в JSON с информацией о потенциальной угрозе, передаваемый через Amazon EventBridge и публикующийся в AWS Security Hub.
В новых результатах обнаружения потенциальных угрозах вы теперь можете увидеть подробный список всех аномальных вызовов API, которые совершил один и тот же пользователь в течение нескольких минут. Например, вместо того чтобы показать, что IAM-пользователь Admin-1 аномально вызвал API S3 ListBuckets, GuardDuty сообщит вам, что вслед за этой операцией пользователь также вызвал API GetBucketACL, GetBucketPublicAccessBlock и PutBucketPublicAccessBlock. Все вызовы API в списке будут сгруппированы по связанным с ними сервисам AWS, чтобы вам было ещё проще понять, к каким сервисам обращались в рамках аномальной активности. В обнаруженной потенциальной угрозе также будет представлена подробная информация о том, какие из аномальных вызовов API были вызваны успешно, а какие – неудачно, включая полученный ответ об ошибке. Этот контекст может быть важен при анализе результатов. Например, успешные вызовы API указывают на то, что пользователь смог выполнить действия, и поэтому они могут представлять из себя более серьёзный инцидент. С другой стороны, если пользователю было отказано в доступе, это может свидетельствовать о скомпрометированных учетных данных, когда злоумышленник пытается определить, какие права доступа у него имеются.
В каждой обнаруженной потенциальной угрозе явно указано, какие атрибуты активности были необычными для конкретного пользователя, а также для всех других пользователей, работающих в том же аккаунте AWS, чтобы помочь вам определить, почему поведение было отмечено как очень подозрительное. Наконец, в детальной информации об обнаруженной потенциальной угрозе также содержится информация о том, какое поведение ожидается для данного пользователя и для всех других пользователей, работающих в том же аккаунте AWS. Ожидаемое поведение будет классифицировано в зависимости от его частоты в течение периода профилирования. Например, частое (ежедневно или еженедельно), нечастое (несколько раз в месяц) или редкое (менее одного раза в месяц).
Как работать с новыми потенциальными угрозами в консоли управления GuardDuty
Давайте рассмотрим пример. В процессе анализа оповещений о потенциальных угрозах в консоли управления GuardDuty вы видите оповещение об аномальной активности, связанной с обнаружением ресурсов, как показано на изображении 1:
В разделе Anomalous APIs вы видите, что пользователь успешно вызвал три API, связанных с DynamoDB и RDS, которые относятся к тактикам обнаружения ресурсов: ListTables, DescribeTables и DescribeDBSnapshots.
Просматривая детальную информацию далее, вы увидите разделы Unusual behavior, как показано на изображении 2.
Анализируя эти разделы, вы увидите, что активность велась с удалённого IP-адреса, связанного с необычным местоположением для этого пользователя, а также для всех других пользователей, работающих в том же самом аккаунте AWS. Вы также увидите, что для этого пользователя необычно вызывать API, которые использовались для получения списка и описания таблиц DynamoDB, а также для получения списка снапшотов баз данных RDS. Под разделами Unusual behavior вы увидите три дополнительных раздела, которые предоставляют другие важные подробности о действиях пользователя, как показано на изображении 3.
Раздел Resource affected поможет вам ответить на важные вопросы об IAM-пользователе, связанном с данным действием, включая имя пользователя и его тип. Раздел Action позволяет детальнее изучить любой из вызовов API, которые были частью этого действия, включая идентификатор средства доступа (user agent), который использовался в рамках этого действия. Наконец, в разделе Actor вы можете увидеть информацию об использованном IP-адресе, включая его местоположение и относящуюся к нему сеть.
На данном этапе эта активность уже выглядит крайне подозрительной, поскольку действия совершались из сети, из которой не работал ни один пользователь вашего аккаунта AWS, а совершенные вызовы API не входят в профилированные действия. Однако, прежде чем вынести окончательный вердикт, вы можете еще кое-что проверить. Погрузившись на один уровень глубже, вы можете проанализировать, какое поведение ожидается для данного пользователя, а также для остальных пользователей этого аккаунта AWS. Вернувшись в раздел Anomalous APIs (изображение 1), вы можете нажать на кнопку Usual APIs, чтобы открыть диалоговое окно, показанное на изображении 4.
Диалоговое окно Usual APIs показывает список из 20 наиболее часто вызываемых API как пользователем (в разделе User Identity слева), так и всеми другими пользователями, работающими в вашем аккаунте AWS (в разделе All users in account справа). Вы можете быстро просмотреть список и увидеть, что вызов API, связанный с DynamoDB и RDS, не является частью обычных операций в вашей учетной записи AWS. Скорее, этот конкретный пользователь часто вызывает API, связанные с Amazon GuardDuty, в то время как остальные пользователи в вашем аккаунте часто вызывают API, связанные с бакетами S3 и инстансами EC2.
Чтобы завершить анализ потенциальной угрозы, проверьте обычное поведение как для всего аккаунта AWS, так и для пользователя, который совершил аномальные вызовы API. Вернитесь в раздел Unusual behavior (Account) и нажмите на кнопку Usual behavior, чтобы открыть диалоговое окно, показанное на изображении 5.
Затем перейдите в раздел Unusual behavior (User Identity) (изображение 2) и нажмите на кнопку Usual behavior, чтобы открыть диалоговое окно, показанное на изображении 6.
Диалоговое окно Usual behavior (Account) на изображении 5 показывает ожидаемое поведение всех пользователей в вашем аккаунте. Диалоговое окно Usual behavior (User Identity) на изображении 6 показывает ожидаемое поведение для того пользователя, который совершил аномальные вызовы API. В каждом диалоговом окне есть несколько вкладок, которые предоставляют вам информацию о различных атрибутах ожидаемого поведения. Обратив внимание на часто используемые сети, вы можете увидеть, что пользователи этого аккаунта AWS, включая конкретного пользователя, который совершил аномальные вызовы API, обычно работают из сети Amazon или из сетей популярных американских провайдеров. Это даёт дополнительные доказательства того, что аномальное поведение, обнаруженное GuardDuty, является крайне подозрительным.
Начните расследование с помощью Amazon Detective
После того как вы определили, что обнаруженная активность явно подозрительна, вы можете нажать на ссылку Investigate with Detective в верхней части панели детальной информации о потенциальной угрозе, как показано на изображении 7, чтобы начать расследование с помощью Amazon Detective.
Amazon Detective дополняет Amazon GuardDuty, собирая данные логов и событий из таких источников, как AWS CloudTrail и Amazon Virtual Private Cloud (VPC) Flow Logs. Detective организует эти данные в аналитическую графовую модель, которая сводит воедино информацию о ресурсах, поведении пользователей и связанных с ними взаимодействиях, наблюдаемых во всех подключенных аккаунтах AWS за последние 12 месяцев. Detective использует эти данные для создания специализированных визуализаций, которые обобщают сетевую и пользовательскую активность во всех подключенных аккаунтах.
Detective поможет вам быстро ответить на следующие вопросы:
- Использовал ли этот пользователь какие-либо роли доступа или цепочки ролей (role chaining) для выполнения какой-либо деятельности под другой ролью после получения роли администратора?
- Какие еще роли доступа использовал этот пользователь в моих аккаунтах примерно в то же время, когда была обнаружена потенциальная угроза, и какие API он вызывал?
- Когда впервые была замечена активность с данного IP-адреса в моих аккаунтах?
- Какие пользователи и роли доступа были использованы для обращения к моим ресурсам AWS с этого IP-адреса, и какие вызовы API они совершали? Какие из этих вызовов были неудачными, а какие успешными?
- Отправлял или получал ли этот IP-адрес какие-либо данные с любого из моих инстансов EC2? Если да, то сколько, как долго и по каким портам?
Предоставляя визуальную аналитику и обобщенные данные, собранные из событий управления и сетевого трафика, Detective помогает выявить первопричину проблем безопасности. Возможность быстро увидеть закономерности в действиях, а также возможность углубиться в детали, поможет вам быстро понять, как долго продолжаются проблемы, и что необходимо исправить.
Обзор новых и устаревших типов потенциальных угроз
Ниже приводится краткое описание всех новых типов потенциальных угроз.
Новые типы потенциальных угроз GuardDuty
- Discovery:IAMUser/AnomalousBehavior
Степень серьёзности угрозы: Низкая
Этот тип потенциальных угроз информирует вас о том, что в вашем аккаунте были замечены аномальные вызовы API. Замеченные вызовы API обычно ассоциируются с начальным этапом атаки, на котором неавторизованный пользователь собирает информацию о вашем окружении AWS, чтобы определить, восприимчиво ли оно к более широкой атаке. API в этой категории обычно представляют собой операции получения списков и описания ресурсов, например, DescribeInstances, GetRolePolicy или ListAccessKeys. - InitialAccess:IAMUser/AnomalousBehavior
Степень серьёзности угрозы: Средняя
Этот тип потенциальных угроз информирует вас о том, что в вашем аккаунте был замечен аномальный запрос API. Замеченные вызовы API обычно ассоциируются с начальным этапом атаки, на котором неавторизованный пользователь пытается получить доступ к вашему окружению AWS. API в этой категории обычно представляют собой операции получения токена или создания сессии, такие как GetFederationToken, StartSession или GetAuthorizationToken. - Persistence:IAMUser/AnomalousBehavior
Степень серьёзности угрозы: Средняя
Этот тип потенциальных угроз информирует вас о том, что в вашем аккаунте был замечен аномальный запрос API. Замеченные вызовы API обычно ассоциируются с тактиками сохранения доступа, при которых неавторизованный пользователь получил доступ к вашему окружению AWS и пытается сохранить этот доступ для дальнейшего использования. API в этой категории обычно представляют собой операции создания или импорта ключей доступа или изменения конфигурации ресурсов, например, CreateAccessKey, ImportKeyPair или ModifyInstanceAttribute. - PrivilegeEscalation:IAMUser/AnomalousBehavior
Степень серьёзности угрозы: Средняя
Этот тип потенциальных угроз информирует вас о том, что в вашем аккаунте был замечен аномальный запрос API. Замеченные вызовы API обычно ассоциируются с тактиками повышения привилегий, при которых неавторизованный пользователь пытается получить права доступа более высокого уровня. API в этой категории обычно включают операции, изменяющие политики и роли доступа IAM, а также права доступа пользователей, например: AssociateIamInstanceProfile, AddUserToGroup, PutUserPolicy. - DefenseEvasion:IAMUser/AnomalousBehavior
Степень серьёзности угрозы: Средняя
Этот тип потенциальных угроз информирует вас о том, что в вашем аккаунте был замечен аномальный запрос API. Замеченные вызовы API обычно ассоциируются с тактиками обхода защиты, при которых неавторизованный пользователь пытается замести следы своих действий и избежать обнаружения. API в этой категории обычно представляют собой операции удаления, отключения или остановки, например: DeleteFlowLogs, DisableAlarmActions, StopLogging. - CredentialAccess:IAMUser/AnomalousBehavior
Степень серьёзности угрозы: Средняя
Этот тип потенциальных угроз информирует вас о том, что в вашем аккаунте был замечен аномальный запрос API. Замеченные вызовы API обычно ассоциируются с этапом атаки на доступ к учётным данным, на котором неавторизованный пользователь пытается собрать пароли, имена пользователей и ключи доступа для вашего AWS окружения. API в этой категории включают GetPasswordData, GetSecretValue и GenerateDbAuthToken. - Impact:IAMUser/AnomalousBehavior
Степень серьёзности угрозы: Высокая
Этот тип потенциальных угроз информирует вас о том, что в вашем аккаунте был замечен аномальный запрос API. Замеченные вызовы API обычно ассоциируются с тактиками воздействия, при которых неавторизованный пользователь пытается нарушить работу, а также манипулировать данными или уничтожить данные в вашем аккаунте AWS. API в этой категории обычно представляют собой операции удаления, обновления или записи, например: DeleteSecurityGroup, UpdateUser, PutBucketPolicy. - Exfiltration:IAMUser/AnomalousBehavior
Степень серьёзности угрозы: Высокая
Этот тип потенциальных угроз информирует вас о том, что в вашем аккаунте был замечен аномальный запрос API. Замеченные вызовы API обычно ассоциируются с тактиками хищения, при которых неавторизованный пользователь пытается извлечь данные из вашего окружения AWS. API в этой категории обычно связаны с S3, сервисами баз данных и EC2, например: PutBucketReplication, CreateSnapshot, RestoreDBInstanceFromDBSnapshot.
Эти новые типы потенциальных угроз заменяют некоторые из предыдущих типов, которые теперь устарели.
Устаревшие типы потенциальных угроз GuardDuty
Следующие типы потенциальных угроз GuardDuty являются устаревшими. Это устаревание вступило в силу 12 марта 2021 года. Если какие-либо из ранее доступных типов потенциальных угроз были обнаружены в вашей среде AWS до 12 марта 2021 года, то они будут удалены в течение 90 дней с момента создания, в соответствии с периодом хранения обнаруженных потенциальных угроз GuardDuty. Тем не менее, в будущем потенциальные угрозы этих типов не будут обнаруживаться в вашем окружении AWS.
- Persistence:IAMUser/NetworkPermissions
- Persistence:IAMUser/ResourcePermissions
- Persistence:IAMUser/UserPermissions
- Recon:IAMUser/NetworkPermissions
- Recon:IAMUser/ResourcePermissions
- Recon:IAMUser/UserPermissions
- ResourceConsumption:IAMUser/ComputeResources
- Stealth:IAMUser/LoggingConfigurationModified
- UnauthorizedAccess:IAMUser/ConsoleLogin
- Discovery:S3/BucketEnumeration.Unusual
- Impact:S3/PermissionsModification.Unusual
- Impact:S3/ObjectDelete.Unusual
- PrivilegeEscalation:IAMUser/AdministrativePermissions
Для получения дополнительной информации о новых и устаревших типах потенциальных угроз, смотрите раздел Finding types в руководстве пользователя Amazon GuardDuty.
Заключение
Если вы уже используете Amazon GuardDuty, то для того, чтобы начать использовать новые возможности просмотра обнаруженных потенциальных угроз в консоли управления, не требуется никаких дополнительных действий. Если вы настроили GuardDuty на отправку результатов через AWS EventBridge для последующего использования средствами автоматизации, то вам следует проверить, что ваши правила EventBridge настроены на доставку новых типов потенциальных угроз.
В AWS мы стремимся постоянно совершенствовать GuardDuty, чтобы вам было ещё проще обеспечивать безопасность работы в AWS. Продолжайте присылать отзывы, ведь это то, что помогает нам в AWS.