セキュリティとか
コンピュタのウイルスについて少し興味がわいたので調べてみた。
"他人のコンピュータに勝手に入り込んで悪さをするプログラム"*1
いやまぁそらそうですけど。もっと面白い面から…と探したらwikipediaにあった。
"もともと「ウイルス」の定義は、生物学的なウイルスと同様に「他のプログラムに寄生して自分自身の複製をつくることのできるコンピュータプログラム」のことであった。"*2
ほう。
あと、元々技術的な観点から作られたコンセプトウイルスというものもあって、リバースエンジニアリングして害のあるウイルスに生まれ変わったりするらしい。出来合いを利用するあたり、HIVベクターとかに似てる気も(目的逆だが)。
ステルス技術
- ポリモーフィック
- ウイルス自身を感染のたびに暗号化する。毎回そのウイルスのデータが変化する。ただし暗号化の動作が記述されている部分は同一のため、検出が可能である。
- メタモーフィック
- プログラムを分割して順番を入れ替える。これだけでも単純なパターンマッチングでは検出できない。ウイルス対策ソフトでは、仮想的な環境に閉じ込めて動作させてみることで、それがウイルスかどうか判別する。
すご。自己複製のための進化か。
ほ乳類の抗原抗体の関係に似てるかと思って調べたけど、どっちかっつーと利己的遺伝子の拡散に近いね。そう言えばRichard=Dawkinsもミーム例としてコンピュタウイルス挙げてた。
ウイルスのコードとか公開されてないのか?模倣犯出そうだし。ウイルスはコードで書かれてるから、同じような挙動をする利己的遺伝子(LINE1とか)も概念的に
if condition >= normal while condition < limit do self.replicate end elsif competiter.exist? competiter.reduce elsif self == imperfect self.improve else self.hide end
とか表現できるのかな。ちょっと楽しそう。*3