セキュリティ

CybOXとは?サイバー攻撃観測記述形式の基礎とSTIX統合後の現在地

CybOX(Cyber Observable eXpression、サイボックス)は、マルウェアのハッシュ値・IPアドレス・不審なプロセスといった「観測された事実(Observable)」を機械可読な共通形式で記述するための標準です。MITRE(米国)が中心となって整備し、脅威の全体像を表すSTIX、情報を交換するTAXIIと三点セットで使われてきました。ただし2016年にCybOXはSTIX 2.0へ統合され、単体の仕様は事実上終息しています。本記事は定義・構成・記述例を押さえたうえで、「今どう扱うべきか」までを最新の状況に沿って整理します。

まとめ:CybOXの要点

  • CybOXは「何が観測されたか」を機械可読に記述する標準。攻撃の文脈を表すSTIX、伝送を担うTAXIIと役割が分かれる。
  • 2016年にOASIS CTI技術委員会がCybOXをSTIX 2.0へ統合。各オブジェクトは現在「STIX Cyber Observable(SCO)」として定義される。
  • 単体仕様はCybOX 2.1(2014年)が最後で、MITREのSTIX 1/CybOX 2/TAXII 1系ツールは公式にEOL(提供終了)。
  • 新規実装で採用すべきは、2021年6月にOASIS標準となったSTIX 2.1(JSONベース)。CybOX単体を新たに選ぶ理由はない。
  • 「CybOX」を学ぶ意味は、STIX 2.xのCyber Observable部分の源流と設計思想を理解する点にある。

CybOXの定義とSTIX・TAXIIにおける役割

CybOXは「Cyber Observable eXpression」の略で、日本語では「サイバー攻撃観測記述形式」と訳されます。ここでいうObservable(観測対象)とは、ネットワーク通信・ファイル・プロセス・レジストリキーなど、攻撃の痕跡として観測される具体的な事実を指します。従来はセキュリティ製品ごとにログ形式がばらばらで、組織やツールをまたいだ突き合わせが難しいという課題がありました。CybOXはこれを共通スキーマで表現し、機械可読な相互運用を可能にすることを目的に設計されました。

STIX・TAXIIとの役割分担

脅威インテリジェンスの標準は、記述と伝送で層が分かれます。CybOXが担うのは「観測事実」の記述、STIX(Structured Threat Information eXpression)が担うのは攻撃者・戦術・キャンペーンといった「脅威の文脈・全体像」の記述、そしてTAXIIが担うのはそれらの情報を組織間で安全に交換する伝送プロトコルです。つまり「観測=CybOX、文脈=STIX、交換=TAXII」という分担で、三者は補完関係にありました。この設計思想が、後述するSTIX 2.0への統合の伏線になります。

CybOXの構成要素とデータモデル

CybOXのデータモデルは、オブジェクト指向的に「観測対象」を組み立てる構造です。中心となるのは次の要素で、これらを入れ子にして一つの観測(Observable)を表現します。

  • Observable:観測の単位。1件の観測事実を包む最上位の器。
  • Object:観測されたエンティティ本体。ファイル、アドレス(IP/ドメイン)、プロセス、レジストリなど種類ごとに型が用意される。
  • Properties:オブジェクトの属性。ハッシュ値、ファイル名、ポート番号、タイムスタンプなど具体値を持つ。
  • Event/Action:オブジェクトに対して起きた事象(ファイル作成、接続試行など)。

代表的なオブジェクト型には、ファイルオブジェクト(SHA-256などのハッシュ)、ネットワークオブジェクト(IPアドレス、DNSクエリ)、システムオブジェクト(プロセス、レジストリキー)があります。属性を型付きで持たせることで、「このIPからこの時刻に接続試行があった」といった事実を曖昧さなく記録できる点が、自由記述のログとの決定的な違いです。

CybOXの記述例:レガシーXMLとSTIX 2.1のJSON

CybOX単体(1.x/2.x)はXMLベースでした。同じ「IPアドレスという観測事実」を、旧CybOX 2.1のXMLと、統合後のSTIX 2.1(JSONベースのCyber Observable)で書き比べると、形式の移り変わりがはっきりわかります。

旧CybOX 2.1(XML)の例:

<cybox:Observable id="example:Observable-1">
  <cybox:Object>
    <cybox:Properties xsi:type="AddressObj:AddressObjectType" category="ipv4-addr">
      <AddressObj:Address_Value>198.51.100.3</AddressObj:Address_Value>
    </cybox:Properties>
  </cybox:Object>
