5 : 04 超分散: Gnutellaの本質

← 5 - 03 p↑ もくじ i 5 - 05 n →

GreyMagic: Windowsのセキュリティホール

2002年 3月 6日
記事ID d20306

2002-04-02 追記: IE関連の現時点での最新パッチを適用したら、手元では、レジストリが初期状態のままでも(つまりレジストリをいじることなく)「電卓起動ハック」で電卓が起動しないのはもちろん、ActiveXに関する警告も出なくなりました。つまり、パッチの適用でこの問題が解決したように見えます。そんなわけで、まず最新パッチ(こちらのまとめをごらんください)をすべて適用して(これは、GreyMagic報告と無関係に必要なことですよね)、それで、以下の記事にある電卓のハックが起動しなくなったか、試してみてください。もしそれで起動しなくなるなら、わざわざレジストリをいじる必要もなくなる、というものです。もちろん、さらに念のために、と、いじってもいいのですが。

対策の効果を確認するために、初期状態は「電卓起動」が成功することを、いちど確かめておくと良いでしょう。

Windowsのコンポーネントを通して、ネットごしにあなたのローカルマシンのプログラムを起動するような、ちょっとしたハックというかいたずらが可能になります。本家MSIEはもとより、IEコンポーネントを使う多くのブラウザも影響を受けます。「古いバージョンには欠陥が」な話じゃなく「新しいやつにバグが見つかった」なパターンで、Windows 98, 2000, XP などで比較的、新しいコンポーネント(IE5.5、IE6.0)を入れてると関係するとのこと。IE5.5以上といったら実際には大半のWindowsユーザが該当するでしょう。

具体的には

最近「アクティブスクリプトを無効にしていてもスクリプトを動作させる」という非常に興味深いハックが話題になったりしてますが、Windows OS にまたその種の穴が見つかりました。ネット上からOSのコンポーネントを更新したりウィルススキャンをしたり、といったOSの一般向けの意味での「べんり」さと、この種の穴は、表裏一体という感じがします。問題の本質は、Windowsがローカルではデフォルトでほとんどすべてのコマンド(ユーザが直接指示した以外のアプリ間の通信を含む)を実行し放題であり、通常その設定を変える方法もない、という一般的傾向に関連しており、リモートコントロールにもかかわらず「これはローカルの文脈だ」とマシンをあざむくようなハックが見つかれば、リモートに対してどんなに厳しい制限を準備していてもすりぬけられてしまうわけです。今回はXMLコンポーネントでそういう問題が見つかったとのこと。XMLは「新しい、発展中の技術」=「発展途上の未熟な技術」だけあって、いろいろと実装上の穴が見つかってます。外部と内部の風通しをよくして「べんり」にしたいという思想と、外部と内部は厳格に遮断すべきだという思想のあいだのせめぎあいもあるでしょう。例えばインターネットに接続するのがものすごーーく大変だったら、一般的には受けないでしょうが、ネット接続が厳しく制限されていたらすごく「安全」です。「セキュリティホール、穴」と顔をしかめるけれど他方においては「簡単につなぎたい、簡単に自動アップデートしたい=風通しをよくしたい」と思っているのだから、そこにディレンマがあるのは明らかです。

まぁそんな一般論はともあれ、今回の問題と修正方法については「GreyMagic Software、XMLのセキュリティーホール対策情報を掲載 ~現在のところ、根本的な回避方法は見つからず~」に一般向けの、だいたいの雰囲気が書いてあります。セキュリティホール memo の情報、とくにmemo 3126の情報も、たいへん参考になります。Executing arbitrary commands without Active Scripting or ActiveX(JavaScript等もActiveXもオフであっても、任意のコマンドを実行できてしまう)がもとねたで、そこにデモもついています。例えば、ページを開くと、ローカルの電卓を起動

任意のコマンドといっても、パスが既知のexeファイルを起動できるだけで、いたずらとしてはすばらしいものの、本当に有害なことはできないかもしれません。とくにコマンドライン引数はつけられないとのことなので、なんとかを削除せよ、だの、なんとかを送信せよ、だのといった「目的語」があるコマンドは困難であり、見かけほどブリリアントじゃないです。けれど、もちろん、こんなことをやられ放題では、いたずらにせよ迷惑であり、対策するに越したことはありません。今現在たいしたことは報告されてないとしても、今後、これを応用して凄いわざが見つからないとも限りませんし、報告されてないだけで何かあるかもしれませんし。

