EC部技術3課の山本拓海です。
the smithsで好きなアルバムは、どれも最高ですがthe smithsです。
AWSのセキュリティの検出サービスのGuardDutyのオプションを比較します。
EC2をメインに使った環境で導入を検討される機会が多い、GuardDutyとGuardDutyのオプションであるGuardDuty Malware ProtectionとGuardDuty Runtime Monitoringを比較します。
GuardDutyとGuardDuty Malware ProtectionとGuardDuty Runtime Monitoring
GuardDutyは環境内外で発生した脅威を検知するサービスです。
GuardDuty Malware Protection(以下 MP)とGuardDuty Runtime Monitoring(以下 RM)はGuardDutyのオプションにあたるサービスです。
MPはEBS内にマルウェアが存在するかスキャンし判定します。
GuardDuty RMはEKS, ECS, EC2での挙動から、脅威を検出します。EC2のサポートは2023年11月からと最近開始しました。
それぞれの挙動の比較です。
GuardDuty | Malware Protection | Runtime Monitoring | |
---|---|---|---|
トリガーイベント | なし | GuardDutyが対象の脅威を検出したとき / オンデマンド | なし |
エージェント | 不要 | 不要 | 必要 |
スキャン対象 | 基礎データソース | EBSのスナップショット | OS ラインタイムイベント |
スキャンを実施するアカウント | 同一AWSアカウント内 | GuardDutyサービスアカウント内 | 同一AWSアカウント内 |
スキャンを除外する方法 | 除外タグ | 除外タグ | 除外タグ / エージェントをインストールしない |
補足
トリガーイベント
MPはGuardDutyがトリガーになる脅威を検出すると、EBSのスナップショットのスキャンを開始します。トリガーになる検出結果は以下の通りです。
コンピュートリソースにアタッチされたEBSが対象になるので、バックドア、暗号通貨のマイニング、トロイの木馬、偵察などコンピュートリソースの内側で発生した脅威またはコンピュートリソースに向けた脅威がトリガーになります。
また、マネージドコンソールからオンデマンドでスキャンが可能です。
GuardDutyとRMはトリガーになるイベントはありません。GuardDutyは有効化後に基礎データソースの分析を始めます。
RMはGuardDutyのエージェントインストール完了後にOSのランタイムアクティビティを分析します。
スキャン対象
GuardDutyのスキャン対象の基礎データソースには、AWS CloudTrail イベントログ, VPCフローログ,DNSログがあります。
VPCフローログはEC2にアタッチされたENIを行き来するIPトラフィックが対象です。また、DNSログはVPCのDNSの設定がデフォルトのAWS DNSリゾルバを使用している場合、対象となります。
MPのスキャン対象はトリガーイベントの対象になるEC2インスタンス / コンテナワークロードのEBSのスナップショットです。
RMのスキャン対象はファイルアクセス、プロセス実行、ネットワーク接続などのランタイムイベントを取得し、分析します。
ランタイムイベントを眺めていると、OS周りの詳細なイベントまで取得しているのでどういうスキャンエンジンを使って分析しているのかが気になるところですが、現在公表されていませんでした。
スキャンを実施するアカウント
GuardDutyとRMはGuardDutyを有効化しているアカウント内でログの分析を行いますが、MPはGuardDutyサービスアカウント内で行うため、機密データを他のアカウントと共有できない場合、注意が必要です。
スキャンを除外する方法
RMはECS, EKSでは除外タグを使えますが、EC2では現在プレビュー版なので、除外タグはなく、エージェントをインストールしないことがスキャンしない方法となります。EC2でのエージェントのスキャンは現在Systems Managerを使う方法と、RPMからインストールする方法があります。詳しくは以下のリンクをご確認ください。
GuardDuty Malware Protectionの最近のアップデート
2024年2月6日からGuardDuty MPにてAWSマネージドキーで暗号化されたEBSもスキャンの対象となりました。
これまでカスタマーマネージドキーのみを対象にスキャンしていたので、導入のハードルが下がる大きなアップデートです。
GuardDuty Runtime Monitoringの要件
EC2のインスタンスのサポート要件として、OSディストリビューションはamazon linux 2かamazon linux 2023となります。
カーネルバージョンは5.4, 5.10, 5.15, 6.1のいずれかです。
エージェントのCPU制限はvCPUの50%、メモリ制限は以下の通りです。
- 8GB未満の場合、128MB
- 32GB未満の場合、256MB
- 32GB以上の場合、1GB
ECS, EKSの要件は以下のリンクからご確認ください。 https://docs.aws.amazon.com/guardduty/latest/ug/prereq-runtime-monitoring-ecs-support.html
GuardDuty Runtime MonitoringはWindowsでは利用できない
GuardDuty RMはOS内でスキャンを行うのは上述の通りですが、Windowsでは利用できません。
WindowsでのOSスキャンを行いたい場合、Cloud One - Workload Securityなどのソリューションをご検討ください。
おわりに
GuardDutyは導入後どんな情報が取得できるかが比較的わかりやすいサービスのため、多くの環境で導入されています。
GuardDutyから検出される場合、誤検知か既になんらか攻撃が発生している状態です。GuardDutyとそのオプションを導入の際は、検出時の導入フローを検討し、復旧や封じ込めなどの次の対応も併せてご検討いただくのがよいかと思います。
この記事が導入のお役に立ちましたら幸いです。
山本 拓海(執筆記事の一覧)
エンタープライズクラウド部 クラウドリライアビリティ課
Security Hubになりたい
写真は黒猫のくま。
記事に関するお問い合わせや修正依頼⇒ takumi.yamamoto@serverworks.co.jp