電子情報通信学会 2007年 暗号と情報セキュリティシンポジウム(SCIS2007) (Jan. 23-26, 2007)

All rights are reserved and copyright of this manuscript belongs to the authors.
This manuscript have been published without reviewing and editing as received from the authors: posting the manuscript to SCIS 2007 does notprevent future submissions to any journals or conferences with proceedings.

SCIS 2007
The 2007 Symposium on
Cryptography and Information Security
Sasebo, Japan, Jan. 23-26, 2007
The Institute of Electronics,
Information and Communication Engineers

P2P ファイル交換ソフトウェア環境を対象とした観測に関する一考察
Feasibility Study for the observation of P2P file exchange environment
寺田真敏*
Masato Terada鵜飼裕司†
Yuji Ukai

金居良治†
Ryoji Kanai

土居範久**Norihisa Doi

あらまし P2P（Peer to Peer）ファイル交換ソフトウェア利用が広がる中，その利用実態に関する調査報告は数少ない．本調査研究の目的は，P2P ファイル交換ソフトウェア環境の利用実態に関する具体的な調査方法を示すこと，その方法に基づき調査した結果を示すことで，調査手法の有効性を示すと共に，P2P ファイル交換ソフトウェア環境の利用実態に関する調査活動を支援することにある．本稿では，P2P ファイル交換ソフトウェア環境の調査研究事例として，Winnybot と呼ぶツールを用いて収集したデータを元に Winny 稼動ノード数，ファイルのプロパティが格納されている Winny のキー流通量について報告する．
キーワード P2P，ファイル交換ソフトウェア，観測，Winny1

はじめにP2P（Peer to Peer）ファイル交換ソフトウェア利用が広がる中，その利用実態に関する調査報告は数少ない．
この背景には，P2P ファイル交換用ソフトウェアが水平型の広域ネットワーク構成をとること，固定ポート番号を利用した通信ではないこと，実態把握に必要となる手法が確立していないことなど，調査活動を阻む壁が多いことにも起因していると思われる．
本調査研究の目的は，P2P ファイル交換ソフトウェア環境の利用実態に関する具体的な調査方法を示すこと，その方法に基づき調査した結果を示すことで，調査手法の有効性を示すと共に，P2P ファイル交換ソフトウェア環境の利用実態に関する調査活動を支援することにある．
本稿では，調査研究の事例として，Winnybot [1]と呼ぶツールを用いて収集したデータを元に Winny 稼動ノー
ド数，ファイルのプロパティが格納されている Winnyのキー流通量について報告する．
なお，本調査事例は，社団法人コンピュータソフトウ
ェア著作権協会から「Winnybot を用いた Winny ネットワークの調査」の依頼を受け，提供された観測データを元に中央大学において調査作業を実施した．

* 中央大学研究開発機構, 〒112-8551 東京都文京区春日 1-13-27,
Research and Development Initiative Chuo University, 1-13-27
Kasuga, Bunkyo-ku, Tokyo, 112-8551 Japan.
** 中央大学大学院 理工学研究科, 〒112-8551 東京都文京区春日1-13-27, Graduate School of Science Engineering, Chuo
University, 1-13-27 Kasuga, Bunkyo-ku, Tokyo, 112-8551 Japan.
† eEye Digital Security, 1 Columbia, Aliso Viejo, California 92656,
United States

2

関連研究

