2013年01月09日
先日のウィルスバスターの誤検出についての解析
まずは、ウィルスバスター クラウドの誤検出でMicrosoft の電子署名の入ったインストーラーファイルまで
誤検出するという件に誤りがあったのをお詫びします。
あんまり誤検出自体は重く考えてなかったので、詳しい解析をしていなかったのですが、一連の流れでウィルスバスターの動作もおかしいようなので、技術的にまとめておきました
1.誤検出した環境について。
Windows XP 上で デスクトップにあった vcredist_x86.exe を実行。
このインストーラーを右クリックしたところ電子署名があったので、正規のファイルだと思っていたのですが、Windows 2000用に書き換えたものでした。
ただし、改変個所は1バイトで、NT5.0だった場合にエラー終了する場所ジャンプ命令を書き換えただけです。
2.検出時の動作
インストーラーを起動すると %temp%\{5679ba8c-3ec1-426c-89af-e2dd9877d34f}\.be に vcredist_x86.exe が起動され、インストール処理はそっちが行います。
この、vcredist_x86.exe にも電子署名があるんですが、このファイルオリジナルのファイルが展開しているのかと思ったら、自分自身を書き換えて動的に生成しているファイルなので、オリジナルが違ったら、こちらのファイルも電子署名が合わなくなってしまうようです

ウィルスバスターが停止して削除するのは、こちらのファイルだけ。
オリジナルのプロセスが生きているので、このメッセージが表示されます
電子署名が間違ってるファイルを削除するというのなら、オリジナルのファイルを検出しないのが不具合であり、電子署名が理由で無いなら、ただの誤検出ということになります。
ドロップしたファイルが不正なファイルというのなら、ドロップ元のプロセスに不干渉なのも納得がいきません。
今回は不正なファイルという理由でウィルスの検体名も何も無かったのですが、なにが不正なのか書いてあるとユーザーはうれしいですよね。
ちなみに、「許可する」というホワイトリストに入れるボタンがあるので、ウィルスとして検出したわけではないのでしょう。
入れると、検出しなくなりました。
結論としては
1.今回 誤検出したのは実は 証明書が無効だったから。
2.今回 誤検出したのは 証明書があるのに証明書が無効だったからではない。
3.実行ファイルが同じでファイルサイズが小さいだけのファイルをウィルスバスターは誤検出する。
4.誤検出したときに、ウィルスバスターは詳しいことを教えてくれない。
5.ウィルスバスターは検出した不正なファイルの親プロセスを教えてくれない&チェックしていない。
こんなところでしょうか ・ω・
誤検出するという件に誤りがあったのをお詫びします。
あんまり誤検出自体は重く考えてなかったので、詳しい解析をしていなかったのですが、一連の流れでウィルスバスターの動作もおかしいようなので、技術的にまとめておきました
1.誤検出した環境について。
Windows XP 上で デスクトップにあった vcredist_x86.exe を実行。
このインストーラーを右クリックしたところ電子署名があったので、正規のファイルだと思っていたのですが、Windows 2000用に書き換えたものでした。
ただし、改変個所は1バイトで、NT5.0だった場合にエラー終了する場所ジャンプ命令を書き換えただけです。
2.検出時の動作
インストーラーを起動すると %temp%\{5679ba8c-3ec1-426c-89af-e2dd9877d34f}\.be に vcredist_x86.exe が起動され、インストール処理はそっちが行います。
この、vcredist_x86.exe にも電子署名があるんですが、このファイルオリジナルのファイルが展開しているのかと思ったら、自分自身を書き換えて動的に生成しているファイルなので、オリジナルが違ったら、こちらのファイルも電子署名が合わなくなってしまうようです
ウィルスバスターが停止して削除するのは、こちらのファイルだけ。
オリジナルのプロセスが生きているので、このメッセージが表示されます
電子署名が間違ってるファイルを削除するというのなら、オリジナルのファイルを検出しないのが不具合であり、電子署名が理由で無いなら、ただの誤検出ということになります。
ドロップしたファイルが不正なファイルというのなら、ドロップ元のプロセスに不干渉なのも納得がいきません。
今回は不正なファイルという理由でウィルスの検体名も何も無かったのですが、なにが不正なのか書いてあるとユーザーはうれしいですよね。
ちなみに、「許可する」というホワイトリストに入れるボタンがあるので、ウィルスとして検出したわけではないのでしょう。
入れると、検出しなくなりました。
結論としては
1.今回 誤検出したのは実は 証明書が無効だったから。
2.今回 誤検出したのは 証明書があるのに証明書が無効だったからではない。
3.実行ファイルが同じでファイルサイズが小さいだけのファイルをウィルスバスターは誤検出する。
4.誤検出したときに、ウィルスバスターは詳しいことを教えてくれない。
5.ウィルスバスターは検出した不正なファイルの親プロセスを教えてくれない&チェックしていない。
こんなところでしょうか ・ω・