dps143 ruo ando

18
Google Earth とノード内部観測を用いた P2Pノード特性と地理的分布の可視化 安藤類央 NICT 外山英夫 (株)コムラッド 門林雄基 奈良先端大 篠田陽一 北陸先端大

Upload: ruo-ando

Post on 30-Jun-2015

241 views

Category:

Documents


3 download

DESCRIPTION

第143回 マルチメディア通信と分散処理・第54回 モバイルコンピューティングとユビキタス通信合同研究発表会の発表スライド

TRANSCRIPT

Page 1: Dps143 ruo ando

Google Earth とノード内部観測を用いた P2Pノード特性と地理的分布の可視化

安藤類央

NICT外山英夫

(株)コムラッド

門林雄基

奈良先端大篠田陽一

北陸先端大

Page 2: Dps143 ruo ando

概要

• P2Pソフトウェアの普及による社会的影響が大きくなっている現況では、ネット• ワークの状況の可視化などによる影響の把握が重要である。P2P ソフトウェアは、

フ• リーで公開/利用されるケースが多い反面、ソースコードが公開されず、新たな

攻撃方• 法に対して、バージョンアップやサポートがされない場合も多い。• 本論文では、ノード• の受動的観測によるネットワーク上のノード特性と地理的分布の可視化を行う。

ノー• ドの内部観測によりパケットのデコードを行い、得られたアドレスを地理的位置に

変• 換し、KML 方式のGoogle Earth で可読なファイルを自動生成することで、可視

化• を行う。提案手法により、ノード規模や分布の地理的偏在状況、接続、オンライン

状• 況などの可視化による認識が可能になる。

Page 3: Dps143 ruo ando

はじめに:

P2Pネットワークによる情報漏洩

• P2Pネットワークによる情報漏洩の被害が社会問題に

最近の情報漏洩の事例• 2009年4月2日:東京臨海病院

598名分の患者

• 2009年1月8日:情報処理推進機構

旧郵政省、特許庁のデータベース

• 2008年3月22日:日本銀行松江支店における内部情報流出• 2007年10月21日:陸上自衛隊

イラク戦争の作戦資料

• 2005年6月:三菱電機の原子力発電所の資料

P2Pネットワークに、情報インフラや社会インフラにとって秘匿すべき重要なファイルが漏洩する事件が起きています!

P2Pネットワークの流通観測と追跡、見える化が重要に

Page 4: Dps143 ruo ando

アプリケーションレイヤネットワークの観測 ソフトウェアの開発・配布形態

■P2P ソフトウェアは、フリーで公開/利用される。匿 名で開発され、配布、利用は広範囲に渡る。

■ソースコードが公開されず、新たな攻撃方法に対し て、バージョンアップやサポートがされない場合も多 い。また、プロトコルの解析はソースコードやドキュメ ントのない状態で行う必要がある。

■また、暗号化を内部で行うため、トランスポート層の パケットモニタ(TCP/IPモニタ)ではファイル、鍵、ク エリの流通状態がわからない。

Page 5: Dps143 ruo ando

アプリケーションレイヤ(L7)ネットワークの観測 パケットモニタの限界とノード内部観測の重要性

■Layer 3-6のレイヤ(TCP/IP以下)では観測が難しい。

■Layer 7でのクローリングが必要

■事前情報がない場合、クローラの作成には、デバッグを行い、

まずノード内部観測器(passive monitor)を作る必要がある。

Page 6: Dps143 ruo ando

提案システム ノード内部観測

– Passive Monitor

Windows OSのソケット受信APIを

フックし、アプリケーションに渡る前

にソケットバッファを捕捉する。

観測しているノードに送信されてくるコマンド4(検索クエリ)コマンド13(拡散クエリ)などを復号し、トラフィックログを構築。

トラフィックログから地理情報、ノード規模などを構成し、可視化。

Page 7: Dps143 ruo ando

DLL injectionDOSヘッダ

PEヘッダ

セクションヘッダ1

セクションテーブル1

セクションヘッダ2

・・・

セクションヘッダN

セクションテーブル2

・・・

セクションテーブルN

オリジナルの関数Aオリジナルの関数B

オリジナルの関数Z・・・

オリジナル関数Aの

メモリアドレス

オリジナル関数Bのメモリアドレス

・・・

オリジナル関数Zのメモリアドレス

フック用の関数A

オリジナル関数Aのメモリアドレスを取得

オリジナル関数Aを

実行

DOSヘッダ

PEヘッダ

セクションヘッダ1

セクションテーブル1

セクションヘッダ2

・・・

セクションヘッダN

セクションテーブル2

・・・

セクションテーブルN

オリジナルの関数Aオリジナルの関数B

オリジナルの関数Z・・・

フック用の関数Aの

メモリアドレス

オリジナル関数Bのメモリアドレス

・・・

オリジナル関数Zのメモリアドレス

フック用の関数A (流し込んだ自前のDLL)

オリジナル関数Aのメモリ

アドレスを取得(実際にはフック用の関数Aのメモリアドレスを取得) フック用の関数A

を実行

Page 8: Dps143 ruo ando

ソケットバッファの復号

Winnyの例

ノード内部観測により得られたWinny のソケットバッファの暗号化には、RC4が用い

られている。今回は、RC4の復号に下記の関数を実装した。void arcfour_init(ArcfourContext *ctx,const unsigned char *key, unsigned int key_len)unsigned int arcfour_byte(ArcfourContext *ctx)

void arcfour_encrypt(ArcfourContext *ctx,unsigned char *dest, const unsigned char *src, unsigned int len)arcfour init の第2引数は、暗号のシードである。

値は任意であるが、Winny の場合は、