本章では，P2P ファイル交換ソフトウェア環境の観測対象と，観測対象に関して，これまでに報告されている関連研究ならびに調査報告について述べる．
(1) トラフィック
NetFlow を用いて一日当たりのユーザの送受信トラフィック量を測定した文献 2) (調査時期： 2004 年 4，5，10 月，2005 年 2，7 月)によれば，1 日当たり 2.5GB 以
上のトラフィックを発生させているヘビーユーザは一定割合で存在し，少数のヘビーユーザが帯域を使用している．また，データセンタからユーザへのトラフィックは16.7%，ユーザ間トラフィックは 62.2%であり，ポート番号 1024 以上のトラフィックが 82%を占めていることから，P2P によるトラフィックが帯域を占めている可能性を示唆している．しかし，NetFlow はポート番号レベルのトラフィック量測定に留まり，P2P によるトラフィックの断定まではできない．文献 3) 4) では，トラフィックが P2P であることを判定するため，トラフィックの特徴量やピア間通信のサーバ／クライアント関係を用いたトラフィックの特定方法を提案している．
(2) ノード数
全ノード数把握が困難な Winny ネットワークの規模を推定するため，文献 5) では，実測定によって得られた Winny の通信データをもとにコンピュータシミュレーション実験を行い，Winny ネットワークの規模推定する方法を提案している．また，文献 6) (調査時期： 2006
年 8 月)では，独自の手法を実装した 11 台の観測装置によって得られた Winny ノード情報から一意なノードを電子情報通信学会 2007年 暗号と情報セキュリティシンポジウム(SCIS2007) (Jan. 23-26, 2007)算出し，“平日で 39 万から多い日では 41 万，土日になると 43 万から 44 万以上のノード数”を Winny ノード数の推移として報告している．
(3) コンテンツの流通状況
文献 7) (調査時期： 2006 年 6 月)では，約 18,000 名からのアンケート調査結果に基づき，ファイル交換ソフ
トウェアの利用者推計値は 176 万人で，音楽，映像などのファイル交換に利用されていると報告している [8]．
また，文献 9)(調査時期： 2003 年 4 月)では，WinMX，Gnutella，Winny を対象としたコンテンツ分析を行なっており，Winny では，全ファイル数が 23 万，ファイルサイズが約 63MB，avi や mpg などの動画像，zip や rarといった圧縮ファイルが流通していることを報告している．

3

Winny ネットワークの観測環境

本章では，社団法人コンピュータソフトウェア著作権協会が調査にあたり稼動させた Winny ネットワークの観測環境について述べる．

ファイルのプロパティが含まれているキー情報を網羅的に収集する．また，データベース格納スクリプトは，観測エンジンが収集したキー情報を定期的にデータベースに格納する．
表 1 にキー情報として観測可能な項目を示す．なお，観測エンジンは，キー情報以外に Winny ノードの参照関係のプロパティが含まれているノード情報の収集機能も備えているが，本調査では，キー情報のみを使用した．

3.3

本調査に用いた Winny ネットワークの観測環境は，観測ツール Winnybot が搭載された 9 台の観測装置（装置名 M1 から M9）から構成されている．各観測装置のデータ収集性能については，観測期間中の 1 時間あたりのプライマリキー平均収集件数を用いて示す（図 2）．
また，図 2 には観測エンジンが収集するデータ重複度を示すため，1 時間あたりに収集した一意なプライマリキーの平均収集件数を併記した．

4
3.1

用語定義

観測環境ならびに，調査結果の報告に先立ち，本稿で使用する用語を説明する．
ノード
IP アドレスを用いた Winny ノードの識別子であり，Winny ノード数算出に使用する．
プライマリキー“IP アドレス＋ポート番号＋ファイルのハッシュ値”から構成したキーの識別子であり，本稿ではWinny ノードを加味したファイルの識別子としても使用する．キーならびにファイルの流通量算出に使用する．
ハッシュキー
ファイルのハッシュ値を用いた識別子であり，本稿では重複のないファイル数，すなわち，一意なオリジナルファイル数の算出に使用する．
仮想キー
仮想キーは Winny で定義された用語であり，キーの拡散や検索クエリによって取得したキーをWinny ノード内に持っているが，対応するキャッシュファイル（キャッシュブロック保有率が 0%）を持たないキーのことである．

3.2

観測ツール Winnybot

Winny ネットワークの観測に利用された観測ツール
Winnybot のモジュール構成を図 1 に示す．観測エンジンは，Winny ネットワーク上のいずれかのノードに接続した後，拡散クエリ送信要求（コマンド 0x0A）を送信し，クエリ送信（コマンド 0x0D）を受信する操作を繰り返すことで，Winny ネットワーク上で交換されている調査に用いた観測環境

