お問い合わせを送信いただきありがとうございます!当社のスタッフがすぐにご連絡いたします。
予約を送信いただきありがとうございます!当社のスタッフがすぐにご連絡いたします。
コース概要
Day 1
ITセキュリティと安全なコーディング
- セキュリティの性質
- ITセキュリティに関連する用語
- リスクの定義
- ITセキュリティの異なる側面
- 異なるアプリケーション領域の要件
- ITセキュリティと安全なコーディング
-
脆弱性からボットネットとサイバー犯罪まで
- セキュリティ欠陥の性質
- 困難な理由
- 感染したコンピュータから標的型攻撃まで
-
セキュリティ欠陥の分類
- Landwehr の分類法
- The Seven Pernicious Kingdoms
- OWASP Top Ten 2013
- OWASP Top Ten 2003 – 2013 の比較
Microsoft® Secure Development Lifecycle (SDL) への導入
- アジェンダ
-
攻撃を受けているアプリケーション...
- サイバー犯罪の進化
- 攻撃はアプリケーションに焦点を当てています
- 多くの脆弱性が小さなISVアプリに存在します
-
Microsoft SDL の起源...
- Microsoft におけるセキュリティの年表...
- SDL を遵守する必要があるアプリは?
-
Microsoft Secure Development Lifecycle (SDL)
- Microsoft Secure Development Lifecycle (SDL)
- SDL 前の要件:セキュリティトレーニング
- 第1フェーズ: 要件
- 第2フェーズ: デザイン
- 第3フェーズ: 実装
- 第4フェーズ: 検証
- 第5フェーズ: リリース – 応答計画
- 第5フェーズ: リリース – 最終セキュリティレビュー
- 第5フェーズ: リリース – アーカイブ
- SDL 後の要件:応答
- LOBアプリケーションのSDLプロセスガイドライン
- 敏捷開発手法のためのSDLガイドライン
- 安全なソフトウェア開発にはプロセス改善が必要です
安全なデザインの原則
-
攻撃面積
- 攻撃面積の削減
- 攻撃面積 – 例
- 攻撃面積分析
- 攻撃面積の削減 – 例
-
プライバシー
- プライバシー
- アプリケーションの動作と懸念点の理解
-
深層防御
- SDL コア原則: 深層防御
- 深層防御 – 例
-
最小特権の原則
- 最小特権 – 例
-
セキュアなデフォルト設定
- セキュアなデフォルト設定 – 例
安全な実装の原則
- アジェンダ
- Microsoft Secure Development Lifecycle (SDL)
-
スタックオーバーフローの基本
- Intel 80x86 プロセッサ – 主要レジスタ
- メモリアドレスレイアウト
- x86 上の C/C++ の関数呼び出しメカニズム
- 局所変数とスタックフレーム
-
スタックオーバーフロー
- スタック上のバッファオーバーフロー
- 演習 – はじめに
- 演習 BOFIntro
- 演習 BOFIntro – スタックレイアウトの決定
- 演習 BOFIntro – 単純なエクスプロイト
-
入力検証
- 入力検証の概念
-
整数問題
- 負の整数の表現
- 整数オーバーフロー
- 算術オーバーフロー – 出力を予測してみよう!
- 演習 IntOverflow
- Math.Abs(int.MinValue) の値は?
-
整数問題の対策
- 整数問題の対策
- 算術オーバーフローの回避 – 加算
- 算術オーバーフローの回避 – 乗算
- C# の checked キーワードでオーバーフローを検出
- 演習 – C# の checked キーワードの使用
- C# でのオーバーフローによる例外の発生
-
.NET における整数オーバーフローのケーススタディ
- 実際の整数オーバーフローバグの脆弱性
- 整数オーバーフローバグの脆弱性を悪用する方法
-
パストラバーサルの脆弱性
- パストラバーサルの対策
Day 2
安全な実装の原則
-
インジェクション
- 典型的な SQL インジェクション攻撃手法
- ブラインドおよび時間ベースの SQL インジェクション
- SQL インジェクションの保護方法
- コマンドインジェクション
-
破れた認証 - パスワード管理
- 演習 – ハッシュ化されたパスワードの脆弱性
- パスワードの管理と保存
- パスワード保存用の特殊なハッシュアルゴリズム
-
クロスサイトスクリプティング (XSS)
- クロスサイトスクリプティング (XSS)
- CSS インジェクション
- 悪用: 他の HTML タグを介したインジェクション
- XSS の防止方法
-
関数レベルのアクセス制御の欠如
- ファイルアップロードのフィルタリング
-
実践的な暗号化
- 対称鍵暗号による機密性の提供
- 対称暗号アルゴリズム
- ブロック暗号 – 操作モード
- ハッシュまたはメッセージダイジェスト
- ハッシュアルゴリズム
- メッセージ認証コード (MAC)
- 対称鍵による整合性と認証の提供
- 公開鍵暗号による機密性の提供
- 指針 – 秘密鍵の所有
- パスワード管理における典型的な間違い
- 演習 – 硬codedされたパスワード
- 結論
安全な検証の原則
- 機能テストとセキュリティテスト
- セキュリティ脆弱性
- 優先順位付け
- SDLCにおけるセキュリティテスト
- テスト計画の手順(リスク分析)
-
範囲設定と情報収集
- 利害関係者
- アセット
- 攻撃面積
- テストのセキュリティ目的
-
脅威モデリング
- 脅威モデリング
- 攻撃者プロファイル
- セキュリティツリーに基づく脅威モデリング
- 不正使用/悪用ケースに基づく脅威モデリング
- 不正使用/悪用ケース – 単純なWebショップの例
- STRIDE要素別の脅威モデリング – MS SDL
- セキュリティ目的の特定
- ダイアグラム – DFD要素の例
- データフローダイアグラム – 例
- 脅威列挙 – MS SDL の STRIDE と DFD 要素
- リスク分析 – 脅威の分類
- DREAD脅威/リスクランクモデル
-
セキュリティテスト手法とツール
- 一般的なテストアプローチ
- SDLCの各ステップにおける技術
-
コードレビュー
- ソフトウェアセキュリティのためのコードレビュー
- 汚染分析
- ヒューリスティック
-
静的コード解析
- 静的コード解析
- 演習 – 静的コード解析ツールの使用
-
実装のテスト
- 手動実行時の検証
- 手動と自動化されたセキュリティテスト
- ペネトレーションテスト
- ストレストテスト
-
ファジング
- 自動化されたセキュリティテスト - ファジング
- ファジングの課題
-
Web脆弱性スキャナー
- 演習 – 脆弱性スキャナーの使用
-
環境のチェックと強化
- 共通脆弱性スコアリングシステム – CVSS
- 脆弱性スキャナー
- 公開データベース
-
ケーススタディ – フォーム認証バイパス
- NULLバイト終端の脆弱性
- コードにおけるフォーム認証バイパスの脆弱性
- フォーム認証バイパスを悪用する方法
知識源
- 安全なコーディングの情報源 – スターターキット
- 脆弱性データベース
- .NET の安全なコーディングガイドライン (MSDN)
- .NET の安全なコーディングチェックリスト
- 推薦書籍 – .NET と ASP.NET
14 時間
お客様の声 (5)
各モジュールに対して多数の例が用意されており、トレーナーの豊富な知識が活かされています。
Sebastian - BRD
コース - Secure Developer Java (Inc OWASP)
機械翻訳
Module3 アプリケーションの攻撃とエクスプロイト、XSS、SQLインジェクション Module4 サーバーの攻撃とエクスプロイト、DOS、BOF
Tshifhiwa - Vodacom
コース - How to Write Secure Code
機械翻訳
コースの一般情報
Paulo Gouveia - EID
コース - C/C++ Secure Coding
機械翻訳
トレーナーの主題に関する知識は非常に優れており、セッションが視聴者にとってデモンストレーションを追えるように設定されていたことで、単に座って聞いているだけよりもその知識が定着しました。
Jack Allan - RSM UK Management Ltd.
コース - Secure Developer .NET (Inc OWASP)
機械翻訳
何も問題ありませんでした。
Zola Madolo - Vodacom
コース - Android Security
機械翻訳