MITRE ATT&CK超入門

# MITRE ATT&CK概要
[MITRE ATT&CK](https://attack.mitre.org/)は、攻撃グループのライフサイクルを、戦術とテクニックの観点から体系化したフレームワークです。非営利組織である米MITRE社によって運用されており、既知の攻撃に対する防御を強化する目的で利用することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/491fdaea-7e51-97a0-2bc7-bcac577b65b5.png)

# MITRE ATT&CKの有用性
皆さんは、[痛みのピラミッド（The Pyramid of Pain）](https://detect-respond.blogspot.com/2013/03/the-pyramid-of-pain.html)についてご存知でしょうか。痛みのピラミッドは、IOCを分類するため考え方です。IOCは「侵害の痕跡」とも呼ばれ、攻撃を受けた際に残る様々な痕跡をさします。痛みのピラミッドでは、IOCを無効化したときに、攻撃者に与える痛みを小さいものから大きい順に表現しています。ピラミッドの上に行くほど、攻撃者に与える痛みは大きくなります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/829a4e2d-1649-68ab-44d8-e70269c982d9.png)

痛みのピラミッドでは、TTPs（Tactics, Techniques, and Procedures）が最も攻撃者に与える痛みが大きいとされています。TTPsを簡単に言い換えると、「攻撃者の行動」になります。前述の通り、MITRE ATT&CKは現実世界で観測された脅威アクターのアクティビティをもとに体系化されており、戦術やテクニックといった攻撃者の行動に焦点を当てています。そのため、MITRE ATT&CKを通して攻撃者の行動を理解し、自社の防御に適用することは非常に有効な対策であると言えます。

# MITRE ATT&CKにおける用語の理解
MITRE ATT&CKを使いこなすためには、使用されている用語を正しく把握・理解することが重要です。

## ATT&CK Matrix
[MITRE ATT&CKの画面](https://attack.mitre.org/)では、次のようにマトリックス形式で攻撃グループの戦術・テクニックが表示されます。これがATT&CK Matrixです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/abdd255a-3b50-7880-0302-68a0ffb5e3f7.png)


## Platforms
MITRE ATT&CKは、分野ごとに3つのプラットフォームに分かれています。上部のタブから、表示したいプラットフォームのATT&CK Matrixに切り替えることができます。一般的には、Enterpriseが利用されることが多いですが、用途によって使い分けることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/a5ecf0ce-9579-d020-e471-1fe0e80554c1.png)

:::note
[MITRE ATLAS](https://atlas.mitre.org/matrices/ATLAS)という、AIに特化した別のフレームワークも存在します。
:::

### Enterprise
企業向けのプラットフォームです。対象には、下記が含まれます。

* PRE
* Windows
* macOS
* Linux
* Cloud（Office Suite、Identity Provider、SaaS、IaaS）
* Network
* Containers

### Mobile
モバイル用（Android、iOS）のプラットフォームです。

### ICS
産業用制御システムを対象としたプラットフォームです。

:::note
ICSにのみ[Assets](https://attack.mitre.org/assets/)という概念があり、対象となる資産（PLC、Historianなど）を確認することができます
:::

## Tactics（戦術）
MITRE ATT&CKにおいて、Tactics、Techniques、Sub-techniquesは最も重要な概念です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/8845a861-7d59-9c6e-71f5-9f9ddc159767.png)

Tacticsは、攻撃のプロセスを表現します。14種類のTacticsが存在し、固有のIDが定義されています。MITRE ATT&CKのコンポーネントには、それぞれIDの命名ルール（最初の文字）が定義されていますので、覚えておくと便利です。

|ID|Tactics|概要|
|---|---|---|
|TA0043|Reconnaissance|攻撃者は攻撃に利用する情報を収集しようとしている  |
|TA0042|Resource Development|攻撃者は攻撃に利用するリソースを作成しようとしている  |
|TA0001|Initial Access|攻撃者はネットワークに侵入しようとしている |
|TA0002|Execution|攻撃者は悪意のあるコードを実行しようとしている|
|TA0003|Persistence|攻撃者は不正アクセスする環境を維持しようとしている |
|TA0004|Privilege Escalation|攻撃者はより高い権限を取得しようとしている  |
|TA0005|Defense Evasion|攻撃者は攻撃が検知されないようにしている |
|TA0006|Credential Access|攻撃者はアカウント名とパスワードを取得しようとしている |
|TA0007|Discovery|攻撃者はアクセス先の情報を取得しようとしている |
|TA0008|Lateral Movement|攻撃者はアクセス先の環境内で移動しようとしている |
|TA0009|Collection|敵対者は、目標に関心のあるデータを取得しようとしている |
|TA0011|Command and Control|攻撃者は侵害したシステムと通信しようとしている  |
|TA0010|Exfiltration|攻撃者はデータを盗もうとしている |
|TA0040|Impact|攻撃者はシステムとデータを操作、中断、破壊しようとしている |

## Techniques,Sub-techniques（テクニック,サブテクニック）
Tacticsが攻撃のプロセスを表すのに対し、Techniquesは具体的な手法を表します。さらに特定のTechniquesには、より手法を細分化したSub-techniquesが存在します。例えば、下記はReconnaissanceのTechniquesの一つである[Active Scanning](https://attack.mitre.org/techniques/T1595/)です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/19088982-dfcd-070d-e933-9fb62929ec8f.png)

Techniquesには、Tから始まるIDが採番されており、Sub-techniquesでは「TechniquesのID」＋「固有の数字」でIDが採番されています。Active Scanningでは「T1595」というIDが付けられ、Sub-techniquesの[Scanning IP Blocks](https://attack.mitre.org/techniques/T1595/001/)では、「T1595.001」のIDが付けられていることが分かります。

Techniques,Sub-techniquesの画面では、攻撃の説明に加えて「Procedure Examples」「Mitigations」「Detection」「References」という項目が記載されています。これらの情報を確認することで、より詳細な手順の理解やセキュリティ強化に繋げていくことができます。

### Procedures Example（手順）
Procedures Exampleは、具体的な攻撃手順を示します。Techniques,Sub-techniquesによって、[Campaigns](https://attack.mitre.org/campaigns/)（キャンペーン）、[Groups](https://attack.mitre.org/groups/)（攻撃グループ）、[Software](https://attack.mitre.org/software/)（ソフトウェア）が記載されます。下記は、ADに対する攻撃である[DCSync](https://attack.mitre.org/techniques/T1003/006/)の画面です。IDの最初の文字から何が記載されているか判断することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/99efd836-483d-7407-a62d-8ca2a16042e5.png)

:::note
Campaignsは、特定期間における目的を持った一連の攻撃活動をさします。
:::

### Mitigations（緩和策）
MitigationsはMから始まるIDが採番され、攻撃を防ぐための方法を示します。ただし、「Reconnaissance」「Resource Development」のTechniques,Sub-techniquesについては、攻撃を防ぐことが難しいものが多く、その場合は[Pre-compromise](https://attack.mitre.org/mitigations/M1056/)と記載されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/98f33b20-e8ec-68a9-b6d9-9f35dcb1cdc5.png)

### Detection（検知策）
Detectionは、攻撃を検知するための方法を示します。DSから始まるデータソース（検知に使用されるセンサー/ログで取得できる情報）のIDが記載されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/ccb332dd-4e5b-8fb2-24d9-6bd720d76295.png)

### References（リファレンス）
名前の通り参考リファレンスが記載されます。

# MITRE ATT&CKを利用した防御策の立案
MITRE ATT&CKを利用して防御策を強化するにはどうすればいいでしょうか。脅威インテリジェンスの情報から、特定の攻撃グループが自社へ攻撃を行う可能性があるとわかった場合に、MITRE ATT&CKで防御を強化するシナリオを考えてみましょう。今回は、「menuPass」という攻撃グループへの防御を強化する場合を考えます。

MITRE ATT&CKには、[ATT&CK Navigator](https://mitre-attack.github.io/attack-navigator/)という便利な機能があります。アクセスすると、次のような画面になるのでCreate New Layerから、Enterprise ATT&CKを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/baa84de5-2cec-65c8-0a9c-f00501089bc9.png)

すると次のような画面になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/8c292f26-e5ae-28e3-d886-84376318e411.png)

右上の虫眼鏡マーク（search & multiselect）をクリックして検索に「menuPass」と入力します。するとThreat Groupsに「menuPass」が表示されますので、「select」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/a5a05b02-455f-98f3-83ea-f6743db86287.png)

その後、右上のタブをTechnique Controlsに変更し、background colorから好きな色を選択しましょう。これによって、「menuPass」が使用するTechniques,Sub-techniquesを色付けすることができました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/97f1ef81-2c7b-0cd3-7ed7-01a17e4cf0e4.png)

右上のLayer Controlsタブから、Sub-techniquesを表示させることもできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/e7de825c-877c-56c1-fbd4-beb17e5ae6f4.png)

これによって、「menuPass」が使用するTechniques,Sub-techniquesを洗い出すことができました。更に対策状況について色付けしていきましょう。例えば、Mitigationが適用できているものは青、Detectionが適用できているものは緑のように色付けすると分かりやすくなります。色付けしたいTechniques,Sub-techniquesを一度クリックし、再度background colorから色付けを行うことができます。こうすることで、どこのセキュリティを強化すればいいか視覚的に判断することができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3075801/04e56c67-158a-93d5-2344-19307c3d0f4d.png)

あとは、優先順位をつけて一つ一つ、Mitigations、Detectionを適用していくことで防御を強化することができます。

# さいごに
今回紹介した以外にも、脅威ハンティングやRed Team演習への活用など様々な場面でMITRE ATT&CKを活用することができます。本記事が少しでも、皆様の参考になれば幸いです。