Winny ネットワークの調査

本章では，前述の観測環境を用いて調査した Winny稼動ノード数，ファイル数，ファイルサイズとキー流通量について述べる．

4.1

調査方法

(1) 観測期間
2006 年 10 月 6 日(金)～10 月 15 日(日)の 10 日間

W in n y
ネ ッ トワ ー ク

観測ツール
W in n y b o t

観測エンジンノー ド情報

キー情報

データベ ース
格 納 スクリプト

データベース

図 1 観測ツール Winnybot のモジュール構成
表 1 キー情報として観測可能な項目
項目
キーの IP アドレス
キーのポート番号
BBS スレッド管理ノードの IP アドレス
BBS スレッド管理ノードのポート番号
ファイルサイズキー更新日時被参照ブロック数
キー消滅判定タイマー
ファイルのハッシュ値
トリップ情報電子情報通信学会 2007年 暗号と情報セキュリティシンポジウム(SCIS2007) (Jan. 23-26, 2007)

件数(万件)
90
80
プライマリキーの平均収集件数/時間70
一意なプライマリキーの60
平均収集件数/時間
50
4030
20
100
M1 M2 M3 M4 M5 M6(2) 一意なオリジナルファイル数
Winny ネットワーク上に存在する一意なオリジナルファイル数については，表 1 の“ファイルのハッシュ値”を観測項目とし，24 時間を単位時間として，単純総計と累積総計との観測件数の収束状況から算出した．

件数(万件)
9,000
8,000

M7M8M9

図 2 各観測装置のデータ収集性能

7,000
6,0004.2

調査結果(1) Winny ノードの稼動数
Winny ノードの稼動数については，表 1 の“キーのIP アドレス”を観測項目とし，24 時間を単位時間として，単純総計と累積総計との観測件数の収束状況から算出した．なお，単純総計のプロットにあたっては，各観測装置のデータ収集性能を考慮し，収集能力の高い装置
M9 から M1 の順に一意なノード数の加算を行なっている．
収束判定の結果を図 5 に示す．これによれば，Winnyノードの稼動数は，1 日あたり約 35～40 万ノードである．また，単位時間を 3，6，12，24 時間に変えた場合，ノード数の収束件数は，ほぼ線形に増加していることがわかる（図 6）
．

10/15

10/1410/1310/1210/1110/10

10/910/8

10/7

5,00010/6(2) 観測装置
観測期間中，4.3 節に示す 9 台の観測装置が常時稼動し，Winny ネットワーク上で交換されているファイルのプロパティが含まれているキー情報の収集が行われた．
提供された観測データは，平均 7,100 万件／日，計約 7億件のキー情報である（図 3）．
(3) 推定方法
Winny ノードの稼動数，キーならびにファイルの流通量算出にあたっては，単位時間に，観測装置台数の増加に伴って発生する一意な観測件数の収束状況を用いて算出した．ここで単位時間とは，観測件数の集約期間である．例えば，単位時間が 24 時間の場合，24 時間の間に観測したデータ全体を算出対象とすることを意味する．
単位時間 24 時間とした Winny ノードの稼動数算出を例にとると，24 時間の間に観測したデータ全体を対象に，観測装置毎に観測した一意なノード数を足し合わせた総計（以降，単純総計と呼ぶ）と観測装置全体で観測した一意なノード数の累積（以降，累積総計と呼ぶ）とを組合せることで，ノードの一意な観測件数の収束状況を得て，その収束点を Winny ノードの稼動数とする．すな
わち，単純総計に対して累積総数が収束した件数がWinny ノードの稼動数，キーならびにファイルの流通量となる（図 4）．

図 3 観測期間中のキー観測総数

単純総計
件数

重 複 した
観測件数
累積総計

一 意 な観 測 件 数(＝ 観 測 値 )装 置 数 （単 純 総 計 ）

図 4 単純総計と累積総計とを用いた収束判定
ノード数累積総計(万ノード)
454035302520151050050100

2006/10/10
2006/10/11
2006/10/14
150200250
ノード数単純総計(万ノード)

