私はウイルスを作ったことがある

今後はヘタをするとウイルス作成者は全員逮捕対象になるのだろうか。へんなものだ。実際に悪用した者のみが犯罪者であるべきはずだ。(感情論かもしれないが)
私がウイルスを作った経緯は次のようなものだった。
当時私が所属していた民間の会社内で、海外が起源のとある新しいタイプのExcelのマクロウイルスが大感染状態になった。会社ではなにかにつけてExcelで文書交換をするのが常であったのでほとんどすべてのパソコンが感染してしまっていたのだった。会社の方針でウイルス対策はもっぱらNECさんにまかせてしまっていて油断していたこともたしかだったが、しかたがない、後付で対策をとることになった。NEC製の独自のメールボックスを使っていたので圧縮が独特、したがってアンチウイルス製品が使えない事情もあり、かといってメールボックスをクリアするには時間もかかる(必要なメールは前もってサルベージしなければならないからだ)、そんな状況でこれ以上感染を広げないためにはどうすればよいのか。メールシステムを使わなければ仕事にならないのだ。かといって使えば感染してしまう危険性がある。
私は情報管理部にアイデアを発案した。「新しいウイルスを作ってわざと感染させよう。今、悪さをしているウイルスを駆逐する善玉ウイルスを!」発案は実行を許された。
悪いウイルスを解剖し、その感染方法をつきとめ、ピンポイントにその手段を奪い去るように、大元のウイルスの亜種である新しいウイルス、無害なウイルスを作成し、全社のパソコンにばらまいたのだ。無論、他の会社に感染するようなことはないように慎重に手配した。かくしてウイルスは撃退された。
今後の国会の動き次第では上記のようなことをすれば法にふれることになりそうだ。きわめておかしな時代になる。文官は技術者の良心を冷たい石の中に封じてしまうのだ。

追記(20080131)

書ききれていなかった部分を補足として追記しておくことにした。
まず第一に。上記の私の書き方が悪かったせいか、NECさんに非があるように読んでしまわれた人からメールを頂いた。しかしNECさんにはなんのトガもない。しっかりそう書くべきであった。ご迷惑をかけてしまい本当に申し訳なくいまさらながらだがこの場で恐縮ながらお詫び申し上げたい。さて、この事例でのシステムは外部と完全に切り離された環境でのイントラネットシステムとして設計されたものであり、その点を意識して限られた予算内で最大の効果をあげるべくセキュリティ面も含め運用設計がなされたものであった。設計上ではイントラネットに参加しているパソコンは別途大型汎用コンピュータの端末としても常時接続されているデスクトップタイプの据付型であった。というか、むしろそちらが本命であり、後付で新たに構築されたイントラネットに参加させたのであった。ところがその後、運用レベルで例外が生じてしまった。事務所が狭い、新たに管理職用のパソコンを追加配備してイントラの強化を図ろう、などの諸般の事情で可搬式のノートパソコンの導入をしてしまったのだ。運用面のルールの遵守で縛りをかけていれば大丈夫のはずであったが、結果として一台のノートパソコンが休日の自宅内残業のために持ち帰られ、その上、そのご家族が興味本位に雑誌付録のExcelのbookを使用してしまったのだ。そのbookこそがウイルスの感染源であったのだ。このような事情であったため、NECさんになんの落ち度もないのである。ウイルス撲滅作業時にはNECさんには無償で多くの工数を裂いていただき全面協力をしていただいた。心の底から本当に感謝している。

第二に。先日はあいまいに書いてしまったのだが、アンチマクロウイルスのために私が作成したものの技術的詳細を省いてしまったため、私が想定していなかった反応を頂いている。今後、このエントリ読まれる人々のためにも概略ながら私がつくったものを追記しておきたい。
Excelによる諸処のマクロウイルスのうち、当時流行したものの一部は、次のような感染方法を採っていた。感染したbookには、bookを開いた時に自動実行される悪意あるマクロが仕込まれていた。そのマクロが実行されると自分自身を複写し、パソコン内のExcel用の自動実行されるbook型マクロを生成し、しかるべく格納する。次回誰かがExcelを起動すると、その時に開かれたbookが何であれ、パソコン内に格納されていた悪意あるマクロが実行され、自分自身を複写し、開かれたbookに格納する。book単位でみれば、この時点で増殖していると言えよう。感染単位でみれば、bookからパソコンへ、パソコンから多数のbookへ、となっている。なお、現段階でのExcelの仕様では上記の原理のマクロウイルスは増殖できないものと思われる。
社内で流行したマクロウイルスもまた上記の感染方法を採っていた。そこで私が作った亜種は、くだんのマクロウイルスを改ざんして作成したものであり、bookの中の自動実行マクロがその本体であった。亜種バージョンでは、bookからパソコンに≪感染する≫仕組みを悪玉バージョンからひきついでいる。この意味で法的にウイルスとしてみなされてもしかたがない。たとえば、この自前のbookを、その用途を知らない誰かが社外に持ち出せばなんらかの影響があるかもしれなかった。この改ざんした「善玉ウイルス?」は、パソコンにひとたびひそむや、大本バージョンのウイルスが進入しようと試みてもそれを防衛するような仕組みになっていた。技術的には馬鹿ばかしいほど単純だったが、他の悪玉ウイルスの亜種がやってきても感染方法が同じである限り、やはり防衛に成功するというメリットがある。この長所は大きかった。話を元に戻す。さて、「善玉ウイルス?」がパソコンに感染しても、他のbookを開いた時にそのbookへ感染しようとしないように作った。早い話が大本の悪玉ウイルスの機能を削除しただけだ。この結果、パソコンから他のパソコンへの感染ルートは断ち切れたことになる。この意味で、私が作成したものは勝手に無制限に自己増殖しない。この点で一般的なウイルスとは言えないかもしれない。むしろワクチンでは?とも言えよう。当時、種痘に近い発想があったことを思い出される。
さて、この「善玉ウイルス?」のbookは確かにパソコンに感染するが、とりあえず悪さはしない。むしろ感染してもきわめて気づかれにくいだろう、人間の目だけでは、だ。しかしながら、このbookは確実にパソコンになんらかの影響を与えるものであるからたとえそれが善意の挙動であったとしても、社外の人間に使われることだけは避けなくてはいけなかったことはいうまでもない。先日書いたエントリで、無害なウイルスを作成し、全社のパソコンにばらまいたのだ。無論、他の会社に感染するようなことはないように慎重に手配した。の部分の慎重に手配は、アンチウイルス対策運用面において人間系でかなりの慎重を要した、ということにつきる。爆発的な自動感染は原理的にありえないものの、「善玉ウイルス?」のbookを開いた後は、そのbookは慎重に回収されたのである。

追記はほぼ終わりに近づいた。実は、先回のエントリで私が言おうとしてうまく表現できなかったことを最後にもう一度トライしておきたい。現場での技術的な実際面と、法文を解釈して適用する側の理解とが、乖離していては非常に困るということだったのだ。そもそもウイルスとはなんであろうか? 私が書いた今回の事例では、ブツは、ある意味で感染しある意味で感染しない。外部に漏れれば当該パソコンに何かしら書き込みが発生するので確かにいただけない仕儀となる。これはウイルスなのであろうか?こういった外形的なグレイゾーンにみえる部分を無視してなんでもかんでも法的規制の対象にだけはしてほしくないものだ、と感じた次第。