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

SECURITY 573

Automating Information Security with Python

Blue Team Operations

English
日程

2022年8月29日(月)~9月3日(土)

期間
6日間
講義時間

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

受講スタイル
Live Online
会場

オンライン

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

960,000円(税込 1,056,000円)

申込締切日
2022年8月19日(金)
オプション
  • GIAC試験  125,000円(税込み 137,500円)
  • OnDemand  115,000円(税込み 126,500円)
  • NetWars Continuous  200,000円(税込み 220,000円)

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

※コース本体のお申し込み後から講義開始までの間に、GIAC試験オプションを追加される場合は、事務手数料10,000円(税込11,000円)をいただきます。

※講義開始後のGIAC試験のお申込みは、こちらのページ(英語)をご参照のうえ、GIACへ直接お申し込みください。

受講に必要なPC環境

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

SEC573 PC設定詳細

重要:以下の手順に従って設定されたPCを各自用意してください。
講義の全てのコンテンツに参加するためには、適切に設定されたノートPCが必要です。この指示に従わないと、このコースの演習に参加することができず、満足のいく授業を受けることができない可能性が高いです。そのため、以下の条件をすべて満たすシステムを用意することを強くお勧めします。また、利用するノートPCには個人情報や企業の情報を含まない、安全なものである必要があります。

システムのハードウェア要件

CPU

  • 32ビットまたは64ビットに対応した、2.0GHz以上のCPU

USB

  • ExFatフォーマットを読み込み可能なUSBポート

RAM

  • 8GB 以上

ハードドライブの空き容量

  • 本コースでは、15GBを超えるゲストLinuxシステムのVMwareイメージファイルを使用します。そのため、WindowsマシンのNTFSなど、15GBを超えるファイルの読み書きができるファイルシステムが必要です。

オペレーティングシステム

  • Windows 10 (Professional), Windows 8.1 (Professional), Windows 8 (Professional), Windows 7 (Professional, Enterprise, or Ultimate), または Windows Vista (Business, Enterprise, or Ultimate) を実システムまたは仮想マシンでお持ちいただく必要があります。Windowsコンピュータの管理者権限と、そのコンピュータにPythonを含む様々なソフトウェアパッケージをインストールする権限が必要です。

重要な注意:いくつかの演習では、アンチウイルスツールを一時的に無効にする必要があります。ほとんどのアンチウィルスツールは、関連するサービスやプロセスが終了しても、まだ機能するため、アンチウィルスサービスやプロセスを終了させることを計画しないでください。多くの企業で管理されているクライアントでは、アンチウィルスツールを無効にするために、管理者アカウントのパスワードとは異なるパスワードが必要になる場合があります。アンチウィルスツールの管理者パスワードをお持ちください。

企業向け VPN クライアントのアンインストール

  • 企業向け VPN クライアントは、コース参加に必要なネットワーク設定に干渉する可能性があります。システムに企業向けVPNクライアントがインストールされている場合、コースの演習のためにアンインストールする必要がある場合があります。

追加のソフトウェア要件

  • VMware Workstation 8以降か、最新のVMware Playerのいずれかを授業前にダウンロードし、インストールしてください。ライセンス版をお持ちでない方は、VMware から 30 日間の無料トライアル版をダウンロードすることができます。VMwareのウェブサイトでトライアルに登録すると、期間限定のシリアル番号が送られてきます。

コース概要

Pythonは、セキュリティ専門家が行う作業を迅速かつ容易に自動化できるように設計された、シンプルでユーザーフレンドリーな言語です。コーディングが初めての方でも、何年も前からコーディングをしている方でも、SANS SEC573: Automating Information Security with Pythonは、あなたの仕事を容易にし、仕事をより効率的にするプログラムを作成することができるようになります。このコースは、プログラミングの経験や知識がないことを前提に、初歩的な内容からスタートします。このコースは、プログラミングの経験や知識がないことを前提に、Pythonの基本をすべてカバーします。既にエッセンスを知っている方にはpyWarsラボ環境が用意されており、これによって上級開発者がより高度なコース教材に素早く移行することを可能にします。

侵入テスト担当者、フォレンジック・アナリスト、ネットワーク防御担当者、セキュリティ管理者、インシデント対応担当者など、すべてのセキュリティ専門家に共通するのは、「変化」です。変化は不変です。技術、脅威、ツールは常に進化しています。もし私たちがそれに合わせて進化しないなら、私たちは組織がますます必要とする重要な防御を提供できなくなるでしょう。