図 5 キー情報から算出した Winny ノード数
ノード数累積総計(万ノード)
50403020

ノード累積総計
線形 (ノード累積総計)

1000510152025単位時間(時間)図 6 単位時間毎の Winny ノードの累積総計

電子情報通信学会 2007年 暗号と情報セキュリティシンポジウム(SCIS2007) (Jan. 23-26, 2007)

4.3

考察

(1) 観測装置の観測網羅性
Winny ノードの稼動数（図 5），Winny ネットワーク上に存在する一意なオリジナルファイル数（図 7）とプライマリキーの流通量（図 11）のいずれも，単純総計と累積総計の近似曲線が装置台数増加と共に収束していることから，複数の観測装置による観測網羅性は高いと判断できる．

ハッシュキー累積総計(万600件
500400300

2006/10/10200

2006/10/11100

2006/10/14

00500

1,000
1,5002,000
ハッシュキー単純総計(万件)

図 7 ハッシュキーの累積総計（24 時間）
ファイルサイズ累積総計(兆バイト)
3503002502002006/10/10
2006/10/11
2006/10/14

150
10050
002,0004,0006,000
ハッシュキー単純総計(万件)

図 8 ファイルサイズの累積総計（24 時間）>10GB<1GB<100MB<10MB<1MB<100KB

<10K

<1KB

<100B

ファイル数(万件)140
2006/10/10(24時間)
120
2006/10/11
1002006/10/14
80
2006/10/10（3時間)60
40
200<10B

収束判定の結果を図 7 に示す．これによれば，Winnyネットワーク上に存在する一意なオリジナルファイル数
は 1 日あたり約 450 万～500 万ファイル（平均すると約470 万ファイル）である．
(3) 総ファイルサイズ
Winny ネットワーク上に存在する一意なオリジナルファイルの総ファイルサイズについては，表 1 の“ファイルのハッシュ値”とファイルのハッシュ値に対応する“ファイルサイズ“を観測項目とし，24 時間を単位時間として，ハッシュキーによる単純総計と，ファイルサイズによる累積総計の収束状況から算出した．なお，表 1で得られるファイルサイズがマイナスの場合には除外し，それ以外については正しい値であると仮定し算出している．収束判定の結果を図 8 に示す．これによれば，Winnyネットワーク上に存在する一意なオリジナルファイルの総ファイルサイズは，1 日あたり平均すると約 290 テラバイトとなる．また，オリジナルファイル数が 1 日あたり約 470 万ファイルであると仮定すると，平均ファイルサイズは，290 テラバイト÷470 万ファイル＝約 61 メガバイトとなる．なお，ファイルサイズの分布は，図 9に示す通り，1M バイト以上 10M バイト以下のファイル数が多い．
(4) プライマリキーの流通量
プライマリキーの流通量は，Winny ネットワーク上のファイル交換に関与するキー情報の流通量であり，仮想キーと Winny ノードがキャッシュブロックを保有するキーの総計である．ここで，キャッシュブロックを保有するキーには，キャッシュブロックが完全には揃っていない状態のファイルである部分キャッシュ，キャッシュブロックが全て揃ったファイルである完全キャッシュとアップロードフォルダに格納されているファイルに関するキーが存在する．
Winny ノードを加味したファイル識別子であるプライマリキーの流通量については，表 1 の“キーの IP ア
ドレス＋キーのポート番号＋ファイルのハッシュ値”を観測項目とし，6（18 時～24 時），24 時間を単位時間として，単純総計と累積総計との観測件数の収束状況から算出した．収束判定の結果を図 10，図 11 に示す．
この収束結果によれば，1 日あたりの一意なプライマリキー（＝仮想キー＋Winny ノードがキャッシュブロックを保有するキー）の流通量は，平均すると約 3,400 万件である．また，単位時間を 3，6，12，24 時間に変えた場合，プライマリキーの流通量は，ほぼ線形に増加しており（図 12），単位時間 12 時間以降は，約 40%が重複観測データであることがわかる（図 13）．

