電通総研 テックブログ

電通総研が運営する技術ブログ

AWS環境ですぐできるマルウェア対策!Amazon GuardDuty Malware Protectionについて整理してみる


こんにちは、コーポレート本部 サイバーセキュリティ推進部 セキュアシステムデザイングループの福山です。
今回は、AWSの脅威検知サービスAmazon GuardDutyで利用できるマルウェア検出機能「Malware Protection」について整理してみました。

サーバーにおけるマルウェア対策について

マルウェアとは、ウイルス、トロイの木馬、ワーム、スパイウェア、そして近年被害が話題になっているランサムウェアなどの総称です。
マルウェアの脅威はWindowsだけに及ばず、近年ではLinuxのサンプル数も急速に増加傾向にあります。
参考:https://atlasvpn.com/blog/linux-malware-on-a-rise-reaching-all-time-high-in-h1-2022
また、EC2インスタンスへの不正アクセスなどによってマルウェアが仕込まれるケースや、さらにそのインスタンスが感染源となり、他のクライアント端末にもマルウェアが広がるケースもあります。
このように、クライアント端末だけでなくサーバー側でもマルウェア対策が必要になってきています。
そこでAWSのソリューションの一つとして、Amazon GuardDutyのMalware Protectionをご紹介します。

Malware Protectionとは

以下、Malware Protectionの概要について要点をまとめてみました。

  • エージェントレスで動く、フルマネージドなマルウェア検出オプション
  • EC2とEC2上で動作するコンテナ(ECS、EKS)をスキャン対象とする
    • [NEW] 2024年2月より、AWS管理のキー(KMS)で暗号化されたEBSもスキャン対象に!
  • 駆除/削除/隔離は実施しない(マルウェアの検出のみ)
  • 一時的にEBSのスナップショットを作成し、それに対してスキャンをかけるためパフォーマンスへの影響なし
  • 実行した分だけ費用が発生する従量課金制となっており、東京リージョンで0.05USD/GB
  • 動的に増減するコンテナワークロードや、通信が制限されたプライベートサブネット上のインスタンス、停止中のインスタンスに対してもスキャン可能
  • Security Hub やGuardDutyマルチアカウント構成による集約が可能

Malware Protectionのスキャン手法

スキャン手法は2種類あります。

実行型マルウェアスキャン オンデマンドスキャン
概要 マルウェアの挙動に関連性のある特定のGuardDutyアラートをトリガーに実行される ユーザーの任意のタイミングで実行できる
スキャンの待ち時間 前のスキャンから24時間空ける必要あり 前のスキャンから1時間空ける必要あり
30日の無料期間 あり なし

従来のアンチウイルスソフトとの比較

一般的なエージェント型で有償のアンチウイルスソフトや無償ツールと比較してみました。

Malware Protection 有償のアンチウイルスソフト Microsoft Defender(デフォルト) ClamAV
検出方法 パターンマッチング(スキャンエンジンには、AWS独自の検出エンジンとBitdefenderが取り入れられている) パターンマッチング以外に振る舞い検知といった高度な検出手法が可能な製品もある パターンマッチング パターンマッチング
マルウェアの駆除/削除/隔離 不可
リアルタイムスキャン できない ※GuardDutyアラートをトリガーにしたスキャンは可
サーバへの負荷 なし あり あり あり
ユーザーによる初期設定 AWSアカウント単位で、数クリックで完了 サーバー単位でエージェントのインストールが必要 不要 サーバー単位でエージェントのインストールが必要
ユーザーによる定義ファイルの更新 不要 必要 必要 必要
集中監視の仕組み AWSアカウント単位でリソース設定が必要(マルチアカウント構成やSecurity Hubでのアカウント集約も可能) 集中管理サーバーなどを用いれば標準機能として利用できる製品が多い サーバー単位でのカスタマイズが必要 サーバー単位でのカスタマイズが必要
サポートによる検体の解析 不可 不可
課金体系 従量課金 定額課金 - -

有効化・実行する方法

