聯繫我們

課程簡介

1. 資訊安全與安全編碼

  • 基本安全原則:在 Java 應用程式中的機密性、完整性和可用性 (CIA)。
  • 安全軟體開發生命週期 (SSDLC):從需求到部署整合安全性。
  • 安全編碼範例:深度防禦、最低權限和失效安全預設值。
  • 標準漏洞分類:理解 CWE (通用弱點列舉) 和 OWASP。

2. Web 應用程式安全

  • 深入探討 OWASP Top Ten:詳細分析注入、身份驗證失效和敏感數據暴露。
  • 跨站腳本 (XSS):Java/JSP 中的反射型、存儲型和 DOM-based 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 Schema 驗證:嚴格模式執行的最佳實踐。
  • XML 數位簽章:實施簽章以確保不可否認性。
  • XML 加密:加密 XML 內容的標準方法。

5. Java 安全基礎

  • Java 安全架構:java.security 套件和提供者架構。
  • 安全提供者:安裝和配置如 Bouncy Castle 等提供者。
  • 存取控制:策略文件、權限和安全管理器 (傳統 vs. 現代)。
  • 金鑰庫管理:建立和管理用於證書的 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()
  • JASL (Java 身份驗證與授權服務):配置 login.conf 並實施 LoginModules。
  • Servlet 安全:容器管理的安全約束和身份驗證方法 (FORM, BASIC, DIGEST)。

9. 常見編碼錯誤與漏洞

  • 不安全反序列化:ObjectInputStream 的風險及繞過安全檢查。
  • 命令注入:緩解作業系統層級的執行漏洞。
  • 路徑遍歷:清理檔案系統輸入以防止目錄遍歷。
  • 反射濫用:java.lang.reflect 的風險及繞過存取控制。
  • 硬編碼憑證:識別並從原始碼中移除機密資訊。
  • 加密實施錯誤:使用 ECB 模式、弱金鑰或靜態 IV。

10. 知識來源

  • 靜態分析工具:使用 SonarQube、Checkmarx 和 Fortify 進行自動掃描。
  • 動態分析工具:Burp Suite 和 OWASP ZAP 概述。
  • CVE 資料庫:如何追蹤並應對新的 Java 框架漏洞。
  • 推薦閱讀:書籍、文件和安全編碼檢查清單列表。

最低要求

無。

 21 小時

客戶評論 (4)

課程分類