ウイルスの種類
アンチアンチウイルス、レトロウイルス
アンチウイルスプログラムを狙ったコンピューターウイルスプログラムです。
"アンチウイルスウイルス"
他のコンピューターウイルスを狙ったコンピューターウイルスプログラムです。
コンピューターウイルス
ひとたびコンピューターに侵入すると、ユーザーの意志に関係なくコンピューター上であらゆるアクション(オブジェクトを作成または削除、データファイルやプログラムファイルを変更、インターネットやローカルエリアネットワークに自分自身を拡散する目的を持ったアクション)を実行する、プログラムコードのプログラムまたはフラグメントです。ディスクのプログラムファイル、データファイル、ブートセクターをウイルスコードの運び屋に変えてしまい、上記のアクションを実行するような変更を感染と呼び、コンピューターウイルスの最も重要な機能です。感染させるオブジェクトの種類によってウイルスの種類も異なります。
コンピューターワーム
寄生型の自己増殖プログラムです。他のコンピュータープログラムに損傷を与えずに自分自身を複製することができます。ネットワークからコンピューターに侵入し(大抵の場合、これらのプログラムはメールの添付ファイルとして、またはインターネット経由で送られてきます)、ネットワーク内の他のコンピューターに自身の機能するコピーを送ります。
ドロッパー
ウイルスをシステム内に侵入させる為にファイルを運びます。このテクニックは、アンチウイルスプログラムからウイルスを「隠す」為にしばしばウイルス作成者に使われます。
暗号化ウイルス
ファイル、メモリ、あるいはセクター内で逆アセンブル及び検出されるのを妨げるために自分自身を暗号化するウイルスです。このようなウイルスのコピーは、それぞれ共通の短いコードフラグメントのみを含んでいます。フラグメントのデコードプロセスはシグネチャとして扱われます。このウイルスは、感染させる度に毎回異なる形で自動的に自分自身を暗号化します。こうしてアンチウイルスプログラムによる検出を逃れようとするのです。
デマウイルス
ウイルスではないメールのメッセージです。デマは大げさであいまいに書かれ、新しく広がっているウイルスに関するメールとしてユーザーのコンピューターに送られてきます。大抵のデマは次の特徴を一つないし複数持っています。メッセージ内に書かれたウイルスの名前は、多くのアンチウイルスベンダーが使う典型的なそれを考慮していません。ただ、現在のところその「ウイルス」はアンチウイルスプログラムで検出されません、とだけ述べられています。ユーザーはWindowsの「ファイルとプログラムの検索」を使って特定のファイルを見つけ、それをディスクから削除するように勧められます。メールのメッセージ内には、ファイルが見つかった場合には友人やアドレス帳に登録されている人達に知らせるよう書かれています。そのようなデマは害が無いにも関わらず、その危険性は明らかです。意味のないメッセージのコピーを大量にメールすることによってメールトラフィックを増大させ、ユーザーの時間を浪費します。
メモリ常駐型ウイルス
メモリ内に常駐し、通常、アセンブラかC言語によって記述されたウイルスです。このウイルスはプログラムを感染させ、より効果的にアンチウイルスプログラム内に常駐することが出来ます。メモリスペースは少ししかとりません。このようなウイルスはコンピューターをアンロード、リブート、あるいはシャットダウンするまでそのタスクを続行し続けます。それらは、ウイルス作成者によって設定された、例えば、コンピューターが特定の状態になった時(タイマアクチュエーターなど)にアクティブになりアクションを実行します。ブートウイルスは全て常駐型です。
MtEウイルス
多形性ウイルスのジェネレーターMtE(ミューテーション(多形態化)エンジン)によって作成されたポリモーフィック型ウイルスです。このジェネレーターはエンコード/デコードの機能を司る特別なアルゴリズム、及びデコーダージェネレーションです。どのウイルスのオブジェクトコードにも添付することができます。デコーダーは固定ビットを持たず、その長さはいつも異なります。
その他のウイルス名
アンチウイルスベンダーは通常、それぞれ独自の命名傾向に乗っ取って同じウイルスに異なる名前を付けます。大抵の場合、どの会社でもウイルスの主要な名前(例:Klez、Badtrans、Nimda)は同じです。異なるのは主にウイルス名のプレフィックスとサフィックスで、それぞれの会社によってその使い方の傾向が違うからです。例えば、Doctor Web, Ltd.では同じウイルスのバージョンには1から始まる番号が付けられ、一方Symantecではラテンアルファベットの大文字を同じように使っています。
ポリモーフィック型ウイルス
あるいは自身で改変したデコーダー(N.N.Bezrukovによる)を持つウイルス-暗号化処理に加え、それ自身を新しいウイルスのコピーに変化させる特殊なデコードを使うウイルスです。これによってウイルスのシグネチャバイトが無くなります。ウイルスのコピーはそれぞれ独自のデコーダーを持っています。
スクリプトウイルス
Visual Basic、Basic Script、Java Script、Jscript言語によって記述されたウイルスです。大抵の場合、このようなウイルスは添付ファイル内にスクリプトファイルを持ったメールのメッセージとしてユーザーのコンピューターに侵入します。Visual BasicまたはJava Scriptで記述されたプログラムは、別々のファイルに置くこともHTMLドキュメントに組み込むこともできます。後者の場合、それらはリモートサーバーやローカルディスクからブラウザによって解釈されます。
ステルスウイルス
その活動を隠し感染したオブジェクト内に潜むための特殊な方法を使うウイルスプログラムです。
いわゆるステルステクノロジーには以下のものがあります。
- RAM内のウイルス検出を妨げるもの
- ウイルスの追跡、及び逆アセンブルを妨げるもの
- 感染したプロセスを隠すもの
- 感染したプログラム、及びブートセクター内のウイルス検出を妨げるもの
ウイルスの種類
感染させるオブジェクトに応じて、コンピューターウイルスは以下の種類に分類されます。
- ファイルウイルス — バイナリファイル(主にexeファイルとダイナミックリンクライブラリ)を感染させるウイルスです。大抵の場合、それらのファイルは.EXE、.COM、 .DLL、 .SYSの拡張子を持っています。さらに、.DRV、.BIN、.OVL、.OVYの拡張子を持つファイルも感染することがあります。このウイルスはOSシステムファイルを感染させ、そのプログラムが実行されるとアクティブになり感染を広げます。
- ブートウイルス — ディスクのブートレコード、ハードディスクパーティション、及びハードディスクドライブのMBR(マスターブートレコード)を感染させるウイルスです。
- 暗号化ウイルス — ファイル、メモリ、あるいはセクター内で逆アセンブル及び検出されるのを妨げるために自分自身を暗号化するウイルスです。このようなウイルスのコピーは、それぞれ共通の短いコードフラグメントのみを含んでいます。フラグメントのデコードプロセスはシグネチャとして扱われます。このウイルスは、感染させる度に毎回異なる形で自動的に自分自身を暗号化します。こうしてアンチウイルスプログラムによる検出を逃れようとするのです。
ウイルスコード、シグネチャ
データとしての情報を提供するために使われるシンボルのセット、及びそれらの解釈の一義的なルールです。これは特定のウイルスに独特のもので、したがってそのウイルス、及びそのウイルスのそれぞれのコピー内でのみ検出されるシンボルのセット、及び一連のバイトです。アンチウイルススキャナーはウイルス検出にシグネチャを使用しますが、ポリモーフィック型ウイルスはシグネチャを持ちません。
コンパニオンウイルス
ファイルウイルスで、exeファイルは感染させません。このようなウイルスは、同じ名前で異なる拡張子を持ったプログラムファイルが異なる優先度で動作出来るようにするDOSシステムの機能を利用しています。優先度は、コンピューターシステムによってそれらが実行される順番を定義するタスク、プログラム、オペレーションに割り当てられます。このウイルスのほとんどは、同じ名前の.EXEファイルに比べて高い優先度を持つ.COMファイルを作成します。ファイルが名前によって(拡張子を指定せずに)動作する場合、.СОМファイルが実行されます。これらのウイルスは常駐型でクローンファイルを隠します。
ウイルスの亜種
同じウイルスの改変されたものです。ウイルスコードはウイルス作成者と第三者のどちらによっても改変されます。
Zooウイルス
ウイルス研究機関、あるいはウイルス研究者のコレクション内にのみ存在し、「世間一般」には存在しないウイルスです。