ストレージ サービスの脅威マトリックス

news

クラウドへの移行はこれまでになく急速に進んでおり、組織はクラウド ストレージ サービスへの依存度を高めています。実際、Microsoft Azure ストレージ サービスは、クラウドで最も人気のあるサービスの 1 つです。企業は、クラウド ストレージへのアクセスを管理する際に、脅威に対する効果的な保護と緩和の戦略とツールを導入する必要があります。たとえば、Azure Defender は、データ中心のサービスをセキュリティ境界の一部として扱い、ストレージに対する脅威の優先順位付けと軽減を提供します。フレームワークの構築を支援するために、ストレージ サービスの攻撃面を調査しました。このブログでは、ストレージ環境を展開、構成、または監視する際に注意する必要がある潜在的なリスクについて概説します。

方法論

クラウド ストレージ サービス内で、ユーザーが Microsoft Office や Adobe ファイルなどのさまざまなファイル タイプを共有し、攻撃者がこれを利用して電子メールを介してマルウェアを配布しているのを目撃しています。さらに、クラウド ストレージのユースケースは、ビジネス ロジックがサード パーティと共有されているため、内部インターフェイスを超えています。そのため、 Azure Defender for Storageのセキュリティ チームは、Storage サービスを利用することによって行われる攻撃面をマッピングしました。

この投稿は、サイバー攻撃で使用される戦術と技術の知識ベースであるMITRE ATT&CK® フレームワークに基づく調査結果を反映しています。 MITRE マトリックスは業界標準になり、環境内の潜在的な攻撃ベクトルを理解し、適切な検出と軽減策を確実に実施することを目指す組織に採用されています。

ストレージのセキュリティ ランドスケープを分析し、Kubernetes に対して定義したのと同じ方法論を適用しているときに、技術間の類似点と相違点に気付きました。 Kubernetes はオペレーティング システムの基盤となりますが、その脅威マトリックスは Linux や Windows の MITRE マトリックスのように構成されています。データ損失防止 (DLP) や機密コンテンツの露出から、ファイル共有のサーバー メッセージ ブロック (SMB) を介した悪意のあるコンテンツの配布の発見まで、ストレージに対する攻撃面全体に対処することを目指して、データ サービスに適合するようにエンタープライズ戦術を調整しました。

脅威マトリックスの段階

このマトリックスは、より多くの脅威が発見されて悪用されるにつれて動的に進化すると予想されます。また、クラウド インフラストラクチャがサービスのセキュリティ保護に向けて絶えず進歩するにつれて、技術も廃止される可能性があります。以下では、脅威マトリックスの各段階について詳しく説明します。

クラウドベースのストレージ サービスの脅威マトリックス。マトリックスは、ストレージ リソースに脅威を与えるさまざまな攻撃手法で構成されています。

図 1: ストレージの脅威マトリックス。

ステージ 1: 偵察

攻撃者は、将来の作戦計画に使用できる情報を収集しようとしています。偵察は、ターゲティングをサポートするために使用できる情報を積極的または受動的に収集する技術で構成されています。

  • ストレージ アカウントの検出:攻撃者は、アクティブなストレージ アカウントを見つけるために、ストレージ アカウント名を列挙する (または既存の列挙プロセスを利用する) 場合があります。そのような方法の例は、検索ドーク (site:*.blob.core.windows.net) から力ずくのアカウント作成までさまざまです。攻撃者は、クローラーの結果を利用したり、 MicroburstBlobHunterなどの公開ツールキットを利用したりすることもできます。
  • パブリック コンテナーの検出:敵対者は、既知のストレージ アカウントのコンテナー名を列挙する (または既存の列挙プロセスを利用する) 可能性があります。攻撃者は、クローラーの結果を利用したり、 MicroburstBlobHunterなどの公開ツールキットを利用したりできます。

ステージ 2: 初期アクセス

