Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Importuj analizę zagrożeń do użycia w Microsoft Sentinel przy użyciu interfejsu API przekazywania. Niezależnie od tego, czy używasz platformy analizy zagrożeń, czy aplikacji niestandardowej, użyj tego dokumentu jako dodatkowego odwołania do instrukcji zawartych w temacie Łączenie porady z interfejsem API przekazywania. Instalowanie łącznika danych nie jest wymagane do nawiązania połączenia z interfejsem API. Analiza zagrożeń, którą można zaimportować, obejmuje wskaźniki naruszenia zabezpieczeń i innych obiektów domeny STIX.
Ważna
Ten interfejs API jest obecnie w wersji zapoznawczej. Dodatkowe warunki Azure (wersja zapoznawcza) obejmują dodatkowe warunki prawne, które mają zastosowanie do funkcji Azure, które są w wersji beta, wersji zapoznawczej lub w inny sposób nie zostały jeszcze udostępnione do ogólnej dostępności.
Structured Threat Information Expression (STIX) to język umożliwiający wyrażanie zagrożeń cybernetycznych i obserwowanych informacji. Ulepszona obsługa następujących obiektów domeny jest dołączona do interfejsu API przekazywania:
- Wskaźnik
- wzorzec ataku
- aktor zagrożeń
- Tożsamości
- Relacji
Aby uzyskać więcej informacji, zobacz Wprowadzenie do stix.
Uwaga
Poprzedni interfejs API wskaźników przekazywania jest teraz starszy. Jeśli chcesz odwołać się do tego interfejsu API podczas przechodzenia do tego nowego interfejsu API przekazywania, zobacz Interfejs API starszych wskaźników przekazywania.
Wywoływanie interfejsu API
Wywołanie interfejsu API przekazywania ma pięć składników:
- Identyfikator URI żądania
- Nagłówek komunikatu żądania HTTP
- Treść komunikatu żądania HTTP
- Opcjonalnie przetwórz nagłówek komunikatu odpowiedzi HTTP
- Opcjonalnie przetwórz treść komunikatu odpowiedzi HTTP
Rejestrowanie aplikacji klienckiej przy użyciu Microsoft Entra ID
Aby uwierzytelnić się w Microsoft Sentinel, żądanie do interfejsu API przekazywania wymaga prawidłowego tokenu dostępu Microsoft Entra. Aby uzyskać więcej informacji na temat rejestracji aplikacji, zobacz Rejestrowanie aplikacji przy użyciu Platforma tożsamości Microsoft lub zobacz podstawowe kroki w ramach konfiguracji interfejsu API przekazywania.
Ten interfejs API wymaga, aby aplikacja wywołująca Microsoft Entra otrzymała rolę współautora Microsoft Sentinel na poziomie obszaru roboczego.
Tworzenie żądania
W tej sekcji opisano trzy pierwsze z pięciu omówionych wcześniej składników. Najpierw należy uzyskać token dostępu z Microsoft Entra ID, którego używasz do zmontowania nagłówka komunikatu żądania.
Uzyskiwanie tokenu dostępu
Uzyskaj token dostępu Microsoft Entra przy użyciu uwierzytelniania OAuth 2.0. Wersja 1.0 i wersja 2.0 to prawidłowe tokeny akceptowane przez interfejs API.
Otrzymana wersja tokenu (wersja 1.0 lub 2.0) jest określana przez właściwość w manifeście aplikacji interfejsu API wywoływanego przez accessTokenAcceptedVersion aplikację. Jeśli accessTokenAcceptedVersion jest ustawiona wartość 1, aplikacja otrzymuje token w wersji 1.0.
Użyj biblioteki Microsoft Authentication Library (MSAL), aby uzyskać token dostępu w wersji 1.0 lub 2.0. Użyj tokenu dostępu, aby utworzyć nagłówek autoryzacji zawierający token elementu nośnego.
Na przykład żądanie do interfejsu API przekazywania używa następujących elementów do pobrania tokenu dostępu i utworzenia nagłówka autoryzacji, który jest używany w każdym żądaniu:
- POST
https://login.microsoftonline.com/{{tenantId}}/oauth2/v2.0/token
Nagłówki do korzystania z aplikacji Microsoft Entra:
- grant_type: "client_credentials"
- client_id: {Identyfikator klienta aplikacji Microsoft Entra}
- client_secret lub client_certificate: {wpisy tajne aplikacji Microsoft Entra}
- Zakres:
"https://management.azure.com/.default"
Jeśli accessTokenAcceptedVersion w manifeście aplikacji jest ustawiona wartość 1, aplikacja otrzymuje token dostępu w wersji 1.0, mimo że wywołuje punkt końcowy tokenu w wersji 2.
Wartość zasobu/zakresu to odbiorcy tokenu. Ten interfejs API akceptuje tylko następujących odbiorców:
https://management.core.windows.net/https://management.core.windows.nethttps://management.azure.com/https://management.azure.com
Zmontuj komunikat żądania
Identyfikator URI żądania
Przechowywanie wersji interfejsu API: api-version=2024-02-01-preview
Punktu końcowego: https://api.ti.sentinel.azure.com/workspaces/{workspaceId}/threat-intelligence-stix-objects:upload?api-version={apiVersion}
Metoda: POST
Nagłówek żądania
Authorization: zawiera token elementu nośnego OAuth2
Content-Type: application/json
Treść żądania
Obiekt JSON dla treści zawiera następujące pola:
| Nazwa pola | Typ danych | Opis |
|---|---|---|
sourcesystem (wymagane) |
ciąg | Zidentyfikuj nazwę systemu źródłowego. Wartość Microsoft Sentinel jest ograniczona. |
stixobjects (wymagane) |
tablica | Tablica obiektów STIX w formacie STIX 2.0 lub 2.1 |
Utwórz tablicę obiektów STIX przy użyciu specyfikacji formatu STIX. Niektóre specyfikacje właściwości STIX zostały tutaj rozszerzone dla Twojej wygody dzięki linkom do odpowiednich sekcji dokumentu STIX. Należy również zauważyć, że niektóre właściwości, choć są prawidłowe dla stix, nie mają odpowiednich właściwości schematu obiektu w Microsoft Sentinel.
Ostrzeżenie
Jeśli używasz aplikacji logiki Microsoft Sentinel do nawiązywania połączenia z interfejsem API przekazywania, zwróć uwagę, że dostępne są trzy akcje analizy zagrożeń. Użyj tylko analizy zagrożeń — przekazywanie obiektów STIX (wersja zapoznawcza). Pozostałe dwa zakończą się niepowodzeniem z tym punktem końcowym i polami treści JSON.
Przykładowy komunikat żądania
Oto przykładowa funkcja programu PowerShell, która używa certyfikatu z podpisem własnym przekazanego do rejestracji aplikacji Entra w celu wygenerowania tokenu dostępu i nagłówka autoryzacji:
function Test-UploadApi {
<#
.SYNOPSIS
requires Powershell module MSAL.PS version 4.37 or higher
https://www.powershellgallery.com/packages/MSAL.PS/
.EXAMPLE
Test-Api -API UploadApi -WorkspaceName "workspacename" -ResourceGroupName "rgname" -AppId "00001111-aaaa-2222-bbbb-3333cccc4444" -TenantName "contoso.onmicrosoft.com" -FilePath "C:\Users\user\Documents\stixobjects.json"
#>
[CmdletBinding()]
param (
[Parameter(Mandatory = $true)]
[string]$TenantName,
[Parameter(Mandatory = $true)]
[string]$CertThumbprint,
[Parameter(Mandatory = $true)]
[string]$AppId,
[Parameter(Mandatory = $true)]
[string]$WorkspaceId,
[Parameter(Mandatory = $true)]
[string]$FilePath
)
$Scope = "https://management.azure.com/.default"
# Connection details for getting initial token with self-signed certificate from local store
$connectionDetails = @{
'TenantId' = $TenantName
'ClientId' = $AppId
'ClientCertificate' = Get-Item -Path "Cert:\CurrentUser\My\$CertThumbprint"
scope = $Scope
}
# Request the token
# Using Powershell module MSAL.PS https://www.powershellgallery.com/packages/MSAL.PS/
# Get-MsalToken is automatically using OAuth 2.0 token endpoint https://login.microsoftonline.com/$TenantName/oauth2/v2.0/token
# and sets auth flow to grant_type = 'client_credentials'
$token = Get-MsalToken @connectionDetails
# Create header
# Again relying on MSAL.PS which has method CreateAuthorizationHeader() getting us the bearer token
$Header = @{
'Authorization' = $token.CreateAuthorizationHeader()
}
$Uri = "https://api.ti.sentinel.azure.com/workspaces/$workspaceId/threat-intelligence-stix-objects:upload?api-version=$apiVersion"
$stixobjects = get-content -path $FilePath
if(-not $stixobjects) { Write-Host "No file found at $FilePath"; break }
$results = Invoke-RestMethod -Uri $Uri -Headers $Header -Body $stixobjects -Method POST -ContentType "application/json"
$results | ConvertTo-Json -Depth 4
}
Typowe właściwości
Wszystkie obiekty importowane przy użyciu interfejsu API przekazywania współużytkują te typowe właściwości.
| Nazwa właściwości | Wpisać | Opis |
|---|---|---|
id (wymagane) |
ciąg | Identyfikator używany do identyfikowania obiektu STIX. Zobacz sekcję 2.9, aby uzyskać specyfikacje dotyczące tworzenia idelementu . Format wygląda mniej więcej tak: indicator--<UUID> |
spec_version (opcjonalnie) |
ciąg | Wersja obiektu STIX. Ta wartość jest wymagana w specyfikacji STIX, ale ponieważ ten interfejs API obsługuje tylko stix 2.0 i 2.1, gdy to pole nie jest ustawione, interfejs API domyślnie ma wartość 2.0 |
type (wymagane) |
ciąg | Wartość tej właściwości musi być obsługiwanym obiektem STIX. |
created (wymagane) |
Sygnatury czasowej | Aby uzyskać specyfikacje tej wspólnej właściwości, zobacz sekcję 3.2 . |
created_by_ref (opcjonalnie) |
ciąg | Właściwość created_by_ref określa właściwość ID jednostki, która utworzyła ten obiekt. Jeśli ten atrybut zostanie pominięty, źródło tych informacji jest niezdefiniowane. W przypadku twórców obiektów, którzy chcą zachować anonimowość, zachowaj tę wartość niezdefiniowana. |
modified (wymagane) |
Sygnatury czasowej | Aby uzyskać specyfikacje tej wspólnej właściwości, zobacz sekcję 3.2 . |
revoked (opcjonalnie) |
Boolean | Odwołane obiekty nie są już uważane za prawidłowe przez twórcę obiektu. Odwoływanie obiektu jest trwałe; nie można tworzyć przyszłych wersji obiektu z tym id obiektem.Wartość domyślna tej właściwości to false. |
labels (opcjonalnie) |
lista ciągów | Właściwość labels określa zestaw terminów używanych do opisania tego obiektu. Terminy są zdefiniowane przez użytkownika lub zdefiniowane przez grupę zaufania. Te etykiety są wyświetlane jako Tagi w Microsoft Sentinel. |
confidence (opcjonalnie) |
liczba całkowita | Właściwość confidence identyfikuje pewność, że twórca ma pewność co do poprawności swoich danych. Wartość ufności musi być liczbą w zakresie od 0 do 100.Dodatek A zawiera tabelę mapowań normatywnych na inne skale ufności, które muszą być używane podczas przedstawiania wartości ufności w jednej z tych skal. Jeśli właściwość zaufania nie jest obecna, zaufanie do zawartości jest nieokreślone. |
lang (opcjonalnie) |
ciąg | Właściwość lang identyfikuje język zawartości tekstowej w tym obiekcie. Jeśli jest obecny, musi być zgodny z kodem języka, aby RFC5646. Jeśli właściwość nie jest obecna, język zawartości to en (angielski).Ta właściwość powinna być obecna, jeśli typ obiektu zawiera właściwości tekstu możliwego do tłumaczenia (na przykład nazwę, opis). Język poszczególnych pól w tym obiekcie może zastąpić lang właściwość szczegółowymi oznaczeniami (patrz sekcja 7.2.3). |
object_marking_refs (opcjonalnie, w tym TLP) |
lista ciągów | Właściwość object_marking_refs określa listę właściwości identyfikatora obiektów oznaczeń definicji, które mają zastosowanie do tego obiektu. Na przykład użyj identyfikatora definicji oznaczania protokołu Traffic Light Protocol (TLP), aby wyznaczyć czułość źródła wskaźnika. Aby uzyskać szczegółowe informacje na temat identyfikatorów definicji znakowania do użycia dla zawartości TLP, zobacz sekcję 7.2.1.4W niektórych przypadkach, choć rzadko, same definicje oznaczania mogą być oznaczone wskazówkami dotyczącymi udostępniania lub obsługi. W takim przypadku ta właściwość nie może zawierać żadnych odwołań do tego samego obiektu definicji znakowania (tj. nie może zawierać żadnych odwołań cyklicznych). Aby uzyskać dalszą definicję oznaczeń danych, zobacz sekcję 7.2.2 . |
external_references (opcjonalnie) |
lista obiektów | Właściwość external_references określa listę odwołań zewnętrznych, które odnoszą się do informacji innych niż STIX. Ta właściwość służy do podawania co najmniej jednego adresu URL, opisów lub identyfikatorów rekordów w innych systemach. |
granular_markings (opcjonalnie) |
lista oznaczeń szczegółowych | Właściwość granular_markings pomaga inaczej definiować części wskaźnika. Na przykład język wskaźnika to angielski, en ale opis to niemiecki, de.W niektórych przypadkach, choć rzadko, same definicje oznaczania mogą być oznaczone wskazówkami dotyczącymi udostępniania lub obsługi. W takim przypadku ta właściwość nie może zawierać żadnych odwołań do tego samego obiektu definicji znakowania (tj. nie może zawierać żadnych odwołań cyklicznych). Aby uzyskać dalszą definicję oznaczeń danych, zobacz sekcję 7.2.3 . |
Aby uzyskać więcej informacji, zobacz typowe właściwości STIX.
Wskaźnik
| Nazwa właściwości | Wpisać | Opis |
|---|---|---|
name (opcjonalnie) |
ciąg | Nazwa używana do identyfikowania wskaźnika. Producenci powinni zapewnić tę właściwość , aby pomóc produktom i analitykom zrozumieć, co ten wskaźnik faktycznie robi. |
description (opcjonalnie) |
ciąg | Opis, który zawiera więcej szczegółów i kontekstu dotyczącego wskaźnika, potencjalnie uwzględniając jego przeznaczenie i kluczowe cechy. Producenci powinni zapewnić tę właściwość , aby pomóc produktom i analitykom zrozumieć, co ten wskaźnik faktycznie robi. |
indicator_types (opcjonalnie) |
lista ciągów | Zestaw kategoryzacji dla tego wskaźnika. Wartości dla tej właściwości powinny pochodzić z parametru indicator-type-ov |
pattern (wymagane) |
ciąg | Wzorzec wykrywania tego wskaźnika może być wyrażony jako wzorzec STIX lub inny odpowiedni język, taki jak SNORT, YARA itp. |
pattern_type (wymagane) |
ciąg | Język wzorca używany w tym wskaźniku. Wartość dla tej właściwości powinna pochodzić z typów wzorców. Wartość tej właściwości musi być zgodna z typem danych wzorca zawartych we właściwości wzorca. |
pattern_version (opcjonalnie) |
ciąg | Wersja języka wzorca używanego dla danych we właściwości wzorca, która musi być zgodna z typem danych wzorca zawartych we właściwości wzorca. W przypadku wzorców, które nie mają formalnej specyfikacji, należy użyć wersji kompilacji lub kodu, z którą wzorzec jest znany. Dla języka wzorca STIX wersja specyfikacji obiektu określa wartość domyślną. W przypadku innych języków wartość domyślna powinna być najnowszą wersją języka wzorcowania w momencie tworzenia tego obiektu. |
valid_from (wymagane) |
Sygnatury czasowej | Czas, z którego ten wskaźnik jest uważany za prawidłowy wskaźnik zachowań, z którymi jest powiązany lub reprezentuje. |
valid_until (opcjonalnie) |
Sygnatury czasowej | Czas, w którym ten wskaźnik nie powinien być już uważany za prawidłowy wskaźnik zachowań, z którymi jest związany lub reprezentuje. Jeśli właściwość valid_until zostanie pominięta, nie ma żadnych ograniczeń dotyczących ostatniego czasu, dla którego wskaźnik jest prawidłowy. Ta sygnatura czasowa musi być większa niż sygnatura czasowa valid_from. |
kill_chain_phases (opcjonalnie) |
lista ciągów | Fazy łańcucha zabijania, do których odpowiada ten wskaźnik. Wartość dla tej właściwości powinna pochodzić z fazy kill chain. |
Aby uzyskać więcej informacji, zobacz wskaźnik STIX.
Wzorzec ataku
Postępuj zgodnie ze specyfikacjami STIX dotyczącymi tworzenia obiektu STIX wzorca ataku. Użyj tego przykładu jako dodatkowego odwołania.
Aby uzyskać więcej informacji, zobacz wzorzec ataku STIX.
Tożsamości
Postępuj zgodnie ze specyfikacjami STIX dotyczącymi tworzenia obiektu STIX tożsamości. Użyj tego przykładu jako dodatkowego odwołania.
Aby uzyskać więcej informacji, zobacz tożsamość STIX.
Aktor zagrożeń
Postępuj zgodnie ze specyfikacjami STIX dotyczącymi tworzenia obiektu STIX aktora zagrożeń. Użyj tego przykładu jako dodatkowego odwołania.
Aby uzyskać więcej informacji, zobacz TEMAT STIX threat actor (Aktor zagrożeń STIX).
Relacji
Postępuj zgodnie ze specyfikacjami STIX dotyczącymi tworzenia obiektu STIX relacji. Użyj tego przykładu jako dodatkowego odwołania.
Aby uzyskać więcej informacji, zobacz stix relacji.
Przetwarzanie komunikatu odpowiedzi
Nagłówek odpowiedzi zawiera kod stanu HTTP. Zapoznaj się z tą tabelą, aby uzyskać więcej informacji na temat interpretowania wyniku wywołania interfejsu API.
| Kod stanu | Opis |
|---|---|
| 200 | Sukces. Interfejs API zwraca wartość 200, gdy co najmniej jeden obiekt STIX zostanie pomyślnie zweryfikowany i opublikowany. |
| 400 | Nieprawidłowy format. Coś w żądaniu nie jest poprawnie sformatowane. |
| 401 | Nieautoryzowanych. |
| 404 | Nie można odnaleźć pliku. Zazwyczaj ten błąd występuje, gdy nie można odnaleźć identyfikatora obszaru roboczego. |
| 429 | Przekroczono maksymalną liczbę żądań w ciągu minuty. |
| 500 | Błąd serwera. Zwykle występuje błąd w interfejsie API lub usługach Microsoft Sentinel. |
Treść odpowiedzi to tablica komunikatów o błędach w formacie JSON:
| Nazwa pola | Typ danych | Opis |
|---|---|---|
| Błędy | Tablica obiektów błędów | Lista błędów weryfikacji |
Obiekt błędu
| Nazwa pola | Typ danych | Opis |
|---|---|---|
| recordIndex | Int | Indeks obiektów STIX w żądaniu |
| errorMessages | Tablica ciągów | Komunikaty o błędach |
Limity ograniczania przepustowości interfejsu API
Wszystkie limity są stosowane na użytkownika:
- 100 obiektów na żądanie.
- 100 żądań na minutę.
Jeśli istnieje więcej żądań niż limit, zwracany jest kod stanu http w nagłówku odpowiedzi z następującą 429 treścią odpowiedzi:
{
"statusCode": 429,
"message": "Rate limit is exceeded. Try again in <number of seconds> seconds."
}
Około 10 000 obiektów na minutę to maksymalna przepływność przed odebraniem błędu ograniczania przepustowości.
Treść przykładowego żądania wskaźnika
W poniższym przykładzie pokazano, jak przedstawić dwa wskaźniki w specyfikacji STIX.
Test Indicator 2 Wyróżnia protokół TLP (Traffic Light Protocol) ustawiony na biały z zamapowanym oznaczeniem obiektu, a jego opis i etykiety są w języku angielskim.
{
"sourcesystem": "test",
"stixobjects":[
{
"type": "indicator",
"spec_version": "2.1",
"id": "indicator--10000003-71a2-445c-ab86-927291df48f8",
"name": "Test Indicator 1",
"created": "2010-02-26T18:29:07.778Z",
"modified": "2011-02-26T18:29:07.778Z",
"pattern": "[ipv4-addr:value = '172.29.6.7']",
"pattern_type": "stix",
"valid_from": "2015-02-26T18:29:07.778Z"
},
{
"type": "indicator",
"spec_version": "2.1",
"id": "indicator--67e62408-e3de-4783-9480-f595d4fdae52",
"created": "2023-01-01T18:29:07.778Z",
"modified": "2025-02-26T18:29:07.778Z",
"created_by_ref": "identity--19f33886-d196-468e-a14d-f37ff0658ba7",
"revoked": false,
"labels": [
"label 1",
"label 2"
],
"confidence": 55,
"lang": "en",
"external_references": [
{
"source_name": "External Test Source",
"description": "Test Report",
"external_id": "e8085f3f-f2b8-4156-a86d-0918c98c498f",
"url": "https://fabrikam.com//testreport.json",
"hashes": {
"SHA-256": "6db12788c37247f2316052e142f42f4b259d6561751e5f401a1ae2a6df9c674b"
}
}
],
"object_marking_refs": [
"marking-definition--613f2e26-407d-48c7-9eca-b8e91df99dc9"
],
"granular_markings": [
{
"marking_ref": "marking-definition--beb3ec79-03aa-4594-ad24-09982d399b80",
"selectors": [ "description", "labels" ],
"lang": "en"
}
],
"name": "Test Indicator 2",
"description": "This is a test indicator to demo valid fields",
"indicator_types": [
"threatstream-severity-low", "threatstream-confidence-80"
],
"pattern": "[ipv4-addr:value = '192.168.1.1']",
"pattern_type": "stix",
"pattern_version": "2.1",
"valid_from": "2023-01-01T18:29:07.778Z",
"valid_until": "2025-02-26T18:29:07.778Z",
"kill_chain_phases": [
{
"kill_chain_name": "lockheed-martin-cyber-kill-chain",
"phase_name": "reconnaissance"
}
]
}
]
}
Przykładowa treść odpowiedzi z błędem weryfikacji
Jeśli wszystkie obiekty STIX zostaną pomyślnie zweryfikowane, zostanie zwrócony stan HTTP 200 z pustą treścią odpowiedzi.
Jeśli weryfikacja nie powiedzie się dla co najmniej jednego obiektu, treść odpowiedzi zostanie zwrócona z większą ilością informacji. Jeśli na przykład wyślesz tablicę z czterema wskaźnikami, a pierwsze trzy są dobre, ale czwarta nie ma id (wymaganego pola), zostanie wygenerowany kod stanu HTTP 200 odpowiedzi wraz z następującą treścią:
{
"errors": [
{
"recordIndex":3,
"errorMessages": [
"Error for Property=id: Required property is missing. Actual value: NULL."
]
}
]
}
Obiekty są wysyłane jako tablica, więc recordIndex zaczyna się od 0.
Inne przykłady
Przykładowy wskaźnik
W tym przykładzie wskaźnik jest oznaczony zielonym protokołem TLP przy użyciu marking-definition--089a6ecb-cc15-43cc-9494-767639779123 właściwości object_marking_refs common. Uwzględniono również więcej atrybutów rozszerzeń toxicity i rank . Mimo że te właściwości nie są w schemacie Microsoft Sentinel dla wskaźników, pozyskiwanie obiektu z tymi właściwościami nie powoduje błędu. Właściwości po prostu nie są przywoływane ani indeksowane w obszarze roboczym.
Uwaga
Ten wskaźnik ma właściwość ustawioną revoked na wartość $true , a jej valid_until data to przeszłość. Ten wskaźnik w stanie rzeczywistym nie działa w regułach analizy i nie jest zwracany w zapytaniach, chyba że określono odpowiedni zakres czasu.
{
"sourcesystem": "TestStixObjects",
"stixobjects": [
{
"type": "indicator",
"spec_version": "2.1",
"id": "indicator--12345678-71a2-445c-ab86-927291df48f8",
"created": "2010-02-26T18:29:07.778Z",
"modified": "2011-02-26T18:29:07.778Z",
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
"revoked": true,
"labels": [
"heartbleed",
"has-logo"
],
"confidence": 55,
"lang": "en",
"external_references": [
{
"source_name": "veris",
"description": "Threat report",
"external_id": "0001AA7F-C601-424A-B2B8-BE6C9F5164E7",
"url": "https://abc.com//example.json",
"hashes": {
"SHA-256": "6db12788c37247f2316052e142f42f4b259d6561751e5f401a1ae2a6df9c674b"
}
}
],
"object_marking_refs": [
"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"
],
"granular_markings": [
{
"marking_ref": "marking-definition--089a6ecb-cc15-43cc-9494-767639779123",
"selectors": [
"description",
"labels"
],
"lang": "en"
}
],
"extensions": {
"extension-definition--d83fce45-ef58-4c6c-a3f4-1fbc32e98c6e": {
"extension_type": "property-extension",
"rank": 5,
"toxicity": 8
}
},
"name": "Indicator 2.1 Test",
"description": "TS ID: 35766958; iType: bot_ip; State: active; Org: 52.3667; Source: Emerging Threats - Compromised",
"indicator_types": [
"threatstream-severity-low",
"threatstream-confidence-80"
],
"pattern": "[ipv4-addr:value = '94.102.52.185']",
"pattern_type": "stix",
"pattern_version": "2.1",
"valid_from": "2015-02-26T18:29:07.778Z",
"valid_until": "2016-02-26T18:29:07.778Z",
"kill_chain_phases": [
{
"kill_chain_name": "lockheed-martin-cyber-kill-chain",
"phase_name": "reconnaissance"
}
]
}
]
}
Przykładowy wzorzec ataku
Ten wzorzec ataku i inne obiekty STIX bez wskaźnika są widoczne tylko w interfejsie zarządzania, chyba że zdecydujesz się na nowe tabele STIX. Aby uzyskać więcej informacji o tabelach wymaganych do wyświetlania takich obiektów w języku KQL, zobacz Wyświetlanie analizy zagrożeń.
{
"sourcesystem": "TestStixObjects",
"stixobjects": [
{
"type": "attack-pattern",
"spec_version": "2.1",
"id": "attack-pattern--fb6aa549-c94a-4e45-b4fd-7e32602dad85",
"created": "2015-05-15T09:12:16.432Z",
"modified": "2015-05-20T09:12:16.432Z",
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
"revoked": false,
"labels": [
"heartbleed",
"has-logo"
],
"confidence": 55,
"lang": "en",
"object_marking_refs": [
"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"
],
"granular_markings": [
{
"marking_ref": "marking-definition--089a6ecb-cc15-43cc-9494-767639779123",
"selectors": [
"description",
"labels"
],
"lang": "en"
}
],
"extensions": {
"extension-definition--d83fce45-ef58-4c6c-a3f4-1fbc32e98c6e": {
"extension_type": "property-extension",
"rank": 5,
"toxicity": 8
}
},
"external_references": [
{
"source_name": "capec",
"description": "spear phishing",
"external_id": "CAPEC-163"
}
],
"name": "Attack Pattern 2.1",
"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.",
"kill_chain_phases": [
{
"kill_chain_name": "mandiant-attack-lifecycle-model",
"phase_name": "initial-compromise"
}
],
"aliases": [
"alias_1",
"alias_2"
]
}
]
}
Przykładowa relacja z aktorem zagrożeń i tożsamością
{
"sourcesystem": "TestStixObjects",
"stixobjects": [
{
"type": "identity",
"spec_version": "2.1",
"id": "identity--733c5838-34d9-4fbf-949c-62aba761184c",
"created": "2016-08-23T18:05:49.307Z",
"modified": "2016-08-23T18:05:49.307Z",
"name": "Identity 2.1",
"description": "Disco Team is the name of an organized threat actor crime-syndicate.",
"identity_class": "organization",
"contact_information": "disco-team@stealthemail.com",
"roles": [
"administrators"
],
"sectors": [
"education"
],
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
"revoked": true,
"labels": [
"heartbleed",
"has-logo"
],
"confidence": 55,
"lang": "en",
"external_references": [
{
"source_name": "veris",
"description": "Threat report",
"external_id": "0001AA7F-C601-424A-B2B8-BE6C9F5164E7",
"url": "https://abc.com//example.json",
"hashes": {
"SHA-256": "6db12788c37247f2316052e142f42f4b259d6561751e5f401a1ae2a6df9c674b"
}
}
],
"object_marking_refs": [
"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"
],
"granular_markings": [
{
"marking_ref": "marking-definition--089a6ecb-cc15-43cc-9494-767639779123",
"selectors": [
"description",
"labels"
],
"lang": "en"
}
]
},
{
"type": "threat-actor",
"spec_version": "2.1",
"id": "threat-actor--dfaa8d77-07e2-4e28-b2c8-92e9f7b04428",
"created": "2014-11-19T23:39:03.893Z",
"modified": "2014-11-19T23:39:03.893Z",
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
"revoked": true,
"labels": [
"heartbleed",
"has-logo"
],
"confidence": 55,
"lang": "en",
"external_references": [
{
"source_name": "veris",
"description": "Threat report",
"external_id": "0001AA7F-C601-424A-B2B8-BE6C9F5164E7",
"url": "https://abc.com//example.json",
"hashes": {
"SHA-256": "6db12788c37247f2316052e142f42f4b259d6561751e5f401a1ae2a6df9c674b"
}
}
],
"object_marking_refs": [
"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"
],
"granular_markings": [
{
"marking_ref": "marking-definition--089a6ecb-cc15-43cc-9494-767639779123",
"selectors": [
"description",
"labels"
],
"lang": "en"
}
],
"name": "Threat Actor 2.1",
"description": "This organized threat actor group operates to create profit from all types of crime.",
"threat_actor_types": [
"crime-syndicate"
],
"aliases": [
"Equipo del Discoteca"
],
"first_seen": "2014-01-19T23:39:03.893Z",
"last_seen": "2014-11-19T23:39:03.893Z",
"roles": [
"agent"
],
"goals": [
"Steal Credit Card Information"
],
"sophistication": "expert",
"resource_level": "organization",
"primary_motivation": "personal-gain",
"secondary_motivations": [
"dominance"
],
"personal_motivations": [
"revenge"
]
},
{
"type": "relationship",
"spec_version": "2.1",
"id": "relationship--a2e3efb5-351d-4d46-97a0-6897ee7c77a0",
"created": "2020-02-29T18:01:28.577Z",
"modified": "2020-02-29T18:01:28.577Z",
"relationship_type": "attributed-to",
"description": "Description Relationship 2.1",
"source_ref": "threat-actor--dfaa8d77-07e2-4e28-b2c8-92e9f7b04428",
"target_ref": "identity--733c5838-34d9-4fbf-949c-62aba761184c",
"start_time": "2020-02-29T18:01:28.577Z",
"stop_time": "2020-03-01T18:01:28.577Z",
"created_by_ref": "identity--f431f809-377b-45e0-aa1c-6a4751cae5ff",
"revoked": true,
"labels": [
"heartbleed",
"has-logo"
],
"confidence": 55,
"lang": "en",
"external_references": [
{
"source_name": "veris",
"description": "Threat report",
"external_id": "0001AA7F-C601-424A-B2B8-BE6C9F5164E7",
"url": "https://abc.com//example.json",
"hashes": {
"SHA-256": "6db12788c37247f2316052e142f42f4b259d6561751e5f401a1ae2a6df9c674b"
}
}
],
"object_marking_refs": [
"marking-definition--34098fce-860f-48ae-8e50-ebd3cc5e41da"
],
"granular_markings": [
{
"marking_ref": "marking-definition--089a6ecb-cc15-43cc-9494-767639779123",
"selectors": [
"description",
"labels"
],
"lang": "en"
}
]
}
]
}
Następne kroki
Aby dowiedzieć się więcej na temat pracy z analizą zagrożeń w Microsoft Sentinel, zobacz następujące artykuły:
- Omówienie analizy zagrożeń
- Praca ze wskaźnikami zagrożeń
- Używanie pasującej analizy do wykrywania zagrożeń
- Korzystanie z źródła danych analizy firmy Microsoft i włączanie łącznika danych MDTI