web-dev-qa-db-ja.com

アンチウイルスが復号化時に暗号化されたウイルスを検出しないのはなぜですか?

一部のウイルスは暗号化されているため、ウイルス対策ソフトウェアはウイルスを識別できませんが、理解できないのは、ウイルス対策がウイルスを検出しないのはなぜですか?ウイルスが実行される前に、その解読ステップ?

2
GemDev

マルウェアがアンチウイルスの検出を阻止するために自分自身を暗号化する方法はいくつかあります。

  1. 既知のファイルのハッシュ、ユーザー名、ネットワーク共有などのターゲット固有の情報からキーを導出します。チェックアウト Ars TechnicaによるGaussの説明

  2. ランダムだが比較的短い鍵で暗号化する。マルウェアが実行されると、ブルートフォースキーを実行する必要があります。多くのAVサンドボックスには、特定のサンプルを実行できる時間のタイムアウトがあります。ブルートフォースプロセスがこのタイムアウトよりも長い場合、悪意のあるペイロードは復号化されません。

  3. インターネットからキーを取得します。攻撃者は、キーを備えたWebサーバーをホストする可能性があります。次に、タイミング、IP情報、またはクライアントベースのパラメーターを使用して、キーを送信する必要があるかどうかを判断します。

もちろん、暗号化されたペイロードを実行するには、マルウェアを復号化する必要があります。復号化された場合、アンチウイルスがそれを検出する可能性がありますが、マルウェアが最初にAVを検出する可能性があります。

最後に、ホストベース、ランダム、またはネットワークベースのキーを使用して暗号化されたペイロードを保持するメカニズム自体が、マルウェアのシグネチャとして使用される可能性があります。 AVはサンプルが何をしたかを知らないかもしれませんが、そもそもそれが実行するのを妨げる可能性があります。

2
amccormack