AWSのGuardDutyは、検知・保護する対象によって、機能(有効・無効)が分かれています。それぞれ何を検知・保護しているのか見ていきましょう。
- S3 Protection
- EKS Protection
- 拡張脅威検出
- ランタイムモニタリング
- EC2のMalware Protection
- S3のMalware Protection
- RDS Protection
- Lambda保護
- おまけ
S3 Protection
S3バケットとその中のオブジェクトに対する不審なアクセスや操作を検知する。認証済みユーザーによる異常な操作パターン(大量のファイル削除、通常と異なる場所からのアクセスなど)を監視する。
GuardDutyは「すべてのアップロードされたファイルを見て、認証済みアクセスによるアップロードかを判断し、認証済みアクセスでアップロードされたファイルのみをスキャンする」方式を取っています。
未認証アクセスのファイルは、システム的に「認証情報なしでアップロードされた」と識別した時点で、マルウェアスキャンの対象から除外されます。ランダムな外部アクセスによるアップロードは、認証情報が関連付けられていないため、自動的にスキャン対象外となります。
EKS Protection
Kubernetes環境を監視し、コンテナ内の不審な動作 (権限昇格の試み、不正なプロセス実行など) を検知する。Kubernetesクラスター内の脅威を早期に発見することが目的です。
拡張脅威検出
より高度で複雑な脅威パターンを検出するための機能です。機械学習とAIを活用して、従来の方法では検出しにくい高度な脅威や異常なパターンを識別する。
ランタイムモニタリング
実行中のEC2インスタンスやコンテナ内部のアクティビティをリアルタイムで監視する。不審なプロセス、ファイル変更、ネットワーク接続などを検知し、実行環境の保護を強化する。
EC2のMalware Protection
EC2インスタンス内のマルウェアを検出するスキャン機能です。スケジュールベースまたはオンデマンドでインスタンスをスキャンし、マルウェアの存在を特定する。
S3のMalware Protection
S3バケットにアップロードされるファイルに対するマルウェアスキャン機能です。アップロード時や定期的にファイルをスキャンし、マルウェアを含むオブジェクトを特定する。
RDS Protection
データベースサービスに対する脅威を検知する。異常なデータベースアクセスパターンや潜在的なSQLインジェクション攻撃などを監視する。
Lambda保護
サーバーレス関数に対する脅威を検知する。不審なAPIコール、不正なライブラリ使用、異常な実行パターンなどLambda関数に関わる脅威を監視する。
おまけ
私はGCP(Cloud Armor)の経験もあるのですが、AWS(GuardDuty)と考え方が違いそうだなと思ったので、違いについて書きます。両サービスでは、チェックする対象の通信に違いがあります。
GCP Cloud Armor
- 外部からのランダムアクセスも含めて広くトラフィックをログに記録
- WAF(Webアプリケーションファイアウォール)としての性質が強い
- ネットワークレベルの保護に焦点
- 認証前のリクエストも含めた包括的な監視
AWS GuardDuty
- 認証済みアクセスの監視に特化
- 異常検知の精度を高めるために監視対象を限定
- 未認証アクセス(ランダムアクセス)は基本的に監視対象外
- 別のサービス(AWS WAF、CloudTrail、VPCフローログなど)で未認証アクセスの監視をカバー
AWSの全体的なセキュリティアプローチ
AWS全体を見ると、未認証アクセスの監視は別のサービスで対応する設計になっています。
- AWS WAF
- Cloud Armorに近い位置づけで、外部からのアクセスを含むWebトラフィックをフィルタリング
- VPCフローログ
- ネットワークトラフィックのログ取得(認証の有無にかかわらず)
- AWS Shield
- DDoS攻撃からの保護(未認証の大量アクセスも対象)
- CloudTrail
- APIコールの監視(認証済みが中心だがAPIゲートウェイ等では未認証も記録可能)
GuardDutyは、これらのサービスからもデータを取得していますが、主に「認証された後」の不審な振る舞いに焦点を当てるように設計されています。
実務的な違い
実務的には以下の違いがあります。
アプローチの違い
- Cloud Armor:ファイアウォールに近く、攻撃の「入口」での防御
- GuardDuty:異常検知に近く、「内部」での不審な動きの検出
運用面の違い
- Cloud Armor:未認証アクセスも含めた包括的なログ → より多くのデータ
- GuardDuty:監視対象の絞り込み → よりノイズの少ないアラート
GCPとAWSで、このような機能の切り分け方・アプローチの違いがあることを理解しておくと、両クラウドでのセキュリティ対策を適切に設計できます。
以上です。