Cloud One File Storage Securityを使ってS3にアップされたマルウェア、異常ファイルをチェックしてみた (ファイル取得時チェック編) Preview版

2022.06.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、コンサル部@大阪オフィスのTodaです。

Trend Micro社が提供するCloud Oneには7点のサービスが存在します。
今回はクラウドストレージのファイルチェックが出来るFile Storage Securityを操作してみました。

以前、File Storage Security(以降C1FSS)にて既存S3オブジェクトに対してフルスキャンを実行する方法をご紹介いたしましたが、オブジェクトが大量にある場合、Lambdaのメモリ容量または時間が上限を超えてしまいスキャンが失敗する場合があることがわかりました。
そのため別案としてファイル取得時にチェックをおこない不正ファイルの場合はダウンロードを中止する方法がPreview版として公開されていましたので試してみました。

注意事項

現在(2022/06/29時点)はPreview版であり、今後仕様が変更される場合がございます。

■ Scan existing files in the 'S3 bucket to scan'
https://cloudone.trendmicro.com/docs/file-storage-security/scan-existing-file/

仕様について

ファイル取得時のチェック処理はC1FSSの不正ファイルスキャンの仕組みを利用してGetObject時にチェックをおこないます。
GetObjectはLambda処理を経由しておこなわれ不正ファイルの場合はダウンロードが失敗する仕組みとなっています。
現時点では結果はS3のオブジェクトタグに反映されない仕様になっています。

設定変更を試してみる

実際に、ファイル取得時に不正ファイルスキャンが動作するように設定を変更してみます。

設定情報の確認

当操作はC1FSSの初期設定時にAWSとS3バケットを別で登録した場合に必要な操作になります。
デプロイで「Scanner Stack and Storage Stack」をご利用頂いた場合は当操作は必要ございません。

AWSマネージメントコンソールにログインをおこないCloudFormationを表示します。
作成済みの「Scanner-TM-FileStorageSecurity」の出力タブを表示して[ScannerLambdaAliasARN]の値をメモに残します。

設定情報の確認

StorageSecurityの設定変更

CloudFormationから作成済みの「Storage-TM-FileStorageSecurity」を選択して更新をクリックします。
テンプレートは現在のものをご利用いただき下記パラメータの内容を変更いたします。

  • ScanOnGetObject [In Preview]: true
  • ScannerLambdaAliasARN: 上記でメモをしたScannerLambdaAliasARNの値

StorageSecurityの設定変更

その他は変更せず、CloudFormationの更新操作を完了させます。

アクセスポイントの情報を取得

CloudFormationの変更後、「Storage-TM-FileStorageSecurity」の出力タブを表示します。
表示内にある[ScanOnGetObjectAccessPointARN]の値がS3のバケット取得時に必要になるためメモに残します。

上記で、設定変更は完了になります。

動作を確認してみる

動作の確認は、AWS CLIを利用してS3にGetObjectを実行しておこないます。
取得時は対象のS3オブジェクトを選択するのではなく、[ScanOnGetObjectAccessPointARN]を指定する点が注意が必要です。
また、検証時にEicarファイル等を間違えて取得した場合、お使いのPCに導入されているウィルス対策ソフトが検知する場合がございますのでご注意ください。

■ コマンド例

# aws s3api get-object --bucket (ScanOnGetObjectAccessPointARN) --key (S3バケットファイルパス) (保存ファイル名)

# aws s3api get-object --bucket arn:aws:s3-object-lambda:xxxx:accesspoint/fss-xxxxxxx --key abcde/test.txt test.txt

■ 正常ファイル取得時

# aws s3api get-object --bucket arn:aws:s3-object-lambda:xxxx:accesspoint/fss-xxxxxxx --key abcde/test.txt test.txt

{
    "ContentLength": 48,
    "ContentType": "text/plain",
    "Metadata": {}
}

■ 以上ファイル取得時

# aws s3api get-object --bucket arn:aws:s3-object-lambda:xxxx:accesspoint/fss-xxxxxxx --key abcde/eicar.txt eicar.txt

An error occurred (ObjectMalicious) when calling the GetObject operation: The requested object is considered malicious after scanning by Trend Micro File Storage Security.

さいごに

今回はC1FSSのファイル取得時チェックの機能を試してみました。
機能を利用した場合、ファイル取得の時間が少し遅くなることがわかりました。
スキャン後、S3のオブジェクトタグに結果を反映して頂き、結果がある場合はスキャンをスキップするなど対策頂く事で上記の速度低下が防ぐ事が出来そうです。
今後の開発に期待したいと思います。