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

FORENSICS 532

Enterprise Memory Forensics In-Depth

※本コースは中止となりました。次回開催をお待ちください。

Digital Forensics and Incident Response

English
日程

2023年9月11日(月)~9月14日(木)

期間
4日間
講義時間

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

受講スタイル
Live Online
会場

◆LiveOnline形式
オンライン

GIAC認定資格
-
講師
Mathias Fuchs|マティアス フックス
SANS認定インストラクター
言語
英語 英語教材・同時通訳
定員
40名
CPEポイント
24 Points
受講料

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

【通常価格】990,000円(税込:1,089,000円)

申込締切日
【早割価格】2023年8月11日(金)
【通常価格】2023年9月1日(金)
オプション
  • OnDemand  135,000円(税込:148,500円)
  • NetWars Continuous  235,000円(税込:258,500円)

※オプションの価格は、コース本体と同時にお申し込みいただく場合のみ有効です。

受講に必要なPC環境

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

FOR532 PC設定詳細

重要:以下の手順に従って設定されたPCを各自用意してください。

このコースに参加するには、適切に設定されたPCが必要です。以下の指示を注意深く確認し、ご用意いただかないと、このコースに不可欠な実践的な演習に参加することができません。したがって、コースに指定されたすべての要件を満たすシステムをご用意ください。

また授業前にシステムをバックアップしておいてください。また、機密データやクリティカルなデータがないシステムを使用してください。SANSは、あなたのシステムまたはデータに対して責任を負いません。

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

  • CPU: 64bit Intel i5/i7(第8世代またはそれ以降)x64ビット、2.0+ GHzプロセッサ以上(64bit必須)
  • 注意:M1/M2プロセッサーを使用したApple社製システムは、必要な仮想化機能を実行できないため使用できません。
  • BIOS:BIOSが仮想化機能をサポートしていること(Intel VTもしくはAMD-V)
  • RAM:16GB以上
  • ストレージ:350GB以上の空き容量
  • USB:USB 3.0 Type-Aポート1つ以上
  • NW:ワイヤレスネットワーク(802.11規格)

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

  • Windows 10、Windows 11、またはmacOS 10.15.x以降の最新版
  • OSはアップデートして、ドライバやパッチが適用されていることを確認してください
  • LinuxOSはサポートしておりません。
  • ホストOSのローカルアドミニストレーターアクセス権限
  • ウィルス対策製品の停止、解除ができること
  • ファイアウォールの停止、設定変更ができること
  • 7-Zip(Windowsホスト用)またはKeka(macOSホスト用)

事前インストールするソフトウェア

  • 仮想マシン
    • VMware Workstation Pro 16.2.X+ または VMware Player 16.2.X+(Windows 10ホスト用)
    • VMware Workstation Pro 17.0.0+ または VMware Player 17.0.0+(Windows 11ホスト用)
    • VMWare Fusion Pro 12.2+ または VMware Fusion Player 11.5+ (macOSホスト用)
    Proライセンスをお持ちでない方は30日間のトライアルライセンスが利用可能です。
    Windowsホストでは、VMware製品はHyper-Vハイパーバイザーと共存できない場合があるた、Hyper-Vを無効にする必要がある場合があります。
    Hyper-V、Device Guard、およびCredential Guardを無効にする手順は、コース教材に付属するセットアップテキストに記載されています。
  • 解凍ソフト
    • 7-Zip(Windowsホスト用)
    • Keka(macOSホスト用)

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

コースのメディアがダウンロード版で配信されるようになりました。授業で使用するメディアファイルは大容量で、40~50GBのものもあります。ダウンロードに必要な時間は様々な要因に左右されるため、所要時間を見積もることはできませんが、非常に時間がかかってしまう場合もあります。メールよりダウンロードリンクを取得したら、コースメディアのダウンロードを開始してください。コースメディアは授業初日すぐに必要になります。開始前夜などにダウンロードを開始すると、失敗する可能性が高くなりますので、時間に余裕をもってご準備ください。教材には、ライブ授業に参加する前、またはオンライン授業を開始する前に行うべき重要な手順が記載された「セットアップ手順書」が含まれています。この手順を完了するには、30分以上かかる場合があります。本コースでは電子ワークブックを使用しています。そのため授業の資料を見ながら、ラボの作業をするため、サブモニター等があると便利です。

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

