マルウェアの教科書を読んで

2022年に流行っていたマルウェアの教科書という本をこの年末に読んだので、自分用のメモという意味合いも込めてまとめてみました。

amzn.to

総評

概要から詳細な分析・検知・検知の回避方法の手法などまで体系的にまとめられていて、自身の知識の整理にピッタリでした。書評などと言って評価を書くのが申し訳ないぐらい完璧な内容だと思います。日本のためにこのような本を書いてくださり本当にありがとうございます。

また、多くのセキュリティを専門にしていないエンジニアにとっても最後まで理解しやすい内容になっていて、なんとなくのマルウェアのイメージはあるけど、具体的に説明ができない、といった方々にも大変参考になるのではないかと思います。

この書評では、本書を解説するつもりはないので、紹介されている検知手法・解析手法などはキーワードのみにとどめるか、そもそも言及していません。

本書の流れ

雑にまとめるとこんな感じです。検知や分析する手法が紹介されたすぐ後には回避される手法が紹介されて、マルウェアの検知というのは常にいたちごっこが起こっているんだなと思い知らされました。

  1. マルウェアの分類についての紹介
  2. マルウェアの目的の説明
  3. マルウェアを検知してみよう
  4. その検知を回避する手法
  5. 難読化して解析者を困らせよう
  6. 負けじとマルウェアを解析しよう(読者もちょっと入門)

個人的に特に面白いと思った部分のピックアップ

独断と偏見で選んでいます。これ以外の部分も体系的にマルウェアの検知や分析について紹介されているので、マルウェアやセキュリティに普段そこまで関わりがない人にとってはとても勉強になると思います。

マルウェアが検知を逃れる手法

マルウェアアンチウイルスソフトの検知を逃れるために行われる手法が具体的に紹介されていて大変興味深かったです。

特に、EMOTET で有名になったハロウィングという検知を逃れる手法の大枠は知っていましたが、恥ずかしながら詳細までは理解できておらず、本書を読んで詳細に理解することができました。

ちなみにこの分析はより詳細な記事を筆者の方が書かれているのでこちらが参考になるかと思います。

www.mbsd.jp

他にも下記のような手法が紹介されていました。

  • DLL インジェクションを使った正規のアプリケーションに擬態する
  • OS のプロセスの検索結果を書き換える
  • アンチウイルスソフトが起動しないセーフモードで暴れる
  • 自動スクリプトを終了の直前まで書き込まない

また、ファイル名を長くしたり反転させたりと、Windows の機能を使って人間を騙そうとしている手法も紹介されていました。

詳細は本書に譲りますが、半分以上は普段のコーディングで使っているかやろうと思えばできる技術の組み合わせでマルウェアもできているんだなぁという実感が持てるかと思います。

攻撃者と解析者の攻防

攻撃者と解析者の両者がお互いを熟知しており、攻撃者が解析者を妨害する種々の手法が紹介されていました。

コードの難読化や API のハッシュ化、デバッグモードの検知、サンドボックス環境の検知など、両者のいたちごっこが垣間見れました。

特に、年月を経るにつれて、どんどん回避技術が高度化していっていて、攻撃者と解析者の自作自演なのではないかと思わされるレベルでした。(実際に表向きはホワイトハッカーの人が裏ではマルウェア開発者というケースもあるようなので、ある意味、言い得て妙なのかもしれません。。)

マルウェア解析の入門

実際に自分で作ったデバッグモードを回避するコードを解析することで、マルウェア解析の雰囲気を味わう、ところまでやって本書は終わりとないっています。

バイナリの解析やデバッグをやったことのないエンジニアも意外と多いと思うので、これを機にやってみるといいのでは?と思いました。

まとめ

ライトな書評でキーワードのピックアップばかりになってしまいましたが、このような内容で面白いなと思った人は一度手にとってみるといいのではないでしょうか! 解説することがないぐらい綺麗にまとまっていて、改めて大変素晴らしい書籍でした。