これは Windows OS のコンポーネントや設定に関する問題ですから、Windowsユーザであればブラウザの好みなどとは関係なしに潜在的に危険があります。といっても、あくまで潜在的なことで今すぐ具体的にどうこうという話じゃありませんので、そんなに心配することは、ありません。ただ、これまでネットからのいたずらというと、IEの設定でJavaを無効にするとかで防げたけれど、これは、ネットからのいたずらにもかかわらず通常のIEの設定ではどうにもならない、という点において、多くのかたを動転させているようです。

対策

簡単に根本的な対策ができます。上の記事のどれにでもだいたい書いてあるように、レジストリのキーを一カ所、ちょっと変えるだけです。レジストリというと、必要以上に怖がらせる習慣がありますが、以下に図解入りで説明するように、エクスプローラでいえば、フォルダを順にひらいて、ある場所のファイル名をちょっと変更するだけのことです。

Windowsの旗のキーを押したら[R]をたたいて regedit と入力して [Enter] をたたきます。

角砂糖の山がくずれかけてるみたいな妙ちきなエクスプローラもどきが起動するので、エクスプローラと同じように、フォルダのなかのフォルダのなかのフォルダの……と順々にひらいて、次の場所の「0」(ゼロ)という名前の「フォルダ」をひらきます(画像参照)

サムネイル画像

まず「HKEY_CURRENT_USER」という「フォルダ」をひらく→次にそのなかの「Software」をひらく→次のそのなかの「Microsoft」以下同様に→「Windows」→「CurrentVersion」→「Internet Settings」→「Zones」→「0」

そしたらば、右のエリアの「1004」というアイコンを右クリックして「変更(M)」を選び――

右の欄の「名前」の列の1004を選択します

あとは、ポップアップするダイアログボックスの、値のデータ(デフォルトでは数字の0)を3に変えて [OK] を押すだけです。

「値の名前」1004の次の「値のデータ」エディットボックスに数字の3を記入

対応するレジストリエディタの「データ」欄が
0x00000003 (3)
に変わります。

……というわけで、少しも難しくありません。リンク先には「レジストリーの変更が必要な為、レジストリー変更をした事のないユーザーにはお勧めできない」なんて妙なことが書いてありますが、「変更の経験がないユーザは変更ができない」を真とすると、数学的帰納法により(?)だれも変更ができないことになってしまいます。どんなヘビーユーザだって、最初には、初めてレジストリをいじった日があるに決まっているのであって、必要とあらば経験があろうがなかろうが、やれば良いでしょう。とりわけ、このようにセキュリティ上の必要に迫られていて、しかもキーを1個、変えるだけ、変える内容も数字の0を3にするだけ、といった初心者でもできることなので、むしろレジストリ恐怖症を克服する良い機会じゃないでしょうか……

ともあれ、そこを変更したら、IEをいったん全部終了して再起動し、デモページの電卓起動とかがブロックされるようになったことを確認してください。「このActiveXは実行しません」とかダイアログが出たら成功っす。

どーしても自分でやるのがいやなかたのために、いちおう.regファイルもご用意しました。.regファイルの「結合」をサポートしているマシンなら(大半の Windows はサポートしてると思いますが)、このファイルをWクリックするだけで、いま説明した書き換えを実行できます。JavaScriptやActiveXなどは必要ありません。クリックして「開く」だけです。下のページを開いて、disable1004.reg を実行するだけです。なにかのつごうで元に戻したくなったときのために、逆変換(3から0に変える)のregファイルも並べておいておきました。
http://www.faireal.net/etc/ie6sp1/regedit

このハックは、現時点で最新の IE6 SP1(build 2813.3000) でも防げません。というか、ブラウザ経由で使えるハックであるけれど、ブラウザ自身の問題というよりOSの問題という感じ(この場合は最近出荷されたXML関連コンポーネントの問題、だそうです)。変更すべきはIEの設定じゃなく、OSのレジストリ(Internet Settings)ですし。「IEは好きくない」と Moon Browser 等を使ってるかたも、レジストリキーを変更するこの対策は、やっといたほうが良さそうです。

ついでながら、ActiveX という用語は、かなり漠然としてます。お気づきになったかたも多いと思うのですが、<object>タグで単なるテキストをインポートしようとしただけで、今の設定ではその「ActiveX」は実行できない、なんて言われることがよくあります。狭義きょうぎのActiveXを全面的にホントウにオフにするオプション(オフにしたからといって、ページを開くたびにいちいちうるさい警告を出さない)とともに、漠然としたすそ野のほうは、もっと実状にそくしてきめ細かく設定できることが望まれます。

リンク

この記事のURL

テキスト版省パケ版XML版


超分散: Gnutellaの本質

2002年 3月 4日
記事ID d20304

Morpheusの例

2002-03-04 トラブルが発生していろいろ話題になっているMorpheusですが(音楽交換サービスの米MusicCityが攻撃を受ける ~「Gnutella」ベースへ移行へ『モーフェウス』がファイル交換ソフトのアップグレードで機能停止ファイル交換ネットワーク『カザー』を取り巻く複雑な状況)、うわさの Preview Edition を手元でも試してみたら、これも Gnucleus 1.6.0 ベースでした。まえ紹介した中国版グヌーテラも Gnucleus を使ってました。ご承知のように、ファイルローグや WinMX と違って、Gnutella はソフト固有のプロトコルでなく、オープン・プロトコルですから、このプロトコルをしゃべるクライアントは違うソフトであってもぜんぶ直接、つながります。Gnutella というソフトがあるわけじゃなくて、Gnutellaというのは、いろんなソフトがソフトの違いを越えて混乱なくスムースにやりとりするための、やりとりのしくみのことです。(歴史的には、Gnutellaというソフトがあって、現在のいろんなソフトは、Gnutella互換ソフト各種。)

CNETのMorpheus Preview Edition 1.3.3.1 だけでも、きょう現在で約6000万ダウンロードと出てます。ほかの場所からダウンロードするユーザも多いでしょう。本家Gnucleus(GPLなオープンソースの Gnutellaクライアント)よりカラフルで楽しいですが、もちろん基本機能は同じ。このサーバントはGネットでGnucleusを名乗るので、どのくらいのノードでこのサーバント・マシンが使われているのか分かりません。が、経験上は、やはり LimeWire が多く、あとたまに Bareshare という感じで Gnucleus は、それほど多い感じがしません。MusicCity系のナップ難民は、まだそれほどGネットに大移動して流れてきてないのでは、という感じがします。1ノードから見ての漠然とした感じなので、あまりあてになりませんけど、今後、音楽系の大きなP2PネットがGnutellaプロトコルを採用してGネットにつながると(かつてパソコン通信ネットがインターネットの一部になったときのように)Gネットが急に大きくなるなぁとは思ってます。

2002-03-07 追記: Morpheus 大ブレイク? - Morpheus は Gnucleus と名乗る、と書きました。実際シェイクハンドを見るとそうなのですが、Gnucleus自身は、姉妹クライアントの Morpheus(Gnucleusと名乗る)を「Morpheus」と認識するようです。下図は5件ヒットした相手が全部 Morpheus という場面。数日ぶりにグヌーテラにログオンしてみたら、いきなりこれ。6000万ダウンロードはダテじゃないってことでしょうか。

Gnutellaクライアントの情報表示。5つのノードが表示され、どれもクライアントは「Morpheus」

Gnucleus 1.6.3.0 にて

最近まで Morpheus なんてグヌーテラネットで見なかったのに MusicCityのトラブルで意外な展開? でも、本当でしょうか。Gnucleus と名乗るのに、なんで Morpheus に見えるのだろう。あんがい Gnucleus のバグで誤認してるだけだったり。

以下で説明するように、音楽交換に興味がないユーザにとっても、音楽系との融合でノードが増えることは大きなメリットです。Gネット自体のポテンシャルがあがるからです。

