2008年9月10日にP2Pソフトに関するセキュリティ・セミナーが開催された。WinnyをはじめとするP2Pソフトの技術や動作を知り,ネットワーク・トラフィックの削減など,P2Pソフトを有効に活用できないかを検討するのが目的である。いろいろな調査,解析の結果,P2Pソフトの挙動がわかってきた。

 2008年9月10日,セキュリティ・セミナー「P2Pの現状 ~Winnyの解析とP2Pノードの見せる化~」が開催された。安心・安全インターネット推進協議会のP2P研究会の主催である。安心・安全インターネット推進協議会は,通信事業者やセキュリティ・ベンダー,インターネット・ビジネス関連企業などで構成される業界団体。インターネットの安全な活用を促進するため,セキュリティ上の問題を検討している。セミナーでは,通信事業者やセキュリティ研究者が,P2Pネットワークをさまざまな切り口で可視化する試みが披露された。

 まず同研究会で主査を務めるNTTPCコミュニケーションズの小山覚氏が開会のあいさつとして「P2Pネットワークの技術的な問題点」を指摘した。基調講演として,協議会のオブザーバでもある総務省が「P2P技術の利用推進に関する同省の取り組み」について語った。「管理機能を持たせたP2P技術の活用が,増え続けるネットワーク・トラフィックの低減に役立つのではないか」というのだ。

「P2P技術の“前向き”な活用方法を探る」

1日のノード数,Winnyは20万,Shareは22万……クロスワープ

写真1●クロスワープの宮川雄一コンテンツセキュリティ事業部長
写真1●クロスワープの宮川雄一コンテンツセキュリティ事業部長
[画像のクリックで拡大表示]
 クロスワープの宮川雄一コンテンツセキュリティ事業部長(写真1)は「P2Pの現状 ~Winny,Shareネットワーク状況調査報告~」と題して,P2Pファイル共有ソフトのネットワークについて調査結果を披露した。

 クロスワープは,コンテンツ・ホルダー向けにインターネット上の著作権侵害監視サービスなどを提供しており,P2Pネットワークを継続的に監視している。WinnyとShareに関しては,調査データを日次で同社のWebサイトに公開している。

 今回の調査対象はWinnyとShareのネットワーク。2008年8月に,両ソフトの接続ノード数,流通ファイル数やその内容を調べた。宮川氏によると,WinnyとShareの調査には3つの問題があるという。(1)プロトコルが非公開であること,(2)ファイルの収集が難しいこと(3)ネットワークの構成要素が動的に変化することだ。

 クロスワープでは,これらの問題を解決しながら調査を進めていった。(1)の関しては,フォティーンフォティ技術研究所によるWinnyとShareのプロトコル解析結果を利用した。解析結果を基に,独自の機能を追加してP2Pネットワーク調査用のクローラを開発したという。

 (2)のファイルの収集が難しい原因は,「P2Pではやりとりされているファイルのサイズが大きいので,全ファイルを収集するわけにはいかない。また,ファイルを集めただけで著作権侵害になる危険性がある」(宮川氏)とする。サイズの問題については,先にP2Pネットワークでやりとりされているファイル情報が記録してある「キー情報」だけを集めることで対処した。キー情報は,非管理型のP2Pファイル共有ソフトが一般に利用しており,サイズは本体に比べて格段に小さい。

写真2●クローラの仕組み
写真2●クローラの仕組み
[画像のクリックで拡大表示]
 キー情報には,ファイル名,ファイルのハッシュ値,ファイルを持っているノードの情報(IPアドレスやポート番号)などが含まれている。各ノードはこのキー情報を手がかりにファイルをやりとりする。キー情報を基にすれば,P2Pネットワークを構成するノードをクローラで巡回し,IPアドレスなどのデータを収集できるというわけだ(写真2)。

 その際,データ収集をいつまで続けるべきかの判断に工夫を要した。「巡回するクローラの数をだんだん増やしていくと,初めのうちはデータ収集効率が上がっていく。しかし,一定数に達したところでそれ以上パフォーマンスが出なくなる。その状態に達した時点で,P2Pネットワーク全体のノード情報を集めきったと判断する」(宮川氏)。

 P2Pでやりとりされているファイルの内容を調べるには,キー情報だけでなく,一定数のファイル本体をダウンロードする必要がある。クロスワープでは著作権の問題に配慮して,「ファイルをダウンロードする際には,ファイルの再公開や中継を防ぐ仕組みを取り入れた」(宮川氏)。

 具体的には,完全キャッシュ(ファイル)を保持しているノードからのみファイルを取得するようにした。部分キャッシュを持つノードに要求を送ると,ほかのノードからデータを取り寄せて中継してくれる。これがファイルの拡散につながる可能性がある。

 「そのノードが完全キャッシュを持っているか否か」はキー情報を定期的に観測することで判断した。「例えばWinnyの場合,初期設定でキー情報の保持時間は1500~1600秒程度と言われている。ノードがキー情報を書き換える確率は,完全キャッシュを持っている場合は100%だが,部分キャッシュの場合は持っているキャッシュ量に応じて4%から徐々に確率が高まっていく。24時間中10時間以上,あるキー情報からずっと同じIPアドレスが観測できた場合,そのIPアドレスのノードは高確率で完全キャッシュを保持していると推測できる」(宮川氏)。

 (3)のネットワークの構成要素が動的に変わる問題については,できるだけ短時間にP2Pネットワークの全容を把握してデータを収集することで対応した。P2Pネットワークに接続しているノードや流通ファイルの数と種類は常に変化するため,P2Pネットワークの全容をつかむのは難しい。そこで,クロスワープでは多数のクローラを並列で動かし,ネットワークが変わる前にデータを高速に収集した。