コース概要

1日目

  • ITセキュリティとセキュアコーディング
    • セキュリティの性質
    • ITセキュリティ関連用語
    • リスクの定義
    • ITセキュリティのさまざまな側面
    • さまざまなアプリケーション分野の要件
    • ITセキュリティとセキュアコーディング
    • 脆弱性からボットネット、サイバー犯罪まで
      • セキュリティ上の欠陥の性質
      • 困難の理由
      • 感染したコンピュータから標的型攻撃まで
    • セキュリティ上の欠陥の分類
      • ラントヴェーアの分類法
      • 有害な七王国
      • OWASP 2013年のトップ10
      • OWASP 2003 年から 2013 年のトップ 10 の比較
  • Microsoft® セキュリティ開発ライフサイクル (SDL) の概要
    • 議題
    • アプリケーションが攻撃を受けています...
      • サイバー犯罪の進化
      • 攻撃はアプリケーションに集中している
      • ほとんどの脆弱性は小規模な ISV アプリにあります
    • Microsoft SDL の起源...
      • Microsoft のセキュリティ タイムライン...
      • SDL に従うにはどのアプリが必要ですか?
    • Microsoft セキュリティ開発ライフサイクル (SDL)
      • Microsoft セキュリティ開発ライフサイクル (SDL)
      • SDL 前の要件: セキュリティ トレーニング
      • フェーズ 1: 要件
      • フェーズ 2: 設計
      • フェーズ 3: 実装
      • フェーズ 4: 検証
      • フェーズ 5: リリース – 対応計画
      • フェーズ 5: リリース - 最終セキュリティ レビュー
      • フェーズ 5: リリース – アーカイブ
      • SDL 後の要件: 対応
      • LOB アプリの SDL プロセス ガイダンス
      • Agile 方法論に関する SDL ガイダンス
      • 安全なソフトウェア開発にはプロセスの改善が必要
  • 安全な設計原則
    • 攻撃対象領域
      • 攻撃対象領域の削減
      • 攻撃対象領域 – 例
      • 攻撃対象領域の分析
      • 攻撃対象領域の削減 – 例
    • プライバシー
      • プライバシー
      • アプリケーションの動作と懸念事項を理解する
    • 多層防御
      • SDL の中核原則: 多層防御
      • 多層防御 – 例
    • 最小特権の原則
      • 最低特権 - 例
    • 安全なデフォルト
      • 安全なデフォルト – 例
  • 安全な実装原則
    • 議題
    • Microsoft セキュリティ開発ライフサイクル (SDL)
    • バッファオーバーフローの基本
      • Intel 80x86 プロセッサ – メインレジスタ
      • メモリアドレスのレイアウト
      • x86 上の C/C++ の関数呼び出しメカニズム
      • ローカル変数とスタックフレーム
      • スタックオーバーフロー
        • スタック上のバッファオーバーフロー
        • 演習 – 導入
        • エクササイズBOF入門
        • BOFIntro の演習 – スタック レイアウトを決定する
        • BOFIntro の演習 – 簡単なエクスプロイト
    • 入力の検証
      • 入力検証の概念
      • 整数問題
        • 負の整数の表現
        • 整数オーバーフロー
        • 算術オーバーフロー - 出力を推測してください。
        • IntOverflow の演習
        • Math.Abs(int.MinValue) の値は何ですか?
      • 整数の問題の軽減
        • 整数の問題の軽減
        • 算術オーバーフローの回避 – 加算
        • 算術オーバーフローの回避 - 乗算
        • C#のcheckedキーワードによるオーバーフローの検出
        • 演習 – C# でチェックしたキーワードを使用する
        • C# のオーバーフローによって引き起こされる例外
      • ケーススタディ – .NET での整数オーバーフロー
        • 現実世界の整数オーバーフローの脆弱性
        • 整数オーバーフローの脆弱性の悪用
      • パストラバーサルの脆弱性
        • パストラバーサルの軽減

