マルウェア スキャンの概要
Microsoft Defender for Storage のマルウェア スキャンは、マルウェアの脅威を検出して軽減し、Azure Storage アカウントのセキュリティを強化します。 Microsoft Defender ウイルス対策を使ってストレージの内容がスキャンされ、セキュリティとコンプライアンスが確保されます。
Defender for Storage では、次の 2 種類のマルウェア スキャンが提供されます。
アップロード時のマルウェア スキャン: BLOB はアップロードまたは変更された時点で自動的にスキャンされ、準リアルタイムの検出が提供されます。 この種類のスキャンは、Web アプリケーションやコラボレーション プラットフォームなど、ユーザーが頻繁にアップロードを行うアプリケーションに最適です。 アップロード時にコンテンツをスキャンすると、悪意のあるファイルがストレージ環境に入り込んでダウンストリームに伝わるのを防ぐことができます。
オンデマンド マルウェア スキャン: 必要なときにいつでも既存の BLOB をスキャンできるため、インシデント対応、コンプライアンス、プロアクティブ セキュリティに最適です。 このスキャンの種類は、既存のすべてのデータのスキャン、セキュリティ アラートへの対応、監査の準備などを行って、セキュリティ ベースラインを確立するのに最適です。
これらのオプションは、ストレージ アカウントを保護し、コンプライアンスのニーズを満たし、データの整合性を維持するのに役立ちます。
マルウェア スキャンが重要な理由
クラウド ストレージにアップロードされたコンテンツはマルウェアを持ち込み、組織にリスクを与える可能性があります。 コンテンツでマルウェアをスキャンすると、悪意のあるファイルが環境内に侵入または拡散するのを防ぐことができます。
Defender for Storage でのマルウェア スキャンは、次のようにして役に立ちます。
悪意のあるコンテンツの検出: マルウェアの脅威を特定して軽減します。
セキュリティ態勢の強化: マルウェアの拡散を防ぐためのセキュリティ層を追加します。
コンプライアンスのサポート: 規制要件を満たすのに役立ちます。
セキュリティ管理の簡素化: 大規模に構成可能なクラウドネイティブの低メンテナンス ソリューションを提供します。
主要な機能
- 組み込みの SaaS ソリューション: メンテナンス不要で大規模な有効化を簡単に行うことができます。
- 包括的なマルウェア対策機能: Microsoft Defender ウイルス対策 (MDAV) を使ってスキャンを行い、ポリモーフィック型とメタモーフィック型のマルウェアをキャッチします。
- 包括的な検出: ZIP や RAR ファイルなどのアーカイブを含むすべてのファイルの種類を、BLOB あたり最大 2 GB までスキャンします。
- 柔軟なスキャン オプション: ニーズに基づいて、アップロード時とオンデマンドのスキャンを提供します。
- セキュリティ アラートとの統合: Microsoft Defender for Cloud で詳細なアラートを生成します。
- 自動化のサポート: Logic Apps や Function Apps などの Azure サービスを使って自動的に応答できます。
- コンプライアンスと監査: コンプライアンスと監査のためにスキャン結果をログします。
- プライベート エンドポイントのサポート: マルウェア スキャンではプライベート エンドポイントがサポートされ、パブリック インターネットに公開されないようにしてデータのプライバシーを確保します。
ニーズに合ったマルウェア スキャンの種類
頻繁に行われるアップロードをすぐに保護したい場合は、アップロード時のマルウェア スキャンが適切な選択肢です。 Web アプリでユーザーがアップロードしたコンテンツのスキャン、共有マルチメディア資産の保護、規制対象セクターでのコンプライアンスの確保に最適です。 また、アップロード時のスキャンは、サード パーティのデータの統合、コラボレーション プラットフォームの保護、またはデータ パイプラインと機械学習データセットのセキュリティ保護が必要な場合にも効果的です。 詳しくは、「アップロード時のマルウェア スキャン」をご覧ください。
セキュリティ ベースラインを確立する場合は、オンデマンド マルウェアスキャンが最適な選択肢です。 また、特定のニーズに基づいてスキャンを柔軟に実行することもできます。 オンデマンド スキャンは、インシデント対応、コンプライアンス、予防的なセキュリティ プラクティスに組み込むのに適しています。 それを使って、セキュリティ トリガーへの応答でのスキャンの自動化、スケジュールされたスキャンによる監査への準備、格納されているデータでのマルウェアの事前チェックなどを行うことができます。 さらに、オンデマンド スキャンは、顧客に保証を提供し、アーカイブまたは交換の前にデータを検証するのにも役立ちます。 詳細については、「オンデマンド マルウェア スキャン」を参照してください。
スキャンの結果を提供する
マルウェア スキャンの結果は、4 つの方法で入手できます。 セットアップの後、スキャン結果は、ストレージ アカウントでスキャンされたすべてのファイルについては BLOB インデックス タグとして、ファイルが有害として識別されたときは Microsoft Defender for Cloud セキュリティ アラートとして示されます。 Event Grid や Log Analytics など、スキャン結果の使用方法を追加で構成することもできます。これらの方法のために、さらに構成が必要です。 次のセクションでは、さまざまなスキャン結果方法について説明します。
スキャン結果
BLOB インデックス タグ
BLOB インデックス タグは、BLOB のメタデータ フィールドです。 それらによって、キーと値のタグ属性を使用して、ストレージ アカウント内のデータが分類されます。 これらのタグには自動的にインデックスが付けられ、検索可能な多次元インデックスとして公開されるため、データを簡単に見つけることができます。 スキャン結果は簡潔で、BLOB メタデータ内にマルウェア スキャンのスキャン結果とマルウェア スキャンのスキャン時刻 (UTC) が示されます。 その他の結果の種類 (アラート、イベント、ログ) では、詳細情報が提供されます。
アプリケーションでは BLOB インデックス タグを使ってワークフローを自動化できますが、改ざん防止機能はありません。 応答の設定に関する詳細を参照してください。
Note
インデックス タグへのアクセスにはアクセス許可が必要です。 詳しくは、「BLOB インデックス タグを取得、設定、および更新する」をご覧ください。
Defender for Cloud のセキュリティ アラート
悪意のあるファイルが検出されると、Microsoft Defender for Cloud によって、Microsoft Defender for Cloud セキュリティ アラートが生成されます。 アラートを表示するには、Microsoft Defender for Cloud セキュリティ アラートに移動します。 セキュリティ アラートには、ファイルの詳細とコンテキスト、マルウェアの種類、推奨される調査と修復の手順が含まれます。 修復にこれらのアラートを使用するには、次のことができます。
- Azure portal で [Microsoft Defender for Cloud]>[セキュリティ アラート] と移動して、セキュリティ アラートを表示します。
- これらのアラートに基づいて、自動化を構成します。
- SIEM にセキュリティ アラートをエクスポートします。 Microsoft Sentinel コネクタを使用して Microsoft Sentinel (Microsoft の SIEM) に、または任意の他の SIEM にセキュリティ アラートを継続的にエクスポートできます。
セキュリティ アラートへの応答に関する詳細を確認してください。
Event Grid イベント
Event Grid は、イベント ドリブンの自動化に役立ちます。 これは、応答の自動化に使用できるイベントの形式で、最短の待ち時間で結果を取得する最速の方法です。
Event Grid カスタム トピックのイベントは、複数のエンドポイントタイプで使用できます。 マルウェア スキャンのシナリオで最も役立つものは次のとおりです。
- 関数アプリ (以前の Azure 関数) - サーバーレス関数を使って、移動、削除、検疫などの自動応答用コードを実行します。
- Webhook - アプリケーションを接続する場合。
- Event Hubs と Service Bus キュー - ダウンストリーム コンシューマーに通知する場合。 自動化のためにすべてのスキャン結果が Event Grid トピックに自動的に送信されるようにマルウェア スキャンを構成する方法を確認してください。
ログ分析
コンプライアンスの証拠やスキャン結果の調査のために、スキャン結果をログに記録したい場合があります。 Log Analytics ワークスペースの宛先を設定することで、すべてのスキャン結果を、クエリを簡単に実行できる一元化されたログ リポジトリに格納できます。 結果を表示するには、Log Analytics の宛先ワークスペースに移動し、StorageMalwareScanningResults
テーブルを検索します。
詳細については、「マルウェア スキャンのログ記録を設定する」を参照してください。
ヒント
ハンズオン ラボで、Defender for Storage でのマルウェア スキャン機能を調べることをお勧めします。 スキャン結果への応答の構成など、マルウェア スキャンのエンドツーエンドの設定とテストの方法に関する詳細なステップバイステップ ガイドについては、Ninja トレーニングの手順に従ってください。 これは 'ラボ' プロジェクトの一環で、お客様が Microsoft Defender for Cloud を活用し、その機能に関するハンズオンの実践的なエクスペリエンスを提供するのに役立ちます。
応答の自動化
マルウェア スキャンは、疑わしいファイルの削除や検疫などの自動応答に対応しています。 これは、BLOB のインデックス タグを使って、または自動化のための Event Grid イベントを設定して、管理できます。 次の方法で応答を自動化できます。
- ABAC (属性ベースのアクセス制御) を使って、未スキャンのファイルや有害なファイルへのアクセスをブロックします。
- Logic Apps (セキュリティ アラートに基づく) または Event Grid と Function Apps (スキャン結果に基づく) を使って、悪意のあるファイルを自動的に削除したり検疫に移動したりします。
- Event Grid と Function Apps を使って、別の場所にクリーンなファイルを転送します。
マルウェア スキャンの結果に対する応答の設定についての詳細を確認してください。
マルウェア スキャンのセットアップ
マルウェア スキャンが有効になっている場合、環境内で以下のアクションが自動的に行われます。
- マルウェア スキャンを有効にしたストレージ アカウントごとに、そのストレージ アカウントの同じリソース グループ内に Event Grid システム トピック リソースが作成されます。これは、BLOB アップロード トリガーをリッスンするためにマルウェア スキャン サービスによって使用されます。 このリソースを削除すると、マルウェア スキャン機能が動作しなくなります。
- データをスキャンするには、マルウェア スキャン サービスがデータにアクセスする必要があります。 サービスの有効化時に、
StorageDataScanner
という新しいデータ スキャナー リソースが Azure サブスクリプション内に作成され、システム割り当てマネージド ID が割り当てられます。 このリソースには、マルウェア スキャンと機密データ検出の目的でデータへのアクセスが許可される、ストレージ BLOB データ所有者ロールの割り当てが行われています。 ストレージ アカウントの [ネットワーク構成] が [選択した仮想ネットワークと IP アドレスからのパブリック ネットワーク アクセスを有効にする] に設定されている場合は、ストレージ アカウントの [ネットワーク構成] の下の [リソース インスタンス] セクションにStorageDataScanner
リソースが追加されて、データをスキャンするためのアクセスが許可されます。 サブスクリプション レベルでマルウェア スキャンを有効にする場合は、StorageAccounts/securityOperators/DefenderForStorageSecurityOperator
という新しいリソースが Azure サブスクリプション内に作成されます。 このリソースには、システムマネージド ID が割り当てられます。 これは、既存のストレージ アカウントで Defender for Storage とマルウェア スキャンの構成を有効にして修復するために使われます。 さらに、それによってサブスクリプションに作成された新しいストレージ アカウントがチェックされて、マルウェア スキャンが有効にされます。 このリソースには、マルウェア スキャンを有効にするために必要なアクセス許可を持つ特定のロールが割り当てられています。
Note
マルウェア スキャンが正常に機能するためには、特定のリソース、ID、ネットワーク設定が必要です。 これらのいずれかを変更または削除すると、マルウェア スキャンは機能を停止します。 正常な動作に戻すには、電源を切り、再度、電源を入れます。
サポートされているコンテンツと制限事項
サポートされているコンテンツ
ファイルの種類: ZIP ファイルなどのアーカイブを含むすべてのファイルの種類。
ファイルのサイズ: 最大 2 GB までのサイズの BLOB。
制限事項
サポートされていないストレージ アカウント: レガシの v1 ストレージ アカウントはサポートされていません。
サポートされていないサービス: マルウェア スキャンでは、Azure Files はサポートされていません。
サポートされていない BLOB の種類: 追加 BLOB とページ BLOB はサポートされていません。
サポートされていない暗号化: クライアント側で暗号化された BLOB は、サービスで解読できないため、スキャンできません。 カスタマー マネージド キー (CMK) を使って保存時に暗号化された BLOB はサポートされます。
サポートされていないプロトコル: ネットワーク ファイル システム (NFS) 3.0 プロトコルを使ってアップロードされた BLOB はスキャンされません。
BLOB インデックス タグ: 階層型名前空間が有効になっているストレージ アカウントでは、インデックス タグはサポートされません (Azure Data Lake Storage Gen2)。
サポートされていないリージョン: 一部のリージョンでは、マルウェア スキャンはまだサポートされていません。 このサービスは、新しいリージョンに継続的に拡大されています。 サポートされているリージョンの最新の一覧については、Defender for Cloud の提供状況に関するページをご覧ください。
その他のコスト
Azure サービス: マルウェア スキャンでは他の Azure サービスが使われ、それによってさらにコストが発生する可能性があります。
- Azure Storage の読み取り操作
- Azure Storage Blob のインデックス作成
- Azure Event Grid のイベント
BLOB のスキャンと IOPS への影響
マルウェア スキャン サービスは、ファイルをスキャンするたびに、別の読み取り操作をトリガーして、インデックス タグを更新します。 これは、BLOB がアップロードまたは変更された後で行われるアップロード時スキャンと、オンデマンド スキャンの両方に適用されます。 このような操作は行われますが、スキャン対象のデータへのアクセスは影響を受けません。 ストレージの 1 秒あたりの入出力操作 (IOPS) への影響は最小限であり、通常、これらの操作で大きな負荷が発生しないことが保証されます。
マルウェア スキャンの効果が得られないシナリオ
マルウェア スキャンは包括的な検出機能を提供しますが、特定のシナリオでは固有の制限により効果が得られません。 ストレージ アカウントでマルウェア スキャンを有効にすることを決める前に、これらのシナリオを慎重に評価することが重要です。
- チャンク化されたデータ: マルウェア スキャンでは、チャンク化されたデータを含む BLOB (たとえば、小さな部分に分割されたファイルなど) 内のマルウェアは、効果的に検出されません。 この問題は、バックアップ データをチャンクでストレージ アカウントにアップロードするバックアップ サービスで一般的なものです。 スキャン プロセスが、悪意のあるコンテンツを見落としたり、クリーンなコンテンツに誤ってフラグを設定したりして、誤検知や検知漏れが発生する可能性があります。 このリスクを軽減するには、チャンク化される前または完全に再構成された後のデータのスキャンなど、さらにセキュリティ対策を実装することを検討してください。
- 暗号化されたデータ: マルウェア スキャンでは、クライアント側で暗号化されたデータはサポートされません。 このデータをサービスで解読することはできないため、これらの暗号化された BLOB 内のマルウェアは検出されません。 暗号化が必要な場合は、暗号化プロセスの前にスキャンが行われるようにするか、カスタマー マネージド キー (CMK) などのサポートされている暗号化方法を使って保存時に暗号化します。 マルウェア スキャンの有効化を決定するときは、他のサポートされているファイルがストレージ アカウントにアップロードされているかどうかを検討します。 また、攻撃者がこのアップロード ストリームを悪用してマルウェアを持ち込む可能性があるかどうかを評価します。
Azure Storage とエンドポイント環境でのマルウェア検出の違い
Defender for Storage では、マルウェアをスキャンするために、Defender for Endpoint と同じマルウェア対策エンジンと最新の署名を利用しています。 ただし、Azure Storage にアップロードされたファイルには、マルウェア対策エンジンが依存する特定のメタデータが含まれていません。 このようにメタデータが足りないと、Defender for Endpoint によって特定されるそれらの検出と比べて、Azure Storage での検知漏れ ('偽陰性' と呼ばれます) の割合が高くなる可能性があります。
以下に示すのは、いくつかの不足しているメタデータの例です。
Web のマーク (MOTW): MOTW は、インターネットからダウンロードされたファイルを追跡する Windows のセキュリティ機能です。 ただし、ファイルが Azure Storage にアップロードされるとき、このメタデータは保持されません。
ファイル パス コンテキスト: 標準的なオペレーティング システムでは、ファイル パスによって脅威検出のためのコンテキストをさらに提供できます。 たとえば、システムの場所 (
C:\Windows\System32
など) を変更しようとするファイルは、疑わしいというフラグが立てられ、さらなる分析の対象になります。 Azure Storage では、BLOB 内の特定のファイル パスのコンテキストを、同じ方法で利用することはできません。ビヘイビアー データ: Defender for Storage は、ファイルを実行せずに、その内容を分析します。 ファイルを検査し、実行をエミュレートしてマルウェアをチェックする場合があります。 ただし、このアプローチでは、実行中にのみ有害性が判明する、特定の種類のマルウェアが検出されない可能性があります。
アクセスとデータのプライバシー
データ アクセスの要件
マルウェア スキャン サービスは、マルウェアをスキャンするためにデータにアクセスする必要があります。 サービスの有効化の間に、StorageDataScanner
という名前の新しいデータ スキャナー リソースが Azure サブスクリプションに作成されます。 このリソースには、システム割り当てマネージド ID が割り当てられ、データにアクセスしてスキャンするためのストレージ BLOB データ所有者ロールの割り当てが付与されます。
ストレージ アカウントのネットワーク構成が、選択した仮想ネットワークと IP アドレスからのパブリック ネットワーク アクセスを有効にするように設定されている場合は、ストレージ アカウントのネットワーク構成の [リソース インスタンス] セクションに StorageDataScanner
リソースが追加されて、スキャンのアクセスが許可されます。
データのプライバシーとリージョンの処理
リージョンの処理: データ所在地の要件に準拠するため、スキャンはストレージ アカウントと同じ Azure リージョン内で実行されます。
データの処理: スキャンされたファイルは格納されません。 場合によっては、ファイルのメタデータ (SHA-256 ハッシュなど) が、詳細な分析のために Microsoft Defender for Endpoint と共有されることがあります。
可能性のある誤検知と検知漏れを処理する
誤検知
誤検知は、システムが無害なファイルを誤って有害と識別した場合に発生します。 これらの問題に対処するには、次のようにします。
分析のために送信する
サンプル提出ポータルを使って、誤検知を報告します。
提出するときは、ソースとして "Microsoft Defender for Storage" を選びます。
Suppress alerts (アラートの抑制)
- Defender for Cloud で抑制ルールを作成して、繰り返し発生する特定の誤検知アラートを防ぎます。
検出されないマルウェアに対処する (検知漏れ)
システムが悪意のあるファイルの検出に失敗すると、検知漏れが発生します。 これが発生したと思われる場合は、サンプル提出ポータルを使って分析のためにファイルを送信して、検出されなかったマルウェアを報告できます。 ファイルが有害であると信じる理由を説明するため、できる限り多くのコンテキストを含めるようにしてください。
Note
誤検知と検知漏れが定期的に報告されると、時間と共にマルウェア検出システムの正確性が向上します。