You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
### Changes to STIX for April 2021 ATT&CK Content Release (ATT&CK-v9.0)
1
+
2
+
# Changes to ATT&CK in STIX 2.0
3
+
## 21 October 2021 - ATT&CK Spec v2.1.0
4
+
Changes to ATT&CK in STIX for October 2021 ATT&CK Content Release (ATT&CK-v10.0)
5
+
6
+
| Feature |[Available in STIX 2.0](https://github.com/mitre/cti)|[Available in STIX 2.1](https://github.com/mitre-attack/attack-stix-data)|
| Added full objects for data sources and data components. See [the data sources section of the USAGE document](https://github.com/mitre-attack/attack-stix-data/blob/master/USAGE.md#data-sources-and-data-components) for more information about data sources, data components, and their relationships with techniques. |:white_check_mark:|:white_check_mark:|
9
+
| Added `x_mitre_attack_spec_version` field to all object types. This field tracks the version of the ATT&CK Spec used by the object. Consuming software can use this field to determine if the data format is supported; if the field is absent the object will be assumed to use ATT&CK Spec version `2.0.0`. |:x:|:white_check_mark:|
10
+
11
+
## 21 June 2021 - ATT&CK Spec v2.0.0
12
+
Release of ATT&CK in STIX 2.1.
13
+
14
+
The contents of this repository is not affected, but you can find ATT&CK in STIX 2.1 (ATT&CK spec v2.0.0+) on our new [attack-stix-data](https://github.com/mitre-attack/attack-stix-data) GitHub repository. Both MITRE/CTI (this repository) and attack-stix-data will be maintained and updated with new ATT&CK releases for the foreseeable future, but the data model of attack-stix-data includes quality-of-life improvements not found on MITRE/CTI.
15
+
16
+
| Feature |[Available in STIX 2.0](https://github.com/mitre/cti)|[Available in STIX 2.1](https://github.com/mitre-attack/attack-stix-data)|
| Added `x_mitre_modified_by_ref` field to all object types. This field tracks the identity of the individual or organization which created the current _version_ of the object. |:x:|:white_check_mark:|
19
+
| Added `x_mitre_domains` field to all non-relationship objects. This field tracks the domains the object is found in. |:x:|:white_check_mark:|
20
+
| Added [collection](https://github.com/center-for-threat-informed-defense/attack-workbench-frontend/blob/master/docs/collections.md) objects to track information about specific releases of the dataset and to allow the dataset to be imported into [ATT&CK Workbench](https://github.com/center-for-threat-informed-defense/attack-workbench-frontend/). |:x:|:white_check_mark:|
21
+
| Added a [collection index](https://github.com/center-for-threat-informed-defense/attack-workbench-frontend/blob/master/docs/collections.md) to list the contents of this repository and to allow the data to be imported into [ATT&CK Workbench](https://github.com/center-for-threat-informed-defense/attack-workbench-frontend/). |:x:|:white_check_mark:|
22
+
23
+
## 29 April 2021
24
+
Changes to ATT&CK in STIX for April 2021 ATT&CK Content Release (ATT&CK-v9.0)
25
+
2
26
1. Replaced `GCP`, `AWS` and `Azure` platforms under the enterprise domain with `IaaS` (Infrastructure as a Service).
3
27
2. Added `Containers` and `Google Workspace` to the platforms of the enterprise domain.
4
28
3. Revised the data sources of the enterprise domain. Data sources are still represented as a string array, but the elements within that array are now formatted `"data source: data component"` to reflect the new data source representation. More information on the new data sources can be found on our [attack-datasources](https://github.com/mitre-attack/attack-datasources) GitHub repository. Note that the data sources in the ICS domain was not affected by this change.
5
29
6
30
With the release of ATT&CK version 9 we are also hosting an excel representation of the knowledge base on our website. You can find that representation and more about ATT&CK tools on the updated [Working with ATT&CK](https://attack.mitre.org/resources/working-with-attack/) page.
7
31
8
-
### Changes to STIX for October 2020 ATT&CK Content Release (ATT&CK-v8.0)
32
+
## 27 October 2020
33
+
Changes to ATT&CK in STIX for October 2020 ATT&CK Content Release (ATT&CK-v8.0)
34
+
9
35
1. Added new platforms under the enterprise domain: `Network` and `PRE`.
10
36
2. Deprecated the pre-ATT&CK domain. Pre-ATT&CK has been migrated to two new tactics in the Enterprise domain tagged with the `PRE` platform. Please see the new [PRE matrix](https://attack.mitre.org/matrices/enterprise/PRE/) for the replacing Enterprise tactics and techniques. All objects within the pre-ATT&CK domain have been marked as deprecated, along with a new description pointing to their new home in Enterprise.
11
37
3. Added the [ATT&CK for ICS domain](ics-attack).
12
38
13
-
### Changes to STIX for July 2020 ATT&CK Content Release (ATT&CK-v7.0)
39
+
## 8 July 2020 - ATT&CK Spec v1.3.0
40
+
Changes to ATT&CK in STIX for July 2020 ATT&CK Content Release (ATT&CK-v7.0)
41
+
14
42
1. Added sub-techniques:
15
43
- A sub-technique is an attack-pattern where `x_mitre_is_subtechnique` is `true`.
16
44
- Relationships of type `subtechnique-of` between sub-techniques and techniques convey their hierarchy.
@@ -20,17 +48,21 @@ With the release of ATT&CK version 9 we are also hosting an excel representation
20
48
21
49
We've also rewritten the [USAGE](USAGE.md) document with additional information about the ATT&CK data model and more examples of how to access and use ATT&CK in Python.
22
50
23
-
### Changes to STIX for October 2019 ATT&CK Content Release (ATT&CK-v6.0)
51
+
## 24 October 2019
52
+
Changes to ATT&CK in STIX for October 2019 ATT&CK Content Release (ATT&CK-v6.0)
24
53
1. Added cloud platforms under the enterprise domain: `AWS`, `GCP`, `Azure`, `Office 365`, `Azure AD`, and `SaaS`.
25
54
26
-
### Changes to STIX for July 2019 ATT&CK Content Release (ATT&CK-v5.0)
55
+
## 31 July 2019
56
+
Changes to ATT&CK in STIX for July 2019 ATT&CK Content Release (ATT&CK-v5.0)
27
57
1. Descriptions added to relationships of type `mitigates` under the enterprise domain
28
58
29
-
### Changes to STIX for April 2019 ATT&CK Content Release (ATT&CK-v4.0)
59
+
## 30 April 2019 - ATT&CK Spec v1.2.0
60
+
Changes to ATT&CK in STIX for April 2019 ATT&CK Content Release (ATT&CK-v4.0)
30
61
1.`x_mitre_impact_type` added for enterprise techniques within the `Impact` tactic
31
62
2. Descriptions added to relationships between software/groups
32
63
33
-
### Changes to STIX for October 2018 ATT&CK Content Release (ATT&CK-v3.0)
64
+
## 23 October 2018 - ATT&CK Spec v1.1.0
65
+
Changes to ATT&CK in STIX for October 2018 ATT&CK Content Release (ATT&CK-v3.0)
34
66
35
67
1.`x_mitre_platforms` added for enterprise malware/tools
36
68
2.`x_mitre_detection` added to attack-patterns
@@ -44,4 +76,4 @@ We've also rewritten the [USAGE](USAGE.md) document with additional information
44
76
10. Changed ===Windows=== subheadings to ### Windows subheadings (Windows is just one example)
45
77
11. Added space between asterisks (ex. *Content to * Content) to populate markdown correctly
46
78
12. Changed "true" to True in `x_mitre_deprecated`
47
-
13. Added old ATT&CK IDs to Mobile/PRE-ATT&CK objects whose IDs have changed as `x-mitre-old-attack-id`
79
+
13. Added old ATT&CK IDs to Mobile/PRE-ATT&CK objects whose IDs have changed as `x-mitre-old-attack-id`
Copy file name to clipboardexpand all lines: USAGE.md
+70-4
Original file line number
Diff line number
Diff line change
@@ -31,6 +31,7 @@ If you are looking for ATT&CK data represented in STIX 2.1, please see our [atta
31
31
-[Collisions with technique ATT&CK IDs](#collisions-with-technique-attck-ids)
32
32
+[Groups](#groups)
33
33
+[Software](#software)
34
+
+[Data Sources and Data Components](#data-sources-and-data-components)
34
35
+[Relationships](#relationships)
35
36
-[Accessing ATT&CK data in python](#accessing-attck-data-in-python)
36
37
*[Requirements and imports](#requirements-and-imports)
@@ -82,6 +83,7 @@ ATT&CK uses a mix of predefined and custom STIX objects to implement ATT&CK conc
82
83
|[Mitigation](#mitigations)|[course-of-action](https://docs.oasis-open.org/cti/stix/v2.0/csprd01/part2-stix-objects/stix-v2.0-csprd01-part2-stix-objects.html#_Toc476230929)| no |
83
84
|[Group](#groups)|[intrusion-set](https://docs.oasis-open.org/cti/stix/v2.0/csprd01/part2-stix-objects/stix-v2.0-csprd01-part2-stix-objects.html#_Toc476230941)| no |
84
85
|[Software](#software)|[malware](http://docs.oasis-open.org/cti/stix/v2.0/csprd01/part2-stix-objects/stix-v2.0-csprd01-part2-stix-objects.html#_Toc476230945) or [tool](http://docs.oasis-open.org/cti/stix/v2.0/csprd01/part2-stix-objects/stix-v2.0-csprd01-part2-stix-objects.html#_Toc476230961)| no |
Two additional object types are found in the ATT&CK catalog:
87
89
@@ -125,6 +127,7 @@ The most commonly used ID format is what is referred to as the ATT&CK ID or simp
125
127
|[Mitigation](#mitigations)|`Mxxxx`|
126
128
|[Group](#groups)|`Gxxxx`|
127
129
|[Software](#software)|`Sxxxx`|
130
+
|[Data Source](#data-source)|`DSxxxx`|
128
131
129
132
ATT&CK IDs are typically, but not always, unique. See [Collisions with Technique ATT&CK IDs](#collisions-with-technique-attck-ids) for an edge case involving ID collisions between mitigations and techniques.
130
133
@@ -178,7 +181,7 @@ Techniques depart from the attack-pattern format with the following fields. Doma
178
181
|:------|:-----|:--------|:------------|
179
182
|`x_mitre_detection`| string | All techniques | Strategies for identifying if a technique has been used by an adversary. |
180
183
|`x_mitre_platforms`| string[]| All techniques | List of platforms that apply to the technique. |
181
-
|`x_mitre_data_sources`| string[]| Enterprise and ICS domains | Sources of information that may be used to identify the action or result of the action being performed. |
184
+
|`x_mitre_data_sources`| string[]| Enterprise* & ICS domains | Sources of information that may be used to identify the action or result of the action being performed. |
182
185
|`x_mitre_is_subtechnique`| boolean | Enterprise domain | If true, this `attack-pattern` is a sub-technique. See [sub-techniques](#sub-techniques). |
183
186
|`x_mitre_system_requirements`| string[]| Enterprise domain | Additional information on requirements the adversary needs to meet or about the state of the system (software, patch level, etc.) that may be required for the technique to work. |
184
187
|`x_mitre_tactic_type`| string[]| Mobile domain | "Post-Adversary Device Access", "Pre-Adversary Device Access", or "Without Adversary Device Access". |
@@ -189,6 +192,8 @@ Techniques depart from the attack-pattern format with the following fields. Doma
189
192
|`x_mitre_impact_type`| string[]| Enterprise domain in the _Impact_ tactic | Denotes if the technique can be used for integrity or availability attacks. |
190
193
191
194
195
+
\* In the Enterprise domain data sources are represented via [x-mitre-data-source](#data-sources) and [x-mitre-data-component](#data-components) objects, and their relationship with techniques through relationships of type `detects`. The `x_mitre_data_sources` field will still be maintained on enterprise techniques for backwards-compatibility purposes but we advise against its use as it does not include the full context of the data model.
196
+
192
197
See [mapping matrices, tactics and techniques](#mapping-matrices-tactics-and-techniques) for more information about how techniques map into tactics and matrices.
193
198
194
199
#### Sub-Techniques
@@ -227,8 +232,59 @@ Both `malware` and `tool` type software depart from the STIX format with the fol
227
232
| Field | Type | Description |
228
233
|:------|:-----|-------------|
229
234
|`x_mitre_platforms`| string[]| List of platforms that apply to the software. |
230
-
|`x_mitre_aliases`| string[]| List of aliases for the given software |
235
+
|`x_mitre_aliases`| string[]| List of aliases for the given software. |
236
+
237
+
238
+
### Data Sources and Data Components
239
+
240
+
Data Sources and Data Components represent data which can be used to detect techniques. Data components are nested within a data source but have their own STIX object.
241
+
242
+
- A Data Component can only have one parent Data Source.
243
+
- A Data Source can have any number of Data Components.
244
+
- Data Components can map to any number of techniques.
245
+
246
+
The general structure of data sources and data components is as follows:
247
+
248
+
<!-- diagram generated with https://asciiflow.com/ -->
Prior to ATT&CK v10 data sources were stored in a `x_mitre_data_sources` field on techniques. This representation is still available for backwards-compatibility purposes, and does properly reflect the current set of data sources. However, because information is lost in that representation we advise against using it except in legacy applications. The ATT&CK for ICS domain still uses only the `x_mitre_data_sources` field.
267
+
268
+
#### Data Sources
269
+
270
+
A Data Source in ATT&CK is defined by an `x-mitre-data-source` object. As a custom STIX type they follow only the generic [STIX Domain Object pattern](https://docs.oasis-open.org/cti/stix/v2.0/csprd01/part2-stix-objects/stix-v2.0-csprd01-part2-stix-objects.html#_Toc476230920).
231
271
272
+
Data Sources extend the generic SDO format with the following fields:
273
+
274
+
| Field | Type | Description |
275
+
|:------|:-----|-------------|
276
+
|`x_mitre_platforms`| string[]| List of platforms that apply to the data source. |
277
+
|`x_mitre_collection_layers`| string[]| List of places the data can be collected from. |
278
+
279
+
#### Data Components
280
+
281
+
A Data Component in ATT&CK is represented as an `x-mitre-data-component` object. As a custom STIX type they follow only the generic [STIX Domain Object pattern](https://docs.oasis-open.org/cti/stix/v2.0/csprd01/part2-stix-objects/stix-v2.0-csprd01-part2-stix-objects.html#_Toc476230920).
282
+
283
+
Data Components extend the generic SDO format with the following field:
284
+
285
+
| Field | Type | Description |
286
+
|:------|:-----|-------------|
287
+
|`x_mitre_data_source_ref`| embedded relationship (string) | STIX ID of the data source this component is a part of. |
232
288
233
289
### Relationships
234
290
@@ -245,8 +301,9 @@ Relationships oftentimes have descriptions which contextualize the relationship
245
301
|`intrusion-set`|`uses`|`malware` or `tool`| No | Group using a software. |
246
302
|`intrusion-set`|`uses`|`attack-pattern`| No | Group using a technique, which is also considered a procedure example. |
247
303
|`malware` or `tool`|`uses`|`attack-pattern`| No | Software using a technique, which is also considered a procedure example. |
248
-
|`course-of-action`|`mitigates`|`attack-pattern`| No | Mitigation mitigating technique. |
304
+
|`course-of-action`|`mitigates`|`attack-pattern`| No | Mitigation mitigating a technique. |
249
305
|`attack-pattern`|`subtechnique-of`|`attack-pattern`| Yes | Sub-technique of a technique, where the `source_ref` is the sub-technique and the `target_ref` is the parent technique. |
306
+
|`x-mitre-data-component`|`detects`|`attack-pattern`| Yes | Data component detecting a technique. |
250
307
| any type |`revoked-by`| any type | Yes | The target object is a replacement for the source object. Only occurs where the objects are of the same type, and the source object will have the property `revoked = true`. See [Working with deprecated and revoked objects](#Working-with-deprecated-and-revoked-objects) for more information on revoked objects. |
251
308
252
309
Note that because groups use software and software uses techniques, groups can be considered indirect users of techniques used by their software. See [Getting techniques used by a group's software](#Getting-techniques-used-by-a-groups-software).
0 commit comments