超高速・超分散

あんまりメイジャーになると、音楽の版権者とかがぼうだいなカネをかけて潰しにかかってくるでしょうから、拡大は必ずしもありがたいことばかりじゃありません。Gnutella 自体のおもしろさ、というのは、前にもネットマップを描いたときにふれましたけれど、文字通りこの脱中心系自体のオブジェクトとしてのおもしろさであって、そこを流れるデータはむしろどうでも良いのです。例えば、脱中心系で、大規模・分散的検索エンジンを構築できたら理論上、すごいパワーになる、ということは、前から言われていました。グーグルなんかと違って、いまこの瞬間のネットをリアルタイムで「なめまわす」ことができるからです。すなわち、ひとりが6ノードに尋ねて重複なしに10ホップまで見たとすると(グヌーテラ・リクエスト『あなたがアクセスできるデータのなかに「アンナ・カバン」に関するものがあったらデータの位置を返してください』、グヌーテラ・レスポンス『ありませんでしたが、6ノードに中継しました』……『見つかりました、位置これこれを参照してください』)一瞬にして、リアルタイムにものすごい範囲のネットを見る千里眼が手に入ることは想像がつくと思います。もし仮に大半のネットユーザがグヌーテラ・サーバントを導入すれば、という仮定の話ですが……。特に「ありませんでした(Not Found)」なら返事せず、見つかったときだけ返事をよこすようにするとかなり魔法的なことになります。近所の6ノードに「これ知ってたらおしえて」と言うと、ネットワーク的に非常に遠方の友から「ここみてみ」と瞬時に答えがくるんですから。

しかも、ノードの「持ち主」であるユーザ(人間さん)が検索してくれるのでなく、「持ち主」が知らないうちに、ノード自身が機能することに注意。

そういったことがヌーテラの真のポテンシャルです。mp3以外も交換できる、とかは、本質から派生する皮相のひとつにすぎません。

言い換えれば、いまグーグルがサーバダウンしたら世界中の検索が麻痺するが、Gnutellaのような脱中心系では、となりのノードが沈黙しても、すぐに別のノードにつなげて一定数以上のシナプスをつねに維持するので、きわめて安定したパフォーマンスが得られるわけです。ネット自身が考えるようになる、と申せましょう。

からみあうノード

「考えるネット Gnutella」: 実際のマップの例。赤い円が自ノード

このような脱中心系自体の展望を考えるとき、もせ(mp3)ごときのくだらんことでP2P自体がつぶされては、かないませんから、逆に考えると、mp3なんていうHTTPで流しても軽い物体をこっちにもってこないでほしい、というような思いもあります。しかし他方、mp3 は、P2P系が自立して走り出すまでのあいだにP2P系がちゃんと機能するかのサンプルデータにちょうどいいわけです。まったくランダムのデータだと壊れずに流せているのかよく分からないし、ランダムのデータを流してMD5の一致を確認し「系自体の美」を味わうようなヘンタイは、そう多くないでしょうから。

現時点でヌーテラがテスト中だというのは、ほぼ脱中心でありながら、しかしまだ「最初の接続」だけは特別な(常に生きていることが期待される)いくつかの「ルータ・ノード」を利用する、という点がひとつあります。本当の分散、「超分散」は、ネットにログオンするための(ネットが見えるようになるための)最初の接続も、「無から取り出せる」べきです。さもないと、ルータノードが違法になるようにまた法律をねじ曲げることで、ネット全体をつぶせてしまうでしょう。現実世界なら「おーい」と声を出すと、つねに誰かしら聞きつける、ということに相当します。ヌーテラでいうと、まずGネット人口自体がもっと増えること、そして(たぶん)従来のIPアドレスをラップするような形で「となりにだれがいるか」安全に(低コストで)スキャンする方法が確立されること、さらに6ノードなどでなく事実上、無制限のシナプスを同時に維持できる帯域とマシンのリソースが確保されること――などが関係しそうです。Gネットに接続している友がひとりでも見つかれば、そこから芋づる式にネット全体が見えるようになるので「ひとりの隣人」が世界への扉なのです。(ポエジー)

