コース概要

本講座はインターネットまたは内部ネットワーク向けに公開するWebアプリケーションをセキュアに構築するための要件や設計を学ぶことを目的としています。

“セキュリティ対策に終わりはない”ことは事実ですが、Webアプリケーションにおいては新しい攻撃手法が次々に登場するわけではないため、セキュアに構築するためのセオリーがあります。

つまり、攻撃に対応した安全なWebサイトを構築するためのセキュリティ要件は明確になっていて、それに対応した設計を施し、実装することで、攻撃の大半は防ぐことができるのです。

セキュリティの問題を修正する場合、開発後のフェーズになるほど高いコストが必要になってきます。要件定義や、設計段階での不備は、後の全フェーズに影響します。そのため、セキュリティの問題は設計段階までには解消しておくことが重要です。

セキュリティ対策を適切なコストで確実に行うためにも、Webシステムの要件定義書には機能要件や性能要件などに加えて、セキュリティ要件を必ず盛り込み、それに基づいた設計を行うことが必要なのです。

本講座では、Webサイトを取り巻く現状を学ぶことから始まり、Webシステムに対する攻撃手段とその仕組みなどについて学び、安全なWebアプリケーション開発のために必要な要件と設計の具体例を学びます。

本講座では下記のスキルを習得することができます。

  • セキュアなWebシステム/Webアプリケーションを構築するために必要な知識
  • Webシステムに対して発生しうる脅威・攻撃手法についての理解
  • 発注者・開発者に必要なWebシステム/Webアプリケーションのセキュリティ要件
  • 上記セキュリティ要件を満たす設計の具体例

本講座で使用するドキュメントは実務でのセキュリティ要件の作成時や設計時に、そのままご活用いただける内容となっています。

対象者

イントラネット/内部ネットワーク向けのWebシステム/Webアプリケーションに関わる下記の方が主な対象者となります。

  • Webシステムの発注者
  • Webアプリケーション設計者・開発者

PCI DSSなどで要求されるOWASP Top 10などに基づいた安全なコーディング技法に関するトレーニングが要求されている場合などにも最適です。

内容

セキュアWebアプリケーション開発を身につけてもらうために理解が必要な、Webサイトを取り巻く現状と、昨今のWebに対する脅威や攻撃手法の具体例を網羅的に学んで頂きます。
そして、学んだ脅威やWebアプリケーションの攻撃手法に対応するセキュアWebアプリケーションの構築手法について具体的に学んでいきます。

本講座で学ぶことができる要件や設計方針は、特定非営利活動法人日本ネットワークセキュリティ協会の日本セキュリティオペレーション事業者協議会のセキュリティオペレーションガイドラインWG(WG1)と、OWASP Japan主催の共同ワーキンググループである『脆弱性診断士スキルマッププロジェクト』が公開している『Webシステム/Webアプリケーションセキュリティ要件書』に基づいています。

安全なWebサイトを構築・運用するために知っておくべきこと

Webサイトを取り巻く現状と、安全なWebサイトを構築・運用するために知っておくべき事項を学びます。

  • 攻撃者は何が狙いか
  • 安全でないWebサイトが生まれる背景
  • 「どの程度、安全にすべきなのか」を知る
  • Webシステム/Webアプリケーションセキュリティ要件
Webアプリケーションの脅威とその攻撃手法

代表的なWebアプリケーションに対する攻撃手法とその仕組みについてデモなどを交えながら学びます。

  • Webサイトへの攻撃とその特徴
  • Webアプリケーションへの攻撃手法
    • Webアプリケーションへの攻撃
    • HTTP
    • インジェクション
      • SQLインジェクション
      • コマンドインジェクション
      • クロスサイトスクリプティング (XSS)
      • CRLFインジェクション
    • セッション管理の不備
      • セッションハイジャック
      • セッションフィクセイション
    • クロスサイトリクエストフォージェリー (CSRF)
    • 設定や設計の不備
      • ディレクトリリスティング
      • 強制ブラウジング
      • オープンリダイレクト
      • ファイルアップロードに係る脆弱性
      • 情報露出
    • パストラバーサル
    • リモートファイルインクルージョン (RFI)
    • XML外部エンティティ参照 (XXE)
    • 安全でないデシリアライゼーション
    • クリックジャッキング
    • パスワードに対する攻撃
    • 認証に係る脆弱性
    • 認可制御の不備・欠落
    • バッファオーバーフロー
    • DoS攻撃
    • ソフトウェアの設定ミス
