マルウェア > コンピュータウイルス

コンピュータウイルス (英語: computer virus) とは、マルウェアコンピュータに被害をもたらすプログラム)の一種で、自立せず、動的に活動せず、プログラムファイルからプログラムファイルへと静的に感染するものを指す。

概要

一般に医学生物学上の原義のウイルスと混同する恐れがない場合は単に「ウイルス」と呼ぶことが多く、日本工業規格(JIS X0008「情報処理用語-セキュリティ」)でも「ウイルス」 (: virus) としている。[1]

具体的には感染先のプログラムファイル(「宿主」と呼ぶ)の一部を書き変えて自分のコピーを追加し (感染)、感染した宿主のプログラムが実行された時に自分自身をコピーするコードを実行させることによって増殖していくというものである。

なお、日本において、2011年の刑法改正で新設された「不正指令電磁的記録に関する罪」は、感染能力の有無にかかわらず「人が電子計算機を使用するに際して、その意図に反する動作をさせるべき不正な指令」等を作成する等することを犯罪と規定している。トロイの木馬ワーム等、ウイルス以外のマルウェア一般も広く対象とするこの罪に関して、あきらかに誤用であるが法務省やニュースメディアなどが「ウイルス作成罪」等と呼ぶため'、誤用が広範に広められている。

それ自身は独立して実行可能なプログラムではなくプログラム断片であり、他のファイルに感染することにより、その機能を発揮できる。このため、あるシステムからあるシステムに感染しようとする時に宿主となるファイルが必要なため、フロッピーディスク等のリムーバブルメディアや、電子メールの添付ファイルを経由して感染する事が多い。

感染しても以前から存在していたファイルのサイズが少し増えたようにしか見えないか、あるいは全く何も変わらないように見せかけるので、ウイルス対策ソフトがないと発見は難しい(後者はMS-DOS時代にMS-DOSをフックしたりして実現していたものが多く、難しい。しかしGUIファイラ等ではファイルサイズを1バイト単位で表示しないものも多く、そういった場合前者の発見も難しい)。

ウイルスが含まれたプログラムファイルは、「ウイルスに感染している」という。感染したファイルを(多くの場合、感染していることを知らずに)複製することによりウイルスが広がっていくさまが、生物と同様の特徴を持つウイルスが増殖していくさまに似ていることからこの名前がついた。

コンピュータウイルスの感染を阻止したり、感染したウイルスを検出したりする技術をアンチウイルス (anti-virus) と呼び、それらを支援するソフトウェアをアンチウイルスソフトウェアや、ウイルス対策ソフト・ワクチンなどと呼ぶ(詳しくは通産省の告示[3]を参照のこと)。

日本でコンピュータウイルスを感染させる行為をした場合、電子計算機損壊等業務妨害罪偽計業務妨害罪器物損壊罪電磁的記録毀棄罪信用毀損罪業務妨害罪等の規定が適用される可能性がある。電子計算機損壊等業務妨害罪が適用された場合、5年以下の懲役又は100万以下の罰金に処せられる。ウイルスに感染した被害者から損害賠償を請求された場合は、作成者はさらに多額の賠償をしなければならなくなる。自分のコンピュータがウイルスに感染したが対策をとらず、他のコンピュータに感染を広げてしまった場合も賠償の責任を負う可能性がある。

さらに、2003年3月、法務省は、サイバー犯罪条約の批准要件を満たす為ウイルスの作成・所持を犯罪構成要件とする「ウイルス作成罪」を新設する方針を発表した。2004年2月、ウイルスに関する刑事罰を盛り込んだ刑法改正案を国会提出。その後、継続審議、廃案、再提出を繰り返しながら、2011年6月に情報処理の高度化等に対処するための刑法等の一部を改正する法律が国会で可決成立し、2011年7月に施行された。正当な理由がなく無断で他人のコンピューターにおいて実行させる目的でウイルスの「作成」「提供」「取得」「保管」した場合の刑事罰(不正指令電磁的記録に関する罪)を規定した。

アメリカ合衆国などではウイルスの作成者の情報に多額な懸賞金がかけられ、作成者が逮捕されることも多い。米マイクロソフトは MSBlast ワームと SoBig ウイルスの作成者逮捕につながる情報に、25万ドルずつの報奨金を懸けている。2004年5月、ドイツの警察Sasser を作成したとして18歳の少年を逮捕した。

