クラウドインテグレーション事業部CSMセクションの言上です。

界隈で話題になってますが、AWSのセキュリティ関連のイベントである「re:Inforce」で、GuardDutyのアップデートとして、S3のマルウェア検出、保護が出来るようになりました。

update記事:https://aws.amazon.com/jp/about-aws/whats-new/2024/06/detect-malware-object-uploads-amazon-s3-guardduty/

早速試してみたのと、使い所について考察していこうと思います!

試してみた

GuradDutyでS3のMalware Protectionを有効にする

保護プランに「S3のMalware Protection」が表示されているので、こちらから操作をしていきます。

S3のMalware Protectionでは初期状態は何も保護されていないため、「S3のMalware Protectionを有効化」をクリックし、保護するバケットを選択します。

 

保護するバケットの選択及びIAMロール連携

保護対象のS3を選択します。

勝手にすべてのS3を保護するわけではなく、ここで保護対象のS3を選択するのは、手間はかかるものの好感触でした。

というのも、本サービスはスキャンしたオブジェクトのサイズに応じて課金されます。

  • スキャンしたオブジェクトのサイズ(GBあたり) / 月 $0.79
  • 評価対象のオブジェクト(1000件あたり) / 月 $0.282

優先して保護したいバケットは、人間のアップロード/ダウンロードが多いバケットとなると考えていますので、無差別にではなく、どのバケットを、が選択できるのは料金面を考えると嬉しいです。

ここでは、

  • 対象バケット
  • スキャンされたオブジェクトにタグをつける、つけない
  • アクセス許可

を設定します。

スキャンされたオブジェクトにタグづけは、特にこだわりがないのであれば実施しましょう。

今回その先まで試していませんが、本サービスの検知をトリガーに、特定タグが付与されたオブジェクトに対して、EventBridgeで特定操作ということも可能になります。

アクセス許可は「アクセス許可を表示」を押下すると、必要な権限が表示されます。

表示された権限を付与したIAMロールを作成し、信頼関係を結びましょう(IAMの作成手順は割愛します)

S3のMalware Protectionの動作確認

上記手順にて、保護されたS3バケットとして対象に加わりました。

S3バケット名を押下すると、詳細が表示されます。

まだ何も新しくファイルをアップロードしていないため、検知は出来ません。

本サービスは保護した後にアップロードされたファイルが対象となるため、その点は注意してください。

テストのために、対象のS3にファイルをアップロードしました。

eicarファイルを作成し、対象のS3にアップロードしてみます。

※eicarファイルは擬似的にウィルスファイルとして認識されるための文字列で作成されたファイルです。

 

脅威の検出結果として、無事反応したことがわかります。

ダッシュボート側にも、CloudWatchメトリクスとして表示されたことがわかります。

CloudWatchメトリクスとして表示されるのは好感触です。

アラートのトリガーとして、監視することが簡単に組み込めそうです。

このようなスキャンツールには誤検知がつきもの、と考えるため、検知したかは検出したい、それをいち早く気づきたい、という声に対し、

このCloudWatchのメトリクスを監視対象とし、感染したスキャンの数をトリガーに調査を実施等、柔軟性を持って対応できそうです。

使い所

本サービスの使い所を考えてみました。

まず真っ先に思いつくのは、

  • S3に不特定多数の人間がファイルをアップロード / ダウンロードが出来るシステム

です。

これはウィルス感染したファイルがアップロードされ、拡散することを防ぐ、といった目的で検知したい。ということで、導入して効果が見込めそうです。

ただ、こう言ったシステムはすでに3rdParty製品等で保護されている場合が多いのでは?と思います。

まだ対策を出来ていない、というシステムの場合、一定以上の効果と安心感を得られると考えます。

 

一方で、

  • 特定の人間(社内等)で限定的な使い方をしている
  • システム利用のみで利用しているようなバケット

はどうかというと、保険としての意味で導入するのはよい手段であると考えます。

ウィルス感染は発生しないのが一番良いですが、意図する/意図しないに関わらず、不審なファイルをアップロード/ダウンロードするといった可能性は避けられません。

そのため、マルウェア対策に注目している場合、S3の保護は本機能を用いて保険をかけておく、という使い方が一番合うのではないかと考えます。

 

最後に

今回は新しくリリースされたS3のMalware Protectionについて、検証、考察してみました。

EventBridgeの連携やCloudWatchメトリクスとの連携と、カスタマイズ性が高く、柔軟に色々出来そうなサービスです!

より便利な使い方を探っていければと思います。