質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

3回答

12492閲覧

C# ウィルスバスターにひっかかる

yukkuri_55

総合スコア272

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2016/12/11 01:02

###前提・実現したいこと
C#で作成したファイルを配布したい。

###発生している問題・エラーメッセージ

C#にてプログラムを完成させました。
そして、ユーザーにて実行するとウィルスバスターに
不審なファイルだと警告が出る

エラーメッセージ
不審なファイルを開こうとしています。と
ウィルスバスターが警告します。

###該当のソースコード
長すぎるので割愛、また、その特性上公開できない。
ほとんど簡易な命令しかつかっていない。

###試したこと
なし。

###補足情報(言語/FW/ツール等のバージョンなど)
言語:C#
環境:Visial C# 2010 Express
Windows7 32bit Professional Edition
ウィルスバスタークラウド
開発の時は警告がでらずに起動できる。
普通に起動すると警告が出る。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

###マルウェア対策ソフトの動作について

現在のクラウドと連係して動作するような大手のマルウェア対策ソフトでは単なるシグネチャ型検知だけをしているわけではありません。常に出現する新しいマルウェアや亜種に対応するべく、下記のような手段を用いて、総合的に判断し、検疫や削除の実施や警告等を出します。

  1. 過去のマルウェアと全く同じ、または、そのマルウェアの特徴的なコードを含む。(シグネチャ検知)
  2. 過去のマルウェアでよく使われるようなコードを多く含む。(ヒューリスティック検知)
  3. 過去のマルウェアでよく使われる悪意ある動作が行われた。(振る舞い検知) ※ 実行途中で検知される。
  4. 利用者からマルウェアであるとの世界中からの報告が多数有る。(クラウド評価)
  5. 今まで使ったという世界中からの報告が極めて少ない。(クラウド評価)
  6. クラウド上のサンドボックスで動作させ、悪意ある動作が行われた。(クラウド型サンドボックス振る舞い検知)

1.のシグネチャ検知は絶対ですが、それ以外2〜5は相対的な評価になります。いずれも絶対マルウェアであると検知できるものでも、マルウェアではない検知できるものでもありません。これらの方法は誤検知の可能性は高くなりますが、現在の新種や亜種が出るスピードではシグネチャ検知では限界があるため、これらを取り入れないとマルウェアを見逃してしまう可能性が高くなりつつあります。

それとは別に、安全であるというホワイトリストを持ちます。

  1. マルウェアでは無いと確認済みのアプリケーションと同一である。(ホワイトリスト)
  2. 信頼できる企業によって署名済みである。(証明書ホワイトリスト)
  3. 多くの利用者から安全に使用できたとの報告がある。(クラウド評価)

これも1.や2.はほぼ絶対ですが、3.については相対評価ですので、誤検知の可能性を低くするに過ぎません。

他にもこの方面は日々進化しているため、上記以外も存在するかも知れません。また、全てのソフトが採用しているわけでもありません。しかし、シグネチャ検知など絶対評価を除けば、他の検知は組み合わせた総合的な評価によって判断することが主流となっています。ヒューリスティックで弱疑いならサンドボックスで評価を行うと言った物もあります。何がどうしているかの概要は各製品の説明ページにありますが、詳細な動作の内容はマルウェア作成者へ回避のヒントになるため、公開されていません(問い合わせても絶対に答えてくれません)。

###なぜ、検知されるのか?

さて、自分で作ったアプリケーションが検知される可能性ですが、十分にあり得ます。むしろ、状況や作成物によっては非常に高くなります。まず「誰も今まで使ったことが無いアプリケーションとなるため、クラウド評価としては『注意すべき』と判定される」ということです。これはどうしようもなく、回避策もありません。次に注意すべきなのは、よくあるマルウェアと同じような機能を持っているかです。たとえば次のような機能です。

  • 自動アップロード機能のようなインターネット上からファイルをダウンロードして実行するような仕組み(ダウンローダ)
  • キー入力を読み取ったり、横取りするようなするような仕組み(キーロガー)
  • コード自体が暗号化されており、実行時に自己復元する仕組み(マルウェアのシグネチャ検知回避策)
  • 実行されていることを隠蔽しようとする仕組み(ルートキット)