実際にMalware Protectionを利用する方法について紹介します。
まずは前提としてGuardDutyを有効化する必要があります。また、通知する仕組みも作っておくことをおすすめします。
参考:https://docs.aws.amazon.com/ja_jp/guardduty/latest/ug/guardduty_findings_cloudwatch.html#guardduty_cloudwatch_severity_notification

実行型マルウェアスキャンの場合

  • GuardDutyコンソール -> Malware Protection -> GuardDuty が開始するマルウェアスキャン -> 有効にする
  • タグを使用して、特定のインスタンスだけスキャン対象にするといったことも可能

オンデマンドスキャンの場合

  • GuardDutyコンソール -> マルウェアスキャン -> 新しいオンデマンドスキャンを開始
  • EC2インスタンスARN にて以下ARNを入力し、確認 をクリック
    • arn:aws:ec2:ap-northeast-1:{account_id}:instance/{instance_id}

スキャン結果の確認方法

検出後、スキャン結果を確認する方法について紹介します。

  • GuardDutyコンソール -> マルウェアスキャン にてスキャンステータスが Completed になった後に結果を確認できる
  • スキャン結果の種類はClean(問題なし)、Infected(感染の疑いあり)の2種類
  • GuardDutyコンソール -> 検出結果から、ファイル名・ファイルパス・ハッシュ値などを確認できる

費用

Malware Protectionはスキャンした時だけ費用が発生する従量課金制です。

  • EBSデータボリュームのスキャン費用
    • 東京リージョンの場合:0.05USD/GB(実際のスキャンサイズの費用が発生する。ボリュームの最大サイズではない)
  • スキャンのために一時的に取得されるEBSスナップショットの費用
    • デフォルトでは数分後に自動で削除される。

Malware Protectionのユースケース別の活用例

Malware Protectionのユースケース別の活用例を考えてみました。

アンチウイルスソフトを導入していないケース 既にアンチウイルスソフトを導入して監視の仕組みができているケース
平時 Malware Protection 実行型マルウェアスキャンを有効にしておく(Windowsインスタンスの場合はMicrosoft Defenderも有効にしておくとより安心でしょう) アンチウイルスソフトによる定期スキャンおよびリアルタイムスキャン+必要に応じてMalware Protection 実行型マルウェアスキャンを有効にしておく(インスタンスの増減が頻繁に発生する環境でのエージェントの導入漏れ対策として)
有事(不正アクセスなどが疑われる場合) 調査用途としてMalware Protection オンデマンドスキャンを実施する(Windowsインスタンスの場合はMicrosoft Defenderによるスキャンも実施しておくと良いでしょう) アンチウイルスソフトによるスキャン+必要に応じてMalware Protection オンデマンドスキャンを実施する(異なる検出エンジンを用いて検知漏れを防いだり、自らをエージェントの検知から隠蔽するマルウェアをスキャン)
メリット 手軽にマルウェア対策を開始でき、必要最低限のコストに抑えられる アンチウイルスソフトを補完するかたちとしてマルウェア対策を強化できる
注意点 ユーザー側で検知後のアクション(削除/隔離など)が必要。また、APIで定期的にオンデマンドスキャンを実行する方法もあるが、費用に注意 アンチウイルスソフトの運用(定義ファイルの更新など)は従来通り対応が必要

最後に

GuardDuty Malware Protection自体は2022年7月にリリースされましたが、2024年2月より、AWS管理のキー(KMS)で暗号化されたEBSもスキャン対象になったことで、本格的に活用できる状態となりました。
ただし、Malware Protectionが既存のアンチウイルスソフトに完全に取って代わるかというとそうではありません。
一般的なアンチウイルスソフトはディスクI/Oをトリガーにマルウェアの実行を止めるのに対し、Malware Protectionは悪意のある挙動を確認した後にスキャンを実施することとなるため、実施タイミング(守備範囲)が異なります。
参考:https://www.trendmicro.com/ja_jp/business/campaigns/aws/column/guarddutymalwareprotection.html
とは言え、マルウェア対策ができていない状況であれば、有力な選択肢となるのは間違いなさそうです。
以上、GuardDuty Malware Protectionについてでした。

執筆:@fukuyama.kenta
Shodoで執筆されました