著者: Eric S. Raymond
日本語訳: yomoyomo
以下の文章は、Eric S. Raymond による Microsoft -- Designed for Insecurity の日本語訳である。
マイクロソフトのプログラマが Windows NT に標準添付されたソフトウェアにバック・ドア(裏口)を仕込んだ問題に関する ESR のコメントである。論の展開としては予想の範疇ではある。
本翻訳文書については、以下の方々にご教示を頂きました。ありがとうございました。
今日(2000年4月14日)、マイクロソフトのプログラマーが、FrontPage ウェブ・サーバーの中に、セキュリティに疑いを招くような裏口を仕込んでいたことを、世界中のニュース・サービスが報じた。世界中の数千ものウェブ・サイトが影響を受ける可能性がある。この話の代表的な報道は、http://news.cnet.com/news/0-1003-200-1696137.htmlでみることができる。
またしても発覚した Windows のセキュリティ・ホールに関して不安が高まり、その裏口を作動させるのにマイクロソフトのプログラマーが選んだパスフレーズ(「ネットスケープのエンジニアはチンコ野郎!」)(訳注:これはそれぞれのサイトで訳しかたが違うのが面白い)が少なからず面白がられる中で、この話が持つ報道されてない大切な裏の意味が一つある。
この裏口は少なくとも 1996 年以来存在してきたようである。つまり四年間 -- 四年間だよ -- そのコードを書いたいたずら者だけが裏口について知っていたことになる。勿論、何年も前に裏口を発見した未知数のクラッカーや破壊者どもを除いて、だ。ワールドワイドなメディアが取り上げた今となっては、世界中のクラッカーは確実にその存在に気付いてしまった。
世界中のウェブマスターが、この問題に関して徹夜をし、髪をかきむしることになるだろう。すなわち、マイクロソフトの製品を買う上司のために働く不幸なウェブマスターである。オープンソースである Apache ウェブサーバーで稼動する、60% 以上のサイトのウェブマスターは休憩を取りながら微笑んでいることだろう -- だって彼らは Apache が決してこのような裏口を持つことはないことを知っているもの。
大変強力な主張には決して聞こえないかもしれない。でもそれが現実なんだ。何故なら裏口は(他の種類のセキュリティ・バグと違って)ソースコードの中に痛む親指のように目立つ傾向にあるからだ。隠すのは難しく、見つけ出して無効にするのはたやすい -- 但しソースコードにアクセスできればの話だが。
信頼できないマイクロソフトの DLL が四年の長きに渡ってこの裏口を見逃すことを可能にする不明瞭なバイナリの形態で配布されていたことは事実だ。Apache について言えば、それを利用する数万人ものウェブマスターの誰でもが Apache のソースコードにアクセスできる。新しいリリースが出るときには、全ての種類のバグに対する用心のための慣例として、ウェブマスターの多くは実際にコードの相違に関するレポートに目を通す。
そうした精密さのもとでは、裏口なんてものは4日間でも発覚を免れることなんてありえない。Apache に裏口を仕込めるぐらい有能な人間なら誰でもこのことを骨までしみて分かっている。だからそれに挑戦しても無意味だし、実際にやられないのだ。
ここでのより広範な教訓は何であろうか?
それはすこぶる明快だ。ソースがクローズドなソフトウェアのセキュリティを信頼するような人間は皆、システムに裏口を仕掛けて下さいとお願いしているようなものだ -- コードを納品した人、つまりは一応そのコードを管理しているはずの人が、裏口に気付いていようがいまいがね。マイクロソフト本社が、この裏口が認可されてなかったと言うのは疑いなく嘘偽りはないだろう。そうした正直さは、これに関する後片付けをしなければならない人達には少しも助けにはなってくれない。また数百万ドルもの出費や事業損失になりうることに関して、上司に弁償してくれもしない。
あなたがもしソフトウェアの中身を知る方法が全くないなら、それのなすがままにするしかない。あなたはその脆弱さを知ることができない。あなたが知らないことについて他人が知っているかもしれないということを知ることができない。あなたは敵に対して武装解除しているのだ。
これはウェブマスター一人一人、ソフトウェア消費者一人一人が、安心して使いたいプログラムのソースコードを知らなければならないということを意味するのだろうか? 無論そうではない。しかし、それでもやはりオープンソースは、防御を助ける形で、セキュリティにおける力関係の均衡を変える -- たくさんの善人がバグを発見できるから裏口やバグが短い間しか存在しないということなのだ。そしてもし善人の誰もバグを発見しなくても、潜在的な悪党どもは、相当なバグが発見されることをわかっている。それは悪玉の方の選択肢を変え、制限する。
Apache はこうした不正利用はこれまでしてこなかったし、これからだって決してない。Linux もそうだし、BIND ライブラリだってそうだし、Perl だって、全世界的なインターネットにおける、他のどのオープンソース・コアなソフトウェアでもそうだ。オープンソース・ソフトウェアは、不断のピア・レビューを前提として、ひとりでに発展し、安全性を増している。しかし、より多くのクラッカーが不透明なバイナリにうまく隠れた弱点を探し、見つけ出しているのだから、ソースがクローズドなソフトウェアは自然と安全性が低くなっているのだ。
今現在他の Windows ソフトウェアに隠れていて、あとまた四年経たないと世間の目に触れないような裏口には、これ以外にどんなものがあるか、誰が分かるというのだ? 誰か知ることができるだろうか? そしてこれが Windows の最後の裏口であることに望みを賭けて、個人のプライバシーや企業経営をすすんで危険に晒す正気な人間なんているだろうか?
事実は以下の通り:コンピュータ・セキュリティへの脅威が激しさを増す環境下で、ソースがクローズドなソフトウェアは高価で障害を起こしやすいというだけではない -- つまり責任能力がないのだ。それを信頼する人間は誰でも、クラックしてくれとお願いしているようなものだ。理屈で納得できなかったとしても、過去18ヶ月における Windows のクラックや不正利用の急速な上昇率が、このことを証明するだろう。
ゴキブリは人知れず繁殖する。クラッカーはコードの秘密主義につけこむ。今こそそれらを日の光の元に晒すべきときなんだ。