ニュースレター登録
資料ダウンロード
お問い合わせ

FORENSICS 610

Reverse-Engineering Malware:Malware Analysis Tools and Techniques

Digital Forensics and Incident Response

English
日程

2024年10月21日(月)~2024年10月26日(土)

期間
6日間
講義時間

1日目:9:00-17:30
2日目~6日目:9:30-17:30

受講スタイル
Live Online
会場

◆LiveOnline形式
 オンライン

GIAC認定資格
GREM
講師
Michael Murr|マイケル マー
SANSシニアインストラクター
言語
英語 英語教材・同時通訳
定員
40名
CPEポイント
36 Points
受講料

早期割引価格:1,220,000 円(税込み 1,342,000 円)
※キャンペーン価格のため、他の割引の重複適用はできません。ご了承ください。

通常価格:1,350,000 円(税込み 1,485,000 円)

申込締切日
早期割引価格:2024年9月6日(金)
通常価格:2024年10月11日(金)
オプション
  • GIAC試験  160,000円(税込み 176,000円)
  • OnDemand  160,000円(税込み 176,000円)
  • NetWars Continuous  270,000円(税込み 297,000円)

※オプションの価格は、コース本体とセットでお申込みいただく場合のみ有効です。
※コース本体のお申込み後にGIAC試験オプションを追加される場合は、事務手数料10,000円(税込11,000円)を申し受けます。
※お申込み締切後はオプションの追加のお申込みを承ることができませんのでご了承ください。
※お申込み締切後にGIAC試験を追加する場合は、こちらのページ(英語)をご参照のうえ、GIACへ直接お申込みください。なお、コース本体とセットでお申込みいただいた場合は特典として模擬試験2回分が付きますが、GIACへ直接お申込みの場合は模擬試験2回分の特典はございません(別途購入可能)。

以下の「お申し込み」を押すと、NRIセキュアのお申し込みサイトに遷移します。

受講に必要なPC環境

演習で使用するPCをご準備下さい。受講に必要なPC環境についてご確認ください。

FOR610 PC設定詳細

重要:以下の環境のノートPCをご持参下さい。

このコースに完全に参加するためには、正しく設定されたシステムが必要です。この説明書をよく読み、それに従わない場合は、このコースに不可欠な実習に参加できないため、満足のいく授業が受けられない可能性が高いです。そのためこのコースで指定されたすべての要件を満たすシステムで参加されることを強くお勧めします。授業の前にシステムをバックアップしてください。さらに言えば、機密データをシステムに保存しないようにしてください。SANSはあなたのシステムやデータに対して責任を負いません。

ノートパソコンのハードウェア要件

  • CPU: 64ビットIntel i5/i7(第8世代以降)、またはAMD同等品。このクラスでは、64ビット、2.0GHz以上のプロセッサーが必須。
  • 重要: Appleシリコンを搭載したデバイスは必要な仮想化を行うことができないため、このコースでは一切使用できません。
  • 「Intel-VTx」や「AMD-V」拡張機能など、仮想化技術を有効にするためのBIOS設定が必要です。変更が必要な場合に備えて、BIOSがパスワードで保護されている場合は、絶対にアクセスできるようにしてください。
  • 16GB以上のRAMが必要です。
  • 200GB以上のストレージ空き容量が必要です。
  • 利用可能なUSB 3.0 Type-Aポートが1つ以上あること。新しいノートパソコンには、Type-CからType-Aへのアダプタが必要な場合があります。エンドポイントプロテクションソフトウェアの中にはUSBデバイスの使用を禁止しているものもありますので、授業前にUSBドライブでシステムをテストしてください。
  • ワイヤレスネットワーク(802.11規格)が必要です。教室では有線のインターネット接続はできません。

