Title:

[Windows セキュリティの重要な警告] 画面を悪用した偽装について

Date:

2005年1月3日 (Last modified: Friday, January 07, 2005)

Author:

Eiji James Yoshida (ptrs-ejy@bp.iij4u.or.jp)
penetration technique research site 

Version:

Microsoft Windows XP Professional SP2

Details:

 Windows XP SP2 で Windows ファイアウォールが有効な場合、プログラムがポートを開けると [Windows セキュリティの重要な警告] 画面が表示される。この画面には「名前」と「発行元」が表示されており、この情報をもとにユーザは [ブロックする] [ブロックを解除する] [後で確認する] という3つの選択肢から一つを選ばなくてはならない。つまり、「名前」と「発行元」は重要な判断材料となる情報である。

 しかしながら、この重要な判断基準となる情報である「名前」と「発行元」は、プログラムの生成時に誰でも自由に任意の値を設定できる。つまり、悪意のある者も「名前」と「発行元」を自由に設定できるのである。試しに Netcat の「名前」と「発行元」とアイコンを MSN Messenger と同じ値に設定して実行した。

MSN Messenger と同じ値を設定した Netcat を実行したときに表示される警告画面

 結果は、Netcat を起動しても [Windows セキュリティの重要な警告] 画面の「名前」には「MSN Messenger」、発行元には「Copyright (c) Microsoft Corporation 1997-2004」と表示されるのである。

 このようなことから、バックドアを開けるプログラムの「名前」と「発行元」とアイコンに MSN Messenger と同じ値に設定されたものが実行された場合、表示された [Windows セキュリティの重要な警告] 画面の「名前」と「発行元」からユーザは MSN Messenger だと思い込み、ブロックを解除してしまうという事態が考えられるのである。

Workaround:

 プログラムの「名前」と「発行元」に任意の値を設定できるのは仕様なので、紛らわしい「名前」と「発行元」とアイコンを使った偽装を防ぐことはできない。しかし、名前の部分にカーソルを置いて数秒待つと、実行されたプログラムのフルパスとファイル名が表示されるので、[Windows セキュリティの重要な警告] 画面を悪用した偽装を見破るときに役立つ情報として覚えておいていただきたい。

「名前」にカーソルを置いて数秒待つと表示されるフルパスとファイル名

 

 Copyright(c) 2005 Eiji James Yoshida. All rights reserved