誰も言わなかった広帯域の本当のポテンシャル

もうひとつ重要なことを指摘します。「広帯域・常時接続が広まると、P2Pで動画や音楽やアプリの版権ものが流れまくってP2Pはけしからん」という見方がありますが、脱中心系にとって、ノード間の広帯域がもたらす恩恵の本質は、動画やアプリといったボディがそこを流れるということより、大量のヘッダパケットをさばきあえるようになる、ということです。グヌーテラをやってるかたには常識的なことですが、ヌーテラネットに接続しているあいだじゅう、となりのノードとのP2Pのやりとりのほとんど100%は、第三者のリクエストを中継することです(転送量じゃなく呼数の割合)。いわゆるファイル交換(グヌーテラの場合、実際には交換じゃなく一方向ですが)をしてないときでも、ダイヤルアップのモデムのユーザだと全帯域を使い切ってしまうほどパケットをさばきます。ですので、ポート6346とかに大量の発着があるからといって、版権モノのファイルをやりとりしてるとは限らず、むしろ要求のほとんど100%は検索呼です。そして、ボディのほうも、mp3一色の音楽交換界と違って、グヌーテラでは政治的スキャンダルなんかを暴露したHTMLファイルを共有フォルダに入れて公開してるユーザもいます。有心系(サーバ&クライアント)の旧ネットでは、サーバをつぶされると、ただちにその情報が死んでしまうのに対して、脱中心系では、参照アドレスに依存せず情報それ自体が広く薄く偏在でき(言い換えれば、アドレスはサーバを指すのでなく情報を指す)かつ(これが重要なのですが)理想的な系では、非常に薄い密度のリソースであっても瞬時にリトリーブできる、という興味深い状態が実現されるわけです。

広帯域の本当のポテンシャルは、でかいファイルを特定の Point-to-point で流せることでは、ありません。そんなのは前時代的な発想です。本当のポテンシャルは、数万のノードが、毎秒数万回という速度でからみあえる、ということです。くだいていえば、 Point-to-point でひとつだけ太いコネクションを張って、大きなファイルを流すというより、(ほぼ)同時に数万のコネクションを処理し、答え、中継し、すぐ別れる、ということなのです。ひとつひとつの刹那接続は、小さなパケット数個の転送ですが、このような微小なやりとりが同時に各ノードで毎秒数万、数十万、数百万というペースで行われるとき、(ひとりのユーザがというよりも)ヌーテラ・ネットそれ自身が、ある種のブーツストラップ臨界点に達するのでは、という予感があります。「ハロー、ワールド!」とかしゃべったりしてね。

金儲けをたくらむ場合でも、このポテンシャルを開拓して利用する必要があります。サバクラで一回いくらで映画を見せたりは、長期的にははやらないでしょう。mp3やgifを使ってるユーザをあらさがしして、訴えるなんてのは問題外。

雑魚とは違うんだよ、雑魚とは

しかしそれでは、Gネットのユーザは、そういう次世代的なことに知的関心があるだけで、音楽ファイルなどの知的所有権とやらを尊重しているのか?というと、これも正反対でしょう。「もせ(mp3)なんて、いくらでもただで持っていっていいよ」ってな感じで。いくら政府が1ルーブルはこれこれの価値であるぞよとおふれを出そうが、実経済において「価値がない」ものは「価値がない」のだから仕方ない。いわゆる「ファイル交換」という通俗的な側面に限っても、mp3なんか物々交換に役立つと思えません。同人誌とかアプリとかゲームとかCD丸焼きとかWindowsXPでさえウェブに落ちてるきょうび、10MB以下のmp3なんて。だからこそ、版権者の強欲を離れて、純粋にミュージシャンの発信した世界に触れられる、ともいえるのかもしれませんが……。ファイルローグが「えんじゃく、いずくんぞ」(くだらん訴訟を起こす小雀どもめ。おまえらには我ら白鳥のこころざしが分からんのだな。というような意味の慣用句)とか言っていたのは、二重の意味で「まさに」。二重というのは、「はぁ?べつに音楽ファイルを交換するためにノードやってるんじゃないんですが」という「薄汚いいちゃもんつけるな」な意味と、もうひとつは「mp3交換なんかの利益ごときじゃなんだよ。我らのねらいは」という“極悪”な意味。「とりあえずテスト用に、おまえらの犬の餌を使ってるが、べつに我らは犬の餌を交換しあいたいわけじゃないの、あくまでデバッグ用の壊れてもいいどーでもいいデータ」

