Specyfikacja i szkielet wymiany Cyber Threat Intelligence dla ipIII: import wskaźników (IoC) i feedów oraz eksport incydentu jako STIX bundle. Docelowe standardy: MISP, OpenCTI, STIX 2.1, TAXII 2.1. To dokument projektowy — konektory są na etapie ROADMAP, a warstwa mapowania jako MVP/PoC. Nic tu nie jest oznaczone jako LIVE, dopóki nie ma dowodu (kod + test + endpoint).
Cel: aby ipIII przyjmował wskaźniki kompromitacji z zewnętrznych źródeł CTI (feed/kolekcja TAXII, eksport MISP), znormalizował je do wewnętrznego modelu i — po zamknięciu analizy — potrafił wyeksportować incydent z powrotem jako STIX 2.1 bundle do współdzielenia z partnerami. Wszystko wyłącznie defensywnie: to wymiana wiedzy o zagrożeniach dla obrony (blue/GRC), bez elementów ataku.
Malware Information Sharing Platform. Import atrybutów/eventów (IoC) oraz publikacja obserwacji. Wymiana przez PyMISP / REST API lub feed w formacie MISP JSON. Docelowo mapowanie MISP event → incydent ipIII.
Platforma korelacji CTI oparta o model STIX. Wymiana przez GraphQL API / konektory STIX. Docelowo: pobranie obiektów (indicator, malware, threat-actor) i wzbogacenie kontekstu incydentu.
Structured Threat Information Expression. Format serializacji obiektów CTI (indicator, observed-data, relationship). Warstwa mapowania incydent ↔ STIX jako PoC — patrz przykład bundle poniżej.
Trusted Automated eXchange of Intelligence Information. Protokół transportu STIX (API Root, Collections, poll/push). Docelowo klient TAXII do subskrypcji kolekcji i publikacji własnych obserwacji.
| Kierunek | Co | Standard / kanał | Zastosowanie | Status |
|---|---|---|---|---|
| Import (in) | IoC: adresy IP, domeny, hashe plików, URL; feed / kolekcja | MISP JSON / TAXII 2.1 poll / STIX 2.1 bundle | Wzbogacenie incydentu o kontekst zagrożenia, korelacja findingów z wskaźnikami | ROADMAP |
| Export (out) | Incydent ipIII jako STIX bundle (indicator + observed-data + relationship) | STIX 2.1 bundle / TAXII 2.1 push | Współdzielenie obserwacji z partnerami / sektorowym CSIRT (po RoE) | MVP mapping / PoC |
| Normalizacja | Mapowanie pól źródłowych → wewnętrzny model IoC ipIII | schemat wewnętrzny + walidacja | Jednolity model niezależnie od źródła (MISP vs OpenCTI vs surowy STIX) | ROADMAP |
Legenda: ROADMAP = zaplanowane, brak działającego konektora · MVP mapping / PoC = szkielet mapowania na danych syntetycznych, bez integracji produkcyjnej.
Poniżej syntetyczny przykład tego, jak incydent ipIII mógłby zostać wyeksportowany jako STIX 2.1 bundle. Wartości (IP, hash, id) są zmyślone i służą wyłącznie ilustracji struktury. To nie są realne wskaźniki i nie opisują żadnego rzeczywistego zdarzenia.
{
"type": "bundle",
"id": "bundle--00000000-0000-4000-8000-000000000001",
"objects": [
{
"type": "identity",
"spec_version": "2.1",
"id": "identity--00000000-0000-4000-8000-0000000000a1",
"created": "2026-07-05T00:00:00.000Z",
"modified": "2026-07-05T00:00:00.000Z",
"name": "K0NSULT ipIII (syntetyczny nadawca)",
"identity_class": "organization"
},
{
"type": "indicator",
"spec_version": "2.1",
"id": "indicator--00000000-0000-4000-8000-0000000000b2",
"created": "2026-07-05T00:00:00.000Z",
"modified": "2026-07-05T00:00:00.000Z",
"name": "Syntetyczny IoC: adres C2 (przyklad)",
"description": "Dane syntetyczne — wylacznie ilustracja struktury STIX.",
"indicator_types": ["malicious-activity"],
"pattern": "[ipv4-addr:value = '203.0.113.10']",
"pattern_type": "stix",
"valid_from": "2026-07-05T00:00:00.000Z"
},
{
"type": "observed-data",
"spec_version": "2.1",
"id": "observed-data--00000000-0000-4000-8000-0000000000c3",
"created": "2026-07-05T00:00:00.000Z",
"modified": "2026-07-05T00:00:00.000Z",
"first_observed": "2026-07-05T00:00:00.000Z",
"last_observed": "2026-07-05T00:00:00.000Z",
"number_observed": 1,
"object_refs": ["file--00000000-0000-4000-8000-0000000000d4"]
},
{
"type": "file",
"spec_version": "2.1",
"id": "file--00000000-0000-4000-8000-0000000000d4",
"hashes": {
"SHA-256": "0000000000000000000000000000000000000000000000000000000000000000"
},
"name": "sample-artifact.bin (syntetyczny)"
},
{
"type": "relationship",
"spec_version": "2.1",
"id": "relationship--00000000-0000-4000-8000-0000000000e5",
"created": "2026-07-05T00:00:00.000Z",
"modified": "2026-07-05T00:00:00.000Z",
"relationship_type": "based-on",
"source_ref": "indicator--00000000-0000-4000-8000-0000000000b2",
"target_ref": "observed-data--00000000-0000-4000-8000-0000000000c3"
}
]
}
Wszystkie kroki na etapie ROADMAP; dziś istnieje jedynie szkielet mapowania (przykład powyżej) jako PoC.
Powiązane: rejestr konektorów → /connectors · warstwa threat intel → /threat-intel · znane ograniczenia (uczciwie) → /known-limitations.