セキュアWebアプリケーションの構築

Webアプリケーションへの攻撃に対応した、安全なWebアプリケーション開発のために必要な設計の具体例を学びます。

  • 認証
    • 認証の目的
    • NIST SP800-63B、Authenticatorのタイプ、AAL
    • フォームベース認証
    • パスワードのハッシュ化、salt、ストレッチング
    • パスワードの作成について
    • ユーザーへのパスワード通知方法
    • パスワードリセット
    • 認証実行時のエラー処理、ログ記録
    • アカウントロック
    • パスワードリスト攻撃対策
  • 認可
    • 認可の目的
    • アクセス制御の失敗例
    • アクセス制御方法
    • OpenID, OAuth, シングルサインオン
    • 限定公開URL
  • HTTPS
    • SSL/TLS
    • HTTPSの基礎
    • サーバー証明書
    • 証明書に対する攻撃
    • HTTPSを使う際の注意
    • 証明書の種類、用途による使い分け
    • 安全なプロトコルと暗号アルゴリズム
    • フィッシングサイトに対抗するには?
  • セッション管理
    • セッションIDとCookie
    • セッションIDを利用した攻撃を防ぐ設計
    • セッションタイムアウトの設計
    • セッションIDの生成と疑似乱数
    • CSRF対策
  • 文字列の処理
    • 文字列処理で必要なこと
    • 特殊文字のエスケープ処理
    • 文字エンコーディングの確認
    • 文字長の制限
    • その他のXSS対策
  • その他の注意事項
    • クリックジャッキング対策
    • エラーメッセージハンドリング
    • カスタムエラー画面
    • etc.
ディスカッション

本講座は座学で行いますが、過去のセキュリティ事例(インシデントなど)に基づいた問題の解決をグループディスカッションなどの形式で行います。

1日開催講座

通常は2日開催の講座ですが1日コースも用意しております。1日コースは主に設計について学ぶ内容となっております。
Webアプリケーションの脆弱性や攻撃手法について学びたい方は、併せて自社で取り組むWebアプリケーション脆弱性診断講座の受講をお勧めします。

セキュリティ要件
  • セキュリティ要件の原則
  • Webアプリケーションのセキュリティ要件
セキュアWebアプリケーションの構築
  • 認証
    • 認証の目的
    • NIST SP800-63B、Authenticatorのタイプ、AAL
    • フォームベース認証
    • パスワードのハッシュ化、salt、ストレッチング
    • パスワードの作成について
    • ユーザーへのパスワード通知方法
    • パスワードリセット
    • 認証実行時のエラー処理、ログ記録
    • アカウントロック
    • パスワードリスト攻撃対策
  • 認可
    • 認可の目的
    • アクセス制御の失敗例
    • アクセス制御方法
    • OpenID, OAuth, シングルサインオン
    • 限定公開URL
  • HTTPS
    • SSL/TLS
    • HTTPSの基礎
    • サーバー証明書
    • 証明書に対する攻撃
    • HTTPSを使う際の注意
    • 証明書の種類、用途による使い分け
    • 安全なプロトコルと暗号アルゴリズム
    • フィッシングサイトに対抗するには?
  • セッション管理
    • セッションIDとCookie
    • セッションIDを利用した攻撃を防ぐ設計
    • セッションタイムアウトの設計
    • セッションIDの生成と疑似乱数
    • CSRF対策
  • 文字列の処理
    • 文字列処理で必要なこと
    • 特殊文字のエスケープ処理
    • 文字エンコーディングの確認
    • 文字長の制限
    • その他のXSS対策
  • その他の注意事項
    • クリックジャッキング対策
    • エラーメッセージハンドリング
    • カスタムエラー画面
    • etc.
お問い合わせ・お申し込み

ご相談、お申し込みなどについてはこちらまで。