現在位置: ホーム / ブログ / NECOMAtter: サイバー脅威情報のタイムラインとまとめ

NECOMAtter: サイバー脅威情報のタイムラインとまとめ

 多くのセキュリティ機器は限られた情報で動作しています。そのため、様々な情報源を使って多角的に情報を把握した上で対策等をおこなう場合、専門家がそれら様々な情報源からの情報を解釈した上で個々の機器を設定しています。NECOMAtter はこのような操作を補助するためのフレームワークです。NECOMAtterは、個々のセキュリティ機器からの情報や、アナリストやオペレータからの情報をまとめて閲覧したり、それらの情報を集約しより閲覧しやすくする事、個々の機器への指示などを簡便にする事などを目的としています。

NECOMAtterの構成要素

 NECOMAtter はtwitterのようなWebサイトで、ユーザ毎にその使い方が異なります。ユーザは以下の3種類に分けられます。

情報提供BOT
ユーザ(人間)
機器操作BOT

 情報提供BOTは、自身が得ることのできる情報をNECOMAtter に書き込みます (mew)。また、ユーザからの指示や他のBOTの発言に反応(streaming watch) する形で、自身の持つ情報の要約と、より深い情報へのURLを書き込む事で情報を提供します。

 ユーザは、情報提供BOTや他のユーザから得られた情報を元に、情報提供BOTの示したURLでより深い情報を取得し、重要と思われる情報を共有 (re-mew) します。また、他のユーザや情報提供BOT から情報を引き出し、必要ならば機器操作BOTへの指示を書き込みます。

 機器操作BOTは、セキュリティ機器などの装置です。このBOTは、管理者や、特定ユーザからの書き込みを監視することで、そのユーザからの指示を受けて機器を操作します。

NECOMAtter のタイムライン

 NECOMAtter は人間と機械のどちらでも読み書きできるように、プレーンテキストでのやりとりが主体となります。人間が閲覧するWebインタフェースでは、Markdown形式でレンダリングされ、より詳しい情報を提示したい場合などについては、図1のようにNECOMAtter以外のWeb情報を参照して提示することもできます。

fig1.png

図1. NECOMAtterのタイムライン

様々なBOT

 NECOMAtterにはオペレータなどの人間以外に、様々な機械(BOT)が接続し、情報を交換します。以下に、実装されているいくつかのBOTの例を挙げます。

ZeuS DGA BOT

DNSサーバが受けたDNSクエリ情報から、Zeus-DGA で示される正規表現を用いてbotnet が用いるDNSクエリを発見し、NECOMAtterに書き込みます。例えば、

oq2cuaacaaknsmqaag46adosaqaabjafstfpeioqwoozaaaaahwbiaa3aaaabkp.ayldacaaiaaaqamy6sx5

lss6umwaw7dt5rru3f3azshqcz7y.a.j.e5.sk.

といったDNSクエリが検知され、NECOMAtterに書き込まれます。

phishing判定BOT

Phishing判定BOTは、特定の文字列(@is_a_phish http://example.com...) の書き込みを監視して、そこで指定されたURLについてphishingの可能性が高いかどうかを判定して、返信の形式で結果を返します。

NECOMAtter での人間とBOTの連携

 NECOMAtterでは人間のオペレータと監視を行っているBOTや機器を制御するBOTとが、同じNECOMAtter上のメッセージを通じて連携を行います。例えば、監視を行っているBOTが異常を検知し、その異常をNECOMAtterに書き込むと、人間のオペレータがその情報について詳しく知るために解析BOTや他の人間に見えるようにNECOMAtterへと書き込みを行います。その書き込みを見た解析BOTや人間が、関連する情報を返信などの形式でNECOMAtterに書き込むことで情報が集まってきます。この集まった情報のうち特に有用なものをNECOMAtomeとして纏めたり、それらの情報から問題となる異常を緩和するための指示をNECOMAtterに書き込んで、その指示を受けたネットワーク機器が異常の緩和を実行します。

BOTのサンプルコード

 NECOMAtter とBOTのやりとりはREST APIを用いて行われます。簡単なサンプルは以下のようになります。

書き込み(mew)

curl -H "content-type: application/json" -d '{ "user_name": "YOUR ACCOUNT NAME",   
 "api_key": “YOUR APKEY",
 "text": "MEW TEXT" }' https://necomatter.necoma-project.jp/post.json

監視(streaming watch)

curl -H "content-type: application/json" -d '{ "user_name": "YOUR ACCOUNT NAME",
 "api_key": “YOUR APKEY",
 "regexp": "reguler expression string",   
 "description": "BOT description"}' https://necomatter.necoma-project.jp/stream
/regexp.json

ダウンロード

 NECOMAtter は以下のURLからダウンロード可能です。
https://github.com/necoma/NECOMAtter

 

用語解説

BOT

NECOMAtterでは人間以外のユーザをBOTと呼びます。BOTは利用者が設置し、情報の提供や収集、機器の操作など様々な利用をされます。

curl

HTTPでのアクセスを行うプログラムです。この例では単にGETリクエストを送信するために使っています。