ページ 11

デラックスライブラリでマルウェア誤検出

Posted: 2012年3月13日(火) 21:29
by zxzy
ちょっとしたものデラックスライブラリを使って作ろうとしたところ
コンパイルしたときにsophosにウィルス/マルウェア扱いされ隔離されました。

前回のコンパイルから数行しか増やしてなかったため原因の部分はすぐわかり
直しました。
DrawGraphで画像表示するときにハンドルの指定が間違っていて存在しないものを
表示しようとしていたことでした。

そこで、質問なのですが存在しない画像をDrawGraphしようとしただけで
ウィルス/マルウェアと誤検出されるようなものがつくられることがあるのでしょうか?

コードはコンパイル時には、MakeScreenに数枚のpng画像を貼ってDrawGraphで
画像を表示するだけのものでした。
実際ミスで関係ない値をを引数にしていたのでMakeScreenのは使われてません。
誤検出原因になりそうなexeファイルを生成したりダウンロードをしたりする機能は
まったくないです。
sophosなのでnortonにあるコミュニティ内での使用数が少ないから危険と判断するような
機能もないと思います。いままで実行ファイルはいくつもつくっているのに
誤検出が起きたのは初めてです。

もう一度再現しようとそのときのコードと全く同じものでコンパイルしても再現できず
誤検出されたのはその一回だけです。

種類はMal/Wintrim-Aになってました。

exeファイルを別のセキュリティソフトでスキャンするとどうなるかと思ったのですが
その時のコードでコンパイルすれば何度でも起きるだろうと思っていたので
問題のexeファイルは削除してしまい、復元できない状態です。

Re: デラックスライブラリでマルウェア誤検出

Posted: 2012年3月14日(水) 00:27
by ISLe
配列の範囲外にアクセスすることをバッファオーバーランと言います。
バッファオーバーランは深刻なセキュリティホールとなり得るためある意味検出されて正解かと思います。
たまたまアクセスしたアドレスが引っ掛かったのでしょう。
確実に引っ掛かるプログラムを作れたらクラッカーになれるかもしれません。

Re: デラックスライブラリでマルウェア誤検出

Posted: 2012年3月14日(水) 13:09
by zxzy
ISLe さんが書きました:配列の範囲外にアクセスすることをバッファオーバーランと言います。
バッファオーバーランは深刻なセキュリティホールとなり得るためある意味検出されて正解かと思います。
たまたまアクセスしたアドレスが引っ掛かったのでしょう。
アクセスしたときのハンドルに配列を使っていました。
配列を使ったとはかいていなかったのに配列が原因と指摘されるとは・・・

ふだんは配列やポインタでプログラム外のアドレスにアクセスすることになると
エラーのメッセージボックスやsegmentation faultが出て強制終了になるのですが
それにもならずセキュリティソフトに検出されるなんて運がいいのか悪いのか・・・
ISLe さんが書きました:確実に引っ掛かるプログラムを作れたらクラッカーになれるかもしれません。
自分の今の技術じゃ絶対無理ですね。(笑

ありがとうございました。