最近、Delphiを標的としたマルウェアにより使用されている、興味深い動きが発見された。
同マルウェアは始めに、Delphiのバージョンが4から7までの間であるかどうかをチェックし、次に$DELPHI_DIR$\source\rtl\sys\SysConsts.pasを入れ替え、悪意あるコードを書き込む。その後にSysConsts.pasは削除される。
このマルウェアは、SysConsts.dcuのクリーンなコピーをSysConst.bakとして保存し、SysConsts.dcuライブラリのエントリーポイントで、それ自身のイニット・ファンクションにコールを追加する。
プログラムが感染したバージョンのSysConsts.dcuでコンパイルされると、以下のような悪意あるコードの断片のようなものが混入する:
その後は、コンパイル済みのプログラムが実行されると、SysConst.bakが見あたらなければ、プログラム中の悪意あるコードがDelphiを再感染させようとする。
この場合、同マルウェアは基本的に、Delphiを確実に感染させておこうとしているわけだが、このようなメカニズムは、マルウェアを拡散させる目的で修正することも可能だ。
我々は現在、同マルウェアを「Virus.Win32.Induc.a」として検出している。
同様の発見が以下でも報告されている:
http://gunsmoker.blogspot.com/2009/08/delphi-delphi.html (ロシア語)
ttp://blog.f-secure.jp/archives/50263100.html いくつか上に張られたのも読む気ないなら聞くな。LAN抜けよ。