ノートパソコンのソフトウェア要件(下記を事前にインストールしてください)

  • ホストOSは、Windows 10、Windows 11、またはmacOS 10.15.x以降の最新バージョンである必要があります。

  • 正しいドライバとパッチがインストールされていることを確認するため、授業前にホストOSを完全にアップデートしてください。

  • Linuxホストはバリエーションが多いため、教室ではサポートしていません。Linuxをホストとして使用する場合、コース教材および/またはVMと連動するように設定する責任は各自にあります。

  • ローカル管理者アクセスが必要です。(これは絶対に必要です。ITチームにそうでないと言わせないでください)。受講期間中、会社がこのアクセスを許可しない場合は、別のノートパソコンを持参するよう手配してください。

  • ウイルス対策ソフトやエンドポイント保護ソフトが無効になっていること、完全に削除されていること、またはそのための管理者権限を持っていることを確認してください。私たちのコースの多くは、オペレーティングシステムへの完全な管理者アクセスを必要とし、これらの製品はラボの達成を妨げる可能性があります。

  • アウトバウンドトラフィックのフィルタリングは、あなたのコースのラボの達成を妨げる可能性があります。ファイアウォールは無効にするか、無効にするための管理者権限を持ってください。

  • VMware Workstation Pro 16.2.X+(Windows 10ホスト用)、VMware Workstation Pro 17.0.0+(Windows 11ホスト用)、またはVMWare Fusion Pro 12.2+(macOS ホスト用)をクラス開始前にダウンロードし、インストールしてください。VMware Workstation ProまたはVMware Fusion Proのライセンスをお持ちでない方は、VMwareから30日間の無料トライアル版をダウンロードできます。VMwareのウェブサイトからトライアルに登録すると、期間限定のシリアル番号が送られてきます。このコースでは、VMwareソフトウェアの「Pro」バージョンが必要です。「Player」バージョンでは十分ではありません。

  • Windowsホスト上では、VMware製品はHyper-Vハイパーバイザーと共存できない場合があります。VMwareが仮想マシンを起動できることを確認してください。そのためには、Hyper-Vを無効にする必要があるかもしれません。Hyper-V、Device Guard、および Credential Guard を無効にする方法は、コース教材に付属のセットアップ・ドキュメントに記載されています。

  • 7-Zip (Windows ホスト用) または Keka (macOS ホスト用) をダウンロードしてインストールします。これらのツールもダウンロードしたコース教材に含まれています。

LiveOnlineでのコースメディアの事前準備、テキストについて

コースのメディアがダウンロード版で配信されるようになりました。多くは40~50GBの範囲で、中には100GBを超えるものもあります。ダウンロードに必要な時間は様々な要因に左右されるため、所要時間を見積もることはできませんが、非常に時間がかかってしまう場合もあります。メールよりダウンロードリンクを取得したら、コースメディアのダウンロードを開始してください。コースメディアは授業初日すぐに必要になります。開始前夜などにダウンロードを開始すると、失敗する可能性が高くなりますので、時間に余裕をもってご準備ください。

コース教材には「セットアップ手順」という文書が含まれています。この文書には、ライブ・クラスのイベントに参加する前、またはオンライン・クラスを開始する前に行わなければならない重要な手順の詳細が記載されています。これらの手順を完了するには、30分以上かかる場合があります。

ノートパソコンの設定に関して追加で質問がある場合は、info@sans-japan.jp(NRIセキュアテクノロジーズ)にお問い合わせください。ただし、米国と問合せを行う関係上時間を要する場合がございます。お急ぎの方はlaptop_prep@sans.orgに直接お問い合わせください。(英文)

FOR610 コース概要

マルウェアを裏返す技術を身につけよう マルウェア解析ツールやテクニックを深く掘り下げる人気の反転コースです。FOR610トレーニングは、フォレンジック調査官、インシデント対応者、セキュリティエンジニア、脅威アナリストが、Windowsシステムを標的とし感染する悪質なプログラムを調査するための実践的なスキルを習得するのに役立っています。
マルウェアの機能を理解することは、脅威のインテリジェンスを導き出し、サイバーセキュリティインシデントに対応し、企業の防御を強化するために非常に重要です。このコースでは、様々なシステムおよびネットワーク監視ユーティリティ、ディスアセンブラ、デバッガ、その他自由に利用できる多くのツールを使用して、悪意のあるソフトウェアをリバースエンジニアリングするための強力な基礎を構築します。

自動分析ツールを使って劇的に発見しやすくするような手法で、マルウエアを解析するための基礎を身につけるところから始まります。悪意のあるソフトウエアの内部検査を行うフレキシブルなラボを設定する方法や、実世界にあるマルウエアのサンプルの特徴を発見するラボの使い方を学びます。悪意のあるプログラムを動かすことで検体の機能を発見するため、ラボの中でネットワークトラフィックをリダイレクトしたり遮断する方法を学習します。リバースエンジニアリングと関連する本質的なアセンブリ言語のコンセプトを学びます。重要な構成要素と実行フローを理解するために、ディスアセンブラやデバッガーの助けを借りて悪意のあるコードを検査することを学習します。加えて、悪意のあるプログラムにある怪しいWindows APIパターンに注目することによりマルウェアに共通の特徴を見つけ出す方法について学習します。

