【高度マルウェア解析コース】Zero2Automated認定試験 受験記

みなさんこんにちは。
株式会社レオンテクノロジーの調査・監視部に所属している宮﨑です。

 

今回、私は先日のお盆休暇中に海外のマルウェア解析トレーニングコースの中でも静的解析に特化した”Zero2Automated”の認定試験に挑戦し、無事1発合格することができました。
そこで、その経験を受験記としてブログに綴りたいと思います。

 

この認定試験に関する情報は国内外ともに少ないため、多くの方々に役立ててもらうべく、本コースの内容に加えて認定試験についても詳しく紹介していきます。

 


Zero2Automatedとは

Zero2Automatedは、マルウェア解析を専門とする海外のトレーニングコースで、特に実践的な知識やスキルを目指す方々に人気です。

用意されているコース

現時点で購入可能なコースは2種類存在します。

 

■Zero2Automated

  • 対象者:事前知識やマルウェア解析の静的解析の経験がある方
    • このコースでは、既にある程度のマルウェア解析の経験や知識を持つ方を対象に、高度な技術や手法を学ぶことができます。
  • 費用:£149.99(2023年8月27日時点で約2万7千円)

 

■Ultimate Malware Reverse Engineering Bundle

  • 対象者:静的解析の初心者から中級者(ただし完全な初心者は難易度が高いと感じる)
    • 上記の”Zero2Automated”に基礎コンテンツを追加したコースとなっており、マルウェア解析の静的解析をこれから学びたい方や、スキルを伸ばしたい方向けです。
  • 費用:£185.99(2023年8月27日時点で約3万4千円)

 

私が”Zero2Automated”プランを選択した理由は、以前にeLearnSecurity社のマルウェア解析コースを修了していること、そしてIDA PRO等の解析ツールを用いた実践的な解析経験があるため、より静的解析の高度な技術の習得に挑戦したかったからです。

 


Zero2Automatedで学べること

Zero2Automatedは、静的解析やリバースエンジニアリングに特化した内容が含まれるコースで、基礎的なコンテンツは全10章から構成されています。学習は主に動画視聴を通して行われ、提供される実際の検体を解析することで、知識と技術を深めるアプローチがとられています。

以下は、コースで学ぶことができる主要なトピックを一覧にしたものです。

 

  • 1章 Algorithms
    • マルウェア内のアルゴリズムの特定

 

  • 2章 Initial Stagers
    • IcedIDやZLoaderなどのローダーの解析
    • マクロを含むWordファイルやEquation Editorの脆弱性の解析
    • アンパック

 

  • 3章 Evasion
    • 検出回避のためのマルウェアの手法やインジェクション方法の分析

 

  • 4章 Malware Internals
    • バンキングマルウェアがブラウザをどのように標的とするか分析
    • POSシステムで使用されるアルゴリズムの分析
    • ワームがどのようにして拡散するか分析

 

  • 5章 In-Depth Analysis
    • Qakbotの挙動と詳細分析
    • TrickbotのActive Directoryに関連する詳細な解析

 

  • 6章 Exploitation
    • UACバイパス
    • EternalBlue & EternalRomance
    • カーネルを標的とするマルウェアの悪用手法の解析
    • ドライバの署名制約の無効化手法の解析

 

  • 7章 Decompilable2Src Malware
    • Python, JavaScript, PowerShellで開発されたマルウェアの逆コンパイル

 

  • 8章 Threat Intelligence
    • YARAルールの作成方法

 

  • 9章 Shellcode Analysis
    • シェルコードの静的・動的解析

 

  • 1o章 Rootkits & Bootkits
    • Trickbotのブートキットの機能とカーネルでの動作の解説

 

各章の詳しい内容や具体的な学習項目については、Z2Aの公式ページの「Course Content」セクションで確認することができます。

 

3章を終えた後には、Z2Aからカスタムサンプルとして用意された検体が提供されます。

この検体は架空のストーリを基盤としており、アナリストチームから提供された情報を活用して解析を行う形式となっています。

このセクションでの主要な目標は以下のとおりです。

■リバースエンジニアリングの実践

用意されたサンプルを徹底的にリバースエンジニアリングし、その動作や機能を正確に理解すること。

 

■解析の自動化

暗号化された文字列の自動復号や、設定(IoC)の抽出、通信のエミュレーションなどの解析処理を自動化する方法を調査し、必要な場合は専用のツールを作成すること。

 

このように、理論だけではなく、実際のスキルの応用やツール作成の能力も試されるセクションとなっています。

 


このコースを購入する前に知っておくべきこと

以下に、実際のコース内容や学習環境、対象者のレベルなど、事前に把握しておくと良い情報をまとめました。

 

  • 動画の長さ:大半は1時間以上(短期間での修了はやや難しい)
  • 動画の言語:全て英語
  • 字幕の利用:一部の動画で字幕無し
  • 解析環境の準備:学習者自身で用意(Windows7の基本イメージは提供される)
  •  対象者:このコースは静的解析に特化しているため、以下の基礎知識が必要です。
    • IDA PRO(IDA Free)やx64/32dbgの操作方法
    • C/C++やPythonの基本的なコーディングスキル
    • 「表層解析」「動的解析」「静的解析」の基礎知識
    • 解析ツールの利用方法
  • コスパ:価格に対して豊富なコンテンツがある
  • 専用のDiscordコミュニティ:Z2A専用のDiscordチャンネルでの情報交換も可能(頻度は多くありませんが、他の学習者の感想や疑問などが共有されているようでした)

 


