STIX
STIX (Structured Threat Information Expression) — это стандартизированный язык разметки и формат обмена данными для представления информации о киберугрозах. Он разработан для автоматизированного обмена сведениями об индикаторах компрометации, тактиках, техниках и процедурах злоумышленников, а также о связанных с ними контекстных данных (атрибутах атак, уязвимостях, кампаниях). STIX является частью экосистемы стандартов кибербезопасности, поддерживаемой организацией OASIS Open.
История
Разработка STIX началась в 2012 году в рамках программы MITRE Corporation по кибербезопасности. Первоначально проект назывался CybOX (Cyber Observable Expression) и был ориентирован на описание наблюдаемых событий в информационных системах. В 2013 году на основе CybOX был создан STIX версии 1.0, который позволял структурировать данные об угрозах в виде документов XML. В 2015 году вышла версия 1.2, которая получила широкое распространение среди коммерческих и государственных организаций, включая Министерство внутренней безопасности США.
В 2017 году OASIS Open приняла STIX и TAXII (Trusted Automated eXchange of Indicator Information) в качестве открытых стандартов. В 2020 году была опубликована версия STIX 2.1, которая стала текущей стабильной версией. Основные изменения коснулись перехода от XML к JSON, упрощения структуры объектов и добавления поддержки новых типов данных, таких как «группа угроз» и «кампания».
Архитектура и структура
STIX основан на объектно-ориентированной модели данных. Каждый элемент информации представляется в виде объекта (SDO — STIX Domain Object) или отношения (SRO — STIX Relationship Object). Все объекты имеют уникальный идентификатор (UUID), тип, метку времени и опциональные метаданные.
Основные объекты (SDO)
- Indicator — индикатор компрометации (например, IP-адрес, хеш файла, домен). Включает шаблон для обнаружения (на основе STIX Patterning Language).
- Threat Actor — описание злоумышленника или группы (например, APT-группировка).
- Campaign — серия атак с общей целью или тактикой.
- Malware — вредоносное ПО (трояны, шифровальщики, бэкдоры).
- Attack Pattern — описание техники атаки (часто ссылается на MITRE ATT&CK).
- Course of Action — меры по противодействию угрозе (например, обновление ПО, блокировка портов).
- Vulnerability — уязвимость (CVE-идентификатор, описание).
- Identity — информация об организации или лице, связанном с угрозой.
- Observed Data — конкретные наблюдаемые события (например, запись в логе).
- Report — сводка по угрозе, объединяющая несколько объектов.
Отношения (SRO)
Отношения связывают объекты между собой, указывая характер связи (например, «использует», «нацелен на», «связан с»). Типы отношений стандартизированы и включают:
uses— злоумышленник использует вредоносное ПО.targets— кампания нацелена на конкретную отрасль.indicates— индикатор указывает на наличие вредоносного ПО.mitigates— мера противодействия уменьшает риск.
Формат данных
STIX 2.x использует JSON (RFC 8259) как основной формат сериализации. Пример простого индикатора:
``json { "type": "indicator", "id": "indicator--12345678-1234-1234-1234-123456789abc", "created": "2023-01-01T00:00:00Z", "modified": "2023-01-01T00:00:00Z", "name": "Malicious IP", "pattern": "[ipv4-addr:value = '192.0.2.1']", "pattern_type": "stix", "valid_from": "2023-01-01T00:00:00Z" } ``
Применение
STIX используется в системах автоматизированного обмена информацией об угрозах (TI — Threat Intelligence). Основные сценарии:
- Межорганизационный обмен — компании и CERT (Computer Emergency Response Team) обмениваются индикаторами через TAXII-серверы.
- Интеграция с SIEM — системы управления событиями безопасности (например, Splunk, ArcSight) могут импортировать STIX-объекты для обогащения данных.
- Анализ угроз — исследователи создают отчёты в формате STIX, объединяя разрозненные данные в единую картину.
- Автоматизация реагирования — на основе STIX-индикаторов могут выполняться действия (например, блокировка IP-адреса на файрволе).
Связь с TAXII
STIX и TAXII (Trusted Automated eXchange of Indicator Information) образуют единую экосистему. TAXII — это протокол прикладного уровня для передачи STIX-объектов по HTTP/HTTPS. Он определяет два типа сервисов:
- Collection — хранилище объектов, доступное для подписки.
- Channel — механизм публикации/подписки на обновления.
TAXII не зависит от STIX, но на практике используется исключительно с ним. Версия TAXII 2.1 поддерживает RESTful API.
Критика и ограничения
Несмотря на широкое распространение, STIX имеет ряд недостатков:
- Сложность — для полного использования требуется понимание онтологии угроз и навыки работы с JSON/XML.
- Избыточность — для простых индикаторов (например, одного IP-адреса) STIX требует создания нескольких вложенных объектов.
- Совместимость — реализации разных вендоров могут интерпретировать поля по-разному, что приводит к проблемам интероперабельности.
- Отсутствие обязательной валидации — стандарт не требует проверки данных на корректность, что может приводить к ошибкам.
Примеры использования
- CISA (Cybersecurity and Infrastructure Security Agency, США) публикует бюллетени в формате STIX через TAXII-сервер.
- MISP (Malware Information Sharing Platform) поддерживает импорт/экспорт STIX 2.1.
- MITRE ATT&CK — база знаний тактик и техник, которая может быть представлена в виде STIX-объектов (Attack Pattern).
- Российские системы — некоторые российские CERT (например, CERT-GIB) используют STIX для обмена данными с партнёрами, хотя в РФ распространены и собственные форматы (например, на основе XML).
Источники
- OASIS Open. STIX Version 2.1. Part 1: Overview. — 2020.
- MITRE Corporation. STIX™ and TAXII™: Structured Threat Information Expression and Trusted Automated eXchange of Indicator Information. — 2015.
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format.
- CISA. Automated Indicator Sharing (AIS) — STIX/TAXII Implementation Guide. — 2021.
- MISP Project. STIX 2.1 Import/Export Documentation. — 2023.
- MITRE ATT&CK®. Using ATT&CK with STIX. — 2022.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →