第2回 一目で分かる、CYBEXを構成する5つのブロック


高橋 健志
独立行政法人情報通信研究機構
武智 洋
株式会社ラック
門林 雄基
奈良先端科学技術大学院大学

2010/11/15


リスク情報の表現

 リスク情報KBに保存されている情報には、脆弱性情報や脅威情報など、サイバーセキュリティオペレーションに必要不可欠なリスク情報が保存されている。そしてこれらの情報は、別の機関による2次利用を考慮して蓄積されている。

 CYBEXはこれらの情報を表現するために、CVE(Common Vulnerabilities and Exposures)、CWE(Common Weakness Enumeration)、CAPEC(Common Attack Pattern Enumeration and Classification)、MAEC(Malware Attribution Enumeration and Characterization)という4つの表現方法を活用している。

 CVEは脆弱性・弱点露呈情報をXMLベースで構造化するための、識別子の表現方法を定義している。これに基づいて、既知の脆弱性・弱点露呈情報のカタログを作ることができる。

<item type="CVE" name="CVE-1999-0002" seq="1999-0002">
  <status>Entry</status>
  <desc>Buffer overflow in NFS mountd gives root access to remote attackers, mostly in Linux systems.</desc>
  <refs>
  <ref source="SGI" url="ftp://patches.sgi.com/support/free/security/advisories/19981006-01-I">19981006-01-I</ref>
  <ref source="CERT">CA-98.12.mountd</ref>
  <ref source="CIAC" url="http://www.ciac.org/ciac/bulletins/j-006.shtml">J-006</ref>
  <ref source="BID" url="http://www.securityfocus.com/bid/121">121</ref>
  <ref source="XF">linux-mountd-bo</ref>
  </refs>
</item>
CVEによる表現の例http://cve.mitre.org/data/downloads/allcves.xmlより)

 CWEはソフトウェアの持つ弱点のタイプの識別子を定義している。これは、ベンダからのソフトウェアに限らず、サポートする人がすでに存在しないフリーウェアなども含めて活用できるように設計中である。

 CAPECは攻撃情報の識別子の表現方法を定義しており、MAECはマルウェアを表現するための言語を定義している。

対策情報の表現

 対策情報KBに保存されている情報には、IT資産の安全性評価や攻撃検知・防止のための情報が保存されている。

 これらの情報を表現するためにCYBEXは、CVSS(Common Vulnerability Scoring System)、CWSS(Common Weakness Scoring System)、OVAL(Open Vulnerability and Assessment Language)、XCCDF(eXtensible Configuration Checklist Description Format)の4つを活用している。

 CVSSとCWSSは、ソフトウェアの弱点の特性とそれが引き起こす影響を数値化する。数値化することにより、例えば、複数のソフトウェアがそれぞれ異なるセキュリティの問題を抱えている場合に、どのソフトウェアから着手すべきかという優先順位付けが可能になる。

 OVALは機器の設定やステートなどの情報を記述する言語を提供し、XCCDFはセキュリティのチェックリストとその関連情報を表記する言語を提供する。

 上記のようにこの機能ブロックでは、さまざまなサイバーセキュリティ情報を表現する方法を提供しているのである。

 情報発見ブロック


サイバーセキュリティ情報のありかを突き止める

 上記の情報表現ブロックによってサイバーセキュリティ情報の表現が可能になる。だが表現しただけでは、情報の交換はできない。情報のありかを特定・発見する必要があるのだ。これを実施する機能ブロックこそが、この情報発見ブロックである。

 情報のありかを特定するための仕組みとして、集中管理する手法と分散管理する手法の2つが存在する。CYBEXはこの両方の手法をサポートすべく、前者についてはOIDを、後者についてはRDFを用いた発見手法を定義している。それぞれについて説明しよう。

OIDを用いてサイバーセキュリティ情報を集中管理する

 OIDとはObject Identifierの略であり、図3のように、すべての情報をツリー上にID登録していく方式である。このように、ツリー上にすべてのサイバーセキュリティ情報を登録していけば、ツリーをたどっていくことにより、サイバーセキュリティ情報を一意に特定できる。

 このOIDを用いて情報を集中管理するための空間としてCYBEXでは、最上位のツリーのIDとして「2番」を、その次の階層として「48番」を確保している。CYBEXで発見すべき情報は、この2.48を頂点とするサブツリーに従って登録される。

図3 OIDに基づくディスカバリ

 この方式ではIDをしっかりと集中管理する必要があるものの、サイバーセキュリティ情報とIDが一対一に対応するため、情報を網羅的に管理しやすい。

RDFを用いてサイバーセキュリティ情報を分散管理する

 上記のOIDのような集中管理手法とは逆に、情報を分散管理しようという思想で作られているのがRDFに基づく情報発見手法であり、これもCYBEXが規定している。この方式ではOID方式とは異なり、サイバーセキュリティ情報を持っている機関が集中管理を行っている機関に情報を登録しにいく必要はない。自分が持っている情報をRDFで好きなように構造化し、それを任意のRDFサーチエンジンに登録するだけでよい(図4)。

 このRDF情報のタグ構造については、一部CYBEXが規定してはいるものの、タグの中身の文章は各機関が自由に記述してよい。

図4 RDFに基づくディスカバリ

 OIDと異なり情報を管理する組織が存在しないため、情報の重複が生じる可能性があり、また、中には信頼性が低い情報も存在する。しかしながら、これは既存のインターネットの検索システムと同じであり、何らかの方法で情報の信頼性を評価するシステムができれば、この問題を極小化できるだろう。

 実際に、ある機関がサイバーセキュリティ情報を発見したいと考えた場合、その機関は、任意のRDFサーチエンジンにディスカバリリクエストを投げる。そのディスカバリリクエストに従い、RDFサーチエンジンは、該当する情報を持つ組織の識別子(ID)とそれぞれの機関が提供できる情報もしくは機能(capability)を返答する。

 情報クエリブロック

 ここまでの定義により、サイバーセキュリティ情報を表現し、その表現された情報を持つ組織を発見することができるようになった。次は、その組織に対して情報を要求、もしくは情報の追加・変更・削除を依頼するための方法が定義されている。

 CYBEXで定義されている手法はSQLを拡張した手法で、CYIQLと呼ばれる方式である。この方式では、SQL感覚でセキュアにクエリをかけることができる。とはいえ、CYBEXはCYIQLの利用を前提とはしていないため、この部分をほかの方式で置き換えることも可能である。

 情報信頼性ブロック

 ここまでで、サイバーセキュリティ情報を表現し、その情報を保持する組織を発見し、そしてその組織に対して情報を要求することができるようになった。次は、いよいよ情報を伝送したいのであるが、その前に、その情報、そして情報の発信元が信頼できるのかが問われることになる。これに応えるための機能ブロックが、この情報信頼性ブロックである。

通信相手のアイデンティティを確認して信頼性を担保する

 一般にある企業が新たな企業と取引をする場合は、その新取引先の信頼性を担保するために、会社の謄本その他の情報から、会社の身元情報を確認するはずだ。同じように、サイバーセキュリティ情報を受け取る際に情報発信元の信頼性を確認するために、CYBEXでは情報発信元の身元確認をするための標準として、X.evcertおよびX.eaaを定義している。

 例えばEVCERTでは、通信しようとしている相手の会社名や住所などの登録情報、またその情報を確認した組織などの情報を教えてくれる。X.evcertでは、その証明書の発行者に求められる要件を定義しており、X.eaaでは、身元情報のライフサイクルを定義し、いかにして情報の信頼性を維持し続けるかを定義している。

 情報伝送ブロック

 ここまでで、情報を表現し、その情報を保持する組織を発見し、そこに対してクエリを投げ、かつその組織の信頼性を担保することができた。いよいよ、情報をネットワーク上で伝送する。そのためのプロトコルを定めているのが、この情報伝送ブロックである。

 CYBEXでは「情報伝送にはこのプロトコルを使わなければならない」というような限定はしておらず、求められる機能をまとめて定義している。だが、中でもBEEP(Block Extensible Exchange Protocol)とSOAPはサイバーセキュリティ情報交換向けに有望視されているため、個別にドラフトが提案されており、そのうちBEEPに関しては、すでにNICTがテスト実装を実施済みである。

 以上のように、5つのブロックすべてが連携することにより、情報を表現し、その情報を保持する組織を発見し、そこに対してクエリを投げ、かつその組織の信頼性を担保した上で、情報交換を実現できる。これがCYBEXがもたらすメリットなのである。

 次回は、このCYBEXで、サイバーセキュリティオペレーションの現場がどのように変わっていくのかを議論したい。

2/2

Index
一目で分かる、CYBEXを構成する5つのブロック
  Page1
CYBEXの目指すもの
フレームワークを構成する5つの機能
情報表現ブロック
Page2
情報発見ブロック
情報クエリブロック
情報信頼性ブロック
情報伝送ブロック


「CYBEXで進化するセキュリティオペレーション」連載インデックス


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間