</cybox:Observable>

統合後のSTIX 2.1では、同じ観測を「Cyber Observable(SCO)」としてJSONで表します。

{
  "type": "ipv4-addr",
  "id": "ipv4-addr--ff26c055-6336-5bc5-b98d-13d6226742dd",
  "value": "198.51.100.3"
}

XMLの名前空間・型指定を積み重ねる書式から、typeとvalueを持つ簡潔なJSONオブジェクトへ。実装の負担が下がり、他のSTIXオブジェクトと同じ枠組みで扱えるようになった点が、統合の実利です。新しく手を動かすなら、参照すべきはCybOXのXMLではなくSTIX 2.1のSCO仕様です。

STIX 2.0への統合とCybOXの現在地

ここが、多くの解説記事が古いまま止まっている論点です。2016年、STIXやTAXIIを管理するOASIS CTI技術委員会は、CybOXとSTIXが密結合であることを理由に、CybOXをSTIX 2.0へ統合する決定を下しました。その結果、かつてCybOXが定義していた観測オブジェクトは、STIX仕様の中で「STIX Cyber Observable(SCO)」として再定義されています。CybOXという独立した言語・プロジェクトは、この時点で役目を終えました。

単体のCybOXは2014年公開の2.1系(OASISが再整形した2.1.1)を最後にSTIX 2.0へ吸収され、MITREが提供していたSTIX 1/CybOX 2/TAXII 1向けのツール・APIは公式にEOL(end-of-life)とされ、STIX 2.1への移行が案内されています。STIX 2.1は2021年6月10日にOASIS標準として発行された現行版です。

したがって実務上の結論はシンプルです。これから脅威情報の記述基盤を選ぶなら、CybOX単体を採用する理由はありません。新規に構築するならSTIX 2.1を前提にし、CybOXは「STIX 2.xのCyber Observableの源流」として理解しておけば十分です。逆に、2016年以前に作られた既存資産やレガシーな連携でCybOX 2.xのXMLが残っている場合に限り、SCOへの読み替えが必要になります。「CybOXの最新版はどれか」「CybOXの今後のロードマップは」という問いは、統合済みという事実の前では成立しない点に注意してください。

CybOXの役割と現行の代替標準

CybOXが解こうとした課題自体は、今も有効です。SOC(セキュリティオペレーションセンター)での脅威検知、攻撃のトレースやフォレンジック、組織間での脅威情報共有——いずれも「観測事実を機械可読に、共通形式で扱う」ことが前提になります。CybOXはその共通形式を最初期に定義した標準であり、現在はその役割をSTIX 2.xのCyber Observableが引き継いでいます。

実務では、CybOX/STIXで記述した情報をTAXIIで配信し、SIEMや脅威インテリジェンスプラットフォーム(TIP)へ取り込む流れが一般的です。用語としては「CybOX」に出会っても、実体はSTIX 2.xのSCOだと読み替えるのが、2016年以降の正しい理解です。詳しい全体像はSTIXの解説TAXIIの解説を合わせて確認してください。

よくある質問

CybOXは何の略ですか?読み方は?

Cyber Observable eXpression の略で、「サイバー攻撃観測記述形式」と訳されます。読みは「サイボックス」。なお同じ綴りで、大学のオンラインストレージ(box.com系)やELTEC社の鉄道向けWi-Fiアクセスポイント製品「CyBox」など無関係の名称もあるため、文脈に注意してください。

CybOXは今でも使われていますか?

独立した標準としては終息しています。2016年にSTIX 2.0へ統合され、現在は「STIX Cyber Observable」として生き続けています。新規実装ではSTIX 2.1(2021年OASIS標準)を使います。

CybOXとSTIXの違いは何ですか?

CybOXは「何が観測されたか(観測事実)」、STIXは「誰が・なぜ・どのように攻撃したか(脅威の文脈・全体像)」を記述します。STIX 2.0でCybOXがSTIXの一部(Cyber Observable)として取り込まれ、両者は一体化しました。

CybOXとTAXIIはどう関係しますか?

TAXIIは、CybOX/STIXで記述した脅威情報を組織間で交換するための伝送プロトコルです。記述はCybOX/STIX、伝送はTAXIIと役割が分かれます。

CybOXはXMLですか、JSONですか?

単体のCybOX(1.x/2.x)はXMLベースでした。STIX 2.xに統合された後のCyber Observable(SCO)はJSONベースで記述します。

関連記事

資料請求

RELATED POSTS 関連記事