Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Web 應用程式安全漏洞十大族群:OWASP Top 10 對應防禦策略

編輯:系統常見問題解答

Web 應用程式已成駭客主要攻擊面,OWASP Top 10 (2021) 列出最關鍵風險類別,開發與營運團隊必須建立對應防禦:

  1. A01:2021 – 存取控制失效
    使用者可存取未授權資源 (IDOR、路徑遍歷、提權)。
    → 防禦:集中授權檢查 (Policy/Permission 屬性)、伺服器端驗證物件層級權限、拒絕預設、最小權限原則。
  2. A02:2021 – 加密失效
    敏感資料未加密、弱演算法 (MD5/SHA1/DES)、金鑰管理不當。
    → 防禦:TLS 1.2/1.3 強制、AES-256-GCM / ChaCha20-Poly1305、HSM/KMS 管理金鑰、資料庫欄位層級加密 (TDE/Always Encrypted)。
  3. A03:2021 – 注入攻擊
    SQLi、NoSQLi、OS Command Injection、LDAP Injection、XPath Injection。
    → 防禦:參數化查詢/預備陳述式、ORM 正確使用、輸入驗證白名單、WAF 規則集 (ModSecurity CRS)。
  4. A04:2021 – 不安全設計
    架構層面缺乏威脅模型、業務邏輯缺陷 (價格篡改、流程繞過)。
    → 防禦:威脅建模 (STRIDE/PASTA)、安全設計審查、業務邏輯單元測試、安全編碼標準 (OWASP ASVS)。
  5. A05:2021 – 安全設定錯誤
    預設帳密、不必要功能啟用、錯誤訊息洩露堆疊追蹤、雲端儲存桶公開。
    → 防禦:基準強化 (CIS Benchmarks)、自動化合規掃描、錯誤頁面友善化、最小安裝原則。
  6. A06:2021 – 易受攻擊且過時的元件
    第三方套件已知 CVE 未修補、框架版本落後。
    → 防禦:SBOM (Software Bill of Materials)、Dependabot/Snyk/OWASP Dependency-Check 持續掃描、依賴更新自動化 (Renovate)。
  7. A07:2021 – 身分識別與驗證失效
    弱密碼、Session Fixation、Token 不失效、MFA 缺失。
    → 防禦:多因子驗證 (MFA) 強制、Session 安全旗標 (HttpOnly, Secure, SameSite=Strict)、JWT 短效期 + Refresh Token 旋轉、帳號鎖定/風險偵測。
  8. A08:2021 – 軟體與資料完整性失效
    CI/CD 管線遭竄改、未簽名套件、自動更新無驗證。
    → 防禦:供應鏈安全 (SLSA)、套件簽名驗證 (cosign/sigstore)、不可變基礎設施、完整性檢查 (Subresource Integrity)。
  9. A09:2021 – 安全記錄與監控失效
    關鍵事件未記錄、日誌未集中、告警規則缺失、事件回應流程缺口。
    → 防禦:結構化日誌 (JSON/Serilog)、集中式 SIEM、關鍵事件即時告警 (登入失敗、權限異動、注入特徵)、事件回應手冊演練。
  10. A10:2021 – 伺服器端請求偽造 (SSRF)
    伺服器被誘導存取內部資源 (中繼資料服務、內網 API、雲端控制平面)。
    → 防禦:輸出連線白名單、拒絕私有/回環/Link-Local IP、網路分段 (Egress Proxy)、IMDSv2 強制 (AWS/Azure/GCP)。

隱藏表單欄位、後門、除錯程式碼 — 經典仍在發生

  • 隱藏欄位 (<input type="hidden" name="price" value="100">) 易被竄改 → 伺服器端重新計算價格/權限。
  • 除錯端點 (/actuator/env, /debug, /trace) 生產環境必關閉。
  • 通用後門帳號 (admin/123456) → 部署管線自動掃描並阻擋。

防禦三大支柱

  1. 左移:程式碼掃描 (SAST/SCA/Secrets)、威脅建模、安全單元測試整合 CI/CD。
  2. 執行期防護:WAF (ModSecurity/AWS WAF/Cloudflare)、RASP (Contrast/Seeker)、Runtime 完整性監控。
  3. 持續營運:滲透測試 (年 1~2 次)、紅隊演練、漏洞管理週期 (SLA 修補)、事件回應演練。

Web 應用安全非一次性專案,而是持續營運能力。建立上述三支柱,才能在威脅演進中保持韌性。

Copyright © Windows教程網 All Rights Reserved