ポリモルフィックコード
ポリモルフィックコード(英: Polymorphic code)とは、本来のアルゴリズムを保ったまま変化していくコード(プログラム)である。この技法はコンピュータウイルス、シェルコード、ワームが自身の存在を隠すために使われる。
アンチウイルスソフトウェアや侵入検知システムの多くは、ファイルやコンピュータネットワーク上のパケットを調べ、悪意あるコードがないか調べる。これにおける検出方法はもっぱらパターンマッチであるため、ポリモルフィック手法によりコードを絶えず変化させることで、検出を難しくすることができる。
ポリモルフィックコードを実現する手段としてよく使われるのは暗号である。しかし、コード全体を暗号化してしまうと実行不可能となるので、それはできない。したがって、一部のコードは暗号化せずに残しておく。アンチウイルスソフトウェアは、その暗号化されない一部分をターゲットとして探索する。