企業がウイルス対策を怠って、取引先にウイルス付きのメールを送ってしまった場合、信用問題、訴訟問題に発展する可能性がある。

ユーザを驚かせるために作られた感染能力や破壊能力のないジョークプログラムはコンピュータウイルスに含まれない。ウイルス対策ソフトも駆除しないが一部のジョークプログラムはウイルス対策ソフトで駆除される場合もある。ただし、ウイルス対策ソフトによる誤検出(false positive)が、時折問題になる程には起きており、またその被害に遭っているソフトが有名でないといった場合に、一部ウイルス対策ソフトメーカーが対応を渋るなどといった問題も起きている。

コンセプトウイルス

セキュリティホールに代表されるバグなどについての問題提起のため、技術的な実証実験に用いられるコンピュータウイルス。ハードディスクの内容を変更したり、データを消したりといった、危険な挙動はしないが、コンピュータに存在するセキュリティホールを利用して感染拡大する。技術的な問題点を知らしめるために、匿名の技術者が故意に漏洩させたり、一部のコンピュータウイルス製作者が、蔓延するかどうかを試す際にインターネット上で無差別に撒き散らされたりする事もあるが、稀に技術試験的な意味合いで製作された物が、予期せずインターネット上に流布されてしまう事がある。危険な挙動はしないとはいっても、リバースエンジニアリングによって、後から他のクラッカーなどにより、危険な機能を追加されて再配布される事もあり、これらコンセプトウイルスに感染し得るコンピュータは、更に悪質なウイルスに感染し易いといえる。

日本では1990年に、技術評論社の雑誌『The Basic』が、ウイルスについての技術解説記事として、原理を説明するために一部を具体的なソースコードとして掲載し物議を醸したことがあった。

公的な定義

JIS X0008「情報処理用語-セキュリティ」における定義は、「自分自身の複写、又は自分自身を変更した複写を他のプログラムに組み込むことによって繁殖し、感染したプログラムを起動すると実行されるプログラム。」である。

また、「コンピュータウイルス対策基準」(通商産業省告示)による定義は次のとおりである。

第三者のプログラムやデータベースに対して意図的に何らかの被害を及ぼすように作られたプログラムであり、 次の機能を一つ以上有するもの。
  1. 自己伝染機能 自らの機能によって他のプログラムに自らを複製又はシステム機能を利用して自らを他のシステムに複製することにより、 他のシステムに伝染する機能
  2. 潜伏機能 発病するための特定時刻、一定時間、処理回数等の条件を記憶させて、発病するまで症状を出さない機能
  3. 発病機能 プログラム、データ等のファイルの破壊を行ったり、設計者の意図しない動作をする等の機能

ウイルス以外のマルウェア

ウイルス以外のマルウェアについて、ウイルスとの違いなどを簡単に述べる。

ワーム

それ自身が独立して実行可能なプログラムでありプロセスとして活動し続ける点と、他のシステムへの感染にファイルを必要としない点がウイルスと異なる。ネットワークを介して、攻撃先のシステムのセキュリティホールを悪用して侵入する事が多い。

トロイの木馬

一見有用なアプリケーションであるが、その一部にコンピュータのデータを盗み出す等他の不正な動作をさせる機能を備えたもの。破壊目的のものや、情報を集めることが目的のスパイウェアなど色々あるが、そういった目立つ動作をすればするほど見つかって有名になり削除されるので、密かにわかりにくい動作をするものほど実質的な悪質性は高いとも言える。ユーザが自らの意思でインストールしてしまうことになるが、利用規約にコンピュータの情報を集めてベンダに送信することを示しているソフトウェアもあり(ただし、しばしば何万文字もある巨大な文章の片隅に極めてわかりにくく書いてあったり、送信自体も通常の通信に紛れて送ったりするようなものもある)どこまでがトロイの木馬なのか明確な基準はない。他から感染したためにそうなったのではなく、本初からそうなっている点がウイルスと異なる。

2005年日本国内でも、不正ソフトウェアを仕込んだCD-Rを、正当な送り主(銀行)を偽装してネットバンキングサービスのユーザに送りつけ、不正送金を実行させた事件が発生した。一部マスメディアではスパイウェアだとして報道されているが、有用なソフトウェアであるかのように見せ掛けてインストールした事からトロイの木馬が近い。また2005年11月、ソニーの関連会社 Sony BMG が、音楽 CD の一種コピーコントロール CDルートキットを仕込んだとして問題になった。

