ニュース
» 2004年02月26日 19時42分 UPDATE

「Winnyが解読できるのは分かっていた」 〜ネットエージェント社長

違法ファイルユーザーの信じた“神話”は、ついに崩壊したと言えるかもしれない。匿名性の高さから“悪用しても身元がばれない”と言われてきた「Winny」の暗号が、解明された――と発表されたからだ。発表したのは、ネットエージェント。同社社長に、話を聞いた。

[杉浦正武,ITmedia]

 違法ファイルユーザーの信じた“神話”は、ついに崩壊したと言えるかもしれない。匿名性の高さから“悪用しても身元がばれない”と言われてきたP2Pファイル交換ソフト「Winny」の暗号が、2月17日に解明された――と発表されたからだ。解読したのは、ネットワークセキュリティの専門企業である、ネットエージェントだ。

 同社は今年1月から特定アプリケーションの通信を排除する“単機能ファイアウォール”「One Point Wall」を販売しているが、Winny解読に成功したことから、今後、この製品ラインアップに「One Point Wall Winny」を追加するという。同社の杉浦隆幸社長に、Winnyの技術上の特徴と、それを解読するまでの経緯などを聞いた。

Photo ネットエージェントの杉浦社長。「これで『企業が止めたいアプリケーション』は一通り止められるようになった」

Winnyが止めにくかった理由

 ネットエージェントは、企業や大学などで“Winnyをストップする”という観点から、製品の開発を進めていた。しかし、Winnyの仕様上、それはさほど簡単ではなかった。

 一つの理由として、Winnyではポートレベルの利用制限をかけにくいことが挙げられる。「Winnyでは、デフォルトポートがクライアントのインストール時にランダムに決定される。こうしておいて、Winny同士で一時ポート(エフェメラルポート)を利用した通信を行う」(杉浦氏)。

 このため、Winnyで利用するポートだけを区別し、ふさぐことが難しい。同じP2Pファイル交換ソフトでも、WinMXの場合、デフォルト設定ではダウンロードでTCPポート6699番、検索でUDPポート6257番を固定で利用するため、同ポートを制限することである程度コントロールできるのとは対照的だ。

 従来でも、Winnyの利用制限は行われていたが、それは“無効なSYNパケットが多い”といったトラフィックパターンから、Winnyの通信かどうかを判断、制限するものだった。Winnyではまた、特定サイズの暗号化通信が連続するため、パケットのサイズを見て区別することも考えられる。ただし、こうした手法では当然ながら「誤検知の可能性がある」(杉浦氏)。

 このためネットエージェントでは、やはりWinnyの暗号化を解いて、流れているパケット自体を解析する必要があると判断。今回、その解読に成功して「パケットのデータ構造、Winnyヘッダを明らかにした」という。

解析の手法とは?

 実は、昨年の段階でネットエージェントは、ある程度までWinnyの解析に成功していた。同社が2003年10月27日に行った講演の資料(同社サイトにて公開中)には、Winnyの初期ノードのIPアドレスが掲載されている。

 初期ノードとは、WinnyをダウンロードしたユーザーがP2Pネットワークに参加するため、最初に接続しにいくノードを指す。Web上で、しばしば「@cb18d3a7c67c5c0ccb5752d6cdfe2435a1155619」といった具合に暗号化されて公開されているが、これを219.104.XXX.XXX……といったIPアドレスへと変換できていたわけだ。

 杉浦氏は、Winnyの通信内容を調べた結果、それほど複雑な暗号化が行われていないことが分かっていたと話す。

 「あまり詳しいことをいうと、後から解析して問題を起こす人間が出ても困るので、詳細はいえない。ただ、通信のやり取りを見ていて、これなら解けると考えた」。

 具体的な手続きとしては、「Winnyクライアントという、『暗号データを復号化する存在』がPCにある以上、その処理を追いかけていっただけ」……という。

 「パケットを解析しつつ、試行錯誤してデータを逆アセンブルしていった」(同氏)。結果、Winnyの暗号化は既存のアルゴリズムを利用したもので、「全く複雑ではなかった」という。

Photo Winnyのパケットを解析したところ(クリックで拡大)

 上図が、平文となったパケットの中身だ。IPアドレス(一部モザイクがかかっている)が明らかになっているほか、各ユーザーが設定した3つのクラスタキーワード(=利用者が設定する“好み”を示す単語)も見えている。

 ユーザーがWinnyの掲示板で、どのスレッドを閲覧したかも分かる。杉浦氏は、一番重要なのはユーザーがどのような子ノードを連れてきたか分かることだと話した。

 なお、この作業には「1年ほど前から取り組んでいた」と杉浦氏。ただし、解読のめどがついたのは3カ月前のことで、それから「通常業務もあるので、時間を見つけながら」実働1週間ほどで解明に成功したという。

何ができるのか

 Winnyの特徴は、暗号化だけではない。断片化されたデータを、第3者を介在させながら次々と伝送していくという、通信の流れ自体も大きな特徴となっている。

 杉浦氏は、1個のパケットを見て、どこから来たものか解析することはある程度可能だと話す。「たどっていけば、1次配布先も分かるだろう」(杉浦氏)。こうなると、違法ユーザーの特定も可能になるわけだ。

 ただ、現状ではより“上流”を特定するようなプログラムは作っていない。

 「One Point Wallの目的は、通信を解析して止めること。何も、違法ユーザーを追及しようとは思っていない」というのがその理由。ネットエージェントとしては、企業などでのアプリケーション利用を封じ込められれば、それでよしとするようだ。

 今後は、企業のみならず、学生のP2P利用が指摘されている大学(記事参照)などでもOne Point Wallが導入され、Winnyの利用が不可能になるかもしれない。もっとも、一般ユーザーが各家庭でWinnyを利用することまでは、止めることはできないだろうと、杉浦氏。

 とはいえ、“匿名性”というメリットを事実上はがされたWinnyが、ユーザーから今後どのような評価を受けるのかは、注目されるところだ。

Copyright© 2016 ITmedia, Inc. All Rights Reserved.