Windows Vista とマイクロソフトの文化にセキュリティを育てる

公開日: 2008年5月28日
Viewpoint

Microsoft Corporation
Principal Security Program Manager
Michael Howard 著

その他の Viewpoint の記事 もご覧ください。

*

約 2 ヵ月前に、ジェフ ジョーンズ氏が Windows Vista One Year Vulnerability Report (英語情報) (Windows Vista 1 年間の脆弱性レポート 日本語訳) を発表しました。下のグラフはそのレポートから抜粋したもので、デスクトップのオペレーティング システムの脆弱性を比較しています。

図 1

ジェフ ジョーンズ氏が徹底的に分析したセキュリティの脆弱性と調査結果の報告にはいつも驚かされますが、それは調査結果の内容ではなく、それに対するコメントが非常に空論的だからです。

ジェフと私は次のすべてを実際に耳にしました。

「これって嘘じゃない?」

「うん。だけど、これは Apple のコンピュータ同士の比較じゃないよね」

「彼なんか信じられないよ。マイクロソフトの社員じゃないか!」

「マイクロソフトがセキュリティの何を知っているんだ?」

「彼の次のたくらみ…」

「あのチャートは実にグサっときたよ。どんな議論でも、統計を使って正当性を証明できることにショックを受けた。」

「もちろん彼は Windows が最高だと言うさ。そこから給料をもらっているんだからね。」

「脆弱性の数でセキュリティを評価するのは当然さ。ただし、間抜けな人がやることだけど」

「Linux の安全性が高いという大きな理由は、ブラック ハットの大勢の人達がオープン ソースの原則を愛してやまないからっていうのもあるよね。」

「だれかマイクロソフトを正面から平手で叩いてくれない?」

「Mac でセキュリティ ホールに修正プログラムが必要だったことなんか、思い出せない」

全体像がつかめましたか?

少しの間、純粋な統計を無視してください。Windows Vista と RedHat、Mac OSX や Ubuntu との比較はやめませんか。現実的に考えて、全面的にセキュリティの評価に賛成する人などいないのでは?ここでは、比較については無視しませんか? セキュリティの評価は簡単なことではありません。脆弱性を数えるメリットには多くの議論があると思いますが、現時点で具体的な測定基準はそれだけなのです。

2002 年にビル ゲイツが Trustworthy Computing Memo (信頼できるコンピューティングのメモ) を発表した時、多くの人達はただ 人目を引くための行為外部サイトへのリンク (英語情報) だと思っていました。しかし、実はそうではありませんでした。マイクロソフトの社内では、彼の指示は常にとても真面目に受け止められるのです。 さらに話を進めると、大手のソフトウェア企業では上司の決断があって初めて大規模な改革が実現するという現実に突きあたります。 もしそうなら、どうしてマイクロソフトの全社員にメモが送られたのでしょうか?それは簡単です。 ビル ゲイツ (および上層部の全管理職のチームは、セキュリティに関して) は、マイクロソフトが解決しなければならない問題を抱えていて、全社で製品のセキュリティを強化することが必要であると認識したからです。

そのきっかけを彼が作ったのです。

ジェフの最近の分析に戻りましょう。ここでは Mac OS X および Linux の状況はかくして見ずに、Windows XP SP2 および Windows Vista の棒グラフのみを見てみましょう。Windows Vista は Windows XP SP2 と比較すると、その脆弱性の件数は少ないです。世間一般の見解 (特に都市伝説ともなると、しばしば間違っていることがあります) はコードのラインが多ければ多いほど、バグが多くなるということを意味する傾向があります。この見解は正しいのかもしれません。しかし、Windows Vista は確実に Windows XP SP2 よりもコードのサイズが大きいですが、Windows XP SP2 と比較して約 50 パーセント脆弱性が減少しています。しばらくこの数字について考えてみましょう。コード サイズの増加にかかわらず、約 50 パーセント減少しているのです。(これは脆弱性の深刻度の低下は考慮に入れていません)

では、Windows Vista が Windows XP SP2 よりも多くのコードを持っているのであれば、なぜ脆弱性の減少がみられるのでしょうか? 答えは簡単です。それはセキュリティ開発ライフサイクル (SDL) によるためです! マイクロソフトは開発の慣行を変更し、セキュリティの分野をさらに強化することにしました。セキュリティ上の脆弱性を削減する唯一の方法はコードのセキュリティ、設計のセキュリティの改善、攻撃の表面の削減、教育、進化する脅威の追跡、ツールの強制的な使用、既知の悪い機能の禁止、より高性能なコンパイラ、リンカ、ライブラリなどに焦点を当てることです。またそれが、SDL のすべてであり、私たちのチームが特に焦点を当てていることです。

