アンチウイルスはどのように機能しますか?


54

だから私は最近ウイルスについて考えていて、ウイルス対策が正確にどのように追いついているのだろうと思っていましたか?数週間コーディングしていた人が誰かのPCに悪意のある、厄介なことをハッキングする可能性があることを考えると、量だけでハッシュの単純なリストが禁止されます。彼らはプロセスの活動を監視し、ウイルスのようなことをするために3つのストライキルールを持っていますか?もしそうなら、何が完全に無害なもの(\ system32でファイルを移動するような)でトリガーするのを止めていますか?

私は少しグーグルをしましたが、通常の場所は特に役立ちませんでした、そして私はここでduを見つけることができなかったので、尋ねるのが良いと思いました:)


4
@joe Windowsタグを追加する必要はありません。アンチウイルスは、どのOSでもほぼ同じように機能します。また、AVの動作方法は主観的ではありません。
アレックス

ああ。申し訳ありませんが、これはWindows上で主観的であると考えていました。私はそれを理解する
ジョー・

6
ラップトップを購入すると60日間うめき続け、最終的にシステムから取り出すまで、登録/支払いが必要であるとうめき続けます。通常、ダイアログはモーダルで最上位であるため、他の操作を効果的にブロックでき、アンインストールする簡単な方法は提供されません。
ダニエルダラナス

非常に良い質問のために+1を
上げてください-dag729

AVヒューリスティックは高度ですが、新しい脅威(または既存の脅威の巧妙な亜種)の検出に失敗します。ヒューリスティックは、完全に無害なソフトウェア/コードに対してしばしば誤検知を引き起こします。AVソフトウェアは便利ですが、多くの場合、松葉杖であり、ユーザーに誤った安心感を与えます。(virustotal.com/en)で多くの既知のウイルスをテストしましたが、シマンテック、マカフィー、AVGなどのトップネームは何も検出しません(カスペルスキーは一般的にうまくいきます)。より良いのは、システムを知り、あなたが何をしているのかを見て...そしてバックアップをとることです!
-AlainD

回答:


17

2002年のこの記事では、ウイルス対策エンジンの構築について説明しています。

この記事では、開発者/ソフトウェアエンジニアの観点から、ウイルス対策プログラムをゼロから開発する際の基本的なアイデア、概念、コンポーネント、アプローチについて説明します。ウイルス対策エンジン(以降、AVエンジンと呼びます)の主要な要素に焦点を当て、グラフィカルユーザーインターフェイス、リアルタイムモニター、ファイルシステムドライバー、Microsoft Exchangeなどの特定のアプリケーションソフトウェアのプラグインなどの側面を除外します。マイクロソフトオフィス。単一プラットフォーム(Palm OSやEPOC / Symbian OSなど)で実行/スキャンするAVエンジンも同じ方法で設計できますが、この記事では、はるかに複雑なマルチプラットフォームスキャンエンジンの設計に焦点を当てます。

感染を検出するための発見的手法に関する記事もあります。また、興味深い読み物です。


そのヒューリスティックの記事の+
1-

それは本当に読む価値があるものです。ヒューリスティック部分が不可欠です:)
アレックス

私はそれを読んだ後、アンチウイルスに対して新しく発見された敬意を持っています。
Phoshi

それらは非常に複雑なアプリケーションです。残念ながら、彼らは私を含めて多くの人々が嫌う何かに変えました。カスタムでずさんな、直感的でないインターフェース、機能リストに別の箇条書きを追加するために追加された機能、肥大化。これは彼らを悪夢に変えたものです。しかし、事態は好転しています。優れたAVソリューションの最も良い例はMSEです。
アレックス

