フィンランドのセキュリティ・ベンダー「Oy Online Solutions」は現地時間6月4日,Internet Explorer(IE)5.5/6 のセキュリティ・ホールを公表した。WebページやHTMLメール中のリンクをクリックすると,ユーザーのパソコン上で任意のコード(プログラム)を実行させられる恐れがある。対策は,IEの設定を変更してGopherプロトコルを無効にすること。パッチは公開されていない。

 Gopherとは,インターネット上に分散している文書を検索するためのサービスあるいはプロトコルのこと。米Minnesota大学が1991年に開発した文献検索システムがベースとなっている。WWWの普及とともに,現在では使われなくなってきている。

 しかし,現在使用されているWebブラウザのほとんどには,Gopherのクライアント機能が備わっている。そして,IEが備えるGopherのクライアント機能に今回セキュリティ・ホールが見つかった。

 Oy Online Solutionの情報によると,Gopherサーバーから特定の文字列が送信されると,IEはバッファ・オーバーフローを引き起こす恐れがあるという。つまり,WebページやHTMLメール中に仕込まれたGopherのリンク(「gopher://」で始まるURL)をIEでクリックしてしまうと,任意のコードを実行させられる恐れがあるのだ。

 今回のセキュリティ・ホールを悪用するには,Gopherサーバーが必要だが,“本物”のGopherサーバーを用意する必要はない。Gopherサーバーのフリをする,小さなプログラムで十分であるとしている。実際,同社がデモ・ページのために動作させているGopherサーバー・プログラムは,数行のPerlスクリプトで書かれている。

 影響を回避するには,IEのプロキシ設定を変更して,Gopherプロトコルを無効にする必要がある。具体的には,「インターネットオプション」メニューから,「接続」を選択し,「LANの設定」をクリックする。そして,「プロキシサーバー」の「詳細設定」において,Gopherの「使用するプロキシのアドレス」に「localhost」,ポートに「1」を記入する。

 ダイヤルアップ接続の場合は,同じく「インターネットオプション」の「接続」から,「ダイヤルアップの設定」ウインドウ内のアイコンを指定して,「設定」ボタンをクリックする。そして,LANの設定と同様にGopherの欄を変更する。

 Gopherの欄が空白のままでは,無効にはなっていないので注意する必要がある。きちんと無効になっているかどうかは,Oy Online Solutionのデモ・ページにアクセスすれば確認できる。「A SAMPLE GOPHER DOCUMENT」から始まる英文ページが表示されれば,無効にはなっていない。「ページを表示できません」と表示されれば無効になっている。

 なお,攻撃用のGopherサーバーのポート番号は,攻撃者が任意に選択できるので(例えば,HTTPと同じTCP80番にすることも可能),ファイアウオールなどでGopherのポート(TCP 70番)をふさいでも,攻撃を防ぐことはできない。

◎参考資料
Buffer overflow in Microsoft Internet Explorer gopher code(フィンランドOy Online Solutions)
Frequently asked questions about the MSIE gopher vulnerability

(勝村 幸博=IT Pro)