すぐに大量のコピーが作られてしまうので,どちらも不可能です。 公開したファイルを消せば,ほかのノードはファイルをダウンロードできなくなり,漏えいを止められそうです。でも,実際は,一度でもダウンロードされたファイルは,ファイルの公開をやめてもネットワーク上のどこかに残り,そこから再び漏えいが起こります。人気のファイルはダウンロードされた回数が多いので,半永久的に流通し続けてしまうでしょう。


図 Winnyで流出ファイルが拡散するしくみ [画像のクリックで拡大表示]

 そのカラクリは,Winnyがすべてのファイルをキャッシュ・ファイルの形でやりとりするところにあります。Winnyネットワークから見ると,あるユーザーがダウンロードしたあと,キャッシュ・フォルダに残っているキャッシュ・ファイルは,大もとの公開ファイルとまったく同じファイルに見えます()。

 あるユーザーが公開したファイルをほかのユーザーがダウンロードし終えると,その瞬間にWinnyネットワーク上ではファイルの配布元が二つにつ増えたことになります。人気のファイルになると,この連鎖がどんどん起こり,大もとのファイルの公開をやめても,そのファイルはWinnyネットワーク上に存在し続けるのです。

 このコピーの増殖と同時にファイルの在りか(アドレス情報など)が書かれたキーの書き換えも起こります。Winnyパソコンは,自分が持っているキーをほかのWinnyパソコンに渡すとき,キーに含まれるファイルのアドレス情報を自分のものに書き換えることがあります。こうなると,そもそもファイルを流出させたパソコンがどれかを特定することすら難しくなります。

 しかも完全なコピーを持っていないWinnyパソコンがキーを書き換えたときは,完全なファイルを持っているWinnyパソコンから足りない分(キャッシュ・ファイルの断片)を取り寄せつつ,要求があったWinnyパソコンにファイルを中継します。つまり,時間が経つにつれ,コピーが増殖し配布元を教えるキーの種類も増えるのです。


本記事は,日経NETWORK2006年5月号特集1『徹底解明 Winny&暴露ウイルス』に掲載した内容の一部をITpro向けに編集したものです