脅威情報構造化記述形式STIX概説:サイバー脅威インテリジェンスの標準化と自動化
サイバー脅威インテリジェンス(CTI: Cyber Threat Intelligence)は、現代のセキュリティ運用において欠かせない要素です。しかし、脅威情報がベンダーや組織ごとに異なる形式で提供される現状では、情報の共有や分析の自動化に大きな障壁が生じています。この課題を解決するために策定されたのが、構造化脅威情報表現形式である「STIX(Structured Threat Information eXpression)」です。本稿では、STIXの技術的背景、データモデルの構造、そして実務における活用方法について深く掘り下げます。
STIXの概要と標準化の意義
STIXは、OASIS(Organization for the Advancement of Structured Information Standards)によって管理されている、オープンかつ標準化されたサイバー脅威情報の記述形式です。現在主流となっているバージョン2.1は、JSON形式を採用しており、機械可読性と人間による可読性の両立を図っています。
STIXが存在する最大の意義は「脅威情報の共通言語化」にあります。従来、脅威情報はPDFレポートや電子メール、あるいは非構造化テキストとして共有されていました。これでは、SIEM(Security Information and Event Management)やSOAR(Security Orchestration, Automation, and Response)製品への自動取り込みが困難です。STIXを利用することで、攻撃者のTTPs(戦術・技術・手順)、使用されるマルウェア、影響を受けるインフラ、防御側の対策といった情報を、システムが解釈可能な形式で統合的に扱うことが可能になります。
STIX 2.1のデータモデル詳細
STIXは「STIX Domain Objects (SDOs)」と「STIX Relationship Objects (SROs)」という2つの主要な構成要素で成り立っています。
SDOsは、脅威に関する実体(エンティティ)を定義するオブジェクトです。代表的なものとして以下が挙げられます。
・Indicator(インジケーター):侵害の痕跡(IoC)を定義。IPアドレスやハッシュ値など。
・Malware(マルウェア):攻撃に使用される悪意のあるコードの特性。
・Attack Pattern(攻撃パターン):MITRE ATT&CKフレームワークに準拠した戦術や技術。
・Threat Actor(脅威アクター):攻撃グループの情報。
・Campaign(キャンペーン):特定の目的で行われる一連の攻撃活動。
・Course of Action(対処アクション):推奨される防御・緩和策。
SROsは、これらのSDOs間の関係性を定義します。例えば、「Threat Actor A」が「Malware B」を使用しているという関係を「uses」という関係性オブジェクトで接続します。これにより、単なる情報の羅列ではなく、攻撃のコンテキスト(背景)をグラフ構造として保持できる点がSTIXの強力な点です。
STIXによる脅威情報の構造化サンプル
以下に、特定のマルウェアが特定の攻撃パターンを利用していることを示すSTIX 2.1のJSONサンプルコードを示します。
{
"type": "bundle",
"id": "bundle--001",
"objects": [
{
"type": "malware",
"spec_version": "2.1",
"id": "malware--12345678-abcd-efgh-ijkl-1234567890ab",
"name": "Example-Ransomware",
"malware_types": ["ransomware"]
},
{
"type": "attack-pattern",
"spec_version": "2.1",
"id": "attack-pattern--87654321-dcba-hgfe-lkji-ba0987654321",
"name": "Spearphishing Attachment",
"external_references": [
{
"source_name": "mitre-attack",
"external_id": "T1566.001"
}
]
},
{
"type": "relationship",
"spec_version": "2.1",
"id": "relationship--99999999-aaaa-bbbb-cccc-dddddddddddd",
"relationship_type": "uses",
"source_ref": "malware--12345678-abcd-efgh-ijkl-1234567890ab",
"target_ref": "attack-pattern--87654321-dcba-hgfe-lkji-ba0987654321"
}
]
}
このJSON構造により、セキュリティ分析ツールは「Example-Ransomware」が「T1566.001(スピアフィッシング)」という手法を用いることを自動的に認識し、対応する防御ルール(例:メールゲートウェイでの添付ファイル検査強化)を自動生成することが可能になります。
実務におけるSTIX活用のアドバイス
STIXを実務で導入する際には、いくつかの重要なポイントがあります。
第一に、情報の「鮮度と信頼性」の評価です。STIX形式であれば何でも良いわけではありません。信頼できる情報ソース(MISP: Malware Information Sharing Platformなど)から提供されるSTIXデータであることを確認し、必要に応じて「Confidence(信頼度)」フィールドを活用して、情報の重要度をフィルタリングする必要があります。
第二に、TAXII(Trusted Automated eXchange of Intelligence Information)との連携です。STIXは「情報の記述形式」であり、それを「配送するプロトコル」がTAXIIです。STIXを活用した自動化基盤を構築する際は、TAXIIサーバーを介した情報共有ハブを構築し、インテリジェンスの収集を自動化することが推奨されます。
第三に、MITRE ATT&CKとのマッピングです。STIXのAttack PatternオブジェクトはMITRE ATT&CKと親和性が非常に高いため、インシデント発生時にどのフェーズで攻撃が進行しているのかをSTIX経由で可視化し、防御のギャップを特定する運用が非常に有効です。
技術導入時の注意点と限界
STIXは強力なフレームワークですが、導入には学習コストが伴います。特に、複雑な関係性を記述しようとすると、データモデルの設計が複雑化します。まずは「Indicator」の共有から始め、徐々に「Campaign」や「Relationship」へと範囲を広げる段階的なアプローチが適切です。
また、STIXデータはあくまで「情報」であり、それ単体では防御を完結できません。STIXを読み込んだ後のアクション(ファイアウォール設定の変更、EDRの隔離実行など)を、SOARなどのツールで適切にオーケストレーションする環境が整っていない場合、情報の過多により担当者の負荷が増大する「アラート疲れ」を引き起こすリスクがあります。
まとめ
STIXは、サイバー攻撃の複雑化と高速化に対応するための、不可欠なインフラストラクチャです。脅威情報を人間が読んで解釈する時代から、システムが構造化されたデータを読み取り、自律的に防御策を講じる時代へと移行する中で、STIXの重要性はますます高まっています。
エンジニアとして、単にSTIXの仕様を理解するだけでなく、自社のセキュリティスタックにおいてどのように脅威情報を循環させ、検知から対処までのリードタイムを短縮できるかを設計することが、今後のセキュリティ運用の鍵となります。まずは、オープンソースのSTIXライブラリやMISPといったプラットフォームに触れ、実際のデータ構造に慣れることから始めてください。標準化された脅威情報の活用こそが、強固な防御環境を構築するための第一歩です。

コメント