敵対者がネットワークに侵入しようとしています。初期アクセスは、さまざまなエントリ ベクトルを使用してネットワーク内で最初の足がかりを得るための手法で構成されます。最初のアクセスによって得られた足がかりは、有効なアカウントや外部リモート サービスの使用などの継続的なアクセスを可能にするか、パスワードまたはキーの変更により使用が制限される可能性があります。

  • 有効な SAS URI: Shared Access Signature (SAS) は、ストレージ リソースへの制限付きアクセス権を付与する Uniform Resource Identifier (URI) です。敵対者は、クレデンシャル アクセス技術の 1 つを使用して SAS URI を盗んだり、ソーシャル エンジニアリングによって偵察プロセスの早い段階で SAS URI を取得したりして、初期アクセスを取得する可能性があります。攻撃者は、ID およびアクセス管理 (IAM) 権限を利用して、盗んだストレージ アカウント キーに基づいて有効な SAS をオフラインで生成することもできます。
  • 有効なアクセス キー:攻撃者は、クレデンシャル アクセス技術の 1 つを使用してアクセス キーを盗んだり、ソーシャル エンジニアリングを使用して偵察プロセスの早い段階でアクセス キーを取得したりして、最初のアクセス権を取得する可能性があります。攻撃者は、ソース コードまたは構成ファイルに残されたキーを利用する可能性があります。巧妙な攻撃者は、システム (SMB) にファイル共有をマウントしたホスト (仮想マシン) からキーを取得することもできます。
  • 有効な Azure Active Directory (Azure AD) プリンシパル:攻撃者は、資格情報アクセス手法の 1 つを使用してアカウントの資格情報を盗んだり、ソーシャル エンジニアリングを通じて偵察プロセスの早い段階でアカウントを取得して、初期アクセスを取得したりする可能性があります。承認された Azure AD アカウント/トークンにより、ストレージ アカウント リソースを完全に制御できます。
  • パブリック アクセスの使用:敵対者は、公開されているストレージ アカウントを利用して、コンテナー/BLOB とそのプロパティ (攻撃が進行するにつれて有益な情報) を一覧表示する可能性があります。攻撃者は、 List Blobなどのアプリケーション プログラミング インターフェース (API) を使用する場合があります。

ステージ 3: 持続性

敵対者は足場を維持しようとしています。永続性は、攻撃者が変更された資格情報やアクセスを遮断する可能性のあるその他の中断を越えてシステムへのアクセスを維持するために使用する手法で構成されています。永続化に使用される手法には、システム上で足場を維持できるアクセス、アクション、または構成の変更が含まれます。

  • ファイアウォールと仮想ネットワークの構成の変更:ストレージ サービスは、一連の組み込みのセキュリティ機能を提供します。管理者はこれらの機能を利用して、ストレージ リソースへのアクセスを制限できます。制限ルールは、IP レベルで動作できます。ネットワーク ルールが構成されている場合、承認されたサブネットから発信された要求のみが処理されます。攻撃者は、永続的なアクセスを確保するために追加のルールを挿入する場合があります。
  • 役割ベースのアクセス制御 (RBAC) の変更:ストレージ サービスは、さまざまなデータ型へのアクセスに使用されるアクセス許可のセットを含む、組み込みの RBAC 役割を提供します。カスタム ロールの定義もサポートされています。 ID オブジェクト (Azure AD セキュリティ プリンシパルなど) に RBAC ロールを割り当てると、ストレージ プロバイダーはそのセキュリティ プリンシパルへのアクセスを許可します。攻撃者は RBAC メカニズムを利用して、所有する ID オブジェクトへの永続的なアクセスを確保する可能性があります。

ステージ 4: 防御回避

攻撃者は、検出されないようにしようとしています。防御回避は、敵対者が侵害全体を通じて検出を回避するために使用する手法で構成されます。防御回避に使用される手法には、信頼できるプロセスを悪用して、悪意を隠して偽装することが含まれます。他の戦術のテクニックはここにクロスリストされており、防御を破壊するという追加の利点が含まれています.

  • ファイアウォールと仮想ネットワークの構成の変更:ストレージ サービスは、一連の組み込みのセキュリティ機能を提供します。管理者はこれらの機能を利用して、ストレージ リソースへのアクセスを制限できます。制限ルールは、IP レベルで動作できます。ネットワーク ルールが構成されている場合、承認されたサブネットから発信された要求のみが処理されます。攻撃者は、追加のルールを挿入して、データ漏洩チャネルを偽装および/または正当化する可能性があります。
  • RBAC の変更:ストレージ サービスは、さまざまなデータ型へのアクセスに使用されるアクセス許可のセットを含む、組み込みの RBAC ロールを提供します。カスタム ロールの定義もサポートされています。 ID オブジェクト (Azure AD セキュリティ プリンシパルなど) に RBAC ロールを割り当てると、ストレージ プロバイダーはそのセキュリティ プリンシパルへのアクセスを許可します。敵対者は、RBAC メカニズムを利用して、侵害された環境内での活動を典型的なものに偽装する可能性があります。
  • ストレージ データのクローン:ストレージ サービスは、そこに格納されているさまざまな種類のクローン作成またはバックアップ データを提供します。攻撃者は、これらの組み込み機能を悪用して、機密文書、ソース コード、資格情報、およびその他のビジネスに不可欠な情報を盗む可能性があります。この手法は、 Capital One のデータ窃盗の一部として使用されました。
  • データ転送サイズの制限:攻撃者は、盗んだ情報を断片化し、さまざまなサイズのチャンクで抽出して、事前に定義されている可能性がある転送しきい値アラートをトリガーして検出されないようにする可能性があります。
  • 自動流出:敵対者は、侵害された組織によって事前に定義された正当な自動化プロセスを悪用して、ロギング トレースを企業の典型的な活動内に正常に溶け込ませることを目的としている可能性があります。悪意を同化または偽装することで、データ盗難などの敵対行為をよりステルスに保つことができます。
  • アクセス制御リスト (ACL) の変更:攻撃者は、特定の BLOB またはコンテナーの粒度でACL 構成を調整して、チャネルを保護し、盗まれたデータを盗み出す可能性があります。これらの ACL の変更は、見過ごされがちなコントロール プレーン レベルで発生します。既存の露出制限を狭めることで、攻撃者は組織の内部リソースや機密リソースに侵入する可能性があります。

ステージ 5: 資格情報へのアクセス

Credential Access は、アカウント名やパスワードなどの資格情報を盗むための手法で構成されています。資格情報を取得するために使用される手法には、キーロギングや資格情報のダンピングが含まれます。正当な資格情報を使用すると、攻撃者はシステムにアクセスできるようになり、検出が難しくなり、目標を達成するためにさらに多くのアカウントを作成する機会が与えられます。

  • クエリ キーへのアクセス:攻撃者は、サブスクリプション/アカウント レベルのアクセスを利用してストレージ アカウント キーを収集し、これらのキーを使用してリソース レベルで認証を行う可能性があります。この手法は、制御管理およびデータ プレーンと組み合わせて、クラウド リソースのピボットを示します。攻撃者は管理 API をクエリして、プライマリおよびセカンダリ ストレージ アカウント キーを取得できます。
  • Cloud Shell プロファイルへのアクセス: Cloud Shellは、クラウド リソースを管理するための、対話型で認証済みのブラウザー アクセス可能なシェルです。 Bash または PowerShell のシェル エクスペリエンスの柔軟性を提供します。どこからでもアクセスできるという Cloud Shell の約束をサポートするために、Cloud Shell プロファイルとセッション履歴はストレージ アカウントに保存されます。攻撃者は、Cloud Shell の正当な使用を利用して、アカウント所有者になりすまし、セッション履歴の一部として記録された追加のシークレットを取得する可能性があります。

ステージ 6: 発見

敵対者はあなたの環境を把握しようとしています。発見は、攻撃者がシステムに関する知識を得るために使用する可能性のある手法で構成されます。これらのテクニックは、敵対者が行動する方法を決定する前に環境を観察し、自分自身を方向付けるのに役立ちます。ツールの証人は、偵察段階で、この侵害後の情報収集の目的に使用されることがよくあります。

  • ストレージ サービスの発見:攻撃者は、サブスクリプション/アカウント レベルのアクセスを利用して、ストレージ プロパティと保存されたリソースを発見する可能性があります。偵察段階で目撃されたツールは、多くの場合、侵害後の情報収集の目的で使用され、 List Blob呼び出しなどのストレージ API へのアクセスが承認されています。

ステージ 7: 横移動

敵対者はあなたの環境を通り抜けようとしています。ラテラル ムーブメントは、攻撃者がネットワーク上のリモート システムに侵入して制御するために使用する手法で構成されます。多くの場合、目的を達成するには、複数のシステムとアカウントをピボットしてアクセス権を取得する必要があります。敵対者は、独自のリモート アクセス ツール (RAT) をインストールしてラテラル ムーブメントを実行したり、ネイティブ ネットワークやオペレーティング システム ツールで正当な資格情報を使用したりする可能性があります。

  • 悪意のあるコンテンツのアップロード:攻撃者は、ストレージ サービスを使用して悪意のあるプログラムやツールセットを保存し、後で操作中に実行する可能性があります。さらに、攻撃者は、フィッシング コンテンツを保存することで、ユーザーと組織のストレージ サービスとの間の信頼を悪用する可能性があります。さらに、ストレージ サービスを活用して、アクター グループに適した条件で抽出される収集されたインテリジェンスを保管できます。
  • マルウェアの配布:ストレージ サービスは、さまざまなリソースとストレージ アカウント間の自動同期をサポートするさまざまな種類のメカニズムを提供します。攻撃者は、ストレージ アカウントへのアクセスを利用してマルウェアをアップロードし、組み込みの自動同期機能を利用してペイロードを取り込み、複数のシステムを武器化する可能性があります。
  • クロスサービス インタラクションのトリガー:攻撃者はストレージ サービスを操作してコンピューティング サービス ( Azure Functions / AWS Lambdaトリガーなど) をトリガーする可能性があります。この場合、攻撃者は既にストレージ コンテナーに足場を築いており、コンピューティング チェーンを開始する BLOB を注入できます。処理する。これにより、攻撃者が別のリソースに侵入して害を及ぼす可能性があります。
  • データ操作:ストレージ サービスに保存されているコンテンツは、悪意のあるプログラム、スクリプト、または悪用コードを他の有効なファイルに追加することによって汚染される可能性があります。正当なユーザーが汚染されたコンテンツを実行すると、悪意のある部分がリモート システムで敵のコードを実行します。攻撃者は、汚染された共有コンテンツを使用して横方向に移動する可能性があります。
  • Cloud Shell プロファイルへのアクセス: Cloud Shellは、クラウド リソースを管理するための、対話型で認証済みのブラウザー アクセス可能なシェルです。 Bash または PowerShell のシェル エクスペリエンスの柔軟性を提供します。どこからでもアクセスできるという Cloud Shell の約束をサポートするために、Cloud Shell プロファイルとセッション履歴はストレージ アカウントに保存されます。攻撃者は、Cloud Shell の正当な使用を利用して、アカウント所有者になりすまし、セッション履歴の一部として記録された追加のシークレットを取得する可能性があります。