ロジックボム(論理爆弾)

指定時刻の到来など、システム上における条件が満たされると自動的に動作を開始するプログラム。多くはデータの破壊・盗用などを行った後、最終的に自分を消滅させる。また、自滅の際に、あらかじめ搭載された不正プログラムを拡散させる種もある。例としてチェルノブイリ (コンピュータウイルス)がある。ウイルスがそういった機能を含んでいることも多いが、感染機能等を持っていないものはロジックボムであってもウイルスではない。

ボット

本来は、検索エンジンのサーチボットMMORPGでのボットなど自動応答などを行うプログラムを指す語であるが、マルウェアの分類としては以下のような機能を持つものを指す。

  • ソースコードが公開されており、改変した亜種の作成が容易である。
  • メールや不正アクセス等の手段により広範囲に感染拡大する(ワームやウイルスに相当する能力を持っている)。
  • バックドア等により悪意を持った者がパソコンを不正に制御できる。
  • パソコンに侵入して感染拡大などの不正動作を、所有者が気づかないうちに実行する。
  • 広範囲に感染拡大させたパソコンから、ネットワーク上の特定のサイトを一斉に攻撃する。(DDoS攻撃

これらはいずれも不正ソフトウェアの既知の行動パターンであり、これらの機能を高度に統合したものをボットと呼ぶ。特に、ボットネットと呼ぶ不正行動のためのネットワークを形成するものを指す。 日本では、これまで(2005年1月29日発表)の時点で、警察庁が確認したところでは、ボットに感染したネットワークを20種類程度確認し、1種類で3万台以上がそれに感染しているという。この内の25000台相当は日本国内のコンピュータと推測。英国では賭博サイトで金銭を要求する恐喝事件が発生した事例がある[2]。日本でも2006年春ごろ指令を受け取ったボットが2ちゃんねる内のスレッドに集中投稿するという事例が確認されている[3]

歴史

空想上の概念として古いものとしては、1972年にデイヴィッド・ジェロルドによるSF小説 H・A・R・L・I・E において、「ウイルス」プログラムと、それに対抗する「ワクチン」プログラムが登場している[4]。また、ウイルスではなく、動的に活動するワームについては、1975年のジョン・ブラナー『衝撃波を乗り切れ』に言及がある。コンピュータサイエンスの世界ではじめて「ウイルス」の語が使われたのは、1984年に当時ニューヘブン大学の学生であった Fred Cohen が発表した研究論文中といわれている[5]

他のプログラムを書き換える、といったプログラムの起源は1960年代にC言語の開発者としても知られるデニス・リッチーらによって作成されたDarwinCore Warsという対戦型のコンピュータゲームにまでさかのぼる。DarwinはPDP-1上で動作する仮想機械上で、ターゲットを上書きすることで勝利する、疑似アセンブリコード同士を競わせるプログラムであり、当初は生命の定義や人工生命の可能性についての研究―自身を複製できるものが生命なのか、生命が存在するために最低限必要なことはなにか(捕食対象の識別、あるいは自己と他者の認識や自己防衛とは何か)―を研究するための“仮想環境と生態系”として研究者に利用されていた。やがてプラットフォームの更新による仮想機械や実行環境の整備、という工程を短絡させる形で現在の、『ネイティブなソフトウェア』としてのウイルスにその流れが引き継がれることになった[6]

現在ある形での最初のウイルスがどれであるかについては諸説ある。1970年代にはCreeperと呼ばれるワームがARPANET上で確認されていた。狭義のコンピュータウイルスとして世界初のものは、1982年に当時ピッツバーグの高校生であった Richard Skrenta によって作製されたElk Clonerで、Apple IIにのみ感染するものであった[7]。1986年には、パキスタンのコンピューター店を経営するアムジャット兄弟(プログラマー)が、不正コピー防止を訴えるために「Brain」を作製し、これがIBM PCに感染する初のウイルスといわれている。日本では1988年、パソコン通信を介してウイルスに感染したものが最初とされる。

Elk Clonerをはじめ、1980年代初期のウイルスは単に自らのコピーを複製し、フロッピーディスクなどを媒介としてコンピュータ間に感染するだけで、時にメッセージを表示して利用者を驚かせる程度の無害なものが多かった(FATを吹っ飛ばすなど凶悪なものも、無かったわけでもない)。1980年代後半以降、凶悪なものが広くはびこるようになり、現実的な被害をもたらす原因になりはじめる。

1988年にMorris worm(これは名前の通り、ウイルスではなくワーム)が稼動しはじめたばかりのインターネットを通して被害を広げた件と、1992年3月6日にMichelangeloウイルスが感染者のデータを一斉に破壊した件について、危険なコンピュータプログラムによる現実的な脅威として、マスコミ等は大きく報道した。1991年の湾岸戦争において、アメリカ軍は空爆に先立ちイラク軍のネットワークにウイルスを侵入させて防空システムをまひさせている[8]。1999年には電子メールの添付ファイルによって感染する初のウイルスMelissaがつくられ、感染力が飛躍的に増大した。2001年にはサーバ上のセキュリティホールを悪用するCode Redが登場、同年にはウェブサイトを閲覧するだけで感染するNimdaも作成され、爆発的に広がった。

一方、ウイルスを除去する「ワクチン」の開発もウイルスの進化と平行して進められ、1988年には最初期のアンチウイルスソフトウェアの1つDr. Solomon's Anti-Virus Toolkitがリリースされている。今日では、単なる愉快犯的ウイルスから、クレジットカード番号などの個人情報を引き出して悪用するものまで、数万種のウイルスが存在していると言われる。2004年の予測では、アンチウイルスソフトウェアを含めたコンピュータセキュリティの市場規模は2008年には全世界で数十億ドルに達するものと予測された[9]

ウイルスの目的

定義上は、宿主となる他のプログラムを探し、感染することがウイルスプログラムの目的であるが、他種の多くのマルウェアと同様、プログラム自身にもその作者にも、その他にいくつかの目的があることも多い。

くだらないメッセージを表示して世間を騒がせて目立つという、愉快犯的な目的で作られたと思われるものは多い。ハードディスクフォーマットしたり、BIOSを書き換えたりされてコンピュータが起動しなくなることもあるが、データのバックアップを取っていれば修復は可能である。しかし、中にはコンピュータに侵入してパスワードやデータを盗み出したり、バックドアを作成してコンピュータの制御を奪ったりしてしまうような悪質な目的のものも存在する。派手に騒ぎ立てるようなウイルスは発見が早いが、こっそりと活動し微妙な改変を加えるようなものは発見が難しく対処が遅れることもある。ウイルスの作成自体は高度な技術がなくても可能である(感染が拡大するか否かは別であるが)。スクリプトで作成したウイルスは改変が容易で、またオープンソースのもの(SourceForge.net内でも平然と開発されている。しかし、それを禁止するような規約等が存在しないのが現状である)や多くのプラットフォームで動作可能のため、多くの亜種が登場する。特定のメーカーのソフトウェアを標的にして、そのソフトウェアの信用を失墜させようとしていると思われるウイルスもある。

また、別の目的のための手段としての利用がみられる。一種のP2P用ネットワーク(ボットネット)を形成する事で、感染したコンピュータの情報を盗んだり、DoS攻撃スパムの発信プラットフォームとする物を製作・流布させたりするグループも幾つか確認されている。金銭目的の犯罪の道具として使われる点で、同じ目的のスパイウェアやマルウェアとの垣根も低くなってきている。

例では有益なツールとされるもの(主にP2Pネットワークを媒介とし、感染者のパソコンをサーバ化しHDD内のデータやスクリーンショットしてアップロードするウイルスの感染者を探し出すためのツール)にウイルスが含まれていたことがある。ウイルスの亜種がインターネット掲示板にホスト名を公開しながら犯罪予告をする等の動作を行うため、一部で話題になった(山田オルタナティブ)。

ウイルスの感染経路

ネットワーク普及以前は、フロッピーディスクなどで感染が広がった。書籍雑誌の付録として付いていたフロッピーディスクにウイルスが含まれていた事例もある。現在ではネットワークソフトウェアのセキュリティホールを使って感染するもの、電子メールの添付ファイルを使って感染するものなどがある。簡単に自身の複製をばら撒けるため、現在では電子メールによる感染がほとんどである。LANケーブルを抜くなど、ネットワークから物理的に隔離してしまえば感染が広がるのを確実に防ぐことができる。

一般的な対策