Importowanie analizy zagrożeń do Microsoft Sentinel przy użyciu interfejsu API przekazywania (wersja zapoznawcza)

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:

  1. Identyfikator URI żądania
  2. Nagłówek komunikatu żądania HTTP
  3. Treść komunikatu żądania HTTP
  4. Opcjonalnie przetwórz nagłówek komunikatu odpowiedzi HTTP
  5. 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.net
  • https://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.4

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.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: