セキュリティ組織の米SANS Instituteなどは現地時間5月15日,Windowsのパス名処理に不具合が見つかったことを明らかにした。パス名に細工が施されると,Windowsはそのファイルの場所(パス)を適切に示せなくなる。このため,例えばWindows上で稼働するウイルス対策ソフトのおいては,「ウイルスを検出しても,その実体にアクセスできずに駆除できない」といった問題が発生する恐れがある。

 今回の不具合は,DOS形式のパス名を,NT形式のパス名に適切に変換できない場合があることが原因。Windowsには,パス名を変換するための関数が複数存在する。特定の細工が施されたDOS形式のパス名をNT形式に変換しようとすると,適切な関数が選択されずに誤った変換をおこなってしまう。この結果,ファイルが存在するパスと,関数が返すパスが異なることになる。

 Windowsだけではなく,Windowsのパス名処理機能を利用するアプリケーションでも,同様の問題は発生する。例えば,ウイルス・ファイルを検出したウイルス対策ソフトが,Windowsが返すパス名を参照してファイルにアクセスしようとしても,そのパスにはファイルは存在しないために削除(駆除)できない場合がありうる。つまり,パス名に細工を施されることで,ウイルス対策ソフトといったセキュリティ・ソフトを回避される恐れがある。

 「Bugtraq」の情報によれば,影響が確認されているのは,Windows NT/2000/XP/Server 2003。セキュリティ・ソフトでは,Webroot Software Spy Sweeper,Symantec Norton AntiVirus,Softwin BitDefender,Norman Virus Control,Kaspersky Labs Anti-Virus,H+BEDV AntiVir,Eset Software NOD32 Antivirus,AVG Anti-Virus,Avast! Antivirusなどに影響が確認されているという。

 SANS Instituteでは今回の問題の対策として,すべてのWindowsユーザーに対して,「信頼できないファイルは開かない」といったセキュリティのセオリーを守るよう強くアドバイスしている。

◎参考資料
Path-conversion weakness in major AV products reported(SANS Institute)
Microsoft Windows Path Conversion Weakness(Bugtraq)
Path conversion design flaw in Microsoft NTDLL(Bugtraq)