クラッカが開設したサイトにWWWブラウザでアクセスするだけ,あるいはメールを受信するだけで,クライアントのデータが漏えいしたり,マシンが乗っ取られたりする可能性があるセキュリティ・ホールが相次いで報告されている。ファイアウオールの内側でも危険だ。最大の対策はセキュリティ・ホールを持つソフトウエアを使用しないことである。

 クライアント・パソコンがクラッカから直接狙われる危険性が高まっている――最近,クライアント・ソフトウエアの重大なセキュリティ・ホールが,相次いで報告された(表1[拡大表示])。WWWブラウザでアクセスしたり,電子メールを受信するだけで,マシンに置くファイルがクラッカに盗み出される。また,トロイの木馬など不正な操作を実行するプログラムが送り込まれ,マシンが乗っ取られる可能性もある。しかもそのほとんどは,ファイアウオールやアンチウイルス・ソフトウエアでさえ防ぐことはできない。

表1●最近報告されたクライアントのセキュリティ・ホールの例
図1●“Brown Orifice"の仕組み
Netscape Communicator 4.74以前に搭載されているJavaVMのセキュリティ・ホールにより,WWWブラウザ上のJavaアプレットがローカル・ファイルにアクセスし,他のマシンに公開できてしまう。Brown Orifice HTTPDはこのセキュリティ・ホールを実証するJavaアプレットであり,ダウンロードした際にhttpサーバーとして動作し,外部にファイルを公開する。8月末時点の日本語版最新バージョン4.73は,このセキュリティ・ホールが修正されないまま配布されている
図2●バッファ・オーバーフローによるデータ漏えいや乗っ取り
OutlookやWinbiffなどのクライアント・アプリケーションにバッファ・オーバーフローによるセキュリティ・ホールが報告されている。クラッカがこれを悪用すれば,ファイルの転送によるデータの盗み出しや,トロイの木馬を仕掛けるなどの不正な操作が可能になる

 8月末時点では,まだ,実際に被害が発生したという報告はない。しかしすでに,これらのセキュリティ・ホールを実証するプログラムがインターネット上で公開されている。また,公開してないが,実際に作成できたという報告もある。現状は,「技術的にはデータの盗み出しは十分可能。悪用しようとする人間がいるかどうか,またその標的になるかどうかだけの問題」(ラック 不正アクセス対策事業本部 取締役本部長 三輪信雄氏)である。

 また,サーバーとは違ってクライアントなぞだれも狙わないと思うかもしれないが,そうではない。クライアント・パソコンには,漏えいにより深刻な被害が発生するデータが,本人の気付かないうちに収められていることがある。クレジット・カード番号やオンライン・ショッピングのIDなどだ。WWWブラウザのキャッシュに存在する場合もあるし,専用のオンライン・バンキング・ソフトウエアを使用していれば,設定ファイルやレジストリに書き込まれているケースもある*1。Cookie変数が盗まれれば,それを悪用して本人になりすましてアクセスできるECサイトもある。

Javaアプレットでデータ漏えい

 実際に,どんなソフトウエアにどのようなセキュリティ・ホールが存在しているのだろうか。

 2000年8月3日,Netscape Communicatorに付属するJavaVM(仮想マシン)に,「クライアントのローカル・ファイルを読み出し,他のマシンに閲覧させることができる」というセキュリティ・ホールが報告され,同時にセキュリティ・ホールの存在を実証するプログラム「Brown Orifice HTTPD」がインターネットで公開された(図1[拡大表示])。このアプレットはWWWサーバーとして動作する。WWWサイトにアクセスし,ボタンを押すと,Brown Orifice HTTPDアプレットがダウンロードされ,ローカル・ファイルがだれでも閲覧できるようになる。Brown Orificeを詳細に分析した,JavaHouseメーリング・リスト管理人の電子技術総合研究所 情報アーキテクチャ部 主任研究官 高木浩光氏は,その深刻さを「Java史上最悪」と表現している*2

 Javaアプレットは本来,セキュリティ確保のためローカル・ファイルへのアクセスやダウンロード元以外のサイトとの通信が制限されている。しかし,サブクラスを作成して使うことで,この制限をすり抜けることができてしまった,というのが今回の問題である。

 この問題は,ファイアウオールの内側に置くマシンであっても防げない。通常ファイアウオールがあれば,内側にあるWWWサーバーに対する外部からのアクセスは遮断できる。しかし,アプレットのダウンロード元のサイトへの送信はファイアウオールで遮断することができないからだ。つまり,そのサイト開設者がクライアントのファイルを閲覧することは防げない。

 米Netscape Communicationsは,この問題を修正したバージョン4.75を8月17日に提供開始した。ただし,8月29日時点では,4.75の日本語版は出荷されていない。バージョン・アップ以外の対処方法としては,Java2 Plug-inを使用する,デフォルト設定を変更してJavaを無効にするなどがある。

