「スキルのある人が探せば,どのようなソフトウエアにおいても,セキュリティ・ホールはいくらでも見つかるのでは?」---。そのように思わせる出来事がありました。あるセキュリティの研究者は「7月中,Webブラウザの新しいセキュリティ・ホールを毎日1件公開する」と宣言し,実際に31件のセキュリティ・ホールを公表したのです(関連記事:「ブラウザのセキュリティ・ホールを毎日1件公開する」と研究者が宣言,既に3件が公開)。

 「Month of Browser Bugs」と名づけられたこの“プロジェクト(イベント?)”では,主要ブラウザ---Internet Explorer(IE),Firefox,Opera,Safari---すべてが対象となりました。同プロジェクトのページでは,セキュリティ・ホールの概要と,セキュリティ・ホールを検証するためのデモが31件すべてのセキュリティ・ホールについて公開されています。

 ただ,31件すべてが危険なセキュリティ・ホールだったわけではありません。「Webページにアクセスするだけで,悪質なプログラムを勝手に実行される」といった危険なセキュリティ・ホールもいくつか含まれますが(そのうちの2件については,ITproでも報じています[関連記事]),公開されたセキュリティ・ホールのほとんどは,Webブラウザを不正終了させるだけのものでした。

 こういったセキュリティ・ホールは,「悪用すれば,WebブラウザにDoS(サービス妨害)攻撃を仕掛けられる」と説明される場合がよくあります。このように言えば危なく聞こえますが,Webブラウザを不正終了させられるだけなので,通常はそれほど危険ではなく,Webブラウザを再起動すれば済む話です。最近は聞かない言葉ですが,要は,「ブラウザ・クラッシャ(ブラクラ)」ぐらいにしか悪用できません。

 前述のように,任意のプログラムを実行できるセキュリティ・ホールもありますが,公開されたデモはすべてWebブラウザを不正終了させるだけのものでした。Month of Browser Bugsのページにおいて研究者は,「任意のプログラムを実行させる方法が明らかにならないように,注意深くデモを作成した」といった言葉を書いています。

動機はMSへの怒り?

 今回のプロジェクトを実施した人物は,セキュリティ・ホール検証ツール「Metasploit Framework」を開発したHD Moore氏です。Metasploit Frameworkは,セキュリティ・ホールを実際に突くことで,対象システムにそのセキュリティ・ホールが存在するかどうかを調べます。同氏などによってリリースされるモジュールを追加すれば,新しく見つかったセキュリティ・ホールにも対応できます。つまり,最新のセキュリティ・ホールを突くことができます。

 このため,悪用を懸念する声も聞かれますが,研究者やシステム管理者は重宝しているとの話も聞きます。例えば,セキュリティ・ツール「Nmap」の開発者がメーリング・リストを通じて実施したアンケートによると,Metasploit Frameworkはネットワーク・セキュリティ・ツールの人気ランキングの5位に入ったそうです(関連記事:お気に入りのセキュリティ・ツールは何ですか?)。ちなみに1位は,セキュリティ・ホール・スキャナーの「Nessus」でした。

 そのようなツールを開発した人物なので,セキュリティの分野では有名で,今までにいろいろなソフトのセキュリティ・ホールを発見してベンダーに報告しています。そのMoore氏が,なぜこのようなプロジェクトを実施したのか。「勝手に公表せずに,ベンダーに報告すればよいのに」と考える方は少なくないでしょう。その背景には,ベンダー,とりわけ米Microsoftに対する“怒り”があるように思えます。

 Microsoftは6月末に公表したセキュリティ・アドバイザリの中で,「マイクロソフトは特定のセキュリティ リサーチャーが,脆弱性の詳細をプログラムのリリースまで公開しないという一般的に受け入れられている業界の慣行に違反し,エクスプロイト コードを公開し,コンピュータ ユーザーに損害を及ぼす可能性をもたらしたことを残念に思っています」と述べています。

 ここでの「エクスプロイト コード」とはセキュリティ・ホールを突くプログラムのことで,Metasploit Frameworkのモジュールを指しているようです。つまり,ここでの「セキュリティ リサーチャー」とは,Moore氏を指していると考えられます。これを受けてMoore氏は,自身のブログで反論しました(関連記事:米Microsoft,ぜい弱性検証コードを公開したセキュリティ研究者に怒りの反応)。

 ちなみに,ここで議論されているのは「ルーティングとリモート・アクセスのぜい弱性により,リモートでコードが実行される(MS06-025)」のセキュリティ・ホールであり,この修正パッチが公開された9日後に,Moore氏はこのセキュリティ・ホールを突くプログラム(モジュール)を公表しました。

 本当の動機が何であれ,Moore氏が31件のセキュリティ・ホールを見つけたのは事実であり,この分ではもっと多くの新しいセキュリティ・ホールをストックしていることでしょう。同氏に限らず,スキルを持つ人が気合を入れて探せば,セキュリティ・ホールを見つけるのは,それほど難しい話ではないのかもしれません。

 ソフトのセキュリティを高めるのはベンダーの役目。ユーザーとしては,攻撃者しか知らないセキュリティ・ホールがお気に入りのソフトに存在するとしても,被害に遭わないような使い方をすることが重要でしょう。「信頼できないサイトへはアクセスしない」「覚えのないファイルは開かない」「パーソナル・ファイアウオールを適切に利用する」---といったセキュリティのセオリーをきちんと守れば,セキュリティ・ホールを突かれる危険性は大きく減らせるはずです。