[レポート] クラウドでの脅威管理:Amazon GuardDutyおよびAWS Security Hub #SEC206 #reinvent

AWS re:Invent 2019のセッション「SEC206-R1 -- [REPEAT 1] Threat management in the cloud: Amazon GuardDuty and AWS Security Hub」のレポートです。

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは、AWS事業本部のニシヤマです。はいマスキュラー。

本記事は、スピーカーセッション「SEC206-R1 -- [REPEAT 1] Threat management in the cloud: Amazon GuardDuty and AWS Security Hub」のレポートです

セッション概要

Amazon GuardDuty and AWS Security Hub in tandem provide continuous visibility, compliance, and detection of threats for AWS accounts and workloads. Amazon GuardDuty enables customers to achieve continuous security monitoring to detect threats in the cloud. AWS Security Hub enables customers to continuously monitor their environment using automated compliance checks based on AWS best practices and industry standards. In this session, we introduce you to Amazon GuardDuty and AWS Security Hub and walk you through the detection of an event; aggregation; prioritization of security findings; and the identification of possible remediation actions and other responses.

レポート

アジェンダ

  • Amazon GuardDuty概要
  • AWS Security Hub概要
  • 調査結果の運用
    • ノイズを除外
    • 優先度の高い調査結果の識別
    • 自動化の実装

AWS セキュリティサービスの分類

識別、保護、検出/自動化/応答/調査、回復でAWSのセキュリティサービスを分類するとAWS Security Hubは識別と検出に、Amazon GuardDutyは検出に分類されています。

Amazon GuardDuty概要

まずは、Amazon GuardDutyの説明についてです。

Amazon GuardDutyの主要な機能

マネージド脅威検出サービス
  • AWSアカウントとリソースの継続的な監視
  • アーキテクチャやパフォーマンスに影響を与えないワンクリックアクティベーション
  • 地域結果によるグローバルな報道
  • 企業全体の統合と管理
  • 既知の脅威を検出
  • 未知の脅威を検出

GuardDutyのデータソース

  • VPCフローログ
  • DNSログ
  • AWS CloudTrailイベント

どの様にGuardDutyが動作するか

GuardDutyはデータソースから脅威情報と異常検出(ML)を行い、High/Mediumu/Lowで判定しSecurity Hub、S3、ClouWatch Logsに出力します。

例えば以下の様な脅威を検知します。

  • 脅威情報
    • Bitcoinマイニング
    • C&C(Command and Control)活動
  • 異常検出(ML)
    • 通常とは異なるユーザの振る舞い(インスタンスの起動、ネットワーク制限の変更)
    • 通常とは異なるトラフィックパターン(通常とは異なるポート、ボリューム)

GuardDutyは何を検出できるか

脅威インテリジェンスを使用した既知の脅威の検出

  • GuardDutyはさまざまなソースからの脅威インテリジェンスを活用
    • AWSセキュリティインテリジェンス
    • AWSパートナー(CrowdStrike、Proofpoint)
    • 顧客提供の脅威情報
  • 脅威インテリジェンスにより、GuardDutyは以下を識別
    • 既知のマルウェア感染ホスト
    • 匿名化プロキシ
    • マルウェアおよびハッカーツールをホストしているサイト
    • 暗号通貨マイニングプールとウォレット

機械学習を使用した未知の脅威

  • 異常な動作を検出するアルゴリズム
    • 経験則からくるパターンの検査
    • 通常のプロファイリングと偏差の確認
    • 機械学習分類器

発見に基づいての行動

GuardDutyで検出し、Security Hubで集計、CloudWatchでレポートしCloudWatch Eventsを経由し各サービスで実際にアクションをさせます。

AWS Security Hub概要

ということで、続いてはAWS Security Hubについてです。

自動化されたコンプライアンス標準

  • 43の完全に自動化されたほぼ継続的なチェック
  • 調査結果はメインダッシュボードに表示され、すばやくアクセスが可能
  • ギャップを緩和してコンプライアンスを守るためのベストプラクティス情報が提供

コンプライアンス基準

    • rootアカウントの使用を避ける
    • すべてのリージョンでCloudTrailが有効になっていることを確認
    • 0.0.0.0/0からポート22への進入を許可するセキュリティグループがないことを確認
    • *.*で管理権限を許可するIAMポリシーが作成されていないことを確認

Insightsは注意を必要とするリソースの特定に役立つ

AWS Security Hub insights

  • ダッシュボードは、セキュリティに関する上位の調査結果を可視化
  • AWSおよびAWSパートナーが提供する20の構築済みのInsights
  • 顧客は独自のInsightsを作成可能
      • セキュリティパッチが欠落しているEC2インスタンス
      • 資格情報が保存されたS3バケット
      • パブリックの読み取りおよび書き込み権限を持つS3バケット

調査結果に対応

GuardDuty、Inspector、Maice、サードパーティプロバイダーから情報を集め、CloudWatch Eventsを経由しAWSサービスを実行させて対応

調査結果の運用

ノイズを除外

フィルターを使用して検出結果を抑制

  • 利用可能なフィルターオプションのいずれかを使用して、evenbtとリソースに一致するフィルターを作成
  • [保存/編集]をクリックし、フィルター名を指定して、[自動アーカイブ]ボックスをオンにする

優先度の高い調査結果の識別

  • 少数の重大度の高い調査項目を運用化することから始める
  • ペイブックまたは自動化を構築する際に、新しい調査項目を公開
  • 最初に運用可能にするための推奨項目
    • UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration
    • UnauthorizedAccess:IAMUser/TorlPCaller
    • CryptoCurrency:EC2/BitcoinTool.B!DNS
    • CryptoCurrency:EC2/BitcoinTool.B
    • Recon:EC2/PortProbeEMRUnprotectedPort
    • UnauthorizedAccess:EC2/TorClient
    • UnauthorizedAccess:EC2/TorRelay

自動化の実装

自動修復の有効化

  • 影響を受けるリソースに基づいて適切なアクションを選択
    • 通知/チケット
    • 分離
    • 終了/交換
  • 明確に定義され一貫して実施されているタグ付け戦略は修復を可能にするための鍵
  • セキュリティはアプリケーション所有者と連携する必要があります(とにかくこれを行う必要があります!)
  • 通知から始める(より積極的な行動に向けて意図的に移動する)

インシデント対応の自動化

GuardDutyで検出した項目をCloudWatch Events経由のLambdaでパートナーソリューション、自動レスポンス、その他のアクションを実行させる

自動修復の例

GuardDutyで検出した項目をCloudWatch経由でLambdaから以下のアクションを実行

  • AutoScalingGroup/ELBからデタッチ
  • IAMロール削除
  • ボリュームのスナップショット取得
  • セキュリティグループを編集し通信を全て拒否
  • 分析、鑑識用ネットワークインターフェースをアタッチ
  • インスタンスの削除

おわりに

AWS Security Hub、Amazon GuardDutyに関してはほとんど触ったことがありませんでしたが、各々単体で利用するのではなく連携させさせて利用するのだということがわかりました。また、セキュリティインシデントの場合は実際の対応までが緊急を要する場合もあると思うので、その時のために他AWSサービスと連携し自動で対応を実施するのも重要なのだと理解しました。