セキュリティ・ホールってどうやって見つけるの?

(イラスト・アニメーション:岸本 ムサシ)

  今回の回答者:
初田 淳一
ラック
サイバーリスク総合研究所
コンピュータセキュリティ研究所 研究員

 パソコンを使っていると,OSやWebブラウザ,オフィス・ソフトなどさまざまなソフトウエアを利用することになります。こうしたソフトウエアには,セキュリティ上の問題点である「セキュリティ・ホール」が見つかることがあります。

 セキュリティ・ホールとは,ソフトウエアのバグのうちセキュリティにかかわるバグのことです。ぜい弱性とも呼ばれています。ソフトウエアを一つの壁と考えたとき,攻撃者はバグを抜け道(穴)として利用します。例えば,ウイルスを自動的にダウンロードさせてパソコン内の情報を盗んだりするなど,攻撃者は好き勝手な命令を実行するのです。

 セキュリティ・ホールはたくさん見つかっています。米国のセキュリティ関連のデータベースには,2008年の1年間に5632件ものセキュリティ・ホールが報告されました。これらは,セキュリティの研究者やエンジニア,ハッカーのチームなどが発見するケースがほとんどです。

 では,どうやって見つけるのでしょうか。方法は大きく2種類あります。一つはソースコードを調べる方法。もう一つは実行ファイルを調べる方法です。主要なソフトウエア製品はソースコードが公開されていないので,主にこちらの方法が使われています。

 具体的には,プログラムの中で入力を受け付ける部分にいろいろな値を入れて挙動を確かめたり,部分的にコードを推定してバグを見つけたりします。値を入力するには,作業を半自動化したセキュリティ・テスト用のツール「ファジング・ツール」が使われることもあります。

 セキュリティ・ホールが見つかると,ソフトウエアのベンダーはセキュリティ更新プログラムを作成して公開します。ユーザーのみなさんは,更新プログラムが公開されたら即座に適用するようにしましょう。