図 9 ファイルサイズの分布（24 時間）
プライマリキー累積総計(万件)
1,400
1,200
1,000
800
600

2006/10/10400

2006/10/11200

2006/10/14

00500

1,000
1,500
2,000
プライマリキー単純総計(万件)

図 10 プライマリキーの累積総計（6 時間）

電子情報通信学会 2007年 暗号と情報セキュリティシンポジウム(SCIS2007) (Jan. 23-26, 2007)
プライマリキー累積総計(万件)
4,000
3,500
3,000
2,500
2,000

2006/10/10
2006/10/11
2006/10/14
多項式 (2006/10/14)

1,500
1,000500
00

2,000

4,000

6,000
8,000 10,000
プライマリキー単純総計(万件)

図 11 プライマリキーの累積総計（24 時間）
プライマリキー累積総計(万件)
4,000
3,500
y = 1,226,406 x + 4,704,237
3,000
2,500
2,000
1,500
1,000
500
00510152025
単位時間(時間)

累積総計／単純総計比率

図 12 単位時間毎のプライマリキーの累積総計
100%
80%

調査期間中に，参照ノードの情報を保有する仮想キーは 1,047 件 [＊] の観測され，そのうち 97%が単位時間
24 時間の出現頻度は 1 回であった（図 15）．隣接時間
帯とは，4 時ならびに 5 時という隣り合った時間帯に観測されたことを意味し，この観測件数も含めると 99%が単位時間 24 時間の出現頻度は 1 回である．
これに対し，キャッシュブロックが保有されているプライマリキーは単位時間 24 時間に複数回出現する傾向が見られた．図15 の結果と仮想キーの生存期間 [**] とを考慮すると，単位時間 24 時間に 1 回しか観測できなかったプライマ
リキーは，キャッシュブロックが保有されたプライマリキーの可能性は低く，キー転送のみに関与している仮想キーであると推定できる（表 2）．
単位時間あたりのプライマリキー出現回数の結果を
図 16，図 17 に示す．出現頻度 1 回の割合は，単位時間が長くなるにつれ減るものの，プライマリキー全流通量の約 70%前後とほぼ一定している．
表 2 に基づき推定すると，出現頻度 2 回以上のプライマリキー，すなわち，キャッシュブロックが保有されているプライマリキーは約 1,100 万件となり（図 18），Winnyネットワーク上には約1,100万ファイルが存在していると推定される．平均ファイルサイズを 61 メガバイトとすると，61 メガバイト×1,100 万ファイル＝約670 テラバイトが Winny ネットワーク上に存在していることになる．

60%

プライマリキーの累 積 総 数 （上 限 ）

40%

キ│
数

20%
0%
051015

仮 想 キ ーの 流 通 量

推定値

2025
単位時間(時間)

図 13 単位時間毎のプライマリキーの累積総計／単純総計の比率
また，この調査結果から，プライマリキーの流通量については，毎時 60 万キーを収集する観測装置（例えば，M7，M8，M9）を 3 台用意すれば全流通量の約 70%（＝2500 万÷3400 万）をカバーでき，ファイル交換の状況を十分に把握できると思われる．
(2) Winny ノードが保有するファイル数
調査結果に基づき，Winny ノードが保有するファイル数を推定する．Winny ノードが保有するファイル数の推定にあたっては，上限（単位時間あたりの一意なプライマリキーの流通量）と下限（単位時間あたりの一意なハッシュキーの流通量）を設定できる．すなわち，実際に保有されているキャッシュブロックに関わるプライマリキーの流通量は上限と下限の間に位置し，プライマリキーの全流通量から仮想キーの流通量を差し引けば推定できる（図 14）．そこで，本調査では，参照ノードとして用意した Winny ノードの情報を保有する仮想キーの出現頻度から仮想キーの流通量を推定した．

ハ ッシュキーの累 積 総 数 (下 限 )装置数

図 14 流通量の上限と下限

2%

0%

1%

仮想キー
1回出現
仮想キー
2回以上出現(隣接時間帯)
仮想キー2回以上出現
上記以外
97%