2日目

  • 安全な実装原則
    • 注射
      • 代表的な SQL インジェクション攻撃手法
      • ブラインドおよび時間ベースの SQL 注射
      • SQL 噴射防止方法
      • コマンドインジェクション
    • 認証の失敗 - パスワード管理
      • 演習 – ハッシュ化されたパスワードの弱点
      • パスワードの管理と保管
      • パスワード保存のための特別な目的のハッシュ アルゴリズム
    • クロスサイト スクリプティング (XSS)
      • クロスサイト スクリプティング (XSS)
      • CSS注射
      • 悪用: 他の HTML タグを介した注入
      • XSS 防止
    • 機能レベルのアクセス制御が欠落している
      • ファイルアップロードのフィルタリング
    • 実用的な暗号学
      • 対称暗号化による機密性の確保
      • 対称暗号化アルゴリズム
      • ブロック暗号 - 動作モード
      • ハッシュまたはメッセージ ダイジェスト
      • ハッシュアルゴリズム
      • メッセージ認証コード (MAC)
      • 対称キーによる整合性と信頼性の提供
      • 公開キー暗号化による機密性の確保
      • 経験則 – 秘密鍵の所有
      • パスワード管理におけるよくある間違い
      • 演習 – ハードコードされたパスワード
      • 結論
  • 安全な検証原則
    • 機能テストとセキュリティテスト
    • セキュリティの脆弱性
    • 優先順位付け
    • SDLC でのセキュリティ テスト
    • テスト計画の手順(リスク分析)
    • スコーピングと情報収集
      • ステークホルダー
      • 資産
      • 攻撃面
      • テスト用のセキュリティ目標
    • 脅威モデリング
      • 脅威モデリング
      • 攻撃者のプロフィール
      • 攻撃ツリーに基づく脅威モデリング
      • 誤用/悪用事例に基づいた脅威モデリング
      • 誤用/悪用ケース – 単純な Web ショップの例
      • 脅威モデリングに対する要素ごとの STRIDE アプローチ – MS SDL
      • セキュリティ目標の特定
      • ダイアグラム – DFD 要素の例
      • データ フロー図 – 例
      • 脅威の列挙 – MS SDL の STRIDE および DFD 要素
      • リスク分析 – 脅威の分類
      • DREAD 脅威/リスク ランキング モデル
    • セキュリティテストの技術とツール
      • 一般的なテストのアプローチ
      • SDLC のさまざまなステップのテクニック
    • コードレビュー
      • ソフトウェアセキュリティのコードレビュー
      • 汚染分析
      • 経験則
    • 静的コード分析
      • 静的コード分析
      • 静的コード分析
      • 演習 – 静的コード分析ツールの使用
    • 実装のテスト
      • 手動実行時検証
      • 手動セキュリティテストと自動セキュリティテスト
      • 侵入テスト
      • ストレステスト
    • ファジング
      • 自動セキュリティテスト - ファジング
      • ファジングの課題
    • Web脆弱性スキャナー
      • 演習 – 脆弱性スキャナーの使用
    • 環境のチェックと強化
      • 共通脆弱性スコアリング システム – CVSS
      • 脆弱性スキャナー
      • 公共データベース
    • ケーススタディ – フォーム認証バイパス
      • NULL バイト終了の脆弱性
      • コード内のフォーム認証バイパスの脆弱性
      • フォーム認証バイパスの悪用
  • 知識源
    • 安全なコーディング ソース – スターター キット
    • 脆弱性データベース
    • MSDN の .NET セキュア コーディング ガイドライン
    • .NET セキュア コーディング チートシート
    • 推奨書籍 – .NET および ASP.NET

 14 時間

参加者の人数



Price per participant

お客様の声 (9)

関連コース

Standard Java Security

14 時間

Java and Web Application Security

21 時間

Advanced Java Security

21 時間

Advanced Java, JEE and Web Application Security

28 時間

.NET, C# and ASP.NET Security Development

14 時間

Comprehensive C# and .NET Application Security

21 時間

Advanced C#, ASP.NET and Web Application Security

21 時間

Web Application Security

14 時間

Security Testing

14 時間

Secure Web Application Development and Testing

21 時間

Secure coding in PHP

21 時間

Combined C/C++, JAVA and Web Application Security

28 時間

Combined JAVA, PHP and Web Application Security

28 時間

Android Security

14 時間

関連カテゴリー