インターネットセキュリティシステムズ(ISS)は2004年12月15日,パソコン用の統合セキュリティ保護ソフト「Proventia Desktop」を発売した。パーソナル・ファイアウオール機能や不正侵入防御機能を統合した「RealSecure Desktop Protector」の後継製品。新バージョンではバッファ・オーバーフロー攻撃を防止する「バッファ・オーバーフロー・エクスプロイト・プリベンション機能」や,プログラムの挙動によってそのプログラムがウイルスかどうか判断する「ウイルス・プリベンション機能」,許可していないアプリケーションの自動実行を防止する「アプリケーション・プロテクション」機能などを追加した。価格は25ユーザー時で24万3000円。

 新機能であるバッファ・オーバーフロー攻撃防止機能や挙動ベースのウイルス防御機能は,「パターン・ファイル・ベースのウイルス対策ソフトや,パーソナル・ファイアウオールでは防げないウイルスやワームから,OSを多層的に防御するためのもの」(ISSの松崎義雄経営企画部長)という。

 例えば,パーソナル・ファイアウオールでも,必要に応じて開けたポートへの攻撃は防御できない。また不正侵入防御機能も,不正アクセスのパターンを記録したルール・データが間に合わない場合は突破されてしまう。しかし,Proventia Desktopのバッファ・オーバーフロー・エクスプロイト・プリベンション機能は,ワームがバッファ・オーバーフローを悪用する動作を検知して,コードの実行を防止できるという。

 バッファ・オーバーフロー・エクスプロイト・プリベンション機能は,カーネル・モードで動作してシステム・コールをインターセプト(傍受)し,起動されるコードに対して「スタック・バックトレース」という解析を実行して,コードのインストラクション・ポインタが,正しくリード・オンリー・メモリー領域にあるかどうか確認している。もし,リード・オンリー・メモリー領域以外からコードが起動される場合,バッファ・オーバーフロー攻撃が起きていると判断して,プロセスを終了する。

 コードが実行されるたびに解析するため,システムに負荷がかかりそうだが,「解析する対象を,バッファ・オーバーフロー攻撃の対象になりそうなコードに限定することで,システム・リソースの7~8%だけが消費されるように制限している」(ISS)という。

 Proventia Desktopのウイルス・プリベンション機能は,未知のプログラム・コードを発見した際に,まず仮想的なマシン環境でそのコードを実行し,そのコードの挙動を分析してウイルスかどうか判断する。例えばそのコードが,アドレス帳を開こうとしたり,レジストリ・キーの値を変更しようとしたり,ディスクのセクターを破壊しようとしたりする場合はウイルスであると判断して,そのプログラム・コードを隔離する。ウイルス定義ファイルがまだ用意されていない新種のウイルスでも防御が可能としている。

 ISSは前バージョンのRealSecure Desktop Protectorを「Black ICE」というブランドで個人向けに販売しているが,今回発表したProventia Desktopの個人向けバージョンの発売は未定としている。

(中田 敦=日経Windowsプロ

【IT Pro-Windows Reviewメール】を好評配信中。申し込みはこちら