主なマイクロソフト製品に脆弱性の減少が確認されている理由は簡単です。

マイクロソフトはセキュリティを向上させる必要があることを知っていました。

ビル ゲイツはそう言いました。(また、その他の上層部の全管理職も同様です。)

私たちのグループはすぐに行動に移り、その他のマイクロソフトの部門がセキュリティ問題のスピードについていくよう支援しました。

マイクロソフトの開発プロセスを変更し、SDL に適応するようにしました。

セキュリティに焦点を当てることにより、セキュリティを改善するのです。星に願うのではありません。「十分な眼球があれば…」などという古い神話を信じるのではありません。「眼球」の呪文が真実であるならば、オープン ソースのセキュリティ上のバグはほとんどなかったでしょう。しかし、製品の出荷後、オープン ソースのセキュリティ上のバグが多数確認されています。なるほど。この厳しい現実をふまえると、「十分な眼球」の信仰の妥当性について、興味深い問題が起こるように思えます。

それではここでジェフのグラフに戻りましょう。Windows の欄を隠して、その他の棒グラフを見てみましょう。さて、それを斜めに見たり、回転させてみたくなるでしょう。製品が出荷されてから修正が必要なセキュリティ上の脆弱性が数多く存在します。認めましょう。さあ、認めましょう。たくさんのバグがあります。私は Linux の配布がどんなに広範囲であるか、また Ubuntu がそれに同梱している IM クライアントの数、または UAC のメリットなど気になりません。多くのセキュリティ上の脆弱性があります。さあ、この質問をご自分自身に問いかけてください。これらのその他の製品の開発に携わっている人のうち何人の人が「ああ、セキュリティ上のバグがたくさんある。この問題を修正するために何か体系だったことをすべきだ。」と言うのを皆さんは耳にしたことがあるでしょうか? 私が間違っていてもかまいませんが、私が耳にするのはみんな虫の音みたいなものです。業界中の誰かが立ち上がり、「これを修正しよう。」と言っている光景は見られません。

聞こえてくるのは、感情、言い訳そして独断です。

マイクロソフトでは、ビル ゲイツのメモは「私たちはこれを修正する必要がある」というものでした、私たちは今その結果を見ています。完全ではありませんが。完全、とはいかないでしょう。なぜなら、100 パーセント 安全なソフトウェアは存在しないからです。しかし、SDL のおかげで、Windows だけでなくすべてのマイクロソフト製品で進歩がみられています。

話を締めくくらせてください。数年前、私はある大規模な金融機関の上級技術者たちとソフトウェアのセキュリティについて話をしました。マイクロソフトを訪問した後、彼らは別のオペレーション システム ベンダーを訪ねに行きました。その名前は挙げません。その金融機関は私たちの初期の結果に非常に興味を示し、SDL により得たものに勇気づけられていました。私はその場に居合わせた最も上級の担当者にその他の企業についてのある非常に簡単な質問をしてみました。「製品のセキュリティを向上させるために彼らは何を行っているのですか? つまり、彼らはセキュリティ上の脆弱性がまず初めの段階で製品にしのび込む可能性を低減するために何を行っているのですか? さらに、彼らはその返答に「マイクロソフト」という言葉を使用できません。」 2 週間後、その担当者が私に電話で彼の会社はマイクロソフトから製品を購入することにし、その他の企業からは何も購入しない旨を伝えてきました。私は彼にその理由をたずねました。彼は「その他の企業のできることといえば、数多い深刻なセキュリティ上の脆弱性があること、そしてその脆弱性の侵入を削減するプロセスがないということを認めるのではなく、言い訳ばかりです。(例としてこのコラムの最初の一覧をご覧ください)」と言いました。

そうです。そしてもう一つ言わせてください! 業界でその他の人物が、立ち上がり、解決する必要のある問題があることを認め、それについて何かしら行動し始めることを目の当たりにしてみたいです。私は本当に、本当にそれを望んでいます。というのも、私たちはコンピューティングのエコシステム全体をセキュリティで保護する必要があるためです。数値の比較は興味深いですが、本当に問題となることは、「進歩が行われているか?」、これに限ります。マイクロソフトでの答えは「はい」です。しかしこの唯一の理由は、ビル ゲイツが解決すべき問題があることを認識し、これが SDL の誕生に結びついたためです。

セキュリティ ニュースレター購読申し込み

この記事は、マイクロソフト セキュリティ ニュースレターで配信しました。


ページのトップへページのトップへ