Cloud One File Storage Securityを使ってS3バケットの擬似ウィルスファイルを検知してみた

2021.03.15

こんにちはコカコーラ大好きカジです。

待望のS3バケット内の不正なファイルを検知するCloud One File Storage Securityを試してみました。

(トレンドマイクロのホームページから画像引用)

S3内ではファイル操作が発生せずファイルが操作・動作しないため直接の影響はないのですが、ダウンロード先で更なる拡散防止のためにお問い合わせ頂くことが多いものの、簡単に導入可能な製品がなかったのが現状でした。

オープンソースのClamAVを利用した以下のブログもありましたが、セキュリティ製品の企業から、ついにリリースされました。

セットアップはすごく簡単なのでご紹介します。

事前準備

Cloud Oneアカウントを取得している必要があります。

同じブラウザ上で、AWSアカウントにAdministrator権限のユーザでログインをしておきます。

また、スキャン対象のS3バケットを構築しておきます。バケット例:kaji-fss-check(東京リージョン)

導入手順

Cloud Oneアカウントへユーザー名、パスワードを使用してサインインします。

Trend Micro Cloud One

「File Storage Security」ボックスをクリック

File Storage Securityのコンソールで、「Deploy」をクリックします。

Scaner Stack and Storage Stackをクリックします。

「Asia Pacific(Tokyo)ap-hortheast-1」を選択し、Launch Stackをクリックします。

AWS CloudFormationのCreate Stackの画面に移動します。

注意:バージニアリージョンのCloudFormationになっている場合は、東京(ap-hortheast-1)に切り替えましょう。

「S3BucketToScan」にスキャン対象のバケット名を入力します。それ以外はオプションのため入力不要です。

一部、トレンドマイクロのAWSアカウントから参照する権限をあたえるため記入されている項目があるので軽く触れると以下の内容をとなります。

File Storage Security management account:変更不要。

以下の権限を与えるようです。

  • ストレージスタックとスキャナースタックのLambdaログを取得します。
  • スタック内のScannerLambda関数、マルウェア対策パターンレイヤー、およびライセンスレイヤーを更新します。
  • organizationのデータの一部を独自のAWS SNSトピックに送信します。

Trend Micro Cloud One region:変更不要。ファイルストレージセキュリティコンソール、イベント管理サービス、テレメトリサービスなどのCloudOneサービス用にスキャナーとストレージスタックが接続する領域を指定します。現在Cloud Oneサービスは、us-east-1(バージニア)のみ

ExternalID:変更不要。セキュリティ上の理由で必要です。Create Stackするたびに変更されますのでご注意ください。

Create Stackが完了すると、Output(出力)にScannerStackManagementRoleARNとStorageStackManagementRoleARNをコピーしてCloud Oneのファイルストレージセキュリティコンソールに貼り付けます。

Cloud Oneのファイルストレージセキュリティコンソールの右側に表示されれば完了です。

試してみた

S3のスキャン対象バケットに擬似ウィルスソフトをアップロードします。 お手元のPCでアンチウィルスソフトがインストールされている場合は、S3アクセスのIAM Roleを付与したEC2インスタンス(Amazon Linux)からAWS CLIでS3バケット操作してください。kaji-fss-checkバケットへアップロードするCLIのサンプルは以下となります。

wget https://secure.eicar.org/eicar.com .
wget https://secure.eicar.org/eicar_com.zip .
aws s3 cp ./eicar.com s3://kaji-fss-check/eicar.com ; date
aws s3 cp ./eicar_com.zip s3://kaji-fss-check/eicar_com.zip ; date

アップロード結果のサンプル(スキャン時間確認用)

$ aws s3 cp ./eicar.com s3://kaji-fss-check/eicar.com ; date
upload: ./eicar.com to s3://kaji-fss-check/eicar.com
2021年  3月 15日 月曜日 05:33:24 UTC
$ aws s3 cp ./eicar_com.zip s3://kaji-fss-check/eicar_com.zip ; date
upload: ./eicar_com.zip to s3://kaji-fss-check/eicar_com.zip
2021年  3月 15日 月曜日 05:33:27 UTC

S3にアップロードしたファイルのタグを調べます。

まだS3バケット内で、eicar.comか、eicar_com.zipをクリックし、タグの表示までスクロールして確認します。ファイルサイズに依存しますが数秒で検知して、以下のようなタグが追加されています。(Eicarファイルでは以下の結果と比較したらわかりますが、3秒程度でした)

タグのfss-scan-resultでスキャン結果が表示されるので、ステータスを確認します。

  • clean:マルウェアが検出されなかった
  • malicious:既知のマルウェアが検出された
  • failure:スキャンが失敗した

また、fss-scan-resultは、ファイルがファイルストレージセキュリティによってスキャンされたかどうかの確認になります。

ファイル「eicar.com」のタグ

ファイル「eicar_com.zip」のタグ

ログの確認

AWSで、CloudFormation > All-in-one-TM-FileStorageSecurity-ScannerStack > リソース > ScannerLogGroupのリンクをクリックします。

CloudWatchサービスが表示されます。scanner result の部分を確認します。

感想

セットアップは非常に簡単なのでありがたいです。

現在のところ、Cloud One File Storage Securityの管理コンソールがAWSアカウント番号のみの表示ですが、今後、管理コンソールができるのでは?と期待しております。

また、今後は、S3からダウンロードできないよう設定するところや通知等を深掘りしていきたいと思います。

となたかのお役に立てれば光栄です。

参考元