例えば、あなたが選んだオペレーティングシステムには、興味深いフォレンジック資料を作成する新機能があり、それにアクセスするツールさえあれば、あなたの調査にとって非常に有益なものになるでしょう。新しい機能やフォレンジック・アーティファクトには、そのような便利なツールはまだリリースされていないことがよくあります。証拠なしで調査を進めるか、調査が迷宮入りする前に誰かがツールを作ってくれることを祈るしかないのでしょうか...いいえ、我々には自分でツールを書くという選択肢も残されています。

他にも例えば、とある攻撃者が数ヶ月前に防御を迂回してネットワークを占拠していたとします。もし、既存のツールで攻撃を発見することができれば、このような状況には陥っていないはずです。機密データが流出し、攻撃者を発見し駆除するための時間のかかる手作業は、コストと組織に大きな損害を与えています。こんな時にも、もしあなたにスキルがあれば、答えは簡単です。防御を自動化するツールを書けばいいのです。

もしあなたが侵入テスト担当者であるなら、金銭的な対価を得て模倣される脅威と同じくらい速く進化する必要があります。既製品のツールやエクスプロイトでは不十分な場合、どうすればいいのでしょうか。もしあなたが優秀なら、自分でツールを作成することになるでしょう。

SEC573は、独自のツールを微調整、カスタマイズ、あるいは完全に開発するために必要なスキルを習得できるよう設計されています。SEC573は、独自のツールを作成し、今日の情報セキュリティ専門家の日常業務をより自動化し、より短時間でより大きな価値を達成できるようにするための道筋を提供するものです。セキュリティに真剣に取り組んでいる企業は、何度も何度も、熟練したツール作成者の必要性を強調しています。問題を理解し、攻撃または防御するためのプロトタイプコードを迅速に開発できる人材は、非常に需要があります。Pythonを徹底的に学び、武器として活用できるようになりましょう。

このコースで学べること

  • Pythonを活用してルーチンワークを迅速かつ効率的に実行する
  • ファイル操作、正規表現、解析モジュールを使用してログ解析やパケット解析を自動化し、攻撃を発見する
  • バイナリデータを解析し、新しいアーティファクトを抽出するフォレンジックツールを開発する
  • データベースとWindowsレジストリからデータを読み取る
  • Webサイトと連動して情報を収集する
  • UDPとTCPのクライアントとサーバアプリケーションを開発する
  • システムプロセスを自動化し、その出力を処理する

前提条件

このコースでは、プログラミング言語やスクリプト言語の基本的な理解があることが強く推奨されますが、必須ではありません。SEC573は、Pythonプログラミングの最も基本的な基礎から始まります。このコースに参加する前に理解しておかなければならないプログラミングやPythonの側面はありません。ラボ環境は自分のペースで進められるので、コーディングの経験がある方はそうでない方よりも早く進めることができます。ライブコースやオンデマンドコースの終了後、コースブックにあるラボを完了することができる仮想マシンが提供されます。

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

GIAC Python Coder (GPYC) 認定は、コアプログラミングの概念の理解と、Pythonプログラミング言語を使用して動作するコードを記述および分析する実務能力を検証するものです。GPYC認定者は、一般的なPythonライブラリ、カスタムツールの作成、システムやネットワークに関する情報の収集、Webサイトやデータベースとのやり取り、テストの自動化に関する知識を有していることを実証しています。

  • Pythonの基本:変数と計算、文字列と関数、複合文
  • データ構造とプログラミングの概念、デバッグ、システム引数、argparser
  • ペンテスト用Pythonアプリケーションの開発:バックドアとSQLインジェクション

コース開発者より

「スクリプトの優れたスキルは、情報セキュリティのあらゆる側面に携わる専門家にとって不可欠です。独自のアプリケーションを開発する方法を理解することは、タスクを自動化し、より少ないリソースで、より多くのことを、より短時間で行うことができることを意味します。SEC573は、ネットワーク防御者、フォレンジック検査官、侵入テスト担当者など、基本的なコーディングスキルを適用して仕事を効率的に行う方法を学びたいセキュリティ専門家のために設計されています。このコースは、この非常に求められているスキルを学ぶことで、あなたのキャリアを次のレベルに引き上げるのに役立ちます。このコースでは、ネットワーク、Webサイト、データベース、ファイルシステムとのやり取りなど、セキュリティ専門家にとって最も重要なスキルに重点を置いています。これらの必須スキルをカバーしながら、職場ですぐに使える実用的なアプリケーションを構築していきます」
-- Mark Baggett

シラバス

  • Day1
  • Day2
  • Day3
  • Day4
  • Day5
  • Day6

Essentials Workshop with pyWars

概要

このコースはPythonpyWars Capture-the-Flagチャレンジの簡単な紹介から始まります。pyWarsのラボ環境にて、自分のペースで学習できるようなステージを用意します。コースには100以上のラボがあり、人生を変えるようなスキルを身につけるための実践的なラボには事欠きません。上級者はPythonを使ったボーナス課題に挑戦し、プログラミング初心者はPythonのエッセンスを一から学びます。