上はほんの一例です。他にもたくさんあると思いますし、どういうのが対象になるのかは各ベンダーは教えてくれません。また、これらは特殊な関数を使っているかどうかでは無く、ほとんどは普通の関数で作成でき、それらをどのように組み合わせて作っているのかで検知しています。このようなよくあるマルウェアと同じような動作をするコードがあると、マルウェアの可能性があると総合的に判断されやすくなります。

最後にデバッグビルドだと出ない理由は、通常マルウェアはデバッグビルドされていないからです。これらの検知は総合評価ですので、マルウェアにあまり見られない特徴が有ると、マルウェアの可能性が低いと判断します。

###検知されたときの対策

まず、シグネチャ検知等でマルウェアであると断定されたのか、他の検知でマルウェアかもしれないと判断されたのかを区別してください。ウィルスバスターを持っていませんが、「不審なファイルを開こうとしています。」というメッセージから、断定では無いと考えられます(断定された場合は、即刻検疫か削除されるはずです)。自分で作ったファイルに間違いなければ、そのまま信頼するとして、開いても問題ありません。次からは出なくなるはずです。

しかし、コードを書き換えて新たにリリースした場合は再度出る可能性があります。その場合はマルウェア対策ソフトの設定を変えることで検知しなくなるようにできる場合があります。ヒューリスティック検知等の相対評価は感度を調整したり、無効にしたりできるようになっています。感度が高すぎる場合は自分で調整が可能です。ただ、感度を下げたり無効にした分だけ本当のマルウェアが検知されなくなる可能性が高まることに注意してください。可能性としては極々僅かが極僅かになるぐらいかも知れませんが、自己責任でお願いします。私自身は安易に感度を下げたり無効にしたりする方法を一切推奨しません。

###配付するときの対策

配付となると、利用者にも同じ事が起きます。ウィルスバスターだけでは無く、他のマルウェア対策ソフトでも十分に起こりえます。しかし、利用者数が増加するにつれてクラウド評価が信頼に高まりますので、時が解決する場合がほとんどです。かなり有名なソフトウェアでも、リリース直後にダウンロードすると、引っかかることはよくあることです。

ただ、シグネチャ検知で引っかかる場合はクラウド評価など関係無くマルウェア扱いされます。誤検知であることをマルウェア対策ソフトのベンダーに報告し、解消して貰うしかありません。

もし、最初から信頼できるようにさせたいというのであれば、署名付きにするという手段があります。しかし、正式証明書で証明されたからと言って、どこまで信頼としてくれるかはベンダーによって異なりますので、絶対ではありません。アプリケーション用の証明書はそこそこ値段が高いですので、費用対効果がそこまであるかはわかりません。

投稿2016/12/11 03:55

編集2016/12/11 04:05
raccy

総合スコア21741

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yukkuri_55

2016/12/11 10:40

###試したこと ウィルスバスタークラウドで問題のプログラムをスキャンしました。 そしたら、何の問題もありませんでした。 ベンダーにも問い合わせてしまいました。回答は絶対にしないのですね。 残念です。 さらに、プログラムに詳しくなれました。ありがとうございました。
guest

0

Avast ですが、たまにありますねー。しかも、全部自分のコードで…。
凄い音が鳴って、Mal~っていうマルウェアだ!!とAvast が怒ります。
実行中の VisualStudioが、せっかくビルドした実行ファイルをチェストに移動されたもんで、「?」と
なってしまいます。

んで、誤検出登録して、メーカーにもレポート出して、出なくする位しかない気がします。

投稿2016/12/11 02:25

mugicya

総合スコア1046

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ウイルスバスターに限らず、私の場合はAvastで引っかかることもあります。
大抵のアンチウイルスソフトはシグネチャ型の検知なので、たまたまパターンファイルや検索エンジンが持っているシグネチャに適合してしまったとしか言いようがないと思います。
最後は自分の作ったプログラムを信用できるか否か、というと「自分で作ったなら信用できるに決まってる」と思うかも知れませんが、使用したライブラリ(特にサードパーティ製)が信用できるかどうかは精査した上で、問題ないと判断できるなら検索対象から除外するしかないでしょう。

投稿2016/12/11 01:15

ynakano

総合スコア1894

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問