メールを読み込むだけでも危険

 そのほかにも多くのソフトで重大なセキュリティ・ホールが見つかっている。特にバッファ・オーバーフローによるものが恐い。バッファ・オーバーフロー攻撃とは,今年1月の官公庁ホームページ改ざんで使われた,「大量のデータを送付して誤動作を引き起こし,送り付けたプログラムを実行させる」というもの(図2[拡大表示])。この事件はサーバーに対する攻撃であったが,クライアントでも同様な危険が存在する。

 8月中旬から下旬にかけ,Becky! Internet Mail,電信八号,などのメール・クライアントにバッファ・オーバーフローによるセキュリティ・ホールが報告された(表1)。Becky!ではContent-Type行,電信八号ではFrom行,WinbiffではSubject行に長いデータが存在するとバッファ・オーバーフローが発生する*3。発見者はラック 不正アクセス対策事業本部 取締役本部長 三輪信雄氏である。また2000年7月には,Microsoft Outlook ExpressおよびOutlookでも同様なセキュリティ・ホールが報告された*4。この他,Acrobat Readerや,Internet Explorerなど多くのクライアント・アプリケーションで,セキュリティ・ホールが報告されている。表1に示したのは一部に過ぎない。

 クライアントでの発見が増えてきた理由をラックの三輪氏は,「サーバー側のセキュリティ・ホールは多く探索され,発見されにくくなってきた。そのため,セキュリティ・ホール探索の関心がクライアントに移ってきているため」と見ている。

 三輪氏は,Becky!などのセキュリティ・ホールを突いてファイルを転送するプログラムを,およそ半日で作成できたという。これらのセキュリティ・ホールにより,ファイルを盗まれるだけでなく,トロイの木馬をダウンロードされ,仕込まれてしまう可能性もある。「例えばラブレター・ウイルスは,メールの添付ファイルを開かなければ感染しない。しかし,今回のWinbiffや電信八号のケースでは,本文を読む前に,POPなどでメールを受け取った時点で被害が発生してしまう」(三輪氏)。この攻撃も,ファイアオールで防ぐことはできない。対応しているアンチウイルス・ソフトウエアも8月末時点では存在しない。

最新版の使用が最大の対策

図3●クライアントのセキュリティを確保する方法
表2●パーソナル・ファイアウオールの例

 これらの危険を防ぐ原則を図3に示す。基本かつ最大の対策は,セキュリティ・ホールが発見されたソフトウエアは即座に使用を中止すること。あるいは,セキュリティ・ホールが修正された最新版のソフトウエアを使用することだ。また,信用できないサイトを閲覧しないこと,不用意にファイルをダウンロードしたり,ボタンやリンクをクリックしないことも心掛ける。

 クライアントのセキュリティに向けたパーソナル・ファイアウオールと呼ぶ製品も,多数登場してきた(表2[拡大表示])。米Zone LabsのZoneAlarmなど,個人の非商用利用であれば無償で使用できる製品もある。パーソナル・ファイアウオールの基本的な機能は,アプリケーションからIPスタックへのコールを監視し,それによって不要なポートをふさぎ,必要なアプリケーションだけに通信を許可することだ。ポート番号の詳細を知らないユーザーでも使えるように,セキュリティのレベルを高・中・低などの段階で設定できるようになっている。これまでに知られている不正アクセスの手口と通信を照合して,不正アクセスが試みられていないかを検出する製品もある。

 これらの製品は,インターネット常時接続が一般化している米国で一定の支持を得ている。例えばZoneAlarmは,すでに400万ユーザーによってダウンロードされたという。ただし,パーソナル・ファイアウオールへの過信は禁物だ。不要なポートをふさげば,使っていないアプリケーションからは侵入されない。しかし,使用しているアプリケーションに穴があれば,使わないポートを閉じても何の意味もない。

 また,個人データを盗まれないように,ユーザーが指定したキーワードを含むデータが送り出されようとすると遮断する製品もある。これも,送出する前にデータを暗号化するなどの抜け道を使われる可能性もある。あくまで,基本対策の徹底が前提である。

(高橋 信頼=nob@nikkeibp.co.jp)