合格までの学習方法

今年の5月中旬、私は会社にZero2Automatedの購入申請を行い学習を開始しました。そして業務上の目標として、8月末までに試験に合格することを設定していました。実技試験に挑んだ8月11日までの約4ヶ月間、以下の方法で毎日学習を進めました。

 

■Zero2Automatedのコンテンツ学習

用意されているコンテンツの学習やチャレンジ問題を解き進めました。

 

■流通している検体の解析

Malware Bazaarから取得した検体を実際に解析し、解析技術の実践経験を積みました。

 

 

■MalDev Academyのコース受講

7月末にMalDev Academyの申請が承認されたため、それ以降はマルウェアの開発の観点からも学習を進めました。このコースはx64マルウェア開発に特化しており、基礎から応用までの知識を網羅しています。私はここでC/C++のコーディングスキルを新たに習得し、これがZero2Automatedの学習と非常に相性が良かったと感じました。現在、このコースの全モジュールを完了することを目指しており、完了後には詳細をブログでシェアする予定です。

 

■eLearnSecurityのマルウェア解析コース

こちらのコースも学習の一環として取り組みました。

 

■マルウェア解析に関連する書籍

1年前から集めていた書籍なども含め、個人でマルウェア解析に役立つ書籍を買い漁り、必要な知識を蓄えました。
以下は自分が集めて読んだ書籍のリストです。

  • マルウェアの教科書
  • Ghidra実践ガイド
  • 初めてのマルウェア解析
  • Practical Malware Analysis
  • マルウェアデータサイエンス
  • アナライジングマルウェア
  • リバースエンジニアリング Pythonによるバイナリ解析技法
  • リバースエンジニアリングバイブル コード再創造の美学
  • インサイドWindows 第7版 上・下
  • 64ビット アセンブラ入門
  • デバッガによるx86プログラム解析入門
  • 解析魔法少女美咲ちゃん マジカル・オープン!
  • たのしいバイナリの歩き方
  • リンカ・ローダ実践開発テクニック

 


Zero2Automated認定試験

認定試験に合格するためには、理論試験と実技試験、両方の試験で70点以上の点数を取る必要があります。それぞれ初回での合格できなかった場合、1回だけ再試験の機会が与えられ、その際はアドバイスも得られるようです。

 

■理論試験

  • 試験時間:2時間
  • 質問数:50問
  • 出題範囲:1章から10章までと基本的なマルウェア解析に関する知識
  • 難易度:中
    • Z2Aのコンテンツを全て学習できていれば恐らく問題なし
    • 長文問題は詳細に解答する必要があるためマルウェアが用いる手法への深い理解が必要
  • 解答方式:
    • 多肢選択問題
    • 複数選択問題
    • 記述問題
    • 長文問題
  • 採点:全て1点満点の問題で、部分正解は0.5点
  • 結果発表:私の場合、約20日後

 

2時間の時間内で問題を読んで解答する必要がありましたが、全て英語での解答が必要であるため翻訳作業に時間がかかってしまいました。

 

無事に合格すると次は実技試験に関するお知らせがメールで届くため、いつ受けたいかを返信する必要があります。

■実技試験

  • 試験期間:2週間
  • 試験の実施環境:受験者が自前で準備
  • 試験の内容:実践的で難しく、マルウェア解析に関する様々な知識が必要
  • 難易度:高
    • Z2Aのコンテンツを全て学習する必要あり
    • 解析技術にとどまらず、開発や暗号の知識など幅広い知識が必要
  • レポート提出:試験期間内に提出
  • レポートの形式:特定のフォーマットはなく、箇条書きも許容されるがオススメはしないとのこと。また、当たり前だが英語での提出が必須
  • 合格へのアドバイス:証拠としてのスクリーンショットを多く取得しておくことや、詳細な解析手法の記述が推奨される
  • 結果発表:約1週間〜2週間後

 


試験を終えて

試験を通じて、自分の静的解析の能力が確実にスキルアップしたことを実感しました。特に、Zero2Automatedのコンテンツを学習する過程で得た実践的な知識とスキルは試験対策だけでなく、実務においても大きく役立つと考えています。

試験の内容は非常に実践的で難易度も高かったため、マルウェア解析のスキルが一定の水準に達していることを証明できて非常によかったと感じています。また、この資格を取得することで、自分のスキルを第三者にも分かりやすく示すことができ、マルウェア解析者としての自信と価値を感じることができました。

 


最後に

私のスキル向上のために、eLearnSecurity社のPremiumプラン、MalDev AcademyおよびZero2Automatedのコース料金を全額負担してくださったこと、本当にありがとうございました。

 

当社の制度として、業務に役立つ資格の取得をサポートする資格補助があるため、私のようにコースや試験に挑戦したい方も、経済的な負担を気にすることなく、自分のスキルアップに励むことができます。

 

この受験記が、将来のZero2Automated認定試験に挑戦される方々の一助となることを心より願っています。

長くなりましたが、最後まで読んでいただきありがとうございました!

レオンテクノロジーは現在、一緒に働く仲間を募集しております!
興味がある方はこちらから!

セキュリティに関するご相談はこちらから!

こんな記事も読まれています