ポリモーフィックウイルスとメタモーフィックウイルスの主な違いは、ポリモーフィックウイルスが可変暗号化キーを使用して自身を暗号化し、ウイルスのコピーごとに異なるように見えるのに対し、メタモーフィックウイルスは可変暗号化キーを使用せずにウイルスのコピーごとに異なるように見えるようにコード自体を書き換えてしまう点です。
マルウェアとは、コンピュータ内のデータやリソースに害を与えるために意図的に作成された悪意のあるソフトウェアのことです。
コンピュータの全機能を停止させることもあります。
ウイルスは、マルウェアの一種です。
ウイルスは、それ自体で複製し、そのコードを挿入することで他のプログラムを変更します。
ウイルスの種類には、ポリモーフィックウイルスとメタモーフィックウイルスがあります。
どちらも、増殖しながら自己を変化させることができる。
ポリモーフィック・ウイルスは、可変の暗号鍵を使用して、ウイルスの各コピーを変化させます。
メタモルフィック・ウイルスは、機能を維持したまま自身のコードを書き換えることができる。
ポリモーフィックウィルスとは?
ポリモーフィック・ウイルスは、複雑なコンピュータ・ウイルスです。
可変の暗号化キーで暗号化されています。
そのため、ウイルスの各コピーは他のものとは異なっています。
つまり、アンチウィルス・ソフトウェアやスキャナによる検出を避けるために設計された自己暗号化ウィルスなのです。
あるユーザーがあるウェブサイトにアクセスし、実行ファイルをダウンロードしたとします。
次に、別のユーザーが同じリンク先に行き、同じ実行ファイルをダウンロードしたとします。
どちらのユーザーも2つの異なるファイルを受け取ります。
攻撃コードは、そのファイルの中に入っています。
攻撃コードが同じであっても、毎回異なる鍵で暗号化されています。
攻撃コードを復号化することで、両者が同じものであることを認識することが可能である。
そのため、ポリモーフィック・ウイルスは、スキャナーやアンチウイルス・ソフトウェアでの検出が困難です。
ポリモーフィック・ウイルスは、2つの手法で検出することができます。
エントリーポイントアルゴリズムとジェネリックディスクリプション技術です。
エントリーポイントアルゴリズムは、特殊なウイルス検出プログラムを用いて、各ファイルのエントリーポイントにあるマシンコードをチェックします。
汎用記述技術は、保護された仮想計算機上でファイルを実行する技術です。
メタモルフィックウィルスとは?
メタモルフィックウィルスは、自分自身をプログラムし直します。
自分自身のコードを翻訳して、一時的な表現を作成します。
そして、その一時的な表現を編集して、自分自身を通常のコードに書き戻す。
つまり、自分自身のコードを翻訳して書き換えるので、毎回、ウイルスのコピーが異なって見える。
メタモーフィック・ウイルスは、ポリモーフィック・ウイルスのような鍵の暗号化方式を使用しない。
ウイルスは自身の新しいコピーを作成する際に、既存の命令を機能的に等価な命令に変換する。
そのため、ウイルスのどの部分も不変であり、実行中に元の形に戻ることはありません。
そのため、アンチウイルスソフトが認識することが難しくなっています。
メタモーフィック・ウイルスを検出する方法としては、幾何学的検出とトレースにエミュレータを使用する方法があります。
ポリモーフィックウイルスとメタモーフィックウイルスの違い
定義
ポリモーフィック ウイルスとは、有害で破壊的、または侵入的なタイプのマルウェアで、変化することができるため、マルウェア対策プログラムでの検出が困難なものです。
メタモーフィック・ウイルスとは、反復するたびにコードが書き換わるウイルスのことで、後続のバージョンはすべて後続のものと異なっている。
機能性
ポリモーフィック・ウイルスは、可変の暗号鍵で自身を暗号化し、各コピーが異なるように見えるようにします。
メタモーフィック・ウイルスは、そのコード自体を書き換えて、毎回異なるように見えるようにする。
つまり、インスタンスごとに自分自身を変化させるのです。
これが、ポリモーフィック・ウイルスとメタモーフィック・ウイルスの主な違いです。
ウイルスの書き方
メタモーフィック・ウイルスはポリモーフィック・ウイルスよりも書くのが難しいとされている。
プログラマは複数の変換技術を使わなければならない。
検出技術
ポリモーフィックウイルスとメタモーフィックウイルスのもう一つの重要な違いは、検出技術です。
ポリモーフィック・ウイルスは、エントリーポイント・アルゴリズムとGeneric Description Technologyを使用して検出されます。
一方、メタモーフィックウイルスは、Geometric Detectionやエミュレータを用いたトレースにより検出されます。
まとめ
ポリモーフィックウイルスとメタモーフィックウイルスの違いは、ポリモーフィックウイルスが可変暗号鍵を使用して自身を暗号化し、ウイルスのコピーごとに異なるように見せるのに対し、メタモーフィックウイルスは可変暗号鍵を使用せずに自身のコードを書き換えてウイルスのコピーごとに異なるように見せる点です。
どちらも通常のアンチウイルスプログラムでは特定することが困難です。
リファレンス
- ポリモーフィックマルウェア – CompTIA Security SY0-401: 3.1、メッサー教授、2014年9月6日、こちらから入手可能です。
- “Mechanism Of Polymorphic And Metamorphic Virus”(ポリモーフィックとメタモーフィックウイルスのメカニズム)。LinkedIn SlideShare, 10 Dec. 2011, Available here.