ステージ 8: 流出

攻撃者はデータを盗もうとしています。流出は、敵対者がネットワークからデータを盗むために使用する可能性のある手法で構成されています。データを収集すると、攻撃者は多くの場合、それをパッケージ化して、削除中に検出されないようにします。これには、圧縮と暗号化が含まれる場合があります。ターゲット ネットワークからデータを取得するための手法には、通常、コマンド アンド コントロール チャネルまたは代替チャネルを介してデータを転送することが含まれます。また、送信にサイズ制限を設定することも含まれる場合があります。

  • ストレージ データのクローン:ストレージ サービスは、そこに格納されているさまざまな種類のクローン作成またはバックアップ データを提供します。攻撃者は、これらの組み込み機能を悪用して、機密文書、ソース コード、資格情報、およびその他のビジネスに不可欠な情報を盗む可能性があります。この手法は、以前にデータ盗難の一部として使用されていました。
  • データ転送サイズの制限:攻撃者は、盗んだ情報を断片化し、さまざまなサイズのチャンクで抽出して、事前に定義されている可能性がある転送しきい値アラートをトリガーして検出されないようにする可能性があります。
  • 自動流出:敵対者は、侵害された組織によって事前に定義された正当な自動化プロセスを悪用して、ロギング トレースを企業の典型的な活動内に正常に溶け込ませることを目的としている可能性があります。悪意を同化または偽装することで、データ盗難などの敵対行為をよりステルスに保つことができます。
  • ACL の変更:攻撃者は、特定の BLOB またはコンテナーの粒度でACL 構成を調整して、盗まれたデータを盗み出すためのチャネルを保護する可能性があります。これらの ACL の変更は、見過ごされがちなコントロール プレーン レベルで発生します。既存の露出制限を狭めることで、攻撃者は組織の内部リソースや機密リソースに侵入する可能性があります。

ステージ 9: 影響

攻撃者は、システムやデータを操作、妨害、または破壊しようとしています。影響は、敵対者がビジネスおよび運用プロセスを操作することによって、可用性を妨害したり、完全性を危うくしたりするために使用する手法で構成されます。これらの手法は、攻撃者が最終目標を達成するため、または機密保持違反をカバーするために使用される可能性があります。

  • データの破損:敵対者は、ストレージ サービスに保存されているデータを破損して、システムや他の事業部門の可用性を混乱させる可能性があります。
  • 影響を与えるためのデータ暗号化 (ランサムウェア):敵対者は、ストレージ サービスに保存されているデータを暗号化して、システムや他の事業部門の可用性を混乱させる可能性があります。ファイルまたは BLOB を暗号化し、復号化キーへのアクセスを保留することで、リソースにアクセスできないようにします。これは、復号化または復号化キー (ランサムウェア) と引き換えに被害者から金銭的補償を引き出すために行われる場合があります。

今日から始めましょう

データ中心のサービスの攻撃面を理解することは、これらの環境向けのセキュリティ ソリューションを構築するための最初のステップです。ストレージの脅威マトリックスは、組織が防御のギャップを特定するのに役立ちます。 Azure Defender for Storageを試して、BLOB、コンテナー、ファイル共有を標的とする潜在的な脅威からの保護を開始することをお勧めします。 Azure Defender for Storage は、機密情報を格納するストレージ アカウントで有効にする必要があります。 Azure Defender for Storage アラートの一覧については、アラートの参照表を参照してください。

Microsoft セキュリティ ソリューションの詳細については、当社の Web サイトをご覧ください。セキュリティ ブログをブックマークして、セキュリティに関する専門家の記事を入手してください。また、 @MSFTSecurityをフォローして、サイバーセキュリティに関する最新ニュースと更新情報を入手してください。

参考: https ://www.microsoft.com/en-us/security/blog/2021/04/08/threat-matrix-for-storage/

Comments

Copied title and URL