FOR532 コース概要

ATTACKER TRACES ARE MOST VULNERABLE IN MEMORY. TIME TO GO HUNTING!

本講座で学べる事

  • 最新のオペレーティングシステムでメモリがどのように機能するかを理解する
  • Volatilityのようなツールを使って、メモリの中から攻撃の痕跡を探し出す方法について学びます。
  • WindowsおよびLinuxオペレーティングシステムにおける構造化および非構造化メモリ分析について理解する。
  • メモリフォレンジックが最新のインシデントレスポンス調査にどのように適合し、迅速化されるかを理解します。
  • メモリーフォレンジックを数千台のマシンに一度に拡張する方法を学びます。
  • 高度な攻撃者がどのように最新の検出メカニズムを回避しようとするのかを学びます。
  • 最先端のメモリ解析のための独自のツールを作成する方法を学びます。

 メモリフォレンジックは、インシデントレスポンス調査を成功させるために不可欠な要素です。昨年、インシデントレスポンスの手順は、一度に1台のコンピュータ画像を調査することから、一度に数十万台のマシンを調査することに発展しました。どの調査でも、最初のうちは攻撃者の方が先行しています。インシデントレスポンス担当者は、攻撃者の前に素早く出て、攻撃者をネットワークから追い出す方法を見つける必要があります。ハードディスクのアーティファクトに基づく調査を多数のエンドポイントに拡大することについては、多くの光が当てられてきましたが、メモリ・フォレンジックの部分は、古典的なフォレンジックではしばらく無視されてきました。しかし、多くの攻撃が、より古典的な方法よりもメモリを調べることで発見される可能性が高いため、この状況は急速に変化しています。メモリーフォレンジックは、サイバー捜査の多くの分野と結びついています。マルウェア解析によるユーザーアーティファクトに焦点を当てた従来の法執行機関の調査から、大規模なハンティングまで、メモリーフォレンジックは、多くのチームにとってまだ未知の領域であるいくつかのアプリケーションを持っています。FOR532 Enterprise Memory Forensics In-Depth クラスは、このような状況を変え、インシデントレスポンス、脅威の探索、マルウェア解析を大幅にスピードアップさせることを目的としています。
 メモリフォレンジックを始めるための大きなステップは、メモリは時に複雑であることを理解することです。しかし、一言で言えば、メモリを分析するということは、特定の位置のバイトが何を意味するかを知ることです。言い換えれば、メモリのストリートマップをうまく読み解くことができれば、より多くのことを得ることができるのです。そのため、ここではメモリの仕組みを理解することに時間をかけます。記憶について明確に理解することで、さまざまな提示ツールがどのように機能し、どのような利点と限界があるのかを理解することができるようになります。
メモリーフォレンジックでは、「道具を持つ愚か者は、やはり愚か者である」ということわざが、古典的なフォレンジックよりもさらに重要である。メモリは非常に動的なデータセットであるため、簡単に誤解を招く可能性があり、実際の捜査では偽陰性につながったり、すぐにウサギの穴に落とされたりする可能性があります。そのため、さまざまなツールがどのように機能するかを理解することが重要です。調査に必要なすべての側面が、すでにツールでカバーされているわけではありません。また、必要なものを理解し、簡単な手段でデータを手に入れる方法を理解することも、この授業のもう一つの側面です。
最後に、1台のマシンでメモリを理解したら、今度はより多くのマシンに調査をスケールアップすることです。構造化された分析だけでなく、非構造化された分析との両方が重要です。私たちは、メモリーフォレンジックを独自の方法で拡張するために、最先端のツールを使用します。
 ラボで活用するデジタル証拠は、著者がキャリアの中で遭遇した実際のケースに似せて作られています。多くの異なるラボで、かなりの時間、証拠に取り組むことになります。攻撃者がどのような痕跡を残すかを理解することは重要であるため、時折、立場を変えて、後で分析するシステムを攻撃するよう求められることもあります。このようなアプローチにより、インシデントレスポンス担当者は、現代のインシデントレスポンス分析について360度の視野を持つことができます。
 4日目の後半は、スコアボード形式のキャプチャー・ザ・フラッグで、新しく得た知識を実践していただきます。実際のケースをもとに構築された新しいエビデンスを提示され、正解した問題に対して得点を獲得します。メモリーフォレンジックの経験が浅くても、証拠品の中から興味深い痕跡を見つけることができるでしょう。
