2月2日は情報セキュリティの日ということで、情報セキュリティへの意識と理解を深める日だそうです。由来はよくわかりませんが記念すべき日という事ですので、情報セキュリティへの意識と理解を深めるために普段私がやっている遊びを紹介します。
ウイルスを一つ、はじめに用意します。せっかくなのでなるべく誰が見てもウイルスだというもののほうがいいです。

vt_default

きれいにほぼすべてのアンチウイルスソフトでウイルスと判定されています。使用しているのは数年前のウイルスですが、なかなかいい素材です。
まずは簡単に検知できそうなものということで、メジャーなパッカーであるUPXでパックしたもので調査してみます。

vt_upx

しかし思ったより検知できないアンチウイルスソフトがあることがわかりました。単純にツールを使うだけでもアンチウイルスソフトをだますことができるようです。
今度は気を取り直して逆アセンブルして中身を少しだけ書き換えてみましょう。
例として、一番始めの命令を1バイトだけ書き換えてみます。

editbyimm

vt_imm

かなり減りましたね。
ラストは思考を変えて実行ファイルを壊してみます。

broken

vt_broken

もはやファイルは壊れていて実行できないので、検出しないほうが正しいのですが検知してしまいました。よくある誤検知(False Positive)というやつですね。

労力をかけて工夫していけば、どのアンチウイルスソフトにも検知されないようにもできると思います。試行錯誤しているとPEファイルの構造など、勉強にもなります。繰り返しいるうちに各アンチウイルスソフトの特徴も見えてきて、情報セキュリティへの意識と理解も深まるのではないでしょうか。