お問い合わせ

コース概要

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

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

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

  • OWASP Top Ten の詳細分析: インジェクション、認証機能の破損、機密データの暴露の詳細分析。
  • クロスサイトスクリプティング (XSS): Java/JSPにおけるリフレクト型、ストレージ型、DOMベースのXSSシナリオ。
  • クロスサイトリクエストフォージェリ (CSRF): 攻撃メカニズムとAnti-CSRFトークンの実装。
  • セッション管理: クッキーのセキュリティ、セッションフィックス、タイムアウト管理。
  • APIセキュリティ: RESTおよびSOAPエンドポイントの不正利用防止。

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

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

4. XMLセキュリティ

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

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

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

6. 実践的な暗号化

  • 暗号化アルゴリズム: 対称暗号 (AES)、非対称暗号 (RSA, ECC)、ハッシュ (SHA-256/512) の概要。
  • 乱数生成: java.util.Random の危険性と java.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 の実装。
  • Servletセキュリティ: コンテナ管理のセキュリティ制約と認証方法 (FORM, BASIC, DIGEST)。

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

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

10. 情報源

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

要求

特になし。

 21 時間

参加者の人数


参加者1人あたりの価格

お客様の声 (4)

今後のコース

関連カテゴリー