それを発見したのはヒューリスティックなものでした。ごめんなさいjoe:P関係なく良い答えです:) @alex; 残念ながら、私は同意する必要がありますが、以下の複雑さを理解することで、より共感するようになります。それは複雑なものであり、潜在的な顧客を引き付けるのに十分な意味をなさないでしょうが、「カスタマイズ可能なカラーGUI!」かもしれない:(
Phoshi

13

約1年前、私はF-Secureの主要な研究者の1人であるミッコ・ヒッポネンの講演に出席しました。彼は自動化されたテストネットワークを示しました。送信されたすべてのサンプルに対して仮想マシンを作成し、構造を分析し、実行させ、すべてのログを記録し、以前のサンプルと相互参照し、人間が後で確認するための要約を生成します。人間がウイルスであると判断した場合、システムは自動的に検出シグネチャを生成し、更新を顧客に送信します。他のベンダーも同様に、署名データベースを最新の状態に保つためのシステムを持っていると思います。


4

どのようにアンチウイルスソフトウェアの仕事はしますか?(AntivirusWorld):

ウイルス対策ソフトウェアプログラムは、ファイルをスキャンして、コンピューターウイルスやその他の悪意のあるソフトウェア(マルウェア)を特定して除去するために使用できるコンピュータープログラムです。

ウイルス対策ソフトウェアは通常、2つの異なる手法を使用してこれを実現します。

  • ウイルス辞書を使用してファイルを調べて既知のウイルスを探す感染を示す可能性のあるコンピュータープログラムからの疑わしい動作の特定
  • ほとんどの市販のウイルス対策ソフトウェアは、ウイルス辞書のアプローチに重点を置いて、これらのアプローチの両方を使用しています。

ウイルス辞書アプローチウイルス辞書アプローチで は、ウイルス対策ソフトウェアがファイルを検査するとき、ウイルス対策ソフトウェアの作成者によって特定された既知のウイルスの辞書を参照します。ファイル内のコードがディクショナリで特定されたウイルスに一致する場合、ウイルス対策ソフトウェアはファイルを削除し、他のプログラムがファイルにアクセスできないように隔離するか、ウイルスが拡散できないようにすることができます。ファイルからウイルス自体を削除してファイルを修復します。

中長期的に成功するために、ウイルス辞書アプローチでは、更新されたウイルス辞書エントリの定期的なオンラインダウンロードが必要です。新しいウイルスが「インザワイルド」で識別されると、市民的で技術的に傾倒したユーザーは、ウイルスに感染したファイルをウイルス対策ソフトウェアの作成者に送信できます。

辞書ベースのウイルス対策ソフトウェアは通常、コンピューターのオペレーティングシステムがファイルを作成、開く、閉じるときにファイルを調べます。ファイルが電子メールで送信されるとき。このようにして、既知のウイルスを受信するとすぐに検出できます。通常、ソフトウェアは、ユーザーのハードディスク上のすべてのファイルを定期的に検査するようにスケジュールすることもできます。

辞書によるアプローチは効果的であると考えられていますが、ウイルスの作者は、ウイルスの署名と一致しないように、自分自身の一部を暗号化するか、偽装方法として自分自身を変更する「ポリモーフィックウイルス」を作成することで、このようなソフトウェアの一歩先を行くことを試みました辞書で。

疑わしい動作アプローチ 疑わしい動作アプローチは、対照的に、既知のウイルスを特定しようとせず、代わりにすべてのプログラムの動作を監視します。たとえば、あるプログラムが実行可能プログラムにデータを書き込もうとすると、疑わしい動作としてフラグが付けられ、ユーザーはこれに警告され、何をするかを尋ねられます。

したがって、辞書アプローチとは異なり、疑わしい動作アプローチは、どのウイルス辞書にもまだ存在しない最新のウイルスに対する保護を提供します。ただし、多数の誤検知も発生するため、ユーザーはおそらくすべての警告に鈍感になります。ユーザーがそのようなすべての警告で「同意する」をクリックした場合、アンチウイルスソフトウェアは明らかにそのユーザーには役に立たない。この偽陽性の問題に関係なく、悪意のないプログラム設計の多くが他の.exeを変更することを選択したため、この問題は過去7年間で特に悪化しました。したがって、最新のアンチウイルスソフトウェアのほとんどは、この手法をますます使用していません。

ウイルスを検出するその他の方法 ウイルス対策ソフトウェアの中には、実行可能ファイルに制御を移す前に、実行される各新しい実行可能ファイルのコードの先頭をエミュレートしようとするものがあります。プログラムが自己修正コードを使用しているように見える場合、またはウイルスとして表示されている場合(すぐに他の実行可能ファイルを見つけようとします)、実行可能ファイルがウイルスに感染していると推測できます。ただし、この方法では多くの誤検知が発生します。

さらに別の検出方法は、サンドボックスを使用することです。サンドボックスはオペレーティングシステムをエミュレートし、このシミュレーションで実行可能ファイルを実行します。プログラムが終了すると、サンドボックスはウイルスを示す可能性のある変更について分析します。パフォーマンスの問題のため、このタイプの検出は通常、オンデマンドスキャン中にのみ実行されます。

懸念事項

おそらく最も破壊的で広範囲に及ぶコンピューターウイルスであるマクロウイルスは、MicrosoftがMicrosoft OutlookおよびMicrosoft Officeに関連するセキュリティの欠陥を修正する場合、すべてのユーザーがウイルス対策ソフトウェアを購入する必要なく、はるかに安価かつ効果的に防止できますダウンロードされたコードの実行と、ドキュメントマクロが大混乱を広げて破壊する能力。

ユーザー教育は、ウイルス対策ソフトウェアと同じくらい重要です。インターネットから未知のプログラムをダウンロードして実行しないなど、ユーザーに安全なコンピューティングプラクティスをトレーニングするだけで、ウイルス対策ソフトウェアを使用せずにウイルスの拡散を遅らせることができます。

コンピューターユーザーは、常に自分のコンピューターへの管理者アクセスで実行する必要はありません。それらが単にユーザーモードで実行される場合、ある種のウイルスは拡散できません。

ウイルスを検出するための辞書的アプローチは、多くの場合、新しいウイルスが継続的に作成されるため不十分です。しかし、疑わしい動作アプローチは、誤検知の問題のために効果がありません。したがって、現在のアンチウイルスソフトウェアの理解は、コンピュータウイルスを征服することはありません。

悪意のあるソフトウェアを暗号化して圧縮するさまざまな方法があり、よく知られているウイルスでさえアンチウイルスソフトウェアでは検出できません。これらの「偽装」ウイルスを検出するには、強力な解凍エンジンが必要です。これにより、ファイルを検査する前に復号化できます。残念ながら、多くの一般的なウイルス対策プログラムにはこれがないため、暗号化されたウイルスを検出できないことがよくあります。

ウイルス対策ソフトウェアを販売している企業は、ウイルスが作成されて広まり、一般の人々が脅威にパニックするという金銭的インセンティブを持っているようです。

(この記事は気に入っていますが、AntivirusWorldからコピーして貼り付けるだけです。)


ありがとう:)辞書のアプローチでは、既知のウイルスのコードをコピーしてアプリケーションに入れた場合、それは検出されますが、似たようなものを書いた場合、疑わしい動作を待つ必要がありますか?(仮に、もちろん)
Phoshi