このクラスの主な目的は、メモリーフォレンジックが一見複雑に見えるほどではないことを実証することです。この授業では、時間やリソースを節約し、従来のIR戦術では得られなかった結果を得ることで、捜査に大きな価値をもたらすテクニックやツールを紹介します。今すぐメモリ・フォレンジックをツールボックスに追加して、規模が大きくなっても、より速く、より効率的に悪と戦ってください。

本講座で取り扱うトピック

  • メモリーフォレンジックを調査ワークフローに統合する
  • Linux、Windows、MacOSの単一マシンでメモリーを取得する。
  • 多数のマシンから興味深いメモリ部分を取得する
  • メモリーの仕組みについて理解する
  • 主要なメモリ構造の特定
  • volshellを使用してメモリを簡単にウォークスルーし、攻撃の痕跡をさらに特定し、マルウェアがどのように隠れるかをより深く理解します。
  • 標準化されたプロセスでマルウェアを検出
  • マルウェアの機能および構成を明らかにします。
  • どのような攻撃者の行動が、メモリ内のどのような痕跡につながるかを理解します。
  • DKOM(カーネルオブジェクトの直接操作)の理解
  • 攻撃者がEDRやその他の検出機構を打ち負かすために適用する高度な検出対策について理解する
  • 調査に必要なメモリアーティファクトの抽出
  • システムで何が起こったかを示すユーザーアーティファクトを抽出し、理解する。
  • 流出した認証情報を特定することで、ランサムウェアのアクターに対抗する
  • windbgを使用して単一プロセスのメモリダンプを分析する
  • MemProcFSとvolatilityを使用して、メモリイメージを分析します。
  • マルウェアの存在を隠したり、調査を困難にするために、マルウェアの作者がどのようなオプションを持っているかを理解する。
  • 構造化された方法と非構造化された方法でメモリーを分析する
  • チームアプローチでメモリを解析する(集中解析サーバーを使用する)
  • 現在のツールのギャップを埋めるための独自のツールを作成する
  • 独自の揮発性プラグインを作成する
  • メモリーフォレンジックを数千台のマシンに拡張する
  • メモリーフォレンジックの一部を自動化する
  • 発生頻度分析(スタッキング)を活用し、詳しく調べる必要のあるマシンを特定する。

コース受講にあたっての前提条件

  • FOR532は、大規模なメモリフォレンジックの適用による高度な持続的脅威の検出と対応に焦点を当てた、エンタープライズ向けメモリフォレンジックの上級コースです。
  • 本コースでは、インシデントレスポンス、Windowsデジタルフォレンジック、ハッカーテクニックの導入や基礎は扱いません。
  • 次のSANSコースのいずれかを履修していることを推奨します: FOR500、FOR508、または同等のトレーニングを受けた方。

コース開発者より

"私のインシデントレスポンスのキャリアにおいて、メモリーフォレンジックは、困難な調査における多くのブレークスルーを保証しました。今日の検知・予防スタックでは、悪を検知するためにメモリ観測がよく使われています。その一方で、多くのインシデントレスポンス・チームは、メモリ・フォレンジックを1台のマシンでしか使用しないことがあります。そのため、調査をスピードアップするための多くの機会を逃しています。
つい最近も、EDRが警告を発したマシンをアナリストがリステージしたケースに出くわしました。主要なEDRを使用した古典的なインシデントレスポンス調査では、有益な結果を得ることはできませんでした。2ヶ月後、EDRは同じ警告を発しましたが、今度は複数のマシンで警告を発しました。私は、疑わしいプロセスのメモリイメージを取得することにしました。このダンプを単純に文字列解析したところ、数分以内にマルウェアの種類が判明しました。
この授業では、メモリ・フォレンジックがインシデントレスポンス調査の不可欠な部分であることを示したいと思います。しかし、この授業を受けると、メモリを簡単に操作できるようになり、調査のニーズに合ったボラティリティプラグインを自分で作れるようになります。
また、大規模な調査には、同じ証拠を共同で分析する方法など、非技術的な要件がつきものです。その部分もカバーするつもりです。
攻撃者がメモリに完全に隠れることはほぼ不可能であるという事実を活用して、悪を根絶やしにしよう。" - Mathias Fuchs

