アンチウイルス – アンチウイルスソフトはどのようにお互いに競合するのですか?

anti-virus software-conflict

私は、2つのアンチウイルス(AV)ソフトを一緒にインストールしてはいけないと教えられてきました。Windows Defender(Windows 8以降)でさえ、別のAVソフトを検出すると自動的に無効化されます

2つがどのように衝突するのか興味があります。私が現在考えられる唯一のシナリオは、両方が同じウイルスを検出し、同時に隔離しようとすると、「ウイルス征服戦」になる可能性があるということです。私にとっては、これは確かに2つのAVソフトをインストールしない説得力のある理由ではありません


システムパフォーマンスの問題はさておき。私のIntel Kaby Lake i7は16GBのメモリを搭載しているので、それらを簡単に処理できると思います

  57  None  2017-12-05


ベストアンサー

プレーンなアンチウイルススキャナは問題なく共存できます。AVが干渉してくるのはライブプロテクトのおかげです

ライブプロテクション機能を備えたAVソフトは、OSに深く組み込まれています。OSのコードの一部にパッチを当てて、プログラムが何をしようとしているかを観察し、必要に応じてそれを防ぐことができるようにします。オペレーティング・システムはそのような機能をすぐに提供していないので、AVはこの効果を得るためにあまり従来の方法を使用しています

例えば、OSが提供している “write file “関数を独自の関数に置き換えることができます。プログラムがファイルに書き込もうとすると、プログラムは “write file” 関数を呼び出します。しかし、この関数はAVによってパッチが当てられており、プログラムのリクエストは代わりにAVにリダイレクトされます。AV はそれを検査して、問題なさそうかどうかを判断します。問題がなければ、実際の “write file” 関数を呼び出します。そうでなければ、悪意のあるソフトウェアが被害を受けないように適切な処置を行います

残念ながら、OSコードのパッチ適用はAVだけではなく、怪しいところもあります。ウイルスを作成するのであれば、AVがウイルスファイルをスキャンしないようにするなど、システムの操作を傍受できるようにしたいとも思いませんか?

AVにはガードがあり、コードフックが残っているかどうかを監視し、必要に応じて再インストールします。この時点でこれがどこに向かっているのか分かるはずです

ライブプロテクションを備えた2つのAVは、お互いの不審な行動から保護を開始することができます。これにより、軽微なパフォーマンスのヒックアップからシステムクラッシュまで、何でも起こります

場合によっては、ライブプロテクションのないAVスキャナでも干渉してしまうことがあります。AV はどのようにしてウイルスを検出するのでしょうか?AV には、既知のウイルスの特徴的な特徴のデータベースであるウイルスシグネチャがあります。そして、そのようなデータベースは、ウイルスの特徴的な特徴を持っているので、不審に見えることもあります。そのため、ある AV は仮想的に他の AV のシグネチャを悪意のあるコードとして検出することができます

また、Hitman Proのように他のAVと共存するように設計されたAVエンジンもあります。ClamWin (これはフリーでオープンソースです)も、ライブプロテクションなしでスキャナのみを含んでいるので、共存させても比較的問題ないはずです

83  gronostaj  2017-12-05


複数のプログラムが同じリソースを使用しようとすると、プログラムが競合します。複数のプログラムが同時にリソース上で動作しようとすると、同時実行問題の危険性がある。同時実行問題は、一方のプロセスがリソース上で変更を実行し、他方のプログラム(途中でリソースに独自の変更を加えていた)がそれに気づかず、対応できない場合に発生します

ここでは、教科書の同時実行問題の例をいくつか紹介します

Last-in-Wins Problem

FTPディレクトリを使用して、あなたと同僚が文書を共有していることを想像してみてください

  1. ドキュメントをダウンロードして、1時間かかる変更のセットを開始します
  2. あなたの同僚は、あなたが行ったと同時にドキュメントをダウンロードしましたが、変更を完了して再アップロードするのに30分しかかかりません

結果:あなたがドキュメントをアップロードするとき、あなたは彼らの変更を上書きし、それらが失われます

Stale Data

同じシナリオでは、あなたの同僚は、あなたに言わなくても、あなたが必要とするいくつかの変更を行います

結果。あなたは自分で少し違う言葉で同じ変化を書いたり、もっと悪いことに、その欠けている方法についての意地悪なメールを発射したりします

これは簡単なシナリオのように思えますが、マルチアクセスデータベースのような高度なケースでは、誰かが更新しているのと同じミリ秒でレコードを選択すると、深刻な問題が発生する可能性があります

Bad computation

夫婦で銀行口座とATMカードを共有しています。夫婦の口座には1000USDがあります。日常生活では、街の反対側にいて、二人とも同じ瞬間にATMにアクセスしています。二人とも1000USDを引き出します。ATMは両方とも残高が1000であることを知っているので、引き出しを許可し、新しい残高が0であることを中央データベースに書き戻します

結果:銀行は今、1000USDを出していて、それさえ知らない

これらの例では、共有リソース上でアクションを実行しているパーティが複数存在します。このため、”concurrency” または “Synchronicity” という用語が使われています

Solutions

この種の問題に対処する方法はいくつかあります。1つは、リソースにアクセスしている複数の当事者間で仲裁を行うソフトウェアを使用することです。これらのアービタープログラムには、操作の範囲や予測可能性に応じて、2つの選択肢があります

  • 操作をインテリジェントにマージします
  • 2つの操作のうちの1つを、最初に気づいた操作が完了するまでブロック/ロックします

また、両方のプログラムがリソースの状態を示す共有フラグをチェックするように設計されていれば、ブロック/ロックすることも可能です

Your Answer

あなたの特定のケースでは、リソースはディスク上のファイルです。同期性は、両方の AV プログラムのオンアクセス スキャンをトリガするファイルの Read/Write のようなイベントから来ています

Windows は、プログラムが特定の操作のためにファイルを開いたときにファイルをロックすることで、ファイルシステムの同時実行の問題を解決するためのアービターとして機能します

これは、両方のプログラムがファイルにアクセスするために競争しており、先にアクセスした方がロックを取得することを意味します。低レベルでは、両方のプログラムが独自の I/O 活動を開始し、ハードウェアに両方のタスクを別々に行うことを強制し、IO 命令をインターリーブし、両方の効率を大幅に低下させ、最終的にはどちらか一方だけが勝つことになるので、これはいくつかのディスクスラッシングの結果となります

14  Frank Thomas  2017-12-05


両方の検査プロセスは、ドライブとネットワークI/Oを検査するために互いに競合しています

それはCPUを停滞させ、ほとんどのAVメーカーがまとめて署名を共有しているので、どちらも他のメーカーがそうするために更新される前にマルウェアを検出することはありませんので、何の利点も得られません

業界で認められた知名度の高い1台のAVであれば、感染しやすい無謀な習慣があっても十分にガードすることができますし、AV製品を10本同時に使うのと同じくらい効果的です

3  123456789123456789123456789  2017-12-05


タイトルとURLをコピーしました