これはマルウェア解析・検知・分類 Advent Calendar 2020の第1日目の記事です.
ゆるく書いていきます.
マルウェアの多くはパッカーと呼ばれるツールによってパックという処理を施されています.パックはプログラムを,挙動や機能をそのままに保ちながら,暗号化や圧縮して別のプログラムに変換する処理です.パックによって,静的解析が難しくなったり,プログラムイメージのシグネチャマッチングによってマルウェアと認識することが難しくなったりします.
マルウェア解析,特に静的解析では,まず,そのマルウェアがパックされているかどうかを正しく判定し,可能ならパッカーの種類を推定するなどの処理を通じてアンパックすることが重要になります.
パッカーいろいろ.ていうかリンク集.
-
無料かつオープンソースのパッカー
-- UPX おそらくマルウェア界でのシェアNo. 1
-- UPack
-- Yoda's Protector
-- NSPack ミラーサイトはあるが公式サイトがない? -
有料
-- Themida
-- VMProtect
-- ASPack
-- The Enigma Protector
-- Obsidium
-- PELock
パッカーを扱った研究の論文もたくさん出ています.
- パックされているかどうか,どのパッカーでパックされているかを認識する方法
- 未知のパッカーでパックされたバイナリを自動的にアンパックする方法
- 世の中のマルウェアがどんなパッカーでパックされているかの実態についての調査結果
などなど.具体的な論文へのリンクは,そのうち,ここに加筆するかもしれません(しないかもしれません).
あくまで気が向いたらですが,随時更新していきます.