バグ有りWinnyとバグ無しWinnyはやはり区別すべきだと思う

(4/21 追記)

Winnyには、実装上の大きな問題があるという報告があります。Winnyユーザの方は、こちらをすぐ見てください→アンカテ(Uncategorizable Blog) - Winnyに実装上の欠陥あり!

(追記終わり)

私と高木浩光さんの間には、一致しそうにない大きな壁があるが、共有できる所もたくさんあると私は思っている。実際、これまで高木さんの書いたものでたくさん勉強させていただいたし、共感したことも多い。今回、批判された点の中にも、どうやっても一致しそうにない所とそうでない所がある。

そこで、まず、私が一致すると期待していたが一致しなかった点について。

もしWinnyバッファオーバーフロー脆弱性が発覚すると何が起きるかというと、破壊的ワームの登場によってWinnyネットワークは一旦壊滅状態となり、その後、そのワームを排除する「無視リスト」設定が周知されるか、もしくは、Winnyが使うポートに挟んで使用するフィルタが開発され配布されて、 Winnyネットワークは復旧するだろう。

Winnyバッファオーバーフロー脆弱性が発覚し、それを利用した破壊的ワームが出現してもそれは大きな問題にならないとおっしゃっている。

私はこれはそう簡単には収束しないと予想している。その理由は、「Winnyウィルス」という理解によって、多くのWinnyユーザが不感症になっているからだ。「また例の奴の変種が出ただけだろ」と考えて、「偽装実行ファイルをクリックしなければ安全」と考えるユーザが多いのではないかと思う。


Winnyユーザの中途半端で偏った知識レベルを想定してその行動を予想するのは難しいが、簡単に対策が周知徹底されるとは思えないのだ。まして、マスコミが「続出する情報流出はWinnyのせいだ」というキャンペーンをしているので、それが破壊的ワームの破壊力を正しく認識する妨げになっている。

だから、「現状の暴露ウィルスはユーザの関与を必要とするもので、そうでないタイプのウィルスが出現したら、警戒レベルを上げた別の対策が必要である」という啓蒙が必要だと考えている。現状で一番の潜在的リスクは、これをきちんと理解しているユーザが少なくて、万が一の時の対処が遅れることだと思っている。ただ、これをこのままの文面で正直に書いても、必要な所に広まるとは思えない。

Winnyが残したもので言いたかったことはたくさんあるが、その一つとして、こういう意味でWinnyユーザを啓蒙したいと思っていた。「Winnyにはバグがないから安全である」と言い切ることは、そのメッセージを最も効果的に広める方便でもある。「ソフトバグが無いとは言いきれない。もしあったら」という思考を喚起するのだ。その時これを信じてしまっても、万が一それが出現した時に、「essaの野郎に騙された。あいつはバグが無いと言ってたけどあったじゃないか、話が違うぞ、これはどういうことなんだ」と情報収集に走ることになる。

だから、高木さんに叩かれることはむしろ歓迎するのであるが、叩かれることで「現状の暴露ウィルスはユーザの関与を必要とするもので、そうでないタイプのウィルスが出現したら、警戒レベルを上げた別の対策が必要である」というメッセージがもっと広まることを期待していた。高木さんは、「Winnyには脆弱性があろうがなかろうが危険である」と主張されて、私のメッセージを打ち消していると思うのだが、私はやはり脆弱性関与の有無を区別することは重要だと考える。

私と高木さんでは、「脆弱性未発見で仕様通りに動作するWinny」についての見解が違う。それは確かである。しかし、「脆弱性未発見で仕様通りに動作するWinny」と「バグありWinny」の違い、差分についての見解は共有できるし共有すべきだと思う。

私は「脆弱性未発見で仕様通りに動作するWinny」に100点をつけて「バグありWinny」に50点をつける。高木さんは、「脆弱性未発見で仕様通りに動作するWinny」に-100点をつけて、「バグありWinny」には-150点をつけるかもしれない。評価は全く違うが、どちらの採点でも両者の得点差は50点で一致するはずだ。高木さんが「脆弱性未発見で仕様通りに動作するWinny」に何点をつけてもかまわないけど、「バグありWinny」には、それより悪い点をつけて、その違いをしっかりアピールすべきだと思う。

この点については、できればWinnyユーザの特性を考慮に入れた上で高木さんに再考していただき、見解を伺いたいと思う。

そして、上記エントリの主題である、もうひとつの論点、