この極論は、音楽の版権者(かれらは、わずかなカネと引き替えにミュージシャンから音楽の自由を奪っている)をバカにしているというより、むしろユーザをばかにしている。といっても、こんにちでは以前ほど音楽の版権者(ミュージシャンから独占販売権を買い上げ仲介するダフ屋)なんか必要なく、技術の進歩でもっと効率的な世の中になったにもかかわらずぼろ儲けができた昔の既得権にしがみつくという趣意では、やっぱみっともないといえるのかな。

現実

こんなにおもしろい未来の可能性が、P2Pそれ自体の問題というより、そこを流れるデータに課金したい旧独占者→治世者の献金と圧力でつぶされるのは、悲しいといえば悲しいことです。送信可能化権という変なドグマがある地域のかたは、Gネットの共有フォルダに版権モノを入れないでください。そういう地域で版権モノを送信可能にしていると、「ほら悪いことをしている」といんねんをつけられる原因になります。べつに共有フォルダに版権モノを入れなくてもグヌーテラにログオンできて楽しめるので、お楽しみください。楽しめるという意味は、ダウンロードするだけならまったく合法という表面的な意味より、むしろネットの進歩の最前線をかいまみる楽しみとか、そういうことじゃないでしょうか。

ひとつのファイルも共有しなくても、ノードとして貢献できるので、WinMX時代の「DOM」とは意味が違いますし、さらに、ひとつのファイルもダウンロードしなくても、ノードとして、ヌーテラに参加する楽しみは変わりません。ブロードバンドで帯域が余っているかたは、グヌーテラ・クライアント側で「割りあてる最大帯域」を設定してから、あとはつなぎっぱなしにしておくのも良いでしょう。常時接続の余っている帯域の「有効」利用ですね。「中抜き」にして、一般ユーザが自分たちでこのように直結できてしまうことは、解体前の旧独占者にとっては脅威だったことでしょう。自分では何も創造できないのに既得権だけで商売して文化がどーとか言ってた連中のことですが。

そしてカネである正義を持つ地域では、自分たちの利権のために、ほかの地域の法律や習慣や文化を変えさせようと圧力をかけてくるでしょうから、今後どうなるか分かりません。送信可能化権なる教義が広まりさらには受信可能化権なんてのまでできて、「正義のみかたの悪口が書いてあるウェブページは公の秩序を乱すものであり、それを読む(受信する)ことは違法であり、URLを入れるだけでページを簡単に受信できるようなソフト(ブラウザ)を所有することは違法であり」とかどんどん拡大解釈が進まないとも限りません。どっちにせよ22世紀や23世紀には笑い話になるでしょうけど、いったん禁止されてあとから復興する場合、あなたの生存期間には楽しめなくなるかもしれませんから、いまのうちに楽しんでおいたらいいでしょう。

「未来の超分散系」とかいいつつ現実をおもうと空虚だったりしますが、笑わば笑え、夢をみるのがなぜ悪い(byめるへんめーかー先生)ってなところですかね。

おまけ

2002-03-04 Windows XP Home Edition wie Pro-Version nutzen: Windows XP Home Edition は、基本的に Windows XP Professional と同じOSコードを機能制限して出荷しているものと見られますが、このほど、ZDNetドイツが、おもしろいレポートを出しました。ちょっとしたトリックを使うと、Home Edition でも、本来 Professional でしか有効でないネットワーク機能を有効にできるという話です。Microsoft自身が配布している PowerToys for Windows XP の Autologon機能を使うと、なぜか Home Edition でもネットワークリソースまで見れるようになって認証もちゃんときく、とのこと。これは、上記 PowerToys が理由未詳のまま配布中止になっていることとも符合すると考えられます。

リンク

この記事のURL

テキスト版省パケ版XML版



webmaster@faireal.net