初めてのマルウェア解析(オライリー)を読んだ

資格・学習
この記事は約4分で読めます。

2020年12月に満を持して発売された技術書。

「初めてのマルウェア解析」

出版元はオライリー。

いつもどおり、表紙にはアニマルなイラスト。

1か月ほどかけてじっくりと読んでみた。

簡単な感想

マルウェアの攻撃手法や解析方法についてじっくりみっちりと解析した書籍。

知人のマルウェア解析者によると、「この本を読んで理解して実践できるようになれば、マルウェア解析者としてのリバースエンジニアリングスキルは十分」とのこと。
マルウェア解析に興味がある人や、企業のCSIRTとしてインシデント対応する人であれば一読の価値はあるだろう。

ただ、残念ながら初心者向け本ではないので、ある程度知識を持っている人向け。

読むにあたって必要な知識

この本を読むために必要な基礎知識としては、

  • C言語のプログラムをなんとか読めるくらい
  • アセンブリ言語の基本命令文を知っている
  • アセンブリのシステムコールの記述方式や呼び出し規約がある
  • メモリに番地があって、カーネル空間とユーザー空間で権限が異なる
  • アセンブリの機械語命令がそれらメモリを参照してリトルエンディアンで読み取っていい感じに処理する
  • Windowsはいろんなオブジェクトで成り立っていて、構造体というデータ保管の仕組みがそれを支えている

こういったIT系基礎知識がいるが、低レイヤー系なのでみんな大嫌いだと思う。

基礎知識がない状態で読もうとしても、専門用語を専門用語で説明するスパイラルに巻き込まれて消耗するだけ。

ただ、逆に言うとこの本を読破したのなら、めちゃくちゃ力がつくということだといえる。

私もいろいろな分野の知識をつけることができ、ドラクエでいうとはぐれメタルを倒したくらいの感覚があるので、上に書いた前提知識のある人にとっては読む価値はあるはず。

この本で学べたこと

アセンブリに関する理解

先ほどはアセンブリに基礎知識がいるとは書いていたけれど、実際のところ本の途中でアセンブリについて解説してくれている。

それはもうかなり丁寧な解説っぷりで、読めば内容がすーっと入ってきてすぐに腹落ちする。

ただ、それは単に私に基礎知識があったからで、前提知識の全くない人だと、一度に全部を理解するのは難しいはず。
mov?add?ebp?意味わかんねーとなることは必至。
先にリバースエンジニアリングバイブルでアセンブラ系知識をつけておいたほうがいい。

そういった基礎知識がある人からすると、この本を読み通すといろいろな知識がついてくる。

システムコールの種類、マルウェアが攻撃をしかけるときの特徴的なコード、攻撃の流れと命令の結びつき。

それらを丁寧に解説しているので、アセンブリの知識を再確認でき、知識レベルが上がったと感じた。

マルウェアの攻撃手法

プロセスハロウィングってすごいのねぇ・・・

実際、本の中で解説されている攻撃手法は多岐にわたり、インジェクション系の攻撃からもっとディープなものまで幅広い。
特に、マルウェアがフォレンジック調査から隠れるべく、EPROCESS構造体の相互ポインタを切断してWindowsカーネルから直接見られないようにするっていうのは「マルウェアちゃんビビっててかわいいな…」と不思議な気持ちにさせられた。

がちがちのセキュリティベンダー勤務ではなくても、セキュリティに携わる人ならば、この本に書いてあることを頭に入れておくのはすごく価値があると思う。

事実、読み終わってからは脆弱性やマルウェア情報を目にしたときに「あーこんな感じで攻撃するんだろな」というのがぼんやりとだけれどイメージできるようになった。

といっても、ぐりぐり解析して全容解明するほどのスキルには遠く及ばないけれど。

メモリ関係の知識

みんな嫌がるメモリフォレンジック。

「初めてのマルウェア解析」では、意外や意外。メモリフォレンジックについてかなりのページを割いて解説しているため、読めばメモリの仕組みや保存されているデータについていろいろと知ることができる。

その内容は主にオープンソースツールの使い方にはなるけれど、それと絡ませてマルウェアの攻撃手法や検出方法を説明してくれており、それが大変わかりやすくて秀逸。

オライリーってもっと小難しい表現でわかりにくい文章のイメージだったけれど、最近は簡単な言葉使いで表現してくれているから、読んだ瞬間に頭に入ってくる。
本自体の難易度とは裏腹に「えっどういう意味?」となってもう一回読み直すことは意外と少なかった。

まとめ

「初めてのマルウェア解析」は、セキュリティ技術者なら読んで損はない名著だと思う。

ただし、ある程度低レイヤーの前提知識が必要となるので、入門的な本をあらかじめ読んでから挑戦した方がいい。
割とお値段のする本なので、積ん読するのはもったいないからなぁ・・・

コメント

タイトルとURLをコピーしました