毎年秋に恒例となっている、セキュリティ対策ソフトの一斉バージョンアップ。シマンテックの「Norton Internet Security 2008」も大幅にパフォーマンスが向上し、順当な機能アップを果たしているが、特に注目したいのがブラウザ脆弱性対策向けの新機能「Browser Defender」だ。米Symantecのシニアプロダクトマネージャー・Josephine Gibney氏に話を聞いた。
Browser Defenderは、Internet Explorerの脆弱性を利用する攻撃を防ぐテクノロジーだ。IEの脆弱性を悪用し、Webサイトを閲覧しただけでマルウェアがダウンロード、インストールされる「ドライブバイダウンロード」と呼ばれる攻撃に対応できるというのが特徴となっている。
こうしたブラウザからの攻撃には、従来のウイルス対策ソフトでも対応はできた。しかし、Gibney氏は「限定的な防御」だという。従来の技術では、ネットワークトラフィックを監視し、マルウェアの侵入を防御するが、これだけでは不十分だとGibney氏は説明する。
Gibney氏によれば、既存の技術は、ネットワーク経由でブラウザに送り込まれる文字列を検査し、ブラウザの脆弱性をつくようなコードが含まれていたらそれを検出、阻止するというものだが、そういった攻撃は偽装されていることが多いため注意が必要になる。たとえば、単純にコードを送りつけるのではなく、変数AとBを分割して送り、ブラウザ上でレンダリングされる際に別のコードを使ってそれを結合したり、文字列を数字に変換してブラウザ上で再び文字列に変換したりといった手法があるそうだ。
仮に2分割されて送られる偽装コードがあった場合、いずれのコードも実際には無害なので従来の検出方法ではすり抜け、攻撃が行われてしまう。一方Browser Defenderの場合、2分割された偽装コードが結合され実行する前段階で攻撃を検出してブロックしてくれるため、効果が高いのだという。「Browser Defenderは、偽装コードが正体を現すポイントをキャッチする」(Gibney氏)
これを可能とした理由は、シマンテックが偽装コード結合のためのコードを呼び出すAPIをコールするポイントを発見したことにある。その情報をBrowser Defenderに組み込み、悪意あるコードが偽装コードを実行する前に検出して、攻撃をブロックできるようにしている。
過去には、ActiveXコントロールADODB.Streamの脆弱性をついたドライブバイダウンロード攻撃などが確認されているが、これもBrowser Defenderを利用すれば悪用コードがActiveXコントロールを呼び出す前にブロックできる。ほかにもWebビューの脆弱性では、送られてくるパラメーターが異常に長い時にバッファーオーバーフローが引き起こされるというもがある。Browser Defenderではパラメーターの長さもチェックし、「異常に長いパラメーター」をブロックするそうだ。
シマンテックでは2002年に英SecurityFocusを買収、著名なセキュリティコミュニティ「BugTraq」を獲得しているが、そこで流れる情報もBrowser Defenderに活用。まだベンダーが確認できていない未知の脆弱性も含めて問題を精査し、ブラウザの脆弱性をつく攻撃に対応しているという。またGibney氏は、ソフトウェアのバグや脆弱性を発見するための「ファジング」と呼ばれるテクニックも使い、ゼロデイ攻撃のような未知の脆弱性を悪用するコードもブロックできるとしている。