お問い合わせ

コース概要

1. ITセキュリティとセキュアコーディング

  • 基本セキュリティ原則: Javaアプリケーションの文脈における機密性、完全性、可用性 (CIA)。
  • セキュアソフトウェア開発ライフサイクル (SSDLC): 要件定義からデプロイメントまでセキュリティを統合する。
  • セキュアコーディングの設計パターン: 深層防御、最小権限、安全デフォルト。
  • 標準的な脆弱性分類: CWE (Common Weakness Enumeration) とOWASPの理解。

2. Webアプリケーションセキュリティ

  • OWASP Top Tenの深掘り: インジェクション、壊れた認証、機密データ漏洩の詳細な分析。
  • クロスサイトスクリプティング (XSS): Java/JSPにおける反射型、格納型、DOMベースのXSSシナリオ。
  • クロスサイトリクエストフォージェリ (CSRF): 攻撃の仕組みとAnti-CSRFトークンの実装。
  • セッション管理: Cookieセキュリティ、セッションフィクセーション、タイムアウト管理。
  • APIセキュリティ: RESTおよびSOAPエンドポイントの乱用からの保護。

3. Webサービスのセキュリティ

  • Webサービスと従来のWebアプリケーション: 攻撃面の違い。
  • トランスポート層セキュリティ: Javaクライアントおよびサーバー向けのSSL/TLS設定。
  • メッセージセキュリティ: ペイロードレベルでの完全性と機密性。
  • 認証基準: OAuth 2.0、OpenID Connect、JWT (JSON Web Tokens) の実装。

4. XMLセキュリティ

  • XMLパースの脆弱性: XML外部エンティティ (XXE) 攻撃の防止。
  • XMLスキーマ検証: 厳格なスキーマ適用のためのベストプラクティス。
  • XMLデジタル署名: 否認防止を確保するための署名の実装。
  • XML暗号化: XMLコンテンツの暗号化に関する標準的なアプローチ。

5. Javaセキュリティの基礎

  • Javaセキュリティアーキテクチャ: java.security パッケージおよびプロバイダーアーキテクチャ。
  • セキュリティプロバイダー: Bouncy Castleなどのプロバイダーのインストールと設定。
  • アクセス制御: ポリシーファイル、権限、セキュリティマネージャー (レガシー vs 現代的な方式)。
  • KeyStore管理: 証明書のKeystoreおよびTruststoreの作成と管理。

6. 実践的な暗号学

  • 暗号アルゴリズム: 対称鍵 (AES)、非対称鍵 (RSA, ECC)、ハッシュ化 (SHA-256/512) アルゴリズムの概要。
  • 擬似乱数生成: java.util.Randomjava.security.SecureRandom の比較とその危険性。
  • キー管理: キーの生成、保存、ローテーション戦略。
  • Java暗号化アーキテクチャ (JCA): CipherMessageDigestMac クラスの使用。
  • Java暗号化拡張機能 (JCE): ポリシーファイルと無制限強度管轄区域の理解。

7. Javaセキュリティサービス

  • JavaにおけるSSL/TLS: SSLSocketFactoryHttpsURLConnection の使用。
  • 信頼マネージャー: 独自のPKI環境向けの信頼検証のカスタマイズ。
  • 認証マネージャー: Authenticator.getDefault() を用いた程序的認証。
  • 証明書パース: X.509証明書の読み込みとプログラマティック解析。

8. Java EEセキュリティ

  • 宣言的セキュリティ: web.xml およびアノテーションを使用したロールベースアクセス制御 (RBAC)。
  • 程序的セキュリティ: HttpServletRequest.isUserInRole() および getRemoteUser() の使用。
  • JAAS (Java Authentication and Authorization Service): login.conf の設定と LoginModule の実装。
  • サーブレットセキュリティ: コンテナ管理のセキュリティ制約および認証方法 (FORM, BASIC, DIGEST)。

9. 一般的なコーディングエラーと脆弱性

  • 不正なシリアライズ: ObjectInputStream のリスクおよびセキュリティチェックの回避。
  • コマンドインジェクション: OSレベルの実行脆弱性の緩和。
  • パストラバーサル: ディレクトリトラバーサルを防ぐためのファイルシステム入力のサニタイズ。
  • リフレクションの悪用: java.lang.reflect に関連するリスクおよびアクセス制御の回避。
  • ハードコーディングされた認証情報: ソースコードからのシークレットの特定と除去。
  • 暗号化実装の誤り: ECBモードの使用、弱すぎるキー、または静的IVの使用。

10. 知識源

  • 静的解析ツール: SonarQube、Checkmarx、Fortifyを用いた自動スキャン。
  • 動的解析ツール: Burp SuiteおよびOWASP ZAPの概要。
  • CVEデータベース: 新たなJavaフレームワークの脆弱性を追跡し、対応する方法。
  • 推奨読書: 書籍、ドキュメント、セキュアコーディングチェックリストの一覧。

要求

なし。

 21 時間

参加者の人数


参加者1人あたりの価格

お客様の声 (4)

今後のコース

関連カテゴリー