web-dev-qa-db-ja.com

実行可能ファイルのアンチウイルス誤検知

私はただ厄介な問題に遭遇しました。突然Avira AntiVirが、私のソフトウェアの1つの実行可能ファイルにウイルスとしてフラグを立て始めました。

ほとんどすべてのユーザーからのデフォルトのアクションは[OK]をクリックすることであり、Aviraはvirusを隔離することを提案しているため、ほとんどのユーザーがこの実行可能ファイルを削除しています。

さて、傲慢にならずに、私が実際に感染していないかどうかを確認しましょう。ファイルを http://www.virustotal.com に投稿しましたが、すべてのアンチウイルスから、Aviraのみが感染としてフラグを立てます。さらに、2つの異なるアンチウイルスでコンピューターをスキャンしましたが、クリーンです。

私はすでに何が起こっているのかを説明するメールをユーザーに投稿しましたが、これは私のサポートのオーバーヘッドであり、私は本当に望んでいません。

OK、質問は:この種の動作を回避する方法はありますか?ファイルに署名する以外に方法は考えられませんが(それが解決するかどうかは本当にわかりません)、創造的なアイデアがあるかどうかを見てみましょう。

40
Ricardo Acras

DelphiアプリケーションがAVアプリケーションによって(潜在的に)有害であると報告されることは驚くほど一般的です。 Delphi 2009を使用して、しばらく前に私に起こりました。 http://en.wikipedia.org/wiki/Wikipedia:Reference_desk/Archives/Computing/2010_March_20#Delphi.2FAVG_Issue を参照してください。

SOでは、

などなど。

実際の可能性があります Induc Virus 。しかし、おそらく、それは誤検知です。

27

アンドレアスの答えは素晴らしいです。 Delphiアプリケーションでよく発生します。

コードに署名しても違いはありません-署名されたDelphiコードでNOD32が誤検知をスローしました。

誤検知を回避する手法があれば、ウイルス作成者はそれらを使用して検出を回避します。

残念ながら、最善の行動方針は、積極的ではなく反応的であることがわかりました。すべてのAVベンダーには誤検知を報告する機能があり、報告に対応していることがわかりました。

23
glob

アンチウイルス製品がDelphiで生成されたexeでトリガーされる理由はいくつかありますが、一般的な理由は次のとおりです。

  • 多くのウイルスがDelphiで記述されているため、exeファイルには既存のウイルスと同じように見えるコード部分が含まれている可能性があります。
  • プログラムのインポートテーブルは、exemightが何をするかを決定するために使用されます。たとえば、資格情報管理またはディスク管理機能にリンクすると、一部のAVがトリガーされます。

前に提案したように、 VirustotalJotti などのオンラインサービスでリリースバージョンをスキャンし、誤検知を防ぐのではなく、常に誤検知をベンダーに報告してください。私の経験では、AVベンダーは提出に対して非常に迅速に反応します。

4
Remko

多くの正直な開発者は、不注意なウイルス対策ソフトウェアのために問題を抱えています。これも参照してください: ソフトウェアで誤検知ウイルスアラームを防ぐ方法は?

彼らが示す誤検知ごとに、見込み客を失うことを想像してみてください。プログラマーは、そのようなウイルス対策製品に対して 行動を起こす し、誤検知アラームに対してより注意を払うように強制する必要があります。

更新:
最近、私は次のことを観察しました。

  • VirusTotal.comでの誤検知の数は、プログラムが「リリースモード」(コンパイラの最適化あり)の場合、「デバッグモード」でコンパイルされた場合よりもはるかに多くなります。
  • EurekaLog使用時のスカイロケットの検出。

したがって、プログラムを公開する前にVirusTotalに送信してください。


2019年の更新:
残念ながら、InnoSetupも免れません。 InnoSetupを使用してダミーのインストーラーを作成し、VirusTotalにアップロードしました。 52のプログラムのうち5つ 報告 誤検知!更新時の更新:誤検知の数が9に増えました!

Free Pascal/Lazarusグループおよびバグトラッカーでは、このようなメッセージはほぼすべてのリリースおよび/または月に発生します。

通常、ユーザーには、「一般的な」または「ヒューリスティックな」スキャンタイプをすべて無視し、署名ベースのスキャンに固執することをお勧めします(ほとんどの企業のウイルススキャナーと同様)。

これは、ほとんどの場合、ヒューリスティックアラームであり、特定のマルウェアではないためです。これは、検出された「ウイルス/トロイの木馬」がほとんどの場合「ジェネリック」タイプであるという事実から容易に理解できます。通常、ウイルススキャナーは典型的な「家庭用」ウイルススキャナー、または一般的なウイルススキャナーの家庭用エディションでもあります(ノートンは以前は特に悪かったのですが、最近ではほとんどが小規模な「安価な」家庭用スキャナーです)

しかし、私たちは主に開発者とコミュニケーションを取り、すでにこのメッセージを伝えるのに苦労しています。無知なエンドユーザーに配布するとき、これは伝えるのが本当に難しいメッセージだと想像できます。

それでも、他の方法はありません。

3

解決策として、次のことを行うことができます。

1-Delphiコンパイラが感染していないことを確認します
2-ソースとライブラリが調整されていないことを確認します(これは InducVirus のM.O.でした)
3-AVで(保証された)クリーンなexeファイルを確認します。誤検知が報告された場合は、テストを修正できるように連絡してください。

4-AVを修正する前に配布する必要がある場合は、exeに署名して、ユーザーがクリーンであることを確認できるようにします。

3
François