
関連するソリューション

マネージドサービス(運用・保守)
デジタルソリューション本部
エバンジェリスト 松岡 政之 
こんにちは。エバンジェリストの松岡です。
もう夏も後半に差し掛かりましたが、相変わらず暑い日々が続いています。皆様いかがお過ごしでしょうか。
少し涼しくなったようでも日向はまだまだ暑いので熱中症には十分お気を付けください。
1.はじめに
それでは本題です。今回はAmazon GuardDuty Malware ProtectionというAmazon GuardDutyのマルウェア対策機能に触れていきます。
こちらの機能は2022年7月26日にリリースされたばかりの機能です。リリースノートは下記URLにあります。
Amazon GuardDuty がマルウェア対策機能を追加(※外部リンク)
いわずと知れたAWSの仮想コンピューティングサービスであるEC2では標準では、マルウェア対策にあたる機能は存在しませんでした。マルウェア対策には別途マルウェア対策ソフトを自身で準備してインストールするか、Marketplaceからマルウェア対策ソフトが含まれたAMIを選んで利用する必要がありました。
ですが、新しくリリースされたAmazon GuardDuty Malware Protectionでは特にインスタンスに何かをインストールする必要がなく、GuardDutyのコンソールから有効化するだけでマルウェア対策ができるようです。
今回は市販のマルウェア対策ソフトとどう違うのかも含めて、こちらの機能の使い方と動作の確認をしていきたいと思います。
2.機能概要
2-1. スキャン対象
EBSボリュームを使用していれば、EC2インスタンスに限らずECSやEKS等のコンテナサービスも対応しているようです。ただし、現状では1TB未満のボリュームに限られるようです。
また、リージョンについては米国や中国の特殊なリージョンを除くほぼすべてのリージョンで対応しています。
2-2. スキャン動作
また、スキャン時にはスキャン対象のEBSのスナップショットを作成し、それから復元した新たなEBSをスキャンするようです。そのため、元のインスタンスやボリュームには全く影響を与えずスキャンが行われます。市販のマルウェア対策ソフトではフルスキャンが行われると、パソコンが重くて使えないといったことがよく見受けられますが、本機能ではそういったことはありません。
3.検証準備
3-1.GuardDutyの準備
有効化してMalware Protectionの設定画面を確認するとMalware Protectionもデフォルトで有効化されていることが確認できます。ちなみにGuardDutyをすでに有効化している場合は、デフォルトでは無効となっているようです。
また、スキャンオプションのタブを見てみると、タグを使用してスキャン対象の制御ができるようです。包含または除外の設定ができるので、対象としたいインスタンスの数に応じて手間の少ない方で設定するとよさそうです。
3-2.スキャン対象の準備
Linuxインスタンス |
|
AMI |
amzn2-ami-kernel-5.10-hvm-2.0.20220719.0-x86_64-gp2 / ami-0ecb2a61303230c9d |
インスタンスタイプ |
t2.micro |
ボリューム |
8 GiB / gp2 / 暗号化なし |
ここまででGuardDuty Malware Protectionの準備は完了です。 ですが、現状ではどのインスタンスがスキャン対象になっているのかGuardDutyのコンソール画面からは確認できないようです。包含/除外タグの設定でスキャン対象を制御できるので、EC2のコンソールでインスタンスのタグでフィルタをかければ確認できますが少し不便に感じますね。この辺りは今後のアップデートに期待です。
4.実証
4-1.EC2インスタンスにマルウェアを設置
4-2.スキャン確認
EICARファイルは不審な動作を行わないため、別途自身で不審な動作を起こす必要があります。スキャンを開始するには特定の検出結果が必要になりますが、必要になる検出結果については下記を参照してください。
Malware Protection スキャンを開始する GuardDuty の検索結果(※外部リンク)
これらの内、「CryptoCurrency:EC2/BitcoinTool.B!DNS」については、仮想通貨マイニングプールの名前解決で検出させることができます。また、「Backdoor:EC2/C&CActivity.B!DNS」については検出結果を出力させるテストドメインがGuardDutyのドキュメントに記載されていますので、そちらを使って試してみます。実際に行ってから検出されるまでは十数分~数十分程度かかります。
実際の検出結果は以下の通りです。
それでは無事検出されたところで、マルウェアスキャンの項目を見ていくと以下のようにすぐにスキャンが開始されていました。
スキャンが完了すると以下のような画面になります。以下の通り問題なく検出されているのがわかります。
ですが、この画面では何が検出されたのかはわかりません。「クリックしてマルウェアの検出結果を表示」をクリックすると検出結果の画面で詳細を確認することができます。こちらを確認すると、今回の場合EICARファイルが検出されていることがわかります。今回はEICARでしたが本来ならばここでどのようなマルウェアが検出されたのか確認できます。
また、EC2のコンソールからスキャンされたボリュームのスナップショットが作成されていることも確認できました。 ちなみに、検出されたEICARファイルをインスタンスにログインして確認してみると、もちろん駆除されずに残っていました。
まとめ
今回はGuardDutyに新たに追加されGuardDuty Malware Protectionについて、その動作について確認してみました。結果として、問題なくスキャンされ検出されることが確認できました。
今回確認した通り、特別なソフトウェアを追加する必要がないため気軽に利用できます。また、利用中のインスタンスでスキャンが行われるわけではないので、マシンへの負荷やソフトウェアの競合を気にする必要がないことも嬉しい点です。「ちょっとしたサーバだから有償のマルウェア対策入れるまでもないけどどうしようかな」といった場合には検討する価値のある機能かと思います。
一方、市販のマルウェア対策ソフトと異なりスケジュールスキャン等によって能動的にスキャンを行うことはできないため、動かずに潜んでいるマルウェアについては見つけ出すことができません。また、すでに活動を始めたものについても、スキャンして見つけ出してもブロックしたり駆除したりは自動で行われません。そのため、検出結果を確認して手動で対処を行う必要があります。
AWS ShieldやAWS WAF、GuardDuty等を組み合わせることによって、外部からの攻撃や不審な動作については概ね対処可能かと思いますし、インタンス自体を構築時点に初期化することで対処できる場合など限られた環境では活躍するかもしれません。ですが、万が一マルウェアが検出された場合のことを考慮すると、GuardDuty Malware Protectionのみにマルウェアの対処を任せるのは難しく、要件に応じて適切に市販のマルウェア対策ソフトと組み合わせて利用するのが現実的かと思います。
それぞれのメリット・デメリットを確認してうまく付き合っていきたいですね!
それではよいクラウドライフを!
当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。
エバンジェリストによるコラムやIDグループからのお知らせなどを
メルマガでお届けしています。