コース概要
本講座はインターネットまたは内部ネットワーク向けに公開する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アプリケーションの構築手法について具体的に学んでいきます。
安全なWebサイトを構築・運用するために知っておくべきこと
Webサイトを取り巻く現状と、安全なWebサイトを構築・運用するために知っておくべき事項を学びます。
- 攻撃者は何が狙いか
- 安全でないWebサイトが生まれる背景
- 「どの程度、安全にすべきなのか」を知る
- Webシステム/Webアプリケーションセキュリティ要件
Webアプリケーションの脅威とその攻撃手法
代表的なWebアプリケーションに対する攻撃手法とその仕組みについてデモなどを交えながら学びます。
- Webサイトへの攻撃とその特徴
- Webアプリケーションへの攻撃手法
- Webアプリケーションへの攻撃
- HTTP
- インジェクション
- SQLインジェクション
- コマンドインジェクション
- クロスサイトスクリプティング (XSS)
- CRLFインジェクション
- セッション管理の不備
- セッションハイジャック
- セッションフィクセイション
- クロスサイトリクエストフォージェリー (CSRF)
- 設定や設計の不備
- ディレクトリリスティング
- 強制ブラウジング
- オープンリダイレクト
- ファイルアップロードに係る脆弱性
- 情報露出
- パストラバーサル
- リモートファイルインクルージョン (RFI)
- XML外部エンティティ参照 (XXE)
- 安全でないデシリアライゼーション
- クリックジャッキング
- パスワードに対する攻撃
- 認証に係る脆弱性
- 認可制御の不備・欠落
- バッファオーバーフロー
- DoS攻撃
- ソフトウェアの設定ミス
セキュアWebアプリケーションの構築
Webアプリケーションへの攻撃に対応した、安全なWebアプリケーション開発のために必要な設計の具体例を学びます。
- 認証
- 認証の目的、Authenticatorのタイプ
- フォームベース認証
- パスワードのハッシュ化
- ストレッチング
- パスワードの作成について
- ユーザーへのパスワード通知方法
- もしユーザーがパスワードを忘れたら
- アカウントロック
- パスワードリスト攻撃対策
- 認可制御の不備・欠落
- OpenID, OAuth, シングルサインオン
- 限定公開URL
- HTTPS
- HTTPSを使う際の注意
- セッション管理
- セッションIDを利用した攻撃を防ぐための注意事項
- CSRF対策
- 文字列の処理
- 文字列の処理で必要なこと
- 文字エンコーディングの確認
- 文字長の制限
- その他のXSS対策
- 画面設計を行う場合の注意事項
- その他の注意事項
ディスカッション
本講座は座学で行いますが、過去のセキュリティ事例(インシデントなど)に基づいた問題の解決をグループディスカッションなどの形式で行います。
お問い合わせ・お申し込み
ご相談、お申し込みなどについてはこちらまで。