621 大人の事情で複雑な(通信)規格はろくなことにならないという話
最近のニュースでもなんでもないのですし、ごく普通の話ではあるんですが、一回くらいはこの話題で記事を書いておこうと思いました。
◆委員会で規格を作ると訳が解らなくなる
以下は、最新のニュースでもなんでもありません。2006年のニュースです。ですが、これを話の種にして少し書いてみたいと思います。
Black Hat USA 2006 - 脆いデバイスドライバ、無線LANモジュールが攻撃のターゲット
http://journal.mycom.co.jp/articles/2006/08/07/blackhat2/index.html
記事のサブタイトル的なものに
コミッティーが主導するプロトコル策定の問題点
とあります。コミッティーというのは「委員会」ということです。
このブログ話題にしている「モバイルWiMAX」なんかはまさに「委員会で作られた技術」です。LTEもどちらかというとそういう感じです。
まず、記事の流れを追ってみましょう。
WindowsやMac OSなどのセキュリティが向上し、OSの脆弱性を狙った攻撃が難しくなる中、攻撃者は他の弱点を探し始めた。SecureWorksのシニアリサーチャーDavid Maynor氏と研究者のJohnny Cache氏によると、次のターゲットはパーツベンダーが作成しているデバイスドライバ、中でもWi-Fiモジュールのドライバが格好の標的になるという。
この集まりはセキュリティに関する話題の集まりのようです。で、一般人が使うOSも昔ほどマヌケではなくなったので悪さができなくなったので、次の流行が生まれつつあるぞという話題です。
その「流行」とは何かというと、「無線LANのドライバ」への攻撃なんだそうです。
「全般的にドライバのセキュリティは優れているとは言い難く、ベンダーの対応を促すのが我々の目的である」とMaynor氏。ベンダーが市場に製品を提供するスピードを競争し、十分なテストが行われていないのが原因だと同氏は指摘する。特にワイアレスのように、コミッティーによってプロトコルが策定された技術の新ハードウエアに、その傾向が顕著だという。
ハードウェアをパソコンで利用するためには、電気的に接続されているだけではダメで、OSがハードウェアとお話をできるようにするプログラムコードが存在する必要があります。そして、そういうのを「ドライバ」と言います。
ハードウェアメーカは、ハードウェアを作るだけではなく、Windowsがハードウェアを使えるようにするソフトウェアを書かなければなりません。で、そういうドライバはどうもあまり良くない状態のものが多いという指摘です。
で、委員会によってプロトコル(そのハードウェアとパソコン本体の会話の方法)を決められているハードウェアがヤバイぞといっています。で、無線LANがまさしくそれに該当すると。
脆弱性は複雑さが原因であることが多いそうだ。「ビジネスに乗り遅れるのではないかという"恐れ"が競争意識を煽り、"競争意識"は敵対関係となる。"敵対関係"はコミッティーによるプロトコル策定につながり、複雑な関係の縮図であるコミッティーからは複雑な成果しか生み出されない」とCache氏。
元記事は解らない人には解らないだろうなと思うので噛み砕きますと、
なぜ委員会で作られたものに問題があることが多いかというと、それは「無駄に複雑な規格になっていることが多い」ためです。
なぜ、無駄に複雑な規格になっちゃうかというと、委員会のそれぞれのメンバが、自分の都合にあわせた規格にしようとしてメンバ同士が政治的な綱引きを始めてしまうことがあるからです。趣味で規格を策定するのではなくて、ビジネス絡みですからどうしても、規格の内容次第で損得が出ます。で、俺も意見も俺の意見も、ということになるわけです。
技術的に優れた解の探求ではなくて、政治的なこと、いわば大人の事情のやり取りが話の流れの主流になってしまったりします。で、しょうがないから両社の主張を両方とも採用した規格にしよう、というようなことが度々発生します。
で、例えば無線LANはどういうことになってしまったかというと、
802.11a/b/gも例外ではなく、マネージメントフレーム×11、コントロールフレーム×6、多数のサブタイプ、暗号フィールドなど、非常に込み入っている。アドホックやQoS、省電力など機能も豊富だ。
802.11a/b/gというのは旧来からある無線LANのことです。最近出てきた高速な無線LANは802.11nというやつです。
で、大人の事情でどんな感じに複雑怪奇なことになったかというと、
・マネージメントフレーム×11
・コントロールフレーム×6
・多数のサブタイプ
・暗号フィールド
・アドホック
・QoS
・省電力
それぞれの細目については説明しませんが、なにか複雑な事になっているのはお察しいただけるかと思います。元記事には「・・・など機能も豊富だ。」とありますけど、これは嘲笑ですね。こんなに機能が「豊富」なんですよハッハッハーみたいな。
で、何がいけないかというと、規格が複雑だとドライバも複雑になっちゃうということです。プログラマーが怒るわけです、なんでこんな訳のわからんほど不必要に複雑なものにあわせて作らなきゃならんのだと。で、当然にバグも沢山できてしまうわけです。
Cache氏は「複雑な仕様はハッカーのベストフレンドである」と指摘する。「シンプルならばバグはなく、バグがなければハッカーにとって何の面白味もない」と続けた。
つまり、無線LANのドライバはこういう事情で問題点を抱えている事があり、その脆弱性を狙ったアタックがなされる事が多くなったということです。で、ここでは、その主張に基づいた実演もなされました。
Maynor氏は802.11がRTSメッセージとCTSメッセージを使用してデータの送受信を行う仕組みを説明しながら、パケットインジェクションを使って脆弱性のある802.11モジュールのドライバを不正動作させる可能性を示した。その後、実際にDellのノートPCからAppleのMacBookのデータを改ざんするデモのビデオを上映した。不正アクセスを実現するのに要した時間は1分程度。
要するに何をなさったかというと、
状況
・無線LANつきのDELLのノートPC(攻撃側)
・無線LANつきのMacBook
で、DELLのノートPCから電波経由でMacBookに「変なデータ」を送りつけ、変なデータがMacBookの無線LANのドライバのバグに困った動作をさせ、最終的には「MacBookのデータを改ざん」されてしまったという次第です。そして所要時間は一分と。
デモをした人が断っていますが、これはべつにマックがどうだという話をしたいのではなくて、無線LANが規格として腐っている側面があるためにこういう事になるんだということをおっしゃっているわけです。
我々の日常的な例に置き換えると、
・新幹線でノートPCを開いていたら、気が付くとマシンのファイルが全部消されていた
・スタバでノートPCを開いていたら、知らない間に壁紙がエロ画像になっていた
あんまり楽しい経験ではありません。
◆簡単にした例
で、この発表では「簡単にして成功した例」が挙げられています。
同氏はシンプルなワイアレス通信を実現している数少ない例として「ニンテンドーDS」を挙げた。
どういうことかというと、「ニンテンドーDS」は「無線LANのようなもの」をワイアレス通信機能として用いています。しかし、これは無線LANではないのです。
なぜならば任天堂は、無線LANの(任天堂にとって)必要最低限の部分のみに対応したハードウェアを作ってしまい、「規格の必要のない部分」は捨ててしまったからです。結果、スリム化した無線LAN規格を新たに作ったかのような形になりました。
他の機器とのオープンな接続なんかには全く興味の無い任天堂だからこそできることでもありますが、プレゼンをなさっている方は、これが良い例だといっているわけです。なぜなら、これまでの懸念が全部なくなっているからです。
◆複雑な規格のもたらすもう一つの問題
ここまでは脆弱性の話でした。
ワイアレスの規格として考えた場合、問題は他にもあります。規格が無駄に複雑だと、そもそも対応機器も必然的に複雑になってしまいます。端末も、そして基地局も。また、性能面でも問題が出ることがあり得ますし、規格を拡張する際に拡張が困難なだけれはなく、またもや「どうやって拡張するか」で話し合いをしなければならない場合もあることになります。
もちろん、委員会で決める事には良い面もあります。沢山のところが一緒に作ったので、「支持者」が沢山できます。また、ある一社が自分で作ったものよりも民主的なプロセスですから公共のものに近くなり、他社が安心して採用しやすくなります。つまり、数の力を持っている傾向があります。
ただ、ある目的を達成するために非常に理想的な、芸術品のような規格が生まれる事は稀になります。
例えばモバイルWiMAXがなんだか訳が解らなくなっているのは、委員会方式の問題点がそのまま反映された結果だと思います。
W-CDMAも色々なところの利害関係の綱引きで無駄に複雑になりました。LTEではW-CDMAの件を反省して、規格が複雑にならないように努力がなされています。ただ、LTEをどうするかという綱引きは当然にありまして、たとえばドコモの提案が欧州に叩き潰されて消滅したなんていうことは多々あったようです。そして、ドコモの提案の方が明らかに正しかったのに、力関係で潰された事も多々あったはずです。
ただし、結果として出来上がったものには大きな混乱は無いということには出来たようです、おそらく。
ちなみにクアルコムは自社で好きなように技術を作っているので、こういう手間はありません。もともと技術力もあるわけで、当然に良いものができる傾向があります。一本筋が通ったものが出来上がります。
また、ウィルコムがモバイルWiMAXに手を出さなかった(出せなかった)のは、モバイルWiMAXをそのまま採用することは出来ず、なおかつモバイルWiMAXの政治に巻き込まれつつ自分に必要な規格(ウィルコムのノウハウがつまったマイクロセル展開をできるようにする)にすることも出来ないと判断したからでしょう。
次世代PHSをモバイルWiMAXに合流させるべきという意見をそのまま実行した場合、複雑なモバイルWiMAXをさらに複雑にし、さらにウィルコムが必要とするものは実現されないということもあり得ました。
もし合流していたら、昨今のモバイルWiMAXの斜陽ぶりとあわさって、とても悲惨な事になっていたかもしれません。
結果、モバイルWiMAXの土台部分は流用しつつ、その上にウィルコムが実現したいことを自由に実現したものを次世代技術として採用する事になりました。
いわばウィルコムは「ニンテンドーDS」と同じような事をしているとも言えます。シンプルにした土台の上に、もともとシンプルなPHSの仕組み(規格としてはシンプルだが運用時のノウハウはウィルコムが大量に蓄積している)を載せたわけです。
この判断が正しいのかどうかはわかりません(単独での開発はやはりリスク大)が、現在ああなっているモバイルWiMAXと手を組み、なおかつ「そのモバイルWiMAX」の特殊なタイプの技術としての立ち位置だった場合、まあ、重い空気だったでしょうね。
◆蛇足
完全に蛇足ですがすこし、しかも完全に伝聞の話なんですが。
委員会が作った結果、面白いように複雑になって破綻した例としては、Commom LISPの失敗(失敗だと思います)があります。年配の方(60歳よりは下の)で昔(から)プログラムに詳しい人が身近に居られたら、当時の話を聞けるかもしれません。
LISPというのは恐ろしく単純なプログラミング言語ですが、しかし、とても自由度が高く何でも出来たので、あちこちで自分勝手流儀なものが発展しすぎたとか。そこで、委員会で世界共通のものを作ろうという動きができました。
結果どうなったかというと、言語の仕様書が電話帳より分厚いという壮絶に巨大な仕様になってしまったそうであります。しかも、その基礎になっているものが、恐ろしく単純なプログラミング言語であるにもかかわらずです。委員会恐るべしです。
また、民主的なプロセスというのはとても大事なことなので、この記事を読んたあとに独裁的な手法が正しいのだと思ってもらっても困りますので、その点は念を押しておきたいと思います。この点は、悩ましいところだと思っています。
ちなみに、独裁的な手法でトンマな判断が行われた場合には最悪に救いようのないものが出来上がります。世の中で生み出されるものの多くは実はこちらかもしれません。ただ、身の回りで目立たないのは、そういうものは生み出されたとしても広まらずにすぐに消えるからです。しかし、そういうものが排除されずにのこるととても困った事になります。
| 固定リンク
この記事へのコメントは終了しました。
コメント