次に、悪意のあるMicrosoft Office、RTF、PDF文書ファイルを分析します。これらは、主流の攻撃や標的型攻撃において、攻撃チェーンの一部としてよく使用されます。このような文書がもたらす可能性のあるマクロやその他の脅威を調査する方法を学びます。また、JavaScriptやPowerShellスクリプトの形で悪意のあるスクリプトを難読化する方法を学びます。さらに、シェルコードの検査方法も学びます。

マルウエアは解析の邪魔をするためにしばしば難読化されています。そのためコースではWindows実行ファイルを分解するスキルを身に付けるためのサポートをします。デバッガーや追加の専門ツールを使ってメモリからそのようなプログラムをダンプする方法や作成者による保護をはずしてファイル構造をリビルドする方法を学習します。また、コードインジェクションやAPIフッキングを行い、システム上の存在を隠したり、情報の流れを妨害したりするマルウェアの検査方法についても学びます。

また、FOR610マルウェア解析トレーニングでは、解析から自身を守ろうとする悪意のあるソフトウェアの扱い方についても学びます。ファイルレス技術、サンドボックス回避、フローミスディレクション、デバッガ検知、その他の解析対策など、一般的な自己防衛策を認識し、回避する方法について学びます。

コース最終日は、CTFに挑戦していただきます。一連学んできたことの復習になり、実践的かつハンズオンでマルウェア解析を楽しみながら学べるよい機会となることでしょう。

本コースでは、管理下にあるラボでマルウェアを調査して、マルウェア解析手法を実践してみるハンズオン演習を重視しています。演習を行うことで、典型的なパターンを理解し、コードを分析する際に重要な部分を理解できるでしょう。そして演習をスムーズに行えるようにするために、あらかじめマルウェア解析用のツールを構成してあるWindowsとLinuxの仮想マシンを用意してあります。

受講対象者

  • マルウエアを含むインシデントを扱う、あるいは悪意のあるプログラムの基本事項を理解したい方
  • 体系的ではないがマルウエア解析の経験を持つ、あるいはこの領域の専門性を体系化したり広げたい技術者
  • スキルセットを広げたい、インシデントレスポンスにおける重要な役割を果たすフォレンジック調査官、セキュリティ技術者
前提条件
  • ノートパソコンの要件に合致するコンピュータシステムを所有していること。学生が授業に参加する前にインストールする必要があるソフトウェアもあります。
  • WindowsとLinuxの操作環境に精通し、OSの接続や設定に関する一般的な問題のトラブルシューティングができること。
  • VMwareに精通し、仮想マシンのインポートと設定ができる。
  • 変数、ループ、関数など、プログラミングの中核となる概念について一般的な知識を持ち、この分野の関連概念を迅速に把握できる。ただし、プログラミングの経験は必要ない。

※FOR610は、GIAC(GREM)認定試験対象コースです。

GIAC Reverse Engineering Malware
GIAC Reverse Engineering Malware (GREM) 認定は、悪意のあるコードから組織を保護する技術者のために設計されています。GREM認定技術者は、Microsoft WindowsやWebブラウザなどの一般的なプラットフォームを標的とした悪意のあるソフトウェア(マルウェア)をリバースエンジニアリングするための知識とスキルを持っています。これらの技術者は、フォレンジック調査、インシデント対応、Windowsシステム管理の観点からマルウェアの内部構造を調査する方法を知っています。GREM認定を取得し、最先端のマルウェア解析スキルをアピールすることで、雇用主や顧客にとってより価値のある存在となることができます。
  • マルウェアコードと動作解析の基礎を用いたマルウェア解析
  • リバースエンジニアリングのためのWindowsアセンブリコードの概念とアセンブリにおける一般的なWindowsマルウェアの特徴
  • 悪意のある実行ファイルと自己防衛型マルウェアの徹底分析
  • 悪意のあるドキュメントファイル、.NETプログラム、保護された実行可能ファイルの解析

講義内容の一例

  • 隔離された管理下にあるラボ環境を構築し、悪意あるプログラムの挙動とコードを分析する
  • ネットワークとシステム監視ツールを使い、どのようにマルウェアがファイルシステム、レジストリ、ネットワーク、その他のWindows環境のプロセスに感染していくかを調査する
  • 悪意のある、難読化されたJavaScriptやPowerShellスクリプトを分析します。
  • 悪意あるプログラムの挙動を制御する方法として、ネットワーク通信をインターセプトしコードパッチングを行って効果的にマルウェア解析を行う
  • ディスアセンブラとデバッガーを使って、悪意あるWindows実行ファイルの内部の仕組みを調査する
  • アナリストを欺き混乱させ解析を遅延させるために、マルウェア開発者が講じたさまざまなパッカーや防御機構をバイパスする
  • コードインジェクション、C2インタラクション、ドロッパーやダウンローダーのテクニック、解析対策など、悪意のあるコードに共通するアセンブリレベルのパターンを認識し理解する
  • PDFやMicrosoft Officeファイルといった悪意のあるドキュメントに関する脅威を評価する
  • インシデントレスポンスやスレットインテリジェンスを強化するために悪意のある実行ファイルからIOCを引き出す
  • 難読化されていることが多く、リフレクティブ・コード・ローディングを使用することで検知を回避しようとする.NETマルウェアの分析

