『アナライジング・マルウェア』の感想

アナライジング・マルウェア ―フリーツールを使った感染事案対処 (Art Of Reversing)
自分の直感に最初から従っておけば良かった。でももう遅い。買ってしまったものは仕方がない。結論から言うと、この本に買う価値はない。
そこら辺のウェブページを切り貼りしました、って感じ。この本でしか得られない情報ってImmunity Debuggerのしょうもないノウハウ(笑)ぐらいしかない。
まず、問題なのはこの一冊で全くの初心者がマルウェア解析を出来るようになると謳っている点。そんなことは全然ない。確かに中学生が作ったようなマルウェアならレジストリのどこを操作しているのかぐらいなら分かるようにはなりそうだけど、そんなので溢れている訳じゃないでしょ?このレベルの自称マルウェア解析者が増えればマルウェア作成者は楽になるね。凝ったことしなくても解析を諦めてもらえるから。「あれー?このマルウェア、実行させてもBlackMantaに何も表示されないぞ?きっと何もしてないんだな」ってね。
それと、気付いたのだけれど統一的な対処が困難なアンチ・リバースエンジニアリングについての記述がほとんどないね。パッカーについての言及はあるけれど(パッカーのために一章割かれている)、メモリーにオリジナルコードが早い段階で全て展開されることが前提で、そうでないときの対処法が全く書かれていない。

私たちが一番苦心したことといえば、読者がアセンブリ言語を読むことを極力小さくすることです。(p.vi)

と前書きにもあるし意図してのことなのだろうけど。VMプロテクションにはどうするんだろうね?こんなのでマルウェアを解析できるようになると考えたのか本当に疑問。
編集作業も雑。こんな箇所が至るところにある:

OEPに制御を移すようなjmp/call命令では、オペランドが即値であったり、汎用レジスタであったりすることがあるので、この点に着目してOEPを探してもよいでしょう。(p.61)

オペランドが即値でも汎用レジスターでもないようなjmp/call命令っていったいどんな命令だろう?jmp espとか?そういえば双方向リストの図もおかしかった。二つのリンクのうち、片方が前方、もう片方が後方を指してないといけないのに片方が両方向を指している。(p.225の図)
こうして見るとサルカニ合戦しているみたい。木に登れないカニを初めとする動物たちには木の上から善人を装い渋柿だけを与える。しかしカニたちは熟れた柿の色を知らないので喜んで食べる。アホか。もしかしたら本人は本気で渋柿を熟れている柿だと勘違いしているのかもしれないけれど。
というわけで、この本を買って読むのは無意味。ラノベでも読んでた方がましです。