DMMグループの一番深くておもしろいトコロ。
テクノロジー

GuardDutyのMalware Protectionを導入してみました!

DMMグループの一番深くておもしろいトコロ。

はじめに

こんにちは。 SRE部の原口です。普段はITインフラ本部のSRE部でクラウドインフラやアプリケーションの改善活動などをしています。
本記事では、AWSのサービスであるAmazon GuardDutyのMalware Protectionを実際に導入した際の注意点を紹介します。

GuardDutyのMalware Protectionを導入してみた

先日発表された、Malware Protectionを僕が担当するサービスで導入する機会がありましたのでご紹介します。
今まではAWS標準でマルウェア対策はありませんでしたので、期待に胸を膨らませて早速導入しました。

Malware Protection とは

マネージド型脅威検出サービスのAmazon GuardDutyに、マルウェアスキャンに対応したMalware Protectionが追加されました。

Malware Protection は GuardDuty のサポート機能として、マルウェアを検出します。

Amazon GuardDuty の Malware Protection

Malware Protectionのサービス仕様

マルウェアの感染が疑われた場合は、EBSのスナップショットを取ってスキャンします。
市販されているマルウェア対策ソフトと異なり、リアルタイムのスキャンやマルウェアの排除・停止などは行いませんが、EBSのスナップショットに対してスキャンするので、サービスに影響なく利用できるのが特徴だと思います。
(ウィルス対策ソフトで、サーバーが落ちたり、PCが重たくなって業務ができない・・・なんてことも過去にはありました)

定期的なスキャンやリアルタイムのスキャンには対応していません。
このような機能が必要な場合は、サードパーティーのマルウェア対策ソフトを利用する必要があります。

Malware Protectionの仕組み

Malware Protectionの実行には、GuardDutyが「あれ?マルウェアに感染していないか?」と思うトリガーが必要になります。
動作フローは以下のとおりです。

  1. GuardDutyがマルウェア感染が疑われる挙動を検出します
    1. 検出対象のトリガー
  2. Malware ProtectionによりEBSにスナップショットが作成されます
  3. スナップショットに対してマルウェアスキャンが実施されます

上記のように、マルウェアの感染を示す疑わしいアクティビティや潜在的に悪意のあるアクティビティをGuardDutyが検出すると、そのようなアクティビティを検出したリソースにアタッチされたEBSのスナップショットを取り、そのスナップショットに対してスキャンを行います。
そのため、サーバーが高負荷になるなどのサービスへの影響はないのでとりあえず導入しておいて損はないと思います。

Malware Protectionの動作概要

利用料金

東京リージョンだと、 スキャンした対象のEBSボリューム1GBあたり $0.05 の料金がかかります。最初の30日は無料枠があります。
最新の料金は、以下のページでEBS Data Volume Scan Analysisを確認してください。
Amazon GuardDuty Pricing

検出対象

基本的にEBSが対象となりますが、スキャンされない条件があるので注意が必要です。

EBSの暗号化方法によるスキャンの可否

デフォルトのKMSキーで暗号化されたボリュームはスキャンされませんので注意が必要です。
 

暗号化方法 対応
暗号化されていないボリューム
カスタマーマネージドキーで暗号化されたボリューム
デフォルトのKMSキーで暗号化されたボリューム

ECS 実行環境によるスキャンの可否

EBSをスキャンするのでECS on EC2やEKS on EC2はスキャン対象ですが、ECS Fargateは残念ながら対象外です。
将来的には、Fargateも対象になるといいですね。
 

実行環境 対応
ECS on EC2
EKS on EC2
Fargate

Malware Protectionの有効化

マネジメントコンソールより実施します。ワンクリックで有効にできます。
有効になったら以下のような画面になります。



今回対象としたサービスはGuardDuty管理者が別途いるので、私のアカウントでは有効にできませんでした。
そのため、管理者に依頼して有効にしてもらいました。

別途管理者がいる場合は、以下のようなメッセージが表示されています。

この機能は GuardDuty 管理者 (アカウント番号 0000000000) によってユーザーに代わって管理されます。

Malware Protectionの挙動について検証

せっかく有効にしたので、早速検出できるかテストしました。
マルウェアを置くだけでは動作してくれないため、工夫が必要です。

マルウェアを仕込む

本物のマルウェアは危ないので、EICAR (European Institute for Computer Antivirus Research)が公開しているEICARテストファイルを用いました。
EC2にログインして、EBSの任意の場所に保存します。

curl https://secure.eicar.org/eicar.com -o eicar.txt

GuardDutyに検出を実行してもらう

前述したようにGuardDutyに「あっ?怪しい。スキャンしなきゃ!」と思ってもらう必要があります。
というわけで、今回はGuardDutyのテスト用ドメインの"guarddutyc2activityb.com"を名前解決してMalware Protectionを起動しました。
GuardDuty EC2 の検出結果タイプ

$ dig guarddutyc2activityb.com

しばらく待つと、GuardDutyが起動して以下の2つが検出されました。


詳細を確認することもできます。

Execution:EC2/MaliciousFile

EICARテストファイルがちゃんと検出されました!

Backdoor:EC2/C&CActivity.B!DNS

最初のトリガーとなった"guarddutyc2activityb.com"を名前解決も検出されています。


マルウェアのは、実際のスキャンが終わるまで20分程度の時間がかかりましたが、無事に検出されました!

利用時の注意点方

MarketplaceのAMIから起動したEC2は対象外!!!

実は、最初にマルウェア検出をテストした際には検出されませんでした。
マルウェアが検出されない理由をいろいろと調べていたところ、AWS Marketplaceより入手したAMIから起動したEC2は、スキャン対象外となっていることに気がつきました。
今回テストした環境は、偶然にもMarketplaceで入手したAMIから起動したEC2インスタンス(CentOS)だったので、EBSはスキャンされていなかったというわけです。
Malware Protectionの検出をテストのログを見ていると以下のようにエラーがでて、スキップされていました。

    "resourceDetails": {
        "resourceType": "EC2_INSTANCE",
        "instanceDetails": {
            "instanceId": "i-xxxxxxxxxxxxxxxxx",
            "skipReason": "UNSUPPORTED_PRODUCT_CODE_TYPE"
        }
    }


後からよく調べると、「Marketplaceで入手したAMIから起動したEC2インスタンスはスキャンの対象とならない」と記載がありました。

GuardDuty は、marketplace としての productCode を使用したインスタンスのスキャンをサポートしていません。

GuardDuty Malware Protection の CloudWatch Logs とスキップ理由を理解する
 

おとなしくAmazon Linuxを利用した方が良いのかもしれません。
今後サポート範囲が広がっていくのか注目していますし、増えていってほしいと思います。
この問題に気がついて再度テストを実施して、本当にマルウェアが検出されたときはとてもうれしかったです。

おわりに

今回は、GuardDutyのMalware Protectionを紹介しました。
安価に利用することができますし、スナップショットへのスキャンなのでサービスへの影響が出ることはありません。
しかも、今後はデフォルトで有効化されます、現時点でも使わない手はなさそうです。
ただし、Marketplaceで入手したものは対象外だったり、リアルタイムのスキャンやマルウェアの無効化や削除も行われませんので、既存の製品と使い分けしていく必要がありそうです。
また、マネジメントコンソール上では検知結果を確認できますが、見逃してしまう場合が多そうです。
EventBridgeを利用した通知も一緒に検討する必要がありそうです。

この記事が、導入の手助けになれば幸いです。

  • セキュリティ

シェア

関連する記事

関連する求人