SECURITY 599 | ||||||||||||||||||||||||||||||||
Defeating Advanced Adversaries - Purple Team Tactics & Kill Chain Defenses |
||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
受講に必要なPC環境
演習で使用するノートPCをご持参下さい。受講に必要なPC環境についてご確認ください。
SEC599 PC設定詳細
重要!以下の説明をお読みになった上で、ご自身のノートPCをお持ちください。 受講に必要なPC環境についてご確認ください。
本コースはSANSオンデマンドプラットフォームを活用するため、Webブラウザが必須となります。
演習を円滑に進めていただくため、受講生の方はシステムを事前に適切な状態にしていただく必要があります。コースが始まる前までに、以下の説明に目を通して設定変更などを済ませてからお持ちください。
ノートPCの必須ハードウェア要件
OS:最新のパッチが適用された以下のOS。
- Windows 7、8.1または10
- MacOS Mavericks、Yosemite、El CapitanまたはSierra
- Linux ディストリビューションは問いませんが環境により動作しない場合がございます
ご自身の環境においてトラブルシュートを行う場合があるため、管理者権限の付与が必要です。
ブラウザ:最新のバッチが適用された以下のブラウザ。
- Microsoft Edge
- Google Chrome
- Mozilla Firefox
ハードウェア:
- 32ビットまたは64ビットのCPUで動作周波数が2.0GHz以上のもの(64ビット対応推奨)
- 8GB以上のメモリ(最低でも4GB以上が必要で、それ以上の実装メモリを推奨します)
- 無線ネットワーク接続 802.11B/G/N/ACのいずれかで接続できること
- 10GB以上の空きディスク領域
セキュリティ事故を未然に防ぐため、予めご自身の端末から機微情報は削除してからご参加ください。SANS(NRIセキュアテクノロジーズ)はコース中に受講生の端末で発生したいかなる事故について責任を負いません。
ノートパソコンの設定に関して追加で質問がある場合は、info@sans-japan.jp(NRIセキュアテクノロジーズ)にお問い合わせください。ただし、米国と問合せを行う関係上時間を要する場合がございます。お急ぎの方はlaptop_prep@sans.orgに直接お問い合わせください(英文)。
コース概要
あなたはサイバーセキュリティ機能を実装した仮想組織、「SyncTechLabs」の構築を手助けするために採用されたとしましょう。さて初日に、上司から話しを持ちかけられました。「最近のサイバーセキュリティの傾向報告を見たが、どうやら我々は方向性を失っているようだ。APTやランサムウェア、DoS… どこから手をつければよいか分からないのだよ。」
サイバー脅威は日々その脅威の度合いを高めています。ランサムウェアは組織規模の大小に関係なく影響を与え、国家的犯罪組織はあなたの最重要機密を狙いにきているのです。このコースでは今日の敵がどのような行動をとるかに対して深く理解するとともに、組織として脅威を検知し、対応するために備えるべき防御方法を習得します。
SEC599はレッドチームとブルーチームの両要素を織り交ぜることで最大の効力を発揮するパープルチームのコンセプトを理解することに注力します。防御戦略だけでは脅威に対する備えは不十分です。最新の攻撃戦略にもフォーカスして、Kill Chainストラクチャを用いながらいかに攻撃を検知し効果的に緩和していくのかを習得します。コースでは最初に攻撃手法を詳細に解説し、その後、セキュリティ対策の解説と実装を行う形でパープルチームの原理を理解していきます。
コースの著者であるErik Van BuggenhoutとStephen Sims(共にGIACセキュリティエキスパート)は、ペネトレーションテストとインシデントレスポンスの両方の観点からサイバー攻撃がどのように成功するかについて、誰よりも深い理解と豊富な経験を持っています。彼らがペネトレーションテストのコースを教えている際に、「攻撃手法はわかったけど、どうしたらこのような攻撃を防御できるの?」とよく質問されたことが、このコースの開発のきっかけになっています。20以上のハンズオンラボと最終日に一日かけて実施する「Defend-The-Flag」演習を行うことで、防御スキルが身につくでしょう。受講者自身が守るべき架空組織の環境に浴びせかけられる多種多様な攻撃から自然と環境を防御できるようになります。SEC599では、架空の組織に浴びせかけられる多種多様な攻撃をどのように防御するかという実践的な例を用いながらコースが進んでいきます。
1日目は最近の攻撃手法について、仮想組織「SyncTechLabs」を想定したケーススタディを通じてAPT攻撃のサイクルを分析します。
2日目から5日目ではサイバー攻撃に対する防御、検知、対応方法の効果的なセキュリティ対策の実装について議論しつつ数々のラボを行います。
●レッドチームとブルーチームがどのように協調することで真のパープルチームを編成できるか
●現在の敵がどのように組織の防御体制を突破するか
●Kill Chainを中心にしたセキュリティコントロールの構造
- ELK、OSQuery、Suricataを使用した基本的検知方法の習得
- Cuckooを使用して自身が構築したメールサンドボックスにSuricataを用いてスフィアフィッシングを阻止する手法の習得
- YARAルールを活用したディスクとメモリ上における悪意あるペイロードの検知
- 悪意のあるコードの実行阻止とAppLocker、ソフトウェア制御ポリシー、スクリプトハードニングなどのスクリプト実行管理の実装のための効果的なグループポリシーの構築
- EMETやExploitGuradなどのエクスプロイト緩和テクニックを活用したゼロデイ攻撃の阻止
- UAC、Just-Enough-Adminなどの権限管理ツールを用いて最小の権限を適用し継続するマルウェアを抑止
- OSQueryを用いたパーシステンス型マルウェアの検知
- Credential Guard、Privileged Access Workstation、Protected ProcessesなどのWindowsアクティブディレクトリ環境を用いた攻撃の後半過程の抑止
- SysmonとWindowsイベント監視を活用した攻撃の後半過程の抑止
- ネットワークトラフィック分析を用いたCommand & Control(C&C)の阻止と検知
- MISPを用いた脅威情報の管理と共有および運用
- Lokiを活用したネットワークへの侵入ハント
コースと演習をデザインするにあたり、著者は受講者が学習した内容を業務で実際に「構築」できようにするために多くの時間を費やしました。ですので、コースで紹介されているIDSシステム、webプロキシ、サンドボックス、ダッシュボードなどの様々なテクノロジーは全て即利用可能な仮想マシンとしてコースで提供されるUSBメモリに収録されています。
最終日に実施する「Defend-the-Flagチャレンジ」では高度な敵からあなたのネットワークをセキュアに保つことが求められます。異なる種類の攻撃からシステムを守り抜くことができますか?
敵は決して攻撃の手を緩めることはありません。
本講座受講にあたっての前提
- LinuxとWindows環境でCLI操作経験がある方
- Windowsアクティブディレクトリについての基礎知識がある方
- TCP/IPおよびネットワークを理解している方
受講対象者
- セキュリティアーキテクト
- セキュリティエンジニア
- テクニカルセキュリティマネージャ
- SOCメンバー(アナリスト、エンジニア、管理者)
- ペネトレーションテスター(防御方法に興味がある方)
- IT管理者
- ATP攻撃の詳細について理解し、IT環境においてどのようにインシデントを検知し防御・対応するかに興味がある方
講義内容の一例
SEC599はSANS オンデマンドプラットフォームを活用し、本格的なブラウザでアクセスが可能な20以上のラボを利用することが可能です。各受講生には現実を模したテスト環境や全ての演習が1つのパッケージとして仮想環境で用意されていることから、環境依存による問題が排除されます。また、各受講生の環境はサンドボックス化されており、他の受講生の環境に影響を与えることなく安心して学習することが可能です。
過去10年において、高度ペネトレーションテストやエクスプロイト構築コースの開発や講義を行ってきましたが、あるトレンドに気がつきました。1つのコースで、半数以上の受講生はペネトレーションテスターでもなければゼロデイ攻撃を作成するわけでもありませんでした。実は、そのほとんどは防御側の業務をされていて、攻撃者の手法を学習することで自身の環境の防御に役立てようとする方々でした。そこで私たちは、コース内容の多くの部分を敵やレッドチームテスターが用いるテクニックを打ち砕くコントロールの実装方法に割くことにしたのです。
- Stephen Sims
SEC599は防御に立つ側に対して敵が組織に侵入する方法に対する深い理解をもたらします。このコースがサイバーディフェンスカリキュラムにおけるギャップを埋められることをエキサイティングに思っています。IT専任者にとってこのコースは今日の敵がどのようにIT環境へ侵入してくるのかを理解し、これらの動きは実は防御、検知、さらには対応することが可能であるということを知るのに最適だと考えています。私のモットーは「やって覚える」です。したがって、このコースは非常に多くのハンズオンから構成されてます。期間中、受講生は20以上のラボと演習をこなし、最後の仕上げとして「Defend-the-Flag」に挑んでいただくことで、実践に活かせる知識・スキルを習得します。
- Erik Van Buggenhout
Knowing the Adversary, Knowing Yourself(敵を知り、己を知る)
1日目はパープルチームのコンセプトと概要の把握です。パープルチームとは何なのか、新しくサイバーセキュリティチームを編成しなくてはならないのかなど、レッドチームとブルーチームが互いに有益なフィードバックをループさせ続けることで最大の効果を発揮させる方法について解説します。
また、どのような種類の攻撃が発生するのかを解説し、体系的なアプローチを用いてAPT攻撃サイクルの解説を行います。演習では教材に含まれる仮想組織「SyncTechLabs」に対する侵入を通じて攻撃がどのように動作するのかを理解していきます。
さらに、敵の行動を理解した次のステップは、正反対のブルーチーム側に考え方をスイッチし、防御する側の思考回路で環境を理解し、基本的な検知能力を構築することで自組織の弱点を理解します。
演習
- 様々な攻撃タスクを通じて仮想組織に侵入してもらいます。侵入を体験することにより突破口の設置、攻撃の後半過程、継続的な侵入経路の保持を水面下で行います。
- ネットワーク監視ではSuricateを用い、エンドポイントの可視化にはOSQueryを、統合的なログ保存、パース、インデックスと可視化にはELKを用い、基本的なログ取得のインフラを構築します。
- 現状のセキュリティ対策状況を把握する方法としてNessusを活用します。
トピック
- コースの全体像とラボ環境の設定
- パープルチームの概要解説
- ラボ環境の解説
- 現在の脅威と攻撃の状況
- 今起きていることは何か
- APT攻撃サイクルの解説
- 最近の事例の深読み
- 演習:仮装組織への侵入
- 防御アーキテクチャと環境
- 検知能力の基本
- ELKスタックを使った集中ログリポジトリ
- ネットワークとエンドポイントの可視化に必要不可欠なツール
- 演習:Suricate、OSQuery、ELKを使用した基本的なログ収集
- 準備:己を知る
- 自環境の理解
- 演習:Nessusを使った脆弱性スキャン
Averting Payload Delivery(ペイロードデリバリーの回避)
2日目は攻撃者が最初にとるアクションについてカバーします。攻撃者は最初のペイロードをどのように送出し、それに対して防御側はどんなアクションを起こすことができるのでしょうか。頻繁に使用されるペイロードを用いてそのデリバリーメカニズムについて理解します。
- スフィアフィッシングを通した配布
- 外部メディアを通じた配布
- ネットワーク(サーバメッセージブロックリレー、レスポンダーなど)を通じた配布
- HTTP、HTTPSを通じた配布
次に同じ環境に対してセキュリティ対策を施した状態でどのように攻撃を検知し防御するかを学習します。技術的な対策だけでなく、セキュリティアウェアネスなどの話題についても触れます。
演習
- ウィンドウズ環境におけるSMB(Server Message Block)リレー攻撃の検知と阻止
- Suricata、Cuckoo、YARAを使用したサンドボックス化
- PfSenseやClamAVを用いたWebプロキシコントロールの導入
- ブラウザを堅牢化するためのADMXテンプレートの使用方法
- ELKを用いたエクスプロイトキットの行動検知
トピック
- エンドユーザにおけるセキュリティに対する理解
- リムーバブルメディアからの配布阻止
- ネットワークからの配布阻止
- ネットワークアクセスコントロールと802.1Xの理解
- VLANを用いた環境のセグメンテーション
- レスポンダーとSMBリレーの理解
- 演習:ウィンドウズ上でのSMBリレー攻撃の検知と阻止
- 電子メールからの配布阻止
- 一般的な電子メールに関するセキュリティ対策
- 演習:Suricatta、Cucko、YARAを用いたサンドボックスの構築
- HTTP(S)からの配布阻止
- Webプロキシのセキュリティ対策
- 演習:PfSenseとClamAVを用いたプロキシコントロールの展開
- Webブラウザのハードニング
- 演習:ADMXを用いたブラウザのハードニング
- 演習:ELKを用いたエクスプロイトキットの検知
Preventing Exploitation(エクスプロイトの防御)
3日目はエクスプロイトをどのように防御するかを解説します。エクスプロイトの戦術について深く理解し、エクスプロイトの試行を阻止し身動きが取れなくなるくらいに効果的なセキュリティコントロールの方法を解説します。
- オペレーティングシステムのハードニング
- ペイロードの実行制御(アプリケーションのホワイトリスト化やスクリプト制御を含む)
- 脅威モデリングとコンパイル時間制御の実装によるスクラッチからのアプリケーションセキュア化
- エクスプロイトに対する緩和テクニックによる脆弱なアプリケーションのセキュア化
演習
- Security Content Automation Protocolを用いたアクティブディレクトリ環境のハードニング
- AppLockerを効果的に展開することで送信されたペイロードの実行を阻止する方法
- スクリプト実行の制御:Powershell、Jscript、VBScriptの実行制限
- Sysmonを用いたペイロードの実行検知
- コンパイル時間の制御を用いたエクスプロイトの緩和
- EMET使用したエクスプロイトの緩和
トピック
- OSハードニング
- テンプレートを利用した効果的なOSのハードニング
- 演習: SCAPを用いたAD環境のハードニング
- ペイロード実行阻止
- ペイロード実行を阻止するためのアプリケーションのホワイトリスト化
- 演習:AppLockerの設定
- 企業におけるスクリプト実行の制御
- 演習: スクリプト実行の制御
- Sysmon活用によるペイロード事項の検知
- 演習: Sysmonを用いたペイロード実行の検知
- アプリケーションのセキュア化
- エクスプロイトの緩和テクニック
- 演習: コンパイル時間の制御を用いたエクスプロイトの緩和
- Exploit Guard、EMETなどを用いたエクスプロイトの緩和テクニック
- 演習: EMETを用いたエクスプロイトの緩和テクニック
Avoiding Installation, Foiling Command and Control,
and Thwarting Lateral Movement
4日目はKill Chainに絞り、しつこい敵の存在をどのように避けるか、Command & Control (C&C)チャンネルの検知方法は何か、攻撃の後半過程の阻止が可能になるのかについて焦点をあてていきます。
- マルウェアの持続性を抑止するための最小権限の原則
- ユーザー環境における持続的マルウェアの検知
- ネットワーク管理によるCommand & Control (C&C)の検知
- 攻撃の後半過程を防止するためのWindows OSのハードニング
- ウィンドウズのイベントログを分析することでの進行中の攻撃の後半過程の検知v
演習
- AutoRunsとOSQueryを用いた持続性マルウェアの検知方法
- Windowsにおける典型的な権限昇格問題とその緩和方法
- Bro (Network Security Monitoringソリューション)を用いたCommand&Control(C&C)チャンネルの検知と、freq.pyを用いたドメイン名とURLのエントロピー分析
- AD環境における攻撃の後半過程を阻止することに注力した必要不可欠なハードニング戦略
- Windowsのイベントログ分析を用いた攻撃の後半過程の検知方法
トピック
- インストールの防止
- 典型的な持続手順
- 演習: AutoRunsとOSQueryを用いた持続性マルウェアの検知
- 最小権限とアクセス制限の原則
- 演習: ローカルWindows環境における権限昇格テクニックの理解
- Command & Controlの包囲
- Command & Controlチャンネルの理解
- SuricataやBroおよびfreq.pyを用いたトラフィック分析
- 演習: Broとfreq.pyを用いたCommand & Controlチャンネルの検知
- 攻撃の後半過程の抑止
- 一般的な攻撃の後半過程戦略の解説
- アクティブディレクトリの構造とそこへの攻撃
- アクティブディレクトリのハードニングとセグメンテーション
- 演習: 攻撃の後半過程を阻止するためのWindows OSのハードニング
- Windowsのイベントログ分析を用いた攻撃の後半過程の検知
- 演習: Windowsのイベントログ分析を用いた攻撃の後半過程の検知
Thwarting Exfiltration, Cyber Deception, and Incident Response
(漏えいの阻止、サイバー・デセプション、インシデントレスポンス)
5日目は、一連の攻撃の最終段階における敵の動きを阻止する以下の点に注力します。
- データ持出しの検知と阻止の方法
- サイバー・デセプションを用いた敵の行動の遅滞と阻止方法
- ATP攻撃サイクルを防御するための脅威情報の活用
- 防御側における効果的なインシデントレスポンス
演習
- データ持出しの発生がどのように発生するのか、Suricata(IDS/IPS)のルールとボリューム検知を用いた検知方法
- 敵の食指が動くハニーポットの設置と攻撃検知・阻止
- OSQueryを用いたデータの収集方法、基礎分析、脅威ハント
- MISPとLokiを用いた脅威情報の収集
トピック
- データの持出し
- 典型的なデータ持出しの戦略
- 演習: Suricataを用いたデータ持出しの検知
- サイバーディセプション戦略
- 敵の欺き方
- 演習: 攻撃したくなるハニーポットの設置
- ネットワークのパトロール
- 能動的脅威ハンティング戦略
- 演習: QSQueryを用いた自環境のハンティング
- 脅威情報の活用
- 脅威情報の定義
- 演習: MISPとLokiを用いた脅威情報
- インシデントレスポンス
- インシデントレスポンスのプロセス
- 演習: Volatilityを用いたマルウェアの抽出
- 演習: YarGenを用いたYARAルールの生成
Advanced Persistent Threat Defender Capstone
(APT攻撃の防御のまとめ)
最終日はチームごとに取組む「Defend-the-Flag」を通じてコースの仕上げに入ります。ここまで講義の中で共有していた最新のサイバーセキュリティコントロールを十分に理解し、習得できるようデザインされた複数のレベルとミッションを遂行することでチームは進歩することになります。
トピック
- セキュリティコントロールの適用
- 偵察
- 武装
- デリバリー
- エクスプロイト
- 設置
- Command & Control(C&C)
- 目的達成に向けた行動