更新日:2009年6月8日
2008年12月12日に、社団法人コンピュータソフトウェア著作権協会からファイル交換ソフト利用実態の調査結果が公開されました。この調査結果の中で、「クローリング調査」によるWinny2、Shareなどのノード数、ファイル数が報告されています。HIRT-PUB09005では、ファイル交換ソフトにおける流通ファイル数の推定について紹介したいと思います。
ファイル交換ソフトには、ファイル交換ソフトが稼動するパソコン(以降ノード)やファイルの所在を中央サーバで管理する垂直型と、Winny、Shareのように中央サーバを用いない水平型があります。
水平型ファイル交換ソフトの場合、不特定多数のノードと通信する必要があることから、各ノードはなんらかの形で他ノードの情報(例えば、IPアドレスやポート番号)を保持している必要があります。また、ファイルをダウンロードするために必要な情報、すなわち、ファイルの所在を格納した情報を不特定多数のノードと通信をしながら取得しています。ファイル交換ソフトでよく耳にするキー情報とは、ファイルの所在を格納した情報を指しており、IPアドレス、ポート番号、ファイル名、ファイル本体から計算で算出されるハッシュ値(ファイル内容の識別情報であり、以降ハッシュ値と呼ぶ)などから構成されています。
水平型ファイル交換ソフトのファイルダウンロードは、検索要求を通してキー情報を取得します(図 1A)。キー情報に格納されているファイルの所在情報に基づき(図 1B)、ファイル保持ノードにダウンロード(図 1C)を要求するという流れになります。
図 1:キー情報を用いたファイルダウンロード
クローリングと呼ばれる調査を用いると、ファイル交換ソフトが稼動するノード情報(IPアドレス、ポート番号など)と、ファイルの所在を格納した情報(キー情報)を集めることができます。したがって、ある観測時間内に集めたノード情報を重複を省きながら累積していくことで、ある観測時間内に稼動していたノード量を推定できるわけです。また、キー情報のハッシュ値を重複を省きながら累積していくことで、ある観測時間内に流通していた一意なファイル数を推定することができます。 。
図2は、1時間毎にWinny2を対象としたクローリング調査で得られたキー情報のハッシュ値を重複を省きながら累積した件数の一日のグラフ(2008年9月1日)です。観測装置の台数を増やしていくとハッシュ数の増加分は少なくなり、累積の件数が収束しつつあることがわかります。図 2の右端の値は、1日という観測時間中に10台の観測装置が見つけた累積件数で、流通しているファイル数(5,184,873件)として使うことができます。このグラフから1日あたり約520万個の異なるファイルが流通していたことがわかります。この約520万ファイルという数値は、社団法人コンピュータソフトウェア著作権協会が報告した調査結果(表 1)とほぼ同じ値となっています。
図 2:Winny2のキー情報(ハッシュ値)を重複を省きながら累積したグラフ
Winny2 | Share | |||
---|---|---|---|---|
ノード数 | ファイル数 | ノード数 | ファイル数 | |
第6回(2007年) | 264,252 件 | 4,846,175 件 | 201,845 件 | 549,124 件 |
第7回(2008年) | 181,487 件 | 5,316,576 件 | 209,367 件 | 712,144 件 |
ここで、Winnypノード群の存在も加味したWinnyネットワーク上のファイル流通量について調査結果を紹介したいと思います。
HIRT-PUB08009において、Winnyネットワークは、Winnyノード群とWinnypノード群から構成されていることと、約1.1万のWinnypノード/日が稼動していることを報告しました。図 3にWinnypノードを対象にしたクローリング調査から、1時間毎にキー情報のハッシュ値を重複を省きながら累積した件数の一日のグラフ(2008年9 月1日)を示します。図 3の右端の値は、1日という観測時間中に9台の観測装置が見つけた累積件数(2,424,306件)で、このグラフから1日あたり約240万個の異なるファイルが出現したことがわかります。
図 3:Winnypノードを対象としたキー情報を重複を省きながら累積したグラフ
次に、Winny2クローリング調査とWinnypクローリング調査で重複するキー情報(ハッシュ値)を抽出し件数を積算したベン図が図4です。このことから、次のような知見を導くことができます。
図 4:Winny2/Winnypクローリング調査の流通ファイルの重複度
ノード数推定の場合には、パソコンをインターネットに接続した際に割り当てられるIPアドレスが接続毎に異なるなどが推定の変動要因となります。一方、ファイル数推定で使用するファイル本体から計算で算出されるハッシュ値は、ファイル毎に同一です。このため、ノード稼動に伴うファイルの出現、ノード停止に伴うファイルの消失が推定にあたっての大きな変動要因となります。この他にも、新たなファイルのアップロード、ファイルダウンロードを抑止する手法であるポリューションやインデックスポイズニングなどが、ファイル数推定に影響を与える要因となります。
ノードが稼動し始めると、そのノードが保持しているファイルがファイル交換ソフトによって構成されるP2Pネットワーク上に出現(キー情報の広報開始)します。一方、ノードが停止すると、そのノードが保持しているファイルがP2Pネットワーク上から見かけ上消失(キー情報の広報停止)しますので、ノードの稼動状態がファイル数推定に影響を与えることになります。
ファイル保持ノードからのファイルダウンロードを抑止するために、ファイル名を変更したファイル(メタポリューション)や、ファイル内容を差し替えたファイル(コンテンツポリューション)をアップロードする手法です(図 5)。ファイル内容を差し替えた場合には、新たなファイルハッシュ値が出現するため、ファイル数推定に影響を与える要因となります(図 7A) 。
図 5:ポリューション
ファイル保持ノードからのファイルダウンロードを抑止するために、実際にはファイルを保持していないノード(IPアドレスやポート番号)を格納したキー情報を配布する手法です(図 6、図 7B)。ファイルハッシュ値を変更した場合には、新たなファイルハッシュ値が出現するため、ファイル数推定に影響を与える要因となります(図 7C)。
図 6:インデックスポイズニング
図 7:ポリューションとインデックスポイズニング
本調査は、総務省から委託を受けた「ネットワークを通じた情報流出の検知及び漏出情報の自動流通停止のための技術開発」の成果の一部です。また、安心・安全インターネット推進協議会 P2P 研究会、社団法人コンピュータソフトウェア著作権協会、株式会社クロスワープ、株式会社フォティーンフォティ技術研究所、株式会社ラック、 NTTコミュニケーションズ株式会社、株式会社NTTPCコミュニケーションズ、株式会社インターネットイニシアティブ、株式会社セキュアブレインの協力により実施しました。
寺田/システム開発研究所、梅木/HIRT
グローバルサイン:
重要な電子文書にデジタル署名。広報にも役立っています