単独で自己増殖しネットワーク経由で感染を広げる不正プログラム。
ワームとは、宿主となる他のプログラムを必要とせず、単独で自己増殖しながらネットワークを通じて感染を広げる不正プログラムのことです。英語で「虫(worm)」を意味します。
ウイルスが他のファイルに寄生しないと動けないのに対し、ワームはそれ自体が独立した1つのプログラムとして存在します。寄生先がなくても自分だけで活動でき、しかも利用者がファイルを開かなくても勝手に増えていくのが大きな特徴です。
身近な例で考えると、放っておくと部屋中に這い回る「ミミズ(虫)」のようなものです。誰かに運んでもらわなくても自分で動いて広い範囲に散らばっていく──このイメージがワームの自律的な拡散に重なります。上の図解のように、1台の感染端末から自分でネットワークをたどって次々と感染を広げます。
ワームが自律的に広がる仕組みは、おおむね次のとおりです。
・探索:ネットワーク上の他の端末やサーバを自分で探し出す
・侵入:OSやソフトの脆弱性(=攻撃に使える弱点)を突いて入り込む
・複製:侵入先に自分のコピーを送り込み、その端末を新たな感染源にする
この一連の動作を利用者の操作なしに自動で繰り返すため、感染は爆発的に拡大します。1台が2台、2台が4台…とねずみ算式に増えるので、放置すると短時間で組織全体に広がってしまいます。
大量に自己増殖した結果、ネットワークやサーバの負荷が急増し、通信が遅延したりシステムが停止したりする被害も発生します。これはワーム特有の被害です。
ワームとコンピュータウイルスは「不正プログラム」という点では同じですが、感染の仕方が次のように異なります。
| 観点 | ワーム | コンピュータウイルス |
|---|---|---|
| 宿主の要・不要 | 不要(単独で存在) | 必要(他ファイルに寄生) |
| 増殖の引き金 | 自分で自動的に増える | 宿主が実行されると増える |
| 主な感染経路 | ネットワーク経由で自律拡散 | 感染ファイルの受け渡し |
最大の違いは「宿主が要るかどうか」と「利用者の操作が要るかどうか」です。ウイルスは寄生先のファイルを誰かが開かないと動けませんが、ワームは宿主に頼らず、人の操作なしで自分から次の端末へ感染を広げます。この自律性の高さがワームの怖さです。
ウイルスとワームはどちらも感染を広げますが、スピードが桁違いに違います。その理由は「人の操作が要るかどうか」にあります。
ウイルスが広がるには「誰かが感染ファイルを開く→別のファイルへ複製→また誰かが開く」という人間の操作を何度も挟む必要があります。人が動かなければ止まります。
一方ワームは、自分でネットワーク上の端末を探し、脆弱性(=OSやソフトの欠陥)を突いて侵入し、自分のコピーを送り込むという作業を全自動で繰り返します。人が何もしなくても、1秒間に何十もの端末へ感染を試みることができます。1台→2台→4台→8台とねずみ算式に増えるため、短時間で組織のネットワーク全体に広がります。
ワームによる被害は「感染拡大」だけではありません。大量の自己複製通信がネットワークを占拠し、普通の通信ができなくなるという被害も深刻です。
なぜネットワーク障害が起きるのか──ネットワークには「1秒間に運べるデータ量の上限(帯域)」があります。感染した端末が次々とコピーを送り出すため、この帯域がワームの通信で埋まり、本来の業務通信(メール・Webなど)が通れなくなります。会社の廊下をダンボール箱を持った人が大勢行き来して、普通に歩けなくなるイメージです。
ワームへの対策として重要なのは、脆弱性をふさぐためにOSやソフトを常に更新することと、ファイアウォール(=外部からの不正な通信をブロックする仕組み)を使うことです。ウイルスと違い「利用者が開かなくても感染する」ワームは、入り口となる脆弱性をなくすことが最大の防御になります。