どんなに正しい知識を持って注意していても人はミスをする。たった一度のミスでも、ウィニー・ネットワークに秘密を流出させてしまったら終わりだ。たとえ自分がウィニーを使わないようにしていても、他人が動かしているウィニーに接続してファイルを放流する悪質なウイルスが今後出てくる危険性もある。

Winnyネットワークを利用するウィルスが、Winnyと別ルートで広まりWinnyと無関係に動作し、Winny利用者以外から被害者が出る可能性」について。

これももちろん重要な指摘ではあるが、このタイプのウィルスが広まっても、ネット自体に致命的なダメージを与える可能性は少ない。そういう点では、脆弱性を利用した破壊的ワームより緊急度は低い問題だと思う。前者では被害者は流出させた本人のみであるのに対し、後者は、ネット全般に広汎なダメージを与える可能性があるからだ。

ただし、これは、Winnyネットワークの特性、つまり「ファイル放流装置」というものをどう評価するかという問題に関わっていて、私と高木さんの見解がまず一致しない部分である。

私は、「Winnyがどういう性質のプログラムなのか」という理解については、高木さんの書いたものを多いに参考にしている。Winnyに限らず、セキュリティ全般の問題について、その領域での仕事(技術的な問題を解説し啓蒙する)には敬服することが多い。そして、機会があれば、それを(自分の芸風を利用して)広めることに協力してきたつもりだし、これからも(明示的に禁止されない限り)そうするつもりだ。

しかし、「Winnyがどういう性質のプログラムなのか」という問題と、「その性質をどう評価するか」という問題は、関連しているが別の問題である。「Winnyの性質をどう評価するか」という点については、私は高木さんとほとんど逆の立場となる。私は「情報の非可逆的暴露装置」は人類にとって有用なものだと思っている。最初は漠然と思っていたことだが、高木さんの「ファイル放流装置」という説明で「Winnyがどういう性質のプログラムなのか」を明確に理解した時に、私の中にはっきり出てきた信念である。

そもそも、私は一度もWinnyを使ったことが無いし使っているのも見たこともない。Winnyについての私の主張は、かなりの部分が高木さんの記事を材料としてWinnyがどういうものか推測して書いているのである。

同じネットワークやコンピュータという装置を扱っている以上、それがどう動作しどういう結果を生むのかという点は一致できるし、不一致があればそれをどちらかの無理解であるとして正すことは期待できる(私と高木さんの間では、ほぼ一方的に私が教わるという形になるが)。しかし、それを人間系も含めた社会システムとして評価する時には、一致できない部分がどうしてもある。人間がからみ、全てを完璧に予測、制御できない以上、何を重視し何に力点を置いて考えるのかは、人の価値観に左右される。

Winnyについては、高木さんの説明を聞かなかったら、技術的な理解が不十分でポイントを得てないものであるために、その「社会システム」としての特性に気がつかずスルーしていたかもしれない。しかし、高木さんが何かを説明するたびに私の理解は深まり、「ファイル放流装置」は必要だという信念は明確になり強化されていくのである。

もちろん、Winnyという「情報の非可逆的暴露装置」には、副作用があるし欠陥もある。その有用性は副作用とのバランスで最終的には評価されるべきであり、その副作用があまりにも致命的ならばWinny自体が禁止されることもやむを得ないと思う。この点では、高木さんが言うように感情的に反発している部分もあるかもしれないし、

現在Winnyについて「大人の議論」を繰り返している人たちは、技術を理解していないオヤジ達によって不適切に広く「非倫理的プログラム」が定義され、法規制されることの有害性を憂慮してのことだろう。

ということも確かにある。

しかし、「Winnyネットワークを利用するウィルスが、Winnyと別ルートで広まりWinnyと無関係に動作し、Winny利用者以外から被害者が出る可能性」については、Winnyネットワークの問題でなく、ウィルスの問題であると考える。ウィルスの作成が容易なパソコンアーキテクチャやユーザの運用の問題である。ウィルスの問題は常時、注意喚起すべき問題であるが、ウィルスの悪と、それが利用するものの悪は、区別すべきである。「それが利用する」Winnyネットワークを副作用無しに除去できるならそうすべきであるが、私はせっかく稼働している「情報の非可逆的暴露装置」を失なうことは、致命的な副作用だと思う。

私が「情報の非可逆的暴露装置」を有用である必須のものであるとみなすのは、私の人間観や社会観から出てきているので変わることはない。その有用性を説くことも、よほどのことが無い限りやめないと思う。もちろん、自分の個人情報が流出してもその信念は変わらない。