1. はじめに

 Shareと呼ばれるP2P型ファイル交換・共有システムがここ二年ほどで急速に普及し、Winnyについで第2の巨大P2Pネットワークを構成している事は皆様もご存知かと思います。以前、ネットワーク脆弱性スキャナ「Retina」(http://www.scs.co.jp/eeye/)にWinnyの検出機能を実装致しましたが、同様にShareの検出機能も実装して欲しいという強い要望を日本の皆様から頂いておりました。このためには、Shareを解析せねばなりません。

 どうせShareを解析するならば、利用されている暗号アルゴリズムやプロトコルを詳細に解析し、現在日本で大きな社会的問題となっているShareネットワークでの情報漏えい問題に何か手を打てればと思い、年明けからShare EX2の解析に着手しました(以降、「Share」 = 「Share EX2」とする)。この甲斐あって、RetinaのShare検出機能の実装、および、Shareネットワーク内のファイルとその所在を列挙する「Shareネットワーク可視化システム」の試作が完了しました。今回は、Retinaに実装したShareの検出アルゴリズム、および、Shareネットワーク可視化システムの詳細な仕組みと実装についてお話ししたいと思います。なお、解析に際しては十分な資料が無かったため誤りがあるかもしれません。もし誤りを発見された方がおられましたら、是非教えて頂ければと思います。

画面1. Shareネットワーク可視化システムのインタフェース
webインタフェースにて、ファイル名の一部、あるいは特定ファイルのハッシュを入力すると、該当ファイルを所有するノード一覧を表示する。また、指定されたIPアドレスのノードが所有するファイル一覧も表示する事ができる。