はい。
ジョー・

ウイルスの作成を止めることができない場合、既存のコードを止めることはかなり良いことです(そして、無限の時間を与えると、可能性のあるすべてのウイルスを止めます-悪くはありません:P)
Phoshi

それが署名です。複数のウイルスに共通する悪意のあるマシンコードの一部。
アレックス

AVがファイルを、たとえば10,000の既知のウイルスの辞書と比較する場合、なぜそれが速いのですか?各ファイルをスキャンするのにミリ秒かかるのはどうしてですか?
LantisGaius

3

フォシ、あなたの質問は非常に興味深いですが、別の質問から始めることをお勧めします。あなたが尋ねた質問への答えがあなたを誤解させる可能性があるため、私はこれを勧告しています。

ウイルスとは何か、その定義は何かを考えることから始めることをお勧めします。

エリートウイルスライターはセキュリティの研究者であり、脚本の子供ではありません。彼らのウイルス定義は次のとおりです。「ウイルスとは、自分自身を増やすことができるコードです」。それでおしまい。ご覧のとおり、ここで説明した破壊的な機能はありません。すべてのウイルスは悪である必要があります-それはプロプライエタリウイルス対策メーカーから入手したFUDであり、ソフトウェアを販売できます。

私見では、外部の悪の「エイリアン」としてではなく、ソフトウェアエコシステム全体の一部としてウイルスを扱うのが賢明です。


まあ、私はAVの仕組みを尋ねたので、答えを考えます...かなりよく答えますが、あなたは非常に良い点を指摘します、それは考えることです:)
Phoshi

同じコンピューター上で2つのアンチウイルスがお互いを殺そうとするのを見るのも愉快です。彼らがなぜそうするのか疑問に思う:
ギーク

1

ウイルスを調べる非常に重要な方法の1つは、他の方法です。ウイルスはどのようにシステムを侵害しますか。これは通常、ソフトウェアの脆弱性によるものです。ウイルス対策ソフトウェアはこれらの脆弱性を認識しており、これらの脆弱性に影響を与えるソフトウェアを探します。いずれにせよ、ウイルスは常に何かをします。そのため、彼らはベストを尽くすために作業プロセスが必要です。これは既存のものにある場合もあれば、自分で作成することもあります。

ただし、MOSTウイルスは同様の方法で動作するため、ウイルススキャナはそれらを簡単に区別できます。同じ脆弱性を利用するさまざまなウイルスがあります!

http://en.wikipedia.org/wiki/List_of_computer_viruses

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.