文字列のシードには文字列が利用される。第3引数は、暗号のシードの長さある。同関数を呼び出すと、第1引数に暗号のシードを生成した結果が格納される(構造体の初期化)。arcfour encrypt は、RC4の暗号と復号を行なう。RC4 は可逆な暗号のため、encrypt の関数で復号(decrypt)を行なうことができる。第1引数は、上記初期化した暗号のシード、

第2引数は、暗号前のデータ、第3数は、復号結果のデータ、第4引数は、暗号前のデータの長さである。RC4 は暗号、復号でデータ長は変わらないため、第4引数は、暗号前、複

合後のデータ長を表している。

Page 9: Dps143 ruo ando

受動的 winny super node 検出 出力例

Jun 7 12:04:12 command04;1182363918;118;236;39;18;219125249219;219;125;249;219;notification(2) Jun 7 12:04:12 command04;1182363918;118;236;39;18;581586158;58;158;61;58;notification(2) Jun 7 12:04:12 command04;1182363918;118;236;39;18;22014878220;220;148;78;220;notification(2)

乱数

(2byt

e)

RC4暗

号鍵

(4byte)

通信ブ

ロック1

(5 byte)

暗号鍵を利用して

復号化を行った後

通信ブロックを解

第1パケットデー

タ構造

通 信 ブ

ロック

通 信 ブ

ロック

・・

0 2 6

ロ ッ

ク長

コ マ ン

ト ゙ 番

コマンド引数

(任意長)

0 4 5

TNDC 09

Page 10: Dps143 ruo ando

クローラとの併用 スーパーノードを見つけ、漏洩したファイルの流出先を

突き止める。

P2Pネットワークには、ファイルの取得数、流通数が多い、性能の

高いスーパーノードが存在する。このスーパーノードを発見、問い

合わせを行うことで、漏洩したファイルの漏洩元、放出先を迅速

に突き止めることができる。

P 2 P T r a c e n e t w o r k

P 2 P N e t w o r k

D e t e c ta n dT r a c e !

S u p e r N o d e 2S u p e r N o d e 1

F i l e L e a k !

Page 11: Dps143 ruo ando

P2Pネットワークの可視化 拡散クエリの捕捉

• 隣接ノードへのキー送信すべてにこのコマンドを利用する• 検索時には、検索条件をつけ• て送信する。• クエリは適当なホップ数だけ上流ノードを検索したあと戻ってくる。• 検索結果の返送や拡散クエリにもコマンド13を利用する。

• 受信側は、クエリの種類に応じて他の• ノードにクエリを中継する。この中継にもコマンド13を利用する。

正確には、隣接ノードへの送信は、キーの寿命でさらに中継される。初期値は1,600sec です。キーのパラメータが0 になるまで、中継され、拡散することになる。

Page 12: Dps143 ruo ando

P2Pネットワークの可視化 ノードの規模測定

• ノード規模の測定には、上記CMD13• のIP アドレスをユニークにカウントしたものが

近似値である。近似値とは、カウントの範

• 囲の問題で、

• 常に電源が入っていれば、問題ないが、

一時的に電源ON にされるノー

• ドも非常に多いため、継続した計測が重要に なる。

Page 13: Dps143 ruo ando

P2Pネットワークの可視化 KML (Keyhole Markup Language)

■KML は、地理情報(三次元)の表示を行なうために開発された、XML

ベースのマークアップ言語である。KML を用いることで、地図上のポイン

ト、線、画像、ポリゴンなどを描画することができ、Google Earth を使って

いる他のユーザと地理情報を共有することが可能である。

Page 14: Dps143 ruo ando

提案システムの最終目標

• P2Pネットワークによる情報漏洩の被害が社会問題になってい ます。

P2Pネットワークに、情報インフラや社会インフラにとって秘匿すべき重要なファイルが漏洩する事件がおきています。情報通信研究機構トレーサブルネットワークでは、P2Pの情報漏洩をトレース(追跡)するシステムとして、

[1] 漏洩したファイルがどこから漏洩し、[2] どこへ流通したのか

について、スーパーノードを見つけ、迅速に検出追跡するシステムまた、改竄、変更が加えられ、複数のP2Pネットワークをまたがって再放流されたファイルの流通状況を突き止めるシステムを開発しています。これにより、情報漏洩による被害を早期検証し、拡大を未然に防ぐことを最終目標に。

Page 15: Dps143 ruo ando

観測機能の強化:JGN2Plusを用いたP2P観測網の構築

ANALYZER system in NICT (Tokyo1)

Probing in Kyoto(1G) Probing in Tokyo2(10G)

StarBED is a large scale Test bed for Developers who desire to evaluate their new Technologies in realistic situations.

Page 16: Dps143 ruo ando

P2Pネットワークの可視化例 Google Earth Winny

Page 17: Dps143 ruo ando

P2Pネットワークの可視化例

Appendix LAMP, Google Earth BitTorrent

Page 18: Dps143 ruo ando

まとめと今後の課題

• P2Pソフトウェアの普及による社会的影響が大きくなっている現況では、ネット• ワークの状況の可視化などによる影響の把握が重要である。P2P ソフトウェアは、

フ• リーで公開/利用されるケースが多い反面、ソースコードが公開されず、新たな

攻撃方• 法に対して、バージョンアップやサポートがされない場合も多い。本論文では、

ノード• の受動的観測によるネットワーク上のノード特性と地理的分布の可視化を行う。

ノー• ドの内部観測によりパケットのデコードを行い、得られたアドレスを地理的位置に

変• 換し、KML 方式のGoogle Earth で可読なファイルを自動生成することで、可視

化• を行う。提案手法により、ノード規模や分布の地理的偏在状況、接続、オンライン

状• 況などの可視化による認識が可能になる。