図 15 参照ノード情報を持つ仮想キーの出現頻度) 同一時間帯（一時間以内）に同一の仮想キーが複数観測された場合には，一件とカウントしている．
**) 表 1 のキー消滅判定タイマーフィールドに格納された値であり，初期値は 1,500 秒．
＊

電子情報通信学会 2007年 暗号と情報セキュリティシンポジウム(SCIS2007) (Jan. 23-26, 2007)

表 2 仮想キーの判定条件
判定条件
単位時間 24 時間にプライマリキーを 1 回しか観測できなかった場合
上記以外

推定結果
左記出現頻度のプライマリキーは，キャッシュブロックが保有されたプライマリキーである可能性は低く，単にキー転送のみに関与している仮想キーであると推定される．
キャッシュブロックが保有されたプライマリキーの可能性があると推定される．

プライマリキー累積総計(万件)
3,500
3,000
出現3回以上
2,500
出現2回
2,000
出現1回
1,500
1,000
500
0
3612

24単位時間(時間)

図 16 プライマリキーの出現回数
出現比率
100%

ルのプロパティが格納されている Winny のキー流通量を推定した．
Winny ノードの稼動数は，1 日あたり約 35～40 万ノードである．
Winny ネットワーク上に存在する一意なオリジナ
ルファイル数は1 日あたり約450 万～500 万ファイルである．
本稿が P2P ファイル交換ソフトウェア環境の利用実態に関する調査活動の参考になれば幸いである．今後の課題は，P2P ファイル交換ソフトウェア環境を対象とした定常的な観測手法の確立と，ノード数や流通量推定に関する手法の改善などが挙げられる．
謝辞
本調査研究は，社団法人コンピュータソフトウェア著作権協会の支援を受け実施した．本調査を進めるにあたり，有益な助言と協力を頂いた社団法人コンピュータソ
フトウェア著作権協会ならびに、関係者各位に深く感謝致します．

参考文献

80%
60%
出現3回以上
出現2回
出現1回

40%
20%
0%
361224単位時間(時間)

図 17 プライマリキーの出現比率
プライマリキー件数(万件)3,500
プライマリキー累積総計
プライマリキー推定総計
ハッシュキー累積総計

3,000
2,500
2,000

仮想キー
1,500
1,000
500
00

510152025単位時間(時間)

図 18 プライマリキーの累積総計と推定総計

5

おわりに

本稿では，調査研究の事例として，Winnybot を用いて収集したデータを元に Winny 稼動ノード数，ファイ[1] 鵜飼裕司, “Inside Winny ～ Winny の解析とそのセキュリティ脅威分析”，https://sec.scs.co.jp/eeye/shiryo.html[2] 福田健介，“ブロードバンドトラフィック分析”，
http://www.ndrc.kyutech.ac.jp/interop06/[3] 大坐畠智 他，“パッシブ/アクティブ検知を用いたP2P トラヒック特定法”，情報処理学会研究報告 分散システム／インターネット運用技術 Vol.2005 No.31[4] 松田崇 他，“P2P 弁別のためのトラヒック特徴量の提案”，電子情報通信学会技術研究報告 Vol.105,No.12 (2005)[5] 蜂須賀大紀 他，“ピュア P2P ネットワーク構成ピア数推定法の一検討”，電子情報通信学会技術研究報
告 Vol.105, No.12（2005）[6] NetAgent，“Winny ノード数の推移”，
http://www.onepointwall.jp/winny/winny-node.html[7] 社団法人コンピュータソフトウェア著作権協会，“「ファイル交換ソフト利用実態調査」結果発表”(2006/7/25)，http://www2.accsjp.or.jp/topics/release1.html[8] 社団法人コンピュータソフトウェア著作権協会，“「Winny」による被害相当額”(2006/11/28)，
http://www2.accsjp.or.jp/news/release061128.html[9] 大井恵太 他，“P2P ファイル共有におけるコンテンツ分析”，情報処理学会研究報告 マルチメディア通
信と分散処理 Vol.2003 No.87