現在地 HOME > 掲示板 > IT3 > 156.html ★阿修羅♪ |
|
エンタープライズ:コラム 2003/10/08 14:26:00 更新
Opinion:MS批判のCCIA報告書に物申す(Part 1)【ZD Net記事】う〜ん、色々な見方がありますね。
http://www.zdnet.co.jp/enterprise/0310/08/epn12.html
「Microsoftの独占」あるいは「ソフトウェア・モノカルチャー」がセキ
ュリティを脅かすと主張する報告書が大きな関心を集めている。ブルース
・シュナイアー氏も貢献したこの報告書にはしかし、無視できない欠陥が
ある。
Computer & Communications Industry Association(CCIA)は長年の反
Microsoft派ロビー団体として知られている。米国のMicrosoft独禁法訴訟
で司法省を支持する意見を数多く裁判所に提出しており、欧州委員会によ
る独禁法調査にも積極的に関与してきた。会員には、AOL、Sun
Microsystems、Oracle、Intuit、Nokiaなど、Microsoftと最も激しくやり
合っているライバル企業が名を連ねる。
だが、米国での訴訟に幕が下りてからというもの、CCIAが人々の関心を
引く機会はほとんどなくなっていた。ところが最近、同団体から
「CyberInsecurity: The Cost of Monopoly」(サイバーセキュリティ欠
如:独占の代償)と題する報告書が出され、ちょっとした物議を醸してい
る(9月25日の記事参照)。広く世に普及したMicrosoftのOSが抱えるセキ
ュリティ上の問題点について、「政府と業界が耳を傾けるべき警鐘」とし
て公表されたこの報告書は尋常ならぬ関心を集めた。それは恐らく、
『Applied Cryptography』の著者で暗号化のエキスパートとして有名なブ
ルース・シュナイアー氏が報告書筆者の一人に名を連ねていたためだろう。
しかし、シュナイアー氏に対する敬意をもってしても、同氏が貢献した
この報告書の欠陥を無視することはできない。本稿は、この報告書の主張
に対する反論をつづった3回連載の1回目だ。Part 1では、この報告書の中
核的問題点である「ソフトウェア・モノカルチャー」と複雑なシステムが
抱えるリスクの問題に焦点を当てる。Part 2では、報告書の中身に関連し
た一般的批判を集め、事実上すべてのMicrosoftの行為に対して批判的見
解を示す不気味な力について詳述する。Part 3では、提案された解決策に
対する私の見解を示し、いくらか分かれる考え方を紹介して連載を終える
予定だ。
まず、この報告書の全文はwww.ccianet.org/papers/cyberinsecurity.p
dfで閲覧可能であることを指摘しておく。
ソフトウェア・モノカルチャーは危険? 「連鎖的欠陥から身を守るとい
うことは、リスク領域を多様化することである――つまり、2種類以上の
コンピュータ/デバイス、2ブランド以上のOSを使えば、結果的に攻撃を
それぞれの効力の範囲内にとどめることができる。この基本原則は、農家
が2種類以上の作物を生産するのと同じであり、これに従うことで、コン
ピュータに依存するわれわれは、次なる虫害にやられても、すべてがだめ
になるわけではないという保証を得られる」(報告書11ページ)
つまり、OS環境を多様化することで、単一プラットフォームを標的に据
えたウイルスによるインフラ全体のダウンから身を守ることができる、と
いうことだ。標的のプラットフォームが倒されても、ほかのプラットフォ
ームが種の存続、すなわちコンピューティングの持続を約束するという考
え方である。
コンピュータウイルスが住みつこうとするプールの大きさを広げてリス
クを共有するという考え方からすれば、モノカルチャーに代償が伴うのは
事実だ。しかしその一方で、標準化されたコンピューティングアーキテク
チャの不在に伴う代償も実在する。この報告書で詳述されているモノカル
チャーは、裏を返せばそういうことだ。
標準化の利点 Tunneyのコメントでも述べたことだが、ソフトウェアには、
ほかの業界に存在するような生来の標準がない。ソフトウェアAPIは想像
し得るすべての形態を実現でき、そのことは、新種のソフトウェアの市場
が初期の段階で、極めて分断化された状態にあることを意味している。
開発という面で、これは大きな阻害要因だ。そのソフトウェア製品には、
プラットフォーム固有の小さな市場しか存在しないことになるからだ。開
発者の関心は薄れ、ソフトウェアのコストは上がり、ユーザーの数は少な
くなる。このため、この市場では自然と、一つのプロバイダーへと標準化
していく流れが起きている。そのプロバイダーが他社に先行する部分がご
くわずかであっても、そのわずかな差が、それを対象プラットフォームに
据えようとする開発者の数を増やし、規模の経済を生み、コスト低下を引
き起こし、より多くの顧客を魅了する。Microsoft、あるいはその前なら
IBMのような企業が、市場の独占的シェアを勝ち得たのはこの好循環のせ
いだった。
コンシューマーはWindowsによって、最大多数のハードウェア/ソフト
ウェア選択肢を、規模の経済の結果としてより安価に入手している。また、
市場に出ている事実上すべての製品との互換性を保証されている。企業は
大きな予備軍の中から技術者を起用でき、技術者は、一つのプラットフォ
ームを専門とした能力において、自身が蓄えたより深い知識を生かすこと
ができる(アダム・スミスなら、この構造を高く評価するはずだ)。雇用
主も、雇おうとする従業員にコンピュータのスキルがあるとすればそれは
Windowsのスキルであるという事実からメリットを得ている。
だが、こうした形でコスト節減を実現しているのはWindows市場だけで
はない。UNIX市場も徐々にLinuxと呼ばれるオープンソースOSを中心にま
とまりつつある。この統合化の流れは今後も続き、いずれLinuxはUNIX開
発世界の標準になると私は見ている。こうした統合化に否定的見解を示す
人はほとんどいないだろうし、政府が国家安全保障上の懸念から、その影
響力を振るってこうした統合化に歯止めをかけるべきだと主張する人もほ
とんどいないはずだ。
同様に、Javaの「Write Once, Run Anywhere」(WORA:一度書けばどこ
でも動く)という約束も、Javaランタイムをインストールしたあらゆるプ
ラットフォームで同じ実行可能ファイルを動かせるという能力がベースに
なっている。Javaは確かにセキュリティの観点からネイティブ開発より安
全性が高いが(バッファオーバーフローを気にしなくていい)、Javaプロ
グラムにも、コーディング上のセキュリティ関連の欠陥は存在し得る。つ
まり、こうした欠陥はアプリケーション実行の基盤となるプラットフォー
ムすべてに存在するものだ。Sun Microsystemsは当然、Javaをアプリケー
ション開発の事実上標準とすることを望んでいるが、プラットフォームの
多様化を守るためという理由で、そのような野心を抑えるべきだと指摘す
る人はどこにもいない。
テキサス大学のスタン・リーボウィッツ教授は、Microsoftの分割に伴
うコストは3年間で3億ドルと推定した。私は、もし政府によってOSの多様
化を義務付けられた場合、業界が背負うコストはそれをはるかに上回るだ
ろうとみている。この場合、「治療」が、病気よりもはるかに悪い結果を
招く恐れがある。
端的に言えば、モノカルチャーには確かにリスクが内在するが、OS日用
品化のメリットは、このリスクに伴う代償を補って余りあるほどに大きな
ものだ。
ソフトウェアの複雑さに関して 報告書では、ソフトウェアセキュリティ
にとって複雑さは敵だと論じている。1個のソフトウェアの複雑さが増せ
ば増すほど、コードの理解は困難になり、コードのセキュリティ確保に至
っては、さらにずっと難しいものになるとしている。
これは確かに真実だ。「付加機能」をたくさん備えたアプリケーション
は、その分セキュリティ関連のバグの隠れ場所を増やしていることになる。
クリティカルパスシステムの標準的なアプローチは、外生のコンポーネン
トを取り除き、特定タスクに必要なものだけを残すことだ。Googleがカス
タムハードウェア上でLinuxを使ってやっているのがこれだ。ウイルスの
標的となる可能性のある表面積を極力小さくした、細身で高速な環境を築
いている。
一方、デスクトップシステムのユーザーの大半は、ネットワーキング、
ユーザーインタフェース、ブラウザ、メディア再生、その他の機能をイン
ストールしている場合が多い。Microsoftはこれら機能をデフォルトで提
供しており、これらデフォルト機能はかなりの人気を博する傾向がある。
しかし問題は、これらデフォルト機能がほかの方法よりも、複雑さに起因
するリスクの増大につながっているということではない。なぜなら大半の
ユーザーは、「細身だが安全な」デスクトップシステムを拒否し、より機
能の豊富なデスクトップシステムを選ぶだろうから。ここに生じるリスク
は唯一、ソフトウェア・モノカルチャーによるリスクのみだ。そして上述
のとおり、標準化されたAPIと規模の経済がもたらすメリットの方が、こ
のリスクに伴う代償よりも大きい。
しかし、この報告書は、Microsoftの統合型プラットフォームが生み出
した複雑なシステムが、バグの消滅を難しくしていると論じている。「複
雑なシステムの一部以上を理解できる人が皆無だとするなら、攻撃者がそ
のシステムを悪用する方法すべてを予測できる人はどこにもいない」と報
告書は述べている。この分析は正しいが、Microsoftに直接適用すること
はできない。
Microsoftは世界中の大半のソフトウェアメーカーと同様、ソフトウェ
ア設計においてオブジェクト指向の原則を実践している。Microsoft内部
でCOMがほとんど普遍的に採用されていることから、これは明らかな事実
だ。これは、確かにすべてのソフトウェアバグを魔法のように消してくれ
る特効薬ではないが、暗に、コードがWindows内の各コンポーネントで分
離されていることを意味している――コンパイルされたコードのディスト
リビューションが(恐らくは過去の和解条項の一つである「統合」を満た
すため)ほかのシステムDLLとごちゃ混ぜにされているかどうかとは無関
係にだ。つまり私は、Internet Explorer(IE)開発チーム所属のプログ
ラマーも、IE関連のパーツを発見するために、苦労してGDIコードと取り
組む必要があるのではないかと疑っている。IE開発チームはIEのコードを
独占的に扱っており、WindowsのメンテナンスにMicrosoft Officeが複雑
さを付加することがないのと同様、IE部門の作業がWindowsのメンテナン
スに複雑さを加えていない可能性は高い。
もちろん、アプリケーションがセキュリティ問題につながりそうな方法
で介入してくる可能性はあるが、この場合も、標準化されたシステムの利
点の方が大きい。標準化されたシステムが存在することで、特定のコンピ
ュータが採用していそうな設定を予測できる。つまり標準システムの方が、
設定を事前に予測できないシステムよりも、高い予測性を持った対応が可
能だ。
OEMは標準仕様を好む傾向がある。標準仕様の方が理解しやすく、修正
が容易だからだ。同じことがOSにも言える。標準インタフェース/コンポ
ーネントを備えたOSは、必要に応じてアップデート可能な標準基盤となる。
Windowsにとってと同じくらいLinuxにとってもパッチの重要性は大きいが、
私の考えでは、アップデート検知ツールの知らないアプリケーションの内
部にセキュリティバグが潜んでいる可能性のある、分裂の多い、多様化さ
れたシステムと比べると、Windowsシステムにおける高レベルな標準化の
方が、多くのシステムへのパッチ全面適用を容易にする。
別の面で言うと、機能統合は、一般ユーザーが自分でシステムの中から
探し出すことができない多くの高度な機能を実行できるようにしている。
Windowsを使うコンシューマーは、マシンを箱から出してすぐ、Windowsに
装備された機能を使ってインターネットにつなぎ、Webページを閲覧し、
音楽を再生し、映像を表示し、ホームムービーを作成することができる。
これらは非テクニカルユーザーに向けた補助輪のようなものだ。補助輪が
自転車の乗り方の習熟につながるのと同様、Windowsのデフォルト機能は、
非テクニカルユーザーが自分では使えないだろう技術への入り口となる。
Media Playerを(時代遅れの省機能ツールではなく)競争力ある製品にす
るというMicrosoftの決断は、市場で既得権を得ているどのサードパーテ
ィー企業が取ってきた行動よりも、デジタルメディアによる収益拡大につ
ながっていると私は思う。これは市場形成であり、これによって新しい会
社が、以前なら参入費用を正当化できなかった技術領域に対して、サービ
スを提供できるようになっている。
デフォルト機能はまた、非テクニカルユーザーがすべてのWindowsシス
テムに常に存在すると期待できる標準基盤を形成している。なぜ「vi」は
テキストエディタとして生き永らえることに成功したか――そのインタフ
ェース(IMO)は空き缶と長いワイヤーだけで大西洋を横断するような代
物なのに? 至極簡単、UNIXの管理者とプログラマーが、自分の出くわす
すべてのUNIXにこれが備わっていると期待するようになったからだ。この
手の標準化は、新技術発見のための手段と興味を持つテクニカルユーザー
にとって重要だが、非テクニカルユーザーにとっては、標準化はさらにも
っともっと重要だ。それによってコンピューティング宇宙を航海すること
が可能になるからだ。
統合化の進んだ製品の複雑さは、セキュリティ関連のバグの隠れみのを
つくり出しやすい。しかし、大半のコンピュータユーザーが、省機能だが
セキュリティの高い製品をほとんど使わないことを考えると、この代償は
一見して思うほど深刻ではない。一方、複雑さに伴う代償をかき消す可能
性さえある高機能な標準仕様にのっとった製品には、メリットが実在して
いる。
(Part 2に続く)
※筆者John Carrollはソフトウェアエンジニアで、現住所はスイスのジュ
ネーブ。専門はJavaと.NETを使った分散システムの設計と開発。
Turtleneck Softwareの創業者でもある。
原文へのリンク
関連記事
MS批判の元@Stake幹部が語る解雇劇の真相
渦中の元@Stake幹部、報告書の意図を語る
MS批判の報告書を作成した@Stake社員解雇
「MSの独占がセキュリティを脅かす」――業界団体が報告
[John Carroll,ZDNet/USA]