講義内容

  • DAY1
  • DAY2
  • DAY3
  • DAY4

Overview

多くのインシデントレスポンダーにとって、メモリの内部構造はまだ未知の領域である。しかし、多くの事件は、記憶を調べることによって、より早く解決することができます。
メモリーフォレンジックを成功させるための最初のステップは、メモリーの仕組みを理解することです。様々なオペレーティングシステムがある中で、メモリの存在方法は多くの人が思っている以上に似ているのです。
1日目は、メモリの内部構造について調べます。そして、さまざまなオペレーティングシステム(WindowsとLinux、64ビットと32ビット)からメモリーを抽出するさまざまな方法を探っていきます。これには、仮想マシンやクラウドワークロードをサポートする技術も含まれます。
メモリを扱うために、ラボではvolatility 2とvolatility 3を活用します。これらのバージョンには違いがあり、どちらを使うのがベストなのかが明確になります。次に、volshellを使用してメモリオブジェクトを深く掘り下げ、メモリオブジェクトの再参照が見た目ほど複雑でないことを示します。
主なメモリオブジェクトとフォレンジック調査での使用方法を理解したら、メモリ管理について調べ、それが調査にどのような影響を与えるかを説明します。
最後に、メモリ内のマルウェアを迅速に特定するための5つのステップ・プロセスに取り組みます。独自のプロセスとして実行されるマルウェアと、他のプロセスの領域で実行されるマルウェアコードを区別します。

演習

  • SIFTワークステーションのオリエンテーション
  • メモリ抽出 (Windows & Linux)
  • Volshellの理解 メモリレイアウトの理解
  • マルウェアの発見
  • 隠れたマルウェアを発見する(ネットワーク)