コース開発者より

「熟練マルウェアアナリストが、感染したシステムに侵入した悪意あるファイルから情報をどれほど得られるのか驚くほどです」マルウェアをリバースエンジニアリングする方法を学ぶことで、侵入された深刻さ、攻撃の目的や経過、封じ込めの手順、および組織がインシデントを対応するのに役立つ多くの状況が得られます。 FOR610コースは、さまざまな使えるテクニックを駆使して悪意あるソフトウェアの調査方法を学ぶ、そして得られた専門知識からマルウェア分析を習得するための専門家への入り口なのです。
- Lenny Zeltser

「攻撃者と効果的に立ち向かうためには、相手が使用しているツールへの理解が必要です。」このコースでは、コードを機能的にリバースエンジニアリングすることで、機能、依存性、およびその制限を理解するために必要なスキルを学びます。目的を達成するために攻撃者は、独創的で堅牢なマルウェアを生み出そうと、日々努力を積み重ねています。組織が将来の攻撃を軽減するためにコードを解読してそれを学んでいくためには、同様に熟練したマルウェア分析機能を備える必要があるのです。
- Anuj Soni

  • DAY1
  • DAY2
  • DAY3
  • DAY4
  • DAY5
  • DAY6

Malware Analysis Fundamentals

1章では、悪意のあるプログラムを調査するのに有効な主要ツールとテクニックを紹介し、マルウェア解析の基礎固めを行う。フェーズごとにWindowsマルウェアを調べることで解析時間を短縮する方法を学びます。静的プロパティ分析では、メタデータおよびその他のファイル属性を調べてトリアージを行い、次の対応を決定します。行動分析では、レジストリ、ファイルシステム、ネットワークなどの環境とのプログラムの相互作用に焦点を当てます。コード解析では、検体の内部動作に焦点を当て、x64bgなどのデバッグツールを使用します。提供されているWindowsおよびLinux(REMnux)仮想マシンに慣れ親しむように、設定された方法でこのような分析を行う方法を学びます。ラボではサンプルマルウェアの調査を行い、主要な解析ツールの実行方法を理解していきます。インストラクターのガイダンスとラボ後の解説によって、マルウェア解析の概念をしっかり理解できることでしょう。

トピック

  • 効果的なマルウェア解析のためのツールキット構築
  • 疑わしいプログラムの静的パラメータ調査
  • 悪意のあるWindows実行ファイルの動作解析、悪意のあるWindows実行ファイルの動的コード解析
  • マルウェアのネットワーク相互作用をラボで探索し、さらなる特性を追求

 Reversing Malicious Code

このセクションでは、Windowsの悪意ある実行ファイルをアセンブリレベルで調査することを中心に説明していきます。検体の内部の仕組みをディスアセンブラを通して解明していく方法を紹介します。また、デバッガーも解析の助けとなるでしょう。このセクションではハンズオン演習でGhidraを使います。このセクションではまず始めに、コードのリバーシング概念について概要を説明します。x86 Intelアセンブリの概念について、解析に不可欠な入門知識を解説します。たとえばインストラクション、ファンクションコール、変数とジャンプといった概念です。また、関数、ループ、条件文といったもので構成される共通のアセンブリを調査する方法も学んでいきます。教材を使って基礎を固めてから、ポピュラーになった64ビットマルウエアを使って理解を深めます。

このディスカッションを通して、HTTPコマンド&コントロール、アーティファクト抽出、コマンド実行など、コードレベルで共通する特徴を認識することを学びます。

トピック

  • コードレベルでのマルウェア解析を行うためのx86アセンブリの概念
  • ディスアセンブラを使用したアセンブラのロジック構造の主要部分を特定する方法
  • プログラム制御フローに従い、実行ポイントを理解する
  • Windows APIレベルでのマルウェア特性を理解する
  • x64コード解析を組み込むためのアセンブリ知識の拡張

Analyzing Malicious Documents and Scripts