トピック

  • 構文
  • 変数
  • 数学演算子
  • 文字列
  • 関数
  • 制御文
  • モジュール

Essentials Workshop with MORE pyWars

概要

PowerPointのスライドを眺めていても、プログラミングは決して身につきません。このセクションでは、コース開始時に確立された実習中心のアプローチを継続します。データ構造とより詳細なプログラミングの概念について説明します。次に、ライブラリの競合を解決し、環境を整理するために、Python仮想環境を効果的に使用する方法について説明します。次に、MicrosoftVisual Studioのコードを使用して、プログラムを効果的にデバッグする方法を学びます。より良いPythonプログラマーになるための貴重なヒントやトリックをお見せします。最後に、あなたのコードと依存ライブラリを Python2 から Python3 にアップグレードする際に遭遇する多くの落とし穴について説明します。

トピック

  • リスト
  • ループ
  • タプル
  • ディクショナリ
  • Python仮想環境
  • Visual Studio Codeでのデバッグ
  • トリックとショートカット
  • Python2やPython3からのアップグレード

Defensive Python

概要

このセクションでは、1日の調査対象のログが非常に多いネットワーク・ディフェンダーを想定して学習します。攻撃者はネットワークに侵入しており、我々はログやパケットキャプチャを解析して攻撃者を見つけなければなりません。このセミナーでは、ネットワークログとパケットを分析し、攻撃者がどこからやってきて、何をしているかを発見する方法について説明します。継続的な監視を強化し、攻撃者がデータを流出させる前に無力化するためのスクリプトを構築します。フォレンジックやオフェンシブ・セキュリティの専門家も、ファイルの読み書きやデータの解析などのスキルは不可欠なものであるため、習得しない手はありません。

トピック

  • ファイル操作
  • Pythonセット
  • 正規表現
  • ログ解析
  • データ分析ツールおよびテクニック
  • ロングテール/ショートテール解析
  • ジオロケーション取得
  • パケット解析
  • パケット再集合
  • ペイロード抽出

Forensics Python

概要

フォレンジックをテーマにしたこのセクションでは、フォレンジック・アナリストの役割を想定し、有効なツールが存在しない状態でアーティファクトから証拠を取り出さなければならない状況を想定しています。フォレンジックを専門としない人でも、このセクションで扱うスキルは、あらゆるセキュリティ業務の基礎となるものであることに気づくでしょう。ここでは、バイナリ・イメージを切り分け、その中から適切なデータを見つけ、それらのデータを抽出するために必要なプロセスについて説明します。アーティファクトを分離した後は、さらに分析が必要です。この講義では、画像ファイルからメタデータを抽出する方法を学びます。次に、SQLデータベースなど他の場所にあるアーティファクトを見つけ、Webページと対話するための技術について説明します。

トピック

  • ディスクからの画像取得
  • メモリとネットワーク
  • ファイルカービング
  • STRUCTモジュール
  • ネットワークソケットとプロトコル
  • イメージフォレンジックとPIL
  • SQLクエリ
  • RequestsモジュールによるWeb通信
  • オンラインWebサイトAPIの効果的な使用

Offensive Python

概要

このセクションでは、通常の手口に失敗した侵入テスト担当者を想定して進めます。足場を固めようとする彼らの試みは、最新の防御によって阻止されてしまいます。これらの防御を迂回するために、リモートシステムにアクセスするためのエージェントを構築します。同様のエージェントは、インシデントレスポンスやシステム管理に使用することができます。テーマはオフェンシブですが、中核となるスキル(システムプロセスとの対話、エラーやTCPネットワーク通信の処理)は、すべての分野に役立つものです。

トピック

  • ネットワークソケットの操作
  • 例外処理
  • プロセス実行
  • ブロッキングソケットとノンブロッキングソケット
  • Selectモジュールによる非同期処理
  • Pythonオブジェクト
  • 引数のパッキングとアンパッキング

Capture-the-Flag Challenge

概要

この最終セクションでは、他の受講生とチームを組み、習得したスキルを一連のプログラミング課題で活用します。参加者は、一連の課題の中で、新しいスキルやコースを通じて開発したコードを行使します。プログラミングの課題を解決し、脆弱なシステムを悪用し、パケットを分析し、ログを解析し、リモートシステムでのコード実行を自動化することができます。自分の力を試し、自分の力を証明しましょう!

なお、OnDemandの受講者は、この演習を個人単位で楽しむことができます。いつものように、SANSSMEOnDemandの受講者一人ひとりの体験をサポートします。

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