トピックス

  • メモリの基礎知識
    • メモリの役割とは
    • メモリフォレンジックにおけるクイックウィン
    • カーネル・メモリとプロセス・メモリの比較
    • リブート時に生き残るメモリのアーティファクトは何か
    • メモリーフォレンジックの歴史
    • メモリにおけるボラティリティの順序
    • メモリ取得の課題
    • メモリ取得の実際
    • ターゲットとなるメモリの取得
  • 解析ツールの紹介
    • MemProcFS
    • MemProcFSアナライザー
    • ボラティリティ
  • メモリ構造の理解
    • バイトオーダーを理解する
    • メモリオブジェクトの基本
    • メモリフォレンジックとデバッギング
    • 主要なメモリオブジェクト
    • オーバーレイ
    • メモリ上の2重リンクリスト
    • オブジェクトヘッダー
    • VAD(バッド
  • メモリ管理
    • ページレイアウトとアドレッシング
    • 仮想メモリ
    • プーリング
    • メモリスクランブル
  • マルウェアの発見
    • 予備的な手順
    • 5つのステップを理解する
    • 隠れたプロセスを見つける
    • 6つのプロセス要因
    • ネットワーク・オブジェクト・ベースのマルウェア検出

Overview

侵入時にメモリ解析を行うことは、時として不正行為のように感じられることがあります。アクティブなマルウェアを見つけることは、これほど簡単なことではないはずです。
マルウェアの作者は、マルウェアをうまく隠すために多くの時間を費やしています。しかし、マルウェアには1つの大きな欠点があります。マルウェアは隠れることはできても、実行しなければならないのです。つまり、悪意のあるコードは、最終的に平然とCPUにぶつかる必要があるのです。よくできたマルウェアであっても、メモリ上では最も脆弱なのです。2日目からは、正規のプロセスのメモリ空間で実行されたり、カーネルと直接やりとりしたりする、うまく隠れたマルウェアに焦点を当てます。Direct Kernel Object Manipulation (DKOM)を使ってプロセスリストを変更し、マルウェアを手動で模倣する機会を得ます。これにより、隠蔽技術がいかに単純なものであるか、また、オペレーティング・システムの内部構造は一枚岩ではなく、変更することができないものであることをよりよく理解することができます。
また、実行中のオペレーティング・システムのライブ・メモリ解析や改ざんをサポートする、マイクロソフト社の無料ツールであるwindbgについても見ていきます。ネットワーク経由でリモートで使用することも可能です。
この日は、攻撃のストーリーを説明するためのメモリベースのアーティファクトに焦点を当てます。多くの場合、攻撃者はアクセスしたすべてのエンドポイントにマルウェアをインストールするわけではありません。その代わりに、リモートデスクトップやpsexecのような正規のツールを使って、エンドポイントにアクセスするのです。私たち防御者は、攻撃者がこれらのシステムで何をしたのかを理解するために、常に警戒を怠らないようにしなければなりません。メモリがあれば、彼らの行動を素早く把握することができます。
最後に、IT資産を犯罪行為に悪用するのは、そのマシンの正規のユーザーであることもあります。メモリには、ユーザーがコンピュータ上で直近に何をしたかを調査員が把握できるようにするためのアーティファクトがいくつか存在します。暗号化キーの抽出や、Facebookのチャットメッセージも含まれます。これは、内部調査や犯罪捜査にとって貴重なものとなります。また、対応する揮発性プラグインがどのように機能するかに焦点を当てますので、授業の後半には自分で書けるようになるでしょう。

演習

  • メモリインジェクション
  • フック
  • マニュアル DKOM
  • WinDBG
  • メモリアーティファクトの抽出

トピックス

  • マルウェアの発見 - インジェクション
    • メモリインジェクションの仕組み
    • インポートアドレステーブル(IAT)
    • ロードオーダーハイジャック
    • サイドローディング
    • プロセスホロイング
    • リフレクトローディング
    • アトムボミング
    • MemProcFSインジェクションの検出
  • マルウェアの発見 - フック
    • フックとは
    • フックの書き方(簡易版)
    • SSDTフック
    • IRPフック
    • IDTフック
    • IATフック
    • フックを解析するためのVolatilityプラグイン
  • DKOM(Direct Kernel Object Manipulation)
    • DKOMとは
    • ユーザーランドとカーネルの比較
    • マルウェアにおけるDKOM
    • 頻繁に変更される構造
    • DKOMへの対策
    • ユーザーランド オブジェクト操作
  • WinDBG
    • Windbgの基本的な使い方
    • マルウェアの特定と理解のためのWindbgの使用
    • Windbgの制限事項
  • アーティファクトの抽出
    • アーティファクトを処理する
    • 抽出の戦略
    • プロセス抽出の限界
    • ドライバ
  • ユーザーアーティファクト
    • ユーザーアーティファクトの種類(Red Poster)
    • レジストリハイブのメモリ内とハードディスク内の比較
    • EDRの限界
    • ケースサンプル

Overview

多くのレスポンダーは、メモリフォレンジックはシングルホストの調査のためにあるものだと考えています。これ以上の間違いはないでしょう。
このコースでは、メモリフォレンジックのスケーリングに焦点を当てます。現在のツールは、インシデントレスポンダーがコアなメモリフォレンジック技術を一度に数千台のマシンに拡張することを可能にします。これは、攻撃者の生存能力を劇的に低下させます。FOR508とFOR608のクラスでも使用しているインシデントレスポンスのスイスアーミーナイフであるvelociraptorというツールのメモリ機能を紹介し、大規模なリポンのデモを行います。現代のインシデントレスポンスには、多くの課題があります。そのうちの1つがリソース管理です。また、メモリフォレンジックが調査においてどのような場合に正しいアプローチとなるのか、IRプロセスにどのように組み込めば効率的なのかについても解説していきます。
このため、メモリーフォレンジックの自動化についても掘り下げます。同じことを2回以上行う場合は、自動化することで時間を短縮することを考えるべきです。また、大規模な対応には、コラボレーションとナレッジトランスファーが重要なポイントになります。それをメモリフォレンジックにおいてどのように確立していくかに焦点を当てます。
企業ネットワークがWindowsだけということはほとんどないので、Linuxのメモリフォレンジックについても説明します。攻撃者が外部に面したマシンやアプライアンスを経由してネットワークに侵入することが多いため、特に重要なポイントです。メモリは、実際に何が起こっているのかを特定するための迅速な一撃になるかもしれません。
構造化された分析よりも、非構造化されたメモリ分析を活用する方が、より速く、より良い結果が得られることもあります。本セミナーでは、非構造化解析技術をローカルおよび大規模に適用するための主要な技術に焦点を当てます。

演習

  • DWARFと/proc
  • メモリーフォレンジックのためのVelociraptorの構成
  • 独自のvelociraptorのアーティファクトを書く
  • ノードレッドの自動化
  • 非構造化メモリの解析
トピックス
  • Linuxメモリフォレンジック
    • Linuxカーネル
    • Linuxのシンボル
    • DWARF
    • ファイルシステム「/proc
  • メモリフォレンジックの規模拡大
    • 可能な解決策
    • 企業のIR戦術に組み込む
    • リモートメモリ取得
    • ヴェロキラプトル
    • IRにおけるスケーリング技術
    • ヴェロキラプトルのアーティファクト
  • 自動化された処理
    • MemProcFSの自動化に関する考察
    • MemProcFSアナライザー
    • 自動化のための要件
    • IR自動化のためのNode-Red
  • 共同調査
    • IRにおけるリソース管理
    • Jupyter Notebooks
    • オロチ
  • 非構造化メモリの分析とは
    • 構造化分析と非構造化分析
    • ツールやテクニック
    • 大規模な非構造化解析

Overview

メモリーフォレンジックは、最先端の分野です。つまり、まだ多くの可能性が追求されていないのです。そのため、現在のメモリフォレンジックの境界をさらに押し広げることができるようにすることは、理にかなっています。
今日の企業インフラは、コンテナ化に大きく依存しています。その代表格がDockerです。このセクションでは、dockerのメモリフォレンジックに挑戦してみます。攻撃者がどのようにdockerコンテナにアクセスするのかを身をもって体験し、その後、自分で侵害を調査することになります。
以前はVolatilityがメモリフォレンジックツールとしてナンバーワンでした。volatility 3では、volatility 2にあったモジュールのサポートが不足しています。さらに、volatility 3では、ライブメモリ解析の機能が失われたため、大規模なライブ調査での使用が難しくなっています。ライブフォレンジック機能の欠如については何もできませんが、volatility 3のプラグインを書くことは非常に簡単です。私たちは、psxviewプラグインの独自バージョンを作成しました。
メモリは短命である」というのはよく聞く話です。しかし、これは真実ではありません。まず第一に、サーバーは長い間稼働し続け、それでもスイッチを切ることはほとんどなく、再起動されます。第二に、ほとんどの人はマシンを完全にシャットダウンしないため、メモリのアーティファクトが数多く保存される。最後に、ハードディスクに不定期に保存されるメモリがいくつかあります。これらは、重要な調査の成否を分けるかもしれません。
ページファイル、ハイバネーションファイル、クラッシュダンプを調査します。
最後に、スコアボード形式のキャップストーンで、自分の知識を試すことができます。

演習問題

  • Docker メモリフォレンジック
  • 独自の揮発性プラグインを書く
  • キャップストーン

トピックス

  • Dockerのメモリフォレンジック
    • Dockerの基礎知識
    • 便利なドッカーコマンド
    • コンテナプロセスの検索と抽出 メモリ
    • エンタープライズセットアップにおけるDocker
  • カスタムVolatilityプラグイン
    • volatility 3でプラグインはどのように機能するのか
    • レイヤー
    • 私たちのプラグインのアイデア
    • ページファイル&ハイバネーション
  • ページファイルと課題
    • モダンOSのハイバネーション
    • クラッシュダンプ
  • キャップストーン


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