Skip to content

Commit 8182cf9

Browse files
polish edits
1 parent eb45724 commit 8182cf9

File tree

1 file changed

+17
-257
lines changed

1 file changed

+17
-257
lines changed

articles/sentinel/stix-objects-api.md

Lines changed: 17 additions & 257 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,23 @@ ms.author: austinmc
1010

1111
# Import threat intelligence to Microsoft Sentinel with the STIX objects API (Preview)
1212

13-
Import indicators of compromise and other domain objects in the STIX format into a Microsoft Sentinel workspace with the Microsoft Sentinel STIX objects API. Whether you're using a threat intelligence platform or a custom application, use this document as a supplemental reference to the instructions in the [Microsoft Sentinel upload indicators API data connector](connect-threat-intelligence-upload-api.md). Installing the data connector isn't required to connect to the API.
13+
Import indicators of compromise and other STIX domain objects to use in Microsoft Sentinel workspace with the STIX objects API. Whether you're using a threat intelligence platform or a custom application, use this document as a supplemental reference to the instructions in the [Microsoft Sentinel STIX objects API data connector](connect-threat-intelligence-upload-api.md). Installing the data connector isn't required to connect to the API.
1414

1515
> [!IMPORTANT]
1616
> This API is currently in PREVIEW. The [Azure Preview Supplemental Terms](https://azure.microsoft.com/support/legal/preview-supplemental-terms/) include additional legal terms that apply to Azure features that are in beta, preview, or otherwise not yet released into general availability.
1717
>
1818
19-
Structured Threat Information Expression (STIX) is a language for expressing cyber threat and observable information. STIX objects API includes the following enhanced support for domain objects:
20-
- indicators
19+
Structured Threat Information Expression (STIX) is a language for expressing cyber threat and observable information. Enhanced support for the following domain objects is included with the STIX objects API:
20+
- indicator
2121
- attack pattern
22-
- threat actors
22+
- threat actor
2323
- identity
24-
- relationships
24+
- relationship
2525

2626
For more information, see [Introduction to STIX](https://oasis-open.github.io/cti-documentation/stix/intro.html).
2727

2828
> [!NOTE]
29-
> The previous upload indicators API is now deprecated. If you need to reference that API while transitioning to the new STIX objects API, see [Legacy upload indicators API](upload-indicators-api.md).
29+
> The previous upload indicators API is now legacy. If you need to reference that API while transitioning to the new STIX objects API, see [Legacy upload indicators API](upload-indicators-api.md).
3030
3131
## Call the API
3232

@@ -40,7 +40,7 @@ A call to the STIX objects API has five components:
4040

4141
## Register your client application with Microsoft Entra ID
4242

43-
In order to authenticate to Microsoft Sentinel, the request to the STIX objects API requires a valid Microsoft Entra access token. For more information on application registration, see [Register an application with the Microsoft identity platform](/entra/identity-platform/quickstart-register-app) or see the basic steps as part of the [upload indicators API data connector](connect-threat-intelligence-upload-api.md#register-an-azure-ad-application) setup.
43+
In order to authenticate to Microsoft Sentinel, the request to the STIX objects API requires a valid Microsoft Entra access token. For more information on application registration, see [Register an application with the Microsoft identity platform](/entra/identity-platform/quickstart-register-app) or see the basic steps as part of the [STIX objects API data connector](connect-threat-intelligence-upload-api.md#register-an-azure-ad-application) setup.
4444

4545
This API requires the calling Microsoft Entra application to be granted the Microsoft Sentinel contributor role at the workspace level.
4646

@@ -92,7 +92,7 @@ The JSON object for the body contains the following fields:
9292

9393
Create the array of STIX objects using the STIX format specification. Some of the STIX property specifications are expanded here for your convenience with links to the relevant STIX document sections. Also note some properties, while valid for STIX, don't have corresponding object schema properties in Microsoft Sentinel.
9494

95-
#### Indicators
95+
#### Indicator
9696

9797
|Property Name |Type | Description |
9898
|----|----|----|
@@ -141,7 +141,7 @@ The response header contains an HTTP status code. Reference this table for more
141141

142142
|Status code |Description |
143143
|---------|---------|
144-
|**200** | Success. The API returns 200 when one or more indicators are successfully validated and published. |
144+
|**200** | Success. The API returns 200 when one or more STIX objects are successfully validated and published. |
145145
|**400** | Bad format. Something in the request isn't correctly formatted. |
146146
|**401** | Unauthorized. |
147147
|**404** | File not found. Usually this error occurs when the workspace ID isn't found. |
@@ -158,14 +158,14 @@ The response body is an array of error messages in JSON format:
158158

159159
|Field name | Data Type | Description |
160160
|----|----|----|
161-
|recordIndex | int | Index of the indicators in the request |
161+
|recordIndex | int | Index of the STIX objects in the request |
162162
|errorMessages | Array of strings | Error messages |
163163

164164

165165
## Throttling limits for the API
166166

167167
All limits are applied per user:
168-
- 100 indicators per request.
168+
- 100 objects per request.
169169
- 100 requests per minute.
170170

171171
If there are more requests than the limit, a `429` http status code in the response header is returned with the following response body:
@@ -175,11 +175,11 @@ If there are more requests than the limit, a `429` http status code in the respo
175175
"message": "Rate limit is exceeded. Try again in <number of seconds> seconds."
176176
}
177177
```
178-
Approximately 10,000 indicators per minute is the maximum throughput before a throttling error is received.
178+
Approximately 10,000 objects per minute is the maximum throughput before a throttling error is received.
179179

180180
### Sample indicator request body
181181

182-
The following example shows how to represent two indicators in the STIX specification. `Test Indicator 2` showcases setting the TLP to white with the mapped object marking, and clarifying its description and labels are in English.
182+
The following example shows how to represent two indicators in the STIX specification. `Test Indicator 2` highlights the Traffic Light Protocol (TLP) set to white with the mapped object marking, and clarifying its description and labels are in English.
183183

184184
```json
185185
{
@@ -253,9 +253,9 @@ The following example shows how to represent two indicators in the STIX specific
253253
```
254254

255255
### Sample response body with validation error
256-
If all indicators are validated successfully, an HTTP 200 status is returned with an empty response body.
256+
If all STIX objects are validated successfully, an HTTP 200 status is returned with an empty response body.
257257

258-
If validation fails for one or more indicators, the response body is returned with more information. For example, if you send an array with four indicators, and the first three are good but the fourth doesn't have an `id` (a required field), then an HTTP status code 200 response is generated along with the following body:
258+
If validation fails for one or more objects, the response body is returned with more information. For example, if you send an array with four indicators, and the first three are good but the fourth doesn't have an `id` (a required field), then an HTTP status code 200 response is generated along with the following body:
259259

260260
```json
261261
{
@@ -269,13 +269,13 @@ If validation fails for one or more indicators, the response body is returned wi
269269
]
270270
}
271271
```
272-
The indicators are sent as an array, so the `recordIndex` begins at `0`.
272+
The objects are sent as an array, so the `recordIndex` begins at `0`.
273273

274274
### Other samples
275275

276276
#### Sample indicator
277277

278-
In this example, the indicator is marked with the green TLP. More extension attributes of `toxicity` and `rank` are also included. Although these properties aren't in the Microsoft Sentinel schema for indicators, ingesting an indicator with these properties doesn't trigger an error. The properties just aren't referenced or indexed in the workspace.
278+
In this example, the indicator is marked with the green TLP. More extension attributes of `toxicity` and `rank` are also included. Although these properties aren't in the Microsoft Sentinel schema for indicators, ingesting an object with these properties doesn't trigger an error. The properties simply aren't referenced or indexed in the workspace.
279279

280280
```json
281281
{
@@ -580,246 +580,6 @@ In this example, the indicator is marked with the green TLP. More extension attr
580580
}
581581
```
582582

583-
#### Sample using STIX 2.0
584-
585-
```json
586-
{
587-
"sourcesystem": "TestStixObjects",
588-
"stixobjects": [
589-
{
590-
"type": "indicator",
591-
"spec_version": "2.0",
592-
"id": "indicator--10000001-71a2-445c-ab86-927291df48f8",
593-
"created": "2010-02-26T18:29:07.778Z",
594-
"modified": "2011-02-26T18:29:07.778Z",
595-
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
596-
"revoked": true,
597-
"labels": [
598-
"ThreatIntelligence",
599-
"TestData"
600-
],
601-
"external_references": [
602-
{
603-
"source_name": "veris",
604-
"description": "Threat report",
605-
"external_id": "0001AA7F-C601-424A-B2B8-BE6C9F5164E7",
606-
"url": "https://abc.com//example.json",
607-
"hashes": {
608-
"SHA-256": "6db12788c37247f2316052e142f42f4b259d6561751e5f401a1ae2a6df9c674b"
609-
}
610-
}
611-
],
612-
"object_marking_refs": [
613-
"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"
614-
],
615-
"granular_markings": [
616-
{
617-
"marking_ref": "marking-definition--089a6ecb-cc15-43cc-9494-767639779123",
618-
"selectors": [
619-
"description",
620-
"labels"
621-
],
622-
"lang": "en"
623-
}
624-
],
625-
"name": "Indicator 2.0 Test",
626-
"description": "TS ID: 35766958; iType: bot_ip; State: active; Org: 52.3667; Source: Emerging Threats - Compromised",
627-
"pattern": "[ipv4-addr:value = '94.102.52.185']",
628-
"valid_from": "2015-02-26T18:29:07.778Z",
629-
"valid_until": "2016-02-26T18:29:07.778Z",
630-
"kill_chain_phases": [
631-
{
632-
"kill_chain_name": "lockheed-martin-cyber-kill-chain",
633-
"phase_name": "reconnaissance"
634-
}
635-
]
636-
},
637-
{
638-
"type": "attack-pattern",
639-
"spec_version": "2.0",
640-
"id": "attack-pattern--fb6aa549-c94a-4e45-b4fd-7e32602dad85",
641-
"created": "2015-05-15T09:12:16.432Z",
642-
"modified": "2015-05-20T09:12:16.432Z",
643-
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
644-
"revoked": false,
645-
"labels": [
646-
"heartbleed",
647-
"has-logo"
648-
],
649-
"object_marking_refs": [
650-
"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"
651-
],
652-
"granular_markings": [
653-
{
654-
"marking_ref": "marking-definition--089a6ecb-cc15-43cc-9494-767639779123",
655-
"selectors": [
656-
"description",
657-
"labels"
658-
],
659-
"lang": "en"
660-
}
661-
],
662-
"external_references": [
663-
{
664-
"source_name": "capec",
665-
"description": "spear phishing",
666-
"external_id": "CAPEC-163"
667-
}
668-
],
669-
"name": "Attach Pattern 2.0",
670-
"description": "menuPass appears to favor spear phishing to deliver payloads to the intended targets. While the attackers behind menuPass have used other RATs in their campaign, it appears that they use PIVY as their primary persistence mechanism.",
671-
"kill_chain_phases": [
672-
{
673-
"kill_chain_name": "mandiant-attack-lifecycle-model",
674-
"phase_name": "initial-compromise"
675-
}
676-
]
677-
},
678-
{
679-
"type": "identity",
680-
"spec_version": "2.0",
681-
"id": "identity--733c5838-34d9-4fbf-949c-62aba761184c",
682-
"created": "2016-08-23T18:05:49.307Z",
683-
"modified": "2016-08-23T18:05:49.307Z",
684-
"name": "Identity 2.0",
685-
"description": "Disco Team is the name of an organized threat actor crime-syndicate.",
686-
"identity_class": "organization",
687-
"contact_information": "[email protected]",
688-
"sectors": [
689-
"education"
690-
],
691-
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
692-
"revoked": true,
693-
"labels": [
694-
"heartbleed",
695-
"has-logo"
696-
],
697-
"external_references": [
698-
{
699-
"source_name": "veris",
700-
"description": "Threat report",
701-
"external_id": "0001AA7F-C601-424A-B2B8-BE6C9F5164E7",
702-
"url": "https://abc.com//example.json",
703-
"hashes": {
704-
"SHA-256": "6db12788c37247f2316052e142f42f4b259d6561751e5f401a1ae2a6df9c674b"
705-
}
706-
}
707-
],
708-
"object_marking_refs": [
709-
"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"
710-
],
711-
"granular_markings": [
712-
{
713-
"marking_ref": "marking-definition--089a6ecb-cc15-43cc-9494-767639779123",
714-
"selectors": [
715-
"description",
716-
"labels"
717-
],
718-
"lang": "en"
719-
}
720-
]
721-
},
722-
{
723-
"type": "threat-actor",
724-
"id": "threat-actor--dfaa8d77-07e2-4e28-b2c8-92e9f7b04428",
725-
"created": "2014-11-19T23:39:03.893Z",
726-
"modified": "2014-11-19T23:39:03.893Z",
727-
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
728-
"revoked": true,
729-
"labels": [
730-
"heartbleed",
731-
"has-logo"
732-
],
733-
"external_references": [
734-
{
735-
"source_name": "veris",
736-
"description": "Threat report",
737-
"external_id": "0001AA7F-C601-424A-B2B8-BE6C9F5164E7",
738-
"url": "https://abc.com//example.json",
739-
"hashes": {
740-
"SHA-256": "6db12788c37247f2316052e142f42f4b259d6561751e5f401a1ae2a6df9c674b"
741-
}
742-
}
743-
],
744-
"object_marking_refs": [
745-
"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"
746-
],
747-
"granular_markings": [
748-
{
749-
"marking_ref": "marking-definition--089a6ecb-cc15-43cc-9494-767639779123",
750-
"selectors": [
751-
"description",
752-
"labels"
753-
],
754-
"lang": "en"
755-
}
756-
],
757-
"name": "Threat Actor 2.0",
758-
"description": "This organized threat actor group operates to create profit from all types of crime.",
759-
"aliases": [
760-
"Equipo del Discoteca"
761-
],
762-
"roles": [
763-
"agent"
764-
],
765-
"goals": [
766-
"Steal Credit Card Information"
767-
],
768-
"sophistication": "expert",
769-
"resource_level": "organization",
770-
"primary_motivation": "personal-gain",
771-
"secondary_motivations": [
772-
"dominance"
773-
],
774-
"personal_motivations": [
775-
"revenge"
776-
]
777-
},
778-
{
779-
"type": "relationship",
780-
"spec_version": "2.0",
781-
"id": "relationship--a2e3efb5-351d-4d46-97a0-6897ee7c77a0",
782-
"created": "2020-02-29T18:01:28.577Z",
783-
"modified": "2020-02-29T18:01:28.577Z",
784-
"relationship_type": "attributed-to",
785-
"description": "Description Relationship 2.0",
786-
"source_ref": "threat-actor--dfaa8d77-07e2-4e28-b2c8-92e9f7b04428",
787-
"target_ref": "identity--733c5838-34d9-4fbf-949c-62aba761184c",
788-
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
789-
"revoked": true,
790-
"labels": [
791-
"heartbleed",
792-
"has-logo"
793-
],
794-
"external_references": [
795-
{
796-
"source_name": "veris",
797-
"description": "Threat report",
798-
"external_id": "0001AA7F-C601-424A-B2B8-BE6C9F5164E7",
799-
"url": "https://abc.com//example.json",
800-
"hashes": {
801-
"SHA-256": "6db12788c37247f2316052e142f42f4b259d6561751e5f401a1ae2a6df9c674b"
802-
}
803-
}
804-
],
805-
"object_marking_refs": [
806-
"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"
807-
],
808-
"granular_markings": [
809-
{
810-
"marking_ref": "marking-definition--089a6ecb-cc15-43cc-9494-767639779123",
811-
"selectors": [
812-
"description",
813-
"labels"
814-
],
815-
"lang": "en"
816-
}
817-
]
818-
}
819-
]
820-
}
821-
```
822-
823583
## Next steps
824584

825585
To learn more about how to work with threat intelligence in Microsoft Sentinel, see the following articles:

0 commit comments

Comments
 (0)