概要
Amazon GuardDutyは、AWS環境内の悪意のあるアクティビティや不正な動作を継続的に監視する脅威検出サービスです。
検出方法とデータソース
GuardDutyは、以下のデータソースから情報を収集し、脅威を検出します。
データソース | 説明 |
---|---|
AWS CloudTrailイベントログ | AWSアカウントのAPIアクティビティを監視 |
Amazon VPCフローログ | ネットワークトラフィックデータを監視 |
DNSログ | DNSクエリパターンを監視 |
AWS CloudTrail S3データイベント | Amazon S3のアクティビティを監視 |
EKS監査ログ | Amazon EKSの監査ログを監視 |
Amazon Auroraログインアクティビティ | Amazon Auroraのログインアクティビティを監視 |
その他にもS3ログ、EBSボリューム、ランタイムモニタリング、Lambdaネットワークアクティビティログが含まれます
検出内容
GuardDutyは、以下のような脅威を検出する能力を持っています。
脅威の種類 | 説明 | 具体例 |
---|---|---|
アカウントの不正アクセス | 異常な地理的位置や時間帯からのアクセスを検出 | APIコールが通常使用されない地域から行われた場合や、匿名プロキシを使用したアクセスなど |
インスタンスの不正利用 | 不正なAPIコールや悪意のあるIPアドレスからのアクセスを検出 | 仮想通貨のマイニングやマルウェアの使用が含まれます |
データの不正アクセス | DNSクエリを使用したデータ盗難やS3バケットの不正アクセスを検出 | 異常なS3 APIアクティビティや、既知の悪意のあるIPアドレスからのアクセスなど |
マルウェアの検出 | Amazon EBSボリュームに保存されたマルウェアを検出 | トロイの木馬、ワーム、クリプトマイナー、ルートキット、ボットなどが含まれます |
コンテナの脅威 | Amazon EKSやECSのランタイムモニタリングを通じて、コンテナ内の異常なアクティビティを検出 | ファイルアクセス、プロセス実行、ネットワーク接続の監視が含まれます |
検出結果の例
- CredentialAccess:RDS/AnomalousBehavior.SuccessfulLogin: 異常な動作によるRDSへのログイン成功
- Discovery:RDS/MaliciousIPCaller: 悪意のあるIPアドレスからのアクセス検出
- Runtime Monitoring: コンテナ内での異常なファイルアクセスやプロセス実行を検出
ランタイム保護機能について
対象リソース
ランタイム保護機能は、以下のAWSリソースに対応しています。
- Amazon Elastic Kubernetes Service (Amazon EKS)
- AWS Fargate (Amazon ECS)
- Amazon Elastic Compute Cloud (Amazon EC2)
監視内容
監視対象 | 説明 |
---|---|
ファイルアクセス | ファイルへのアクセスを監視し、不正なファイル操作を検出 |
プロセス実行 | プロセスの実行を監視し、異常なプロセス活動を検出 |
コマンドライン引数 | コマンドライン引数を監視し、不正なコマンドの実行を検出 |
ネットワーク接続 | ネットワーク接続を監視し、悪意のある通信を検出 |
エージェントの管理
GuardDutyのランタイム保護機能を利用するためには、GuardDutyエージェントを各リソースにインストールする必要があります。エージェントの管理方法には以下の2つがあります。
- 自動管理: GuardDutyがエージェントのインストールと更新を自動的に行うので運用コスト削減できます。
- 手動管理: ユーザーがエージェントのインストールと更新を手動で行います。特定の要件やカスタマイズが必要な場合に適しています
検出内容
ランタイム保護機能は、以下のような脅威を検出します。
- 新しいバイナリの実行 (Execution:Runtime/NewBinaryExecuted): 未知のバイナリファイルの実行を検出
- 暗号通貨マイニングツールの検出 (CryptoCurrency:Runtime/BitcoinTool.B!DNS): 暗号通貨マイニングに関連するツールの検出
- 新しいライブラリのロード (Execution:Runtime/NewLibraryLoaded): 新たにロードされたライブラリを検出
- ファイルレス実行 (DefenseEvasion:Runtime/FilelessExecution): ファイルレスマルウェアの実行を検出
具体的なユースケース
例えば、脆弱なウェブアプリケーションがコンテナ内で実行されている場合、そのコンテナが侵害されると、GuardDutyはそのコンテナの異常な動作を検出します。
エージェントのデプロイ方法
SSMを使用した導入 (推奨)
GuardDutyが自動的にAWS Systems ManagerとVPCエンドポイントを作成し、対象のEC2インスタンスにエージェントをインストールします。
割と新しめの機能:
手動でのRPMインストール
RPMパッケージを使ってエージェントを手動でインストールする方法です。SSM導入されていないEC2インスタンスでも可能です
SSMを使った自動導入が推奨される理由は、以下のようなメリットがあるためです。
- エージェントのインストールが簡単
- エージェントのアップデートをGuardDutyが自動的に行う
- VPCエンドポイントの自動作成
- SSM管理されたインスタンスのみにインストールできる
運用上のポイント
設定と有効化
GuardDutyは、AWS Management Consoleから簡単に有効化でき、AWS Organizationsを使用して複数のアカウントを一元管理することが可能です
統合と通知
AWS Security Hubとの統合により、GuardDutyの検出結果をSecurity Hubに送信し、セキュリティイベントの一元管理が可能になります。また、Amazon Detectiveとの統合により、検出結果を詳細に分析し、視覚化することができます
料金
GuardDutyの料金体系は、データソースごとに異なり、使用量に基づいて課金されます。不要なデータソースを無効化することで、コストを削減することが可能です
特にランタイム保護機能を利用する場合は以下コストがかかりそう
項目 | 料金 |
---|---|
ランタイム保護機能の利用 | vCPUの数に応じた料金が発生 |
VPCエンドポイントの利用 | 別途料金が発生 |
参考
・Runtime Monitoring の検出結果タイプ
・Amazon GuardDuty RDS Protection による脅威のモニタリング
・Amazon GuardDuty Malware ProtectionAWS Black Belt Online Seminar
・Amazon EC2 インスタンスのカバレッジ
・GuardDuty ランタイムモニタリングを有効にする
・Amazon EKS クラスターのカバレッジ