コンピュータウイルス
コンピュータウイルス () とは、マルウェア（コンピュータに被害をもたらすプログラム）の一種で、自立せず、動的に活動せず、プログラムファイルからプログラムファイルへと静的に感染するものを指す。
一般に医学・生物学上の原義のウイルスと混同する恐れがない場合は単に「ウイルス」と呼ぶことが多く、日本工業規格（JIS X0008「情報処理用語-セキュリティ」）でも「ウイルス」 () としている。
具体的には感染先のプログラムファイル（「宿主」と呼ぶ）の一部を書き変えて自分のコピーを追加し （感染）、感染した宿主のプログラムが実行された時に自分自身をコピーするコードを実行させることによって増殖していくというものである。
なお、日本において、2011年の刑法改正で新設された「不正指令電磁的記録に関する罪」は、感染能力の有無にかかわらず「人が電子計算機を使用するに際して、その意図に反する動作をさせるべき不正な指令」等を作成する等することを犯罪と規定している。トロイの木馬やワーム等、ウイルス以外のマルウェア一般も広く対象とするこの罪に関して、あきらかに誤用であるが、法務省やニュースメディアなどが「ウイルス作成罪」等と呼ぶため'、誤用が広範に広められている。
それ自身は独立して実行可能なプログラムではなくプログラム断片であり、他のファイルに感染することにより、その機能を発揮できる。このため、あるシステムからあるシステムに感染しようとする時に宿主となるファイルが必要なため、フロッピーディスク等のリムーバブルメディアや、電子メールの添付ファイルを経由して感染する事が多い。
感染しても以前から存在していたファイルのサイズが少し増えたようにしか見えないか、あるいは全く何も変わらないように見せかけるので、ウイルス対策ソフトがないと発見は難しい（後者はMS-DOS時代にMS-DOSをフックしたりして実現していたものが多く、難しい。しかしGUIファイラ等ではファイルサイズを1バイト単位で表示しないものも多く、そういった場合前者の発見も難しい）。
ウイルスが含まれたプログラムファイルは、「ウイルスに感染している」という。感染したファイルを（多くの場合、感染していることを知らずに）複製することによりウイルスが広がっていくさまが、生物と同様の特徴を持つウイルスが増殖していくさまに似ていることからこの名前がついた。
コンピュータウイルスの感染を阻止したり、感染したウイルスを検出したりする技術をアンチウイルス (anti-virus) と呼び、それらを支援するソフトウェアをアンチウイルスソフトウェアや、ウイルス対策ソフト・ワクチンなどと呼ぶ（詳しくは通産省の告示を参照のこと）。
日本でコンピュータウイルスを感染させる行為をした場合、電子計算機損壊等業務妨害罪、偽計業務妨害罪、器物損壊罪、電磁的記録毀棄罪、信用毀損罪、業務妨害罪等の規定が適用される可能性がある。電子計算機損壊等業務妨害罪が適用された場合、5年以下の懲役又は100万以下の罰金に処せられる。ウイルスに感染した被害者から損害賠償を請求された場合は、作成者はさらに多額の賠償をしなければならなくなる。自分のコンピュータがウイルスに感染したが対策をとらず、他のコンピュータに感染を広げてしまった場合も賠償の責任を負う可能性がある。
さらに、2003年3月、法務省は、サイバー犯罪条約の批准要件を満たす為ウイルスの作成・所持を犯罪構成要件とする「ウイルス作成罪」を新設する方針を発表した。2004年2月、ウイルスに関する刑事罰を盛り込んだ刑法改正案を国会提出。その後、継続審議、廃案、再提出を繰り返しながら、2011年6月に情報処理の高度化等に対処するための刑法等の一部を改正する法律が国会で可決成立し、2011年7月に施行された。正当な理由がなく無断で他人のコンピューターにおいて実行させる目的でウイルスの「作成」「提供」「取得」「保管」した場合の刑事罰（不正指令電磁的記録に関する罪）を規定した。
アメリカ合衆国などではウイルスの作成者の情報に多額な懸賞金がかけられ、作成者が逮捕されることも多い。米マイクロソフトは MSBlast ワームと SoBig ウイルスの作成者逮捕につながる情報に、25万ドルずつの報奨金を懸けている。2004年5月、ドイツの警察は Sasser を作成したとして18歳の少年を逮捕した。
企業がウイルス対策を怠って、取引先にウイルス付きのメールを送ってしまった場合、信用問題、訴訟問題に発展する可能性がある。
ユーザを驚かせるために作られた感染能力や破壊能力のないジョークプログラムはコンピュータウイルスに含まれない。ウイルス対策ソフトも駆除しないが一部のジョークプログラムはウイルス対策ソフトで駆除される場合もある。ただし、ウイルス対策ソフトによる誤検出（false positive）が、時折問題になる程には起きており、またその被害に遭っているソフトが有名でないといった場合に、一部ウイルス対策ソフトメーカーが対応を渋るなどといった問題も起きている。
セキュリティホールに代表されるバグなどについての問題提起のため、技術的な実証実験に用いられるコンピュータウイルス。ハードディスクの内容を変更したり、データを消したりといった、危険な挙動はしないが、コンピュータに存在するセキュリティホールを利用して感染拡大する。技術的な問題点を知らしめるために、匿名の技術者が故意に漏洩させたり、一部のコンピュータウイルス製作者が、蔓延するかどうかを試す際にインターネット上で無差別に撒き散らされたりする事もあるが、稀に技術試験的な意味合いで製作された物が、予期せずインターネット上に流布されてしまう事がある。危険な挙動はしないとはいっても、リバースエンジニアリングによって、後から他のクラッカーなどにより、危険な機能を追加されて再配布される事もあり、これらコンセプトウイルスに感染し得るコンピュータは、更に悪質なウイルスに感染し易いといえる。
日本では1990年に、技術評論社の雑誌『The Basic』が、ウイルスについての技術解説記事として、原理を説明するために一部を具体的なソースコードとして掲載し物議を醸したことがあった。
JIS X0008「情報処理用語－セキュリティ」における定義は、「自分自身の複写、又は自分自身を変更した複写を他のプログラムに組み込むことによって繁殖し、感染したプログラムを起動すると実行されるプログラム。」である。
また、「コンピュータウイルス対策基準」(通商産業省告示)による定義は次のとおりである。
ウイルス以外のマルウェアについて、ウイルスとの違いなどを簡単に述べる。
それ自身が独立して実行可能なプログラムでありプロセスとして活動し続ける点と、他のシステムへの感染にファイルを必要としない点がウイルスと異なる。ネットワークを介して、攻撃先のシステムのセキュリティホールを悪用して侵入する事が多い。
一見有用なアプリケーションであるが、その一部にコンピュータのデータを盗み出す等他の不正な動作をさせる機能を備えたもの。破壊目的のものや、情報を集めることが目的のスパイウェアなど色々あるが、そういった目立つ動作をすればするほど見つかって有名になり削除されるので、密かにわかりにくい動作をするものほど実質的な悪質性は高いとも言える。ユーザが自らの意思でインストールしてしまうことになるが、利用規約にコンピュータの情報を集めてベンダに送信することを示しているソフトウェアもあり（ただし、しばしば何万文字もある巨大な文章の片隅に極めてわかりにくく書いてあったり、送信自体も通常の通信に紛れて送ったりするようなものもある）どこまでがトロイの木馬なのか明確な基準はない。他から感染したためにそうなったのではなく、本初からそうなっている点がウイルスと異なる。
2005年日本国内でも、不正ソフトウェアを仕込んだCD-Rを、正当な送り主（銀行）を偽装してネットバンキングサービスのユーザに送りつけ、不正送金を実行させた事件が発生した。一部マスメディアではスパイウェアだとして報道されているが、有用なソフトウェアであるかのように見せ掛けてインストールした事からトロイの木馬が近い。また2005年11月、ソニーの関連会社 Sony BMG が、音楽 CD の一種コピーコントロール CD にルートキットを仕込んだとして問題になった。
指定時刻の到来など、システム上における条件が満たされると自動的に動作を開始するプログラム。多くはデータの破壊・盗用などを行った後、最終的に自分を消滅させる。また、自滅の際に、あらかじめ搭載された不正プログラムを拡散させる種もある。例としてチェルノブイリ (コンピュータウイルス)がある。ウイルスがそういった機能を含んでいることも多いが、感染機能等を持っていないものはロジックボムであってもウイルスではない。
本来は、検索エンジンのサーチボット、MMORPGでのボットなど自動応答などを行うプログラムを指す語であるが、マルウェアの分類としては以下のような機能を持つものを指す。
これらはいずれも不正ソフトウェアの既知の行動パターンであり、これらの機能を高度に統合したものをボットと呼ぶ。特に、ボットネットと呼ぶ不正行動のためのネットワークを形成するものを指す。
日本では、これまで（2005年1月29日発表）の時点で、警察庁が確認したところでは、ボットに感染したネットワークを20種類程度確認し、1種類で3万台以上がそれに感染しているという。この内の25000台相当は日本国内のコンピュータと推測。英国では賭博サイトで金銭を要求する恐喝事件が発生した事例がある。日本でも2006年春ごろ指令を受け取ったボットが2ちゃんねる内のスレッドに集中投稿するという事例が確認されている。
空想上の概念として古いものとしては、1972年にデイヴィッド・ジェロルドによるSF小説 "" において、「ウイルス」プログラムと、それに対抗する「ワクチン」プログラムが登場している。また、ウイルスではなく、動的に活動するワームについては、1975年のジョン・ブラナー『衝撃波を乗り切れ』に言及がある。コンピュータサイエンスの世界ではじめて「ウイルス」の語が使われたのは、1984年に当時ニューヘブン大学の学生であった Fred Cohen が発表した研究論文中といわれている。
他のプログラムを書き換える、といったプログラムの起源は1960年代にC言語の開発者としても知られるデニス・リッチーらによって作成されたDarwinやCore Warsという対戦型のコンピュータゲームにまでさかのぼる。DarwinはPDP-1上で動作する仮想機械上で、ターゲットを上書きすることで勝利する、疑似アセンブリコード同士を競わせるプログラムであり、当初は生命の定義や人工生命の可能性についての研究―自身を複製できるものが生命なのか、生命が存在するために最低限必要なことはなにか（捕食対象の識別、あるいは自己と他者の認識や自己防衛とは何か）―を研究するための“仮想環境と生態系”として研究者に利用されていた。やがてプラットフォームの更新による仮想機械や実行環境の整備、という工程を短絡させる形で現在の、『ネイティブなソフトウェア』としてのウイルスにその流れが引き継がれることになった。
現在ある形での最初のウイルスがどれであるかについては諸説ある。1970年代にはCreeperと呼ばれるワームがARPANET上で確認されていた。狭義のコンピュータウイルスとして世界初のものは、1982年に当時ピッツバーグの高校生であった Richard Skrenta によって作製されたElk Clonerで、Apple IIにのみ感染するものであった。1986年には、パキスタンのコンピューター店を経営するアムジャット兄弟（プログラマー）が、不正コピー防止を訴えるために「Brain」を作製し、これがIBM PCに感染する初のウイルスといわれている。日本では1988年、パソコン通信を介してウイルスに感染したものが最初とされる。
Elk Clonerをはじめ、1980年代初期のウイルスは単に自らのコピーを複製し、フロッピーディスクなどを媒介としてコンピュータ間に感染するだけで、時にメッセージを表示して利用者を驚かせる程度の無害なものが多かった（FATを吹っ飛ばすなど凶悪なものも、無かったわけでもない）。1980年代後半以降、凶悪なものが広くはびこるようになり、現実的な被害をもたらす原因になりはじめる。
1988年にMorris worm（これは名前の通り、ウイルスではなくワーム）が稼動しはじめたばかりのインターネットを通して被害を広げた件と、1992年3月6日にMichelangeloウイルスが感染者のデータを一斉に破壊した件について、危険なコンピュータプログラムによる現実的な脅威として、マスコミ等は大きく報道した。1991年の湾岸戦争において、アメリカ軍は空爆に先立ちイラク軍のネットワークにウイルスを侵入させて防空システムをまひさせている。1999年には電子メールの添付ファイルによって感染する初のウイルスMelissaがつくられ、感染力が飛躍的に増大した。2001年にはサーバ上のセキュリティホールを悪用するCode Redが登場、同年にはウェブサイトを閲覧するだけで感染するNimdaも作成され、爆発的に広がった。
一方、ウイルスを除去する「ワクチン」の開発もウイルスの進化と平行して進められ、1988年には最初期のアンチウイルスソフトウェアの1つDr. Solomon's Anti-Virus Toolkitがリリースされている。今日では、単なる愉快犯的ウイルスから、クレジットカード番号などの個人情報を引き出して悪用するものまで、数万種のウイルスが存在していると言われる。2004年の予測では、アンチウイルスソフトウェアを含めたコンピュータセキュリティの市場規模は2008年には全世界で数十億ドルに達するものと予測された。
定義上は、宿主となる他のプログラムを探し、感染することがウイルスプログラムの目的であるが、他種の多くのマルウェアと同様、プログラム自身にもその作者にも、その他にいくつかの目的があることも多い。
くだらないメッセージを表示して世間を騒がせて目立つという、愉快犯的な目的で作られたと思われるものは多い。ハードディスクをフォーマットしたり、BIOSを書き換えたりされてコンピュータが起動しなくなることもあるが、データのバックアップを取っていれば修復は可能である。しかし、中にはコンピュータに侵入してパスワードやデータを盗み出したり、バックドアを作成してコンピュータの制御を奪ったりしてしまうような悪質な目的のものも存在する。派手に騒ぎ立てるようなウイルスは発見が早いが、こっそりと活動し微妙な改変を加えるようなものは発見が難しく対処が遅れることもある。ウイルスの作成自体は高度な技術がなくても可能である（感染が拡大するか否かは別であるが）。スクリプトで作成したウイルスは改変が容易で、またオープンソースのもの（SourceForge.net内でも平然と開発されている。しかし、それを禁止するような規約等が存在しないのが現状である）や多くのプラットフォームで動作可能のため、多くの亜種が登場する。特定のメーカーのソフトウェアを標的にして、そのソフトウェアの信用を失墜させようとしていると思われるウイルスもある。
また、別の目的のための手段としての利用がみられる。一種のP2P用ネットワーク（ボットネット）を形成する事で、感染したコンピュータの情報を盗んだり、DoS攻撃やスパムの発信プラットフォームとする物を製作・流布させたりするグループも幾つか確認されている。金銭目的の犯罪の道具として使われる点で、同じ目的のスパイウェアやマルウェアとの垣根も低くなってきている。
例では有益なツールとされるもの（主にP2Pネットワークを媒介とし、感染者のパソコンをサーバ化しHDD内のデータやスクリーンショットしてアップロードするウイルスの感染者を探し出すためのツール）にウイルスが含まれていたことがある。ウイルスの亜種がインターネット掲示板にホスト名を公開しながら犯罪予告をする等の動作を行うため、一部で話題になった（山田オルタナティブ）。
ネットワーク普及以前は、フロッピーディスクなどで感染が広がった。書籍や雑誌の付録として付いていたフロッピーディスクにウイルスが含まれていた事例もある。現在ではネットワークソフトウェアのセキュリティホールを使って感染するもの、電子メールの添付ファイルを使って感染するものなどがある。簡単に自身の複製をばら撒けるため、現在では電子メールによる感染がほとんどである。LANケーブルを抜くなど、ネットワークから物理的に隔離してしまえば感染が広がるのを確実に防ぐことができる。
コンピュータウイルスの感染を防ぐには、ウイルス対策ソフト（アンチウイルスソフトウェア）の導入がもっとも効果的かつ手軽である。ウイルス検出の方法にもよるが、ウイルス対策ソフトはウイルス検知用のデータがないと十分に機能しないので、頻繁に定義ファイルをアップデートしなければ役に立たない。自動アップデート機能がついていれば、自動的にウイルス対策ソフトの開発元のサーバからウイルス定義ファイルをダウンロードし更新してくれるので、オンにしておくほうが良い。できるならウイルス検出が出来るウェブサイトで検査し、定期的にハードディスク全体をスキャンすると良い。
インターネットサービスプロバイダ（ISP）によっては、個人・小規模ユーザ向けに、メールゲートウェイ型のウイルスチェックサービスを提供している。（メールの送受信時に、ISPのサーバで添付ファイル等のウイルスチェックを行う。）
また、ルーター・ファイアウォール機といった通信のゲートウェイとなる機器に、ウイルスや不正アクセスの検出・遮断機能を持たせる場合もある。（主に企業での接続の場合）
今日（2015年初頭）、サポートが継続されているオペレーティングシステムの全て（Windows NT系 - Windows 7、Vista、8・8.1や、Unix系OS - macOS、Linux(Ubuntuなど)、*BSDなど）が、アクセス権・アクセス制御リストをサポートしている。また、マルチユーザー機能を備え、複数のユーザーが利用する事が出来る。
これはUnix系では、通常標準的な機能として実装されている。Windows NT系OSでは名称は異なれど全く同じ機能を利用することができる（Windows 9x系にはこの機能は無く、9x系はマイクロソフトのサポート対象外となっている）。
ウイルス対策ソフトに駆除されないよう、ウイルス側（ウイルス作成者）もいろいろと巧妙な手段を使っている。ステルス技術はウイルス対策ソフトに見つからないようにする技術である。
コンピュータウイルスの台頭とともに、アンチウイルスソフトウェア等と呼ばれる、感染を防いだり感染したファイルを駆除したりする製品プログラムが開発されるようになった。主に次のようなウイルス検知手法があり、それぞれ一長一短があるため多くの場合は複数の手法を組み合わせて用いられる。本来、特定の働きを持つマルウェアの一種を指す「ウイルス」という語であるが、任意のマルウェアや、さらにはプログラムではない誤動作を起こさせるデータをも指して使われる誤用が大変多い。
以下、その他の誤解。
コンピュータに関する知識が乏しい者は生物学的なウイルスとの違いが分からず、コンピュータから人間に対して病原体が感染すると勘違いすることがある。その大規模な例としては、2007年4月にパキスタンならびにアフガニスタンで流布した「携帯電話から致死性ウイルスが感染する」という噂が挙げられる。このケースでは、沈静化のための声明を政府が発表する事態にまで発展した。
この他にも人間に影響をおよぼすコンピュータウイルスの噂はコンピュータネットワーク上で多数流布している。が、その大部分は小説やマンガ、アニメ等の創作物から派生したものである。また長時間見つめると精神に異常をきたすというflashやgif、長時間聴くと自殺したくなるという音楽ファイル等、生理的作用を標榜する各種ファイルも数多く存在する。不明