他のプログラムに寄生して自己を複製し感染を広げる不正プログラム。
コンピュータウイルスとは、他のプログラムやファイルに寄生(=くっつくこと)して、自分の複製を作りながら感染を広げる不正プログラムのことです。「不正プログラム(マルウェア=悪意のあるソフトのこと)」の代表格です。
身近な例で考えると、生物の「寄生虫」に似ています。寄生虫が単独では生きられず宿主(ホスト)に取りつくのと同じで、ウイルスも自分だけでは動けず、必ず宿主となるプログラムやファイルが必要です。上の図解の②のように、正規プログラムのコードに紛れ込んで身をひそめます。
この「単独では動けず宿主が要る」という点が、後ろのカードで説明するワーム(単独で増える)との大きな違いです。
ウイルスの感染は、おおむね次の流れで進みます。
・潜伏:宿主プログラムやファイルにコードが紛れ込み、静かに身をひそめる
・実行(発症の引き金):利用者がその宿主を開く・起動すると、ウイルスのコードも一緒に動き出す
・複製・感染拡大:自分のコピーを他のファイルへ書き込み、寄生先を次々と増やす
ポイントは「宿主が実行されるまでウイルスは動けない」ことです。メール添付ファイルやUSBメモリの中で眠っていても、開かれなければ発症しません。逆に言えば、感染ファイルを不用意に開く行為こそが感染拡大の引き金になります。
図書館の本に挟まれたメモに例えると分かりやすいです。本(宿主)を借りて開いた人がメモ(ウイルス)の指示どおり別の本にもメモを挟む──こうして館内の本へどんどんメモが広がっていくイメージです。
ウイルスへの基本的な対策は次のとおりです。
・ウイルス対策ソフトの導入:既知ウイルスの特徴をまとめた定義ファイル(パターンファイル)を最新に保ち、検知・駆除する
・不審なファイルを開かない:出所不明のメール添付ファイルやUSBメモリを安易に実行しない
・更新プログラムの適用:OSやアプリの脆弱性(=攻撃に使われる弱点)をふさぐ
とくに定義ファイルの更新は重要です。新種のウイルスは毎日のように現れるため、古い定義のままだと最新のウイルスを見逃します。インフルエンザのワクチンを毎年打ち直すのと同じ感覚で、定義ファイルも常に最新化しておきます。
万一感染が疑われるときは、ネットワークから切り離して被害の拡大を止め、対策ソフトで検査します。感染ファイルをむやみに開くと、寄生したウイルスが実行されて被害が広がるので避けます。
日常会話では「ウイルスに感染した」と言うことが多いですが、正確にはウイルスは「マルウェア(悪意あるソフト全体)」の中のひとつの種類です。マルウェアにはウイルスの他にも、ワーム・トロイの木馬・ランサムウェアなど複数の種類があります。
なぜウイルスという言葉が代名詞になったのか──それはコンピュータセキュリティが注目され始めた初期に「ウイルス」という呼び名が広く普及したからです。生物のウイルスが人から人へ感染するイメージと重なりやすく、メディアでも使われ続けました。しかし今は多様な不正プログラムが存在するため、すべてをまとめて「マルウェア」と呼ぶのが正確です。
ウイルスだけの特徴:他のファイルへの寄生。マルウェアの中でもウイルスが特別なのは「単独では動けず、必ず宿主となる別のファイルにくっつく」点です。ワームは単独で動き、トロイの木馬は偽装して潜入し、それぞれ動き方が異なります。
なぜ感染ファイルは普通に見えるのか──ウイルスは宿主ファイルを「壊す」のではなく、元のコードに自分のコードを追加する形で寄生するからです。ファイルの見た目や名前はほとんど変わらないため、開くまで感染に気づけません。
これが「不用意に開かない」ことが重要な理由です。見た目が正常でも、開いた瞬間にウイルスのコードが実行され、他のファイルへの複製が始まります。まるで何もないように見えるドアを開けたら罠が発動するイメージです。
ウイルス対策ソフトが検知できるのは、既知ウイルスのコードの特徴(パターン)と照合するからです。このパターンをまとめたファイルを定義ファイル(ウイルス定義・パターンファイル)と呼びます。定義ファイルが古いと、新しいウイルスのパターンを知らないため見逃してしまいます。だから常に最新化が必要なのです。