セクション3では、敵対者が感染したシステム上で直接悪意のあるアクションを実行したり、悪意のある実行ファイルのインストールにつながる攻撃を開始するために使用できる悪意のある文書の検査に焦点を当てます。このセクションでは、まず、PDFファイルを調査して、それが組織に及ぼす脅威を理解する方法を説明します。続いて、Microsoft Office文書で被害者に配信されるVBAマクロの検査について詳しく説明します。簡単なマクロと高度なマクロの扱い方を学ぶことで、マクロの機能を理解し、IOC(indicators of compromise)を導き出すことができるようになります。次に、危険なアーティファクトを埋め込み、脆弱性を悪用して悪意のあるコードを実行する可能性のある疑わしいRTFファイルの調査方法について学びます。このセクションでは、不審なウェブサイトの検査、シェルコード機能の理解、JavaScriptスクリプトの難読化解除のテクニックも紹介します。

トピック

  • 悪意のあるPDFファイルの分析
  • 疑わしいウェブサイトの分析
  • Microsoft Office文書内のVBAマクロ
  • 悪意のあるRTFファイルの検査
  • シェルコードの理解
  • 悪意のあるJavaScriptスクリプトの難読化解除

In-Depth Malware Analysis

セクション 4 では、このコースの前半で紹介した動作解析とコード解析のアプローチを基に、悪意のあるプログラムの機能をさらに解明するためのテクニックを探ります。このセクションでは、まず、悪意のある文書や疑わしいWebサイト、その他の形式の攻撃で遭遇する可能性のある、JavaScriptの難読化を解除するための実用的な方法について説明します。具体的には、パッカーとよばれるテクニックについて学んでいき、そしてその防御を回避する方法を理解していきます。また、レジストリ、難読化されたJavaScriptとPowerShellスクリプト、シェルコードの使用など、本来の特性を隠すために複数のテクノロジを使ったマルウェアの分析も行います。また、.NET Framework を使用して作成されたマルウェアの解析方法についても学びます。このようなコードの逆コンパイル、デバッグ、難読化解除の方法も含まれます。最後に、マルウェアがどのようにコードインジェクションを行い、検出を回避し、プログラムが環境を認識する方法を妨害するかを学びます。

トピック

  • 梱包されたWindowsマルウェアを認識する
  • アンパックを始める
  • パックされたマルウェアをメモリからダンプするためのデバッガの使用
  • マルチテクノロジーおよび「ファイルレス」マルウェアの解析
  • .NET マルウェアの解析
  • コードインジェクションのテクニック

Examining Self-Defending Malware

このセクションでは、マルウェアの作成者が悪意あるソフトウェアを解析されるのを阻止するために使っている手法を詳しく解説します。時間稼ぎまたは、誤分析するよう仕組まれた対分析手法を識別し、回避する方法について解説します。このプロセスでは、マルウェアの静的および動的分析を行って、アンパックしたり、他のプロセスにインジェクトしたりできることを学びます。マルウェアの作成者が悪意ある実行可能ファイルに埋め込んだデータを保護する方法についても理解を深めることができます。コースを通してカバーされているトピック同様に、実践演習中にこのようなテクニックを試すことができます。

このセクションでは、コースの前半で取り上げた多くのツールやテクニックをまとめ、さらに発展させています。

トピック

  • マルウェアがデバッガを検出し、埋め込みデータを保護する方法
  • 悪意あるソフトウェアのプロセス空洞化を利用したアンパック方法
  • マルウェアが解析ツールを検知する機能を特定し無効化する方法
  • SEHおよびTLSコールバックを含むコード誤検出手法
  • パッカーの動きを予期して悪意ある実行可能ファイルをアンパックする方法

Malware Analysis Tournament

セクション6では、これまでのセクションで学んだマルウェア解析の様々な側面を内在化し、実践し、発展させることができます。このセクションでは、実際のマルウェアを使用した様々な実践的な課題を、楽しいトーナメント形式で提供します。CTF(Capture the Flag)システムにアクセスし、ラボでマルウェアを調査することで実践的な課題に取り組むことができます。このシステムは、必要なときにガイダンスを提供してくれるので、自分のスキルセットとニーズに合わせてこのゲーム体験をカスタマイズすることができます。トーナメントでは、知識を定着させ、さらに練習が必要と思われるスキル領域を補強することができます。 

トピック

  • マルウェア解析の基礎
  • 静的および動的な手法による悪意のあるコードの解析
  • 悪意のあるドキュメントの解析
  • マルウェアの詳細解析(アンパッキングを含む)
  • 自己防衛型マルウェアの検証

NRIセキュアではNews BitesやOUCH! を日本語に翻訳して皆さまにお届けしています。
購読制を採っておりますので、
ご希望の方は、ニュースレター登録からお申し込みください。