什麼是 OWASP?完整解析 OWASP Top 10 漏洞與防護策略

2025-10-21

什麼是 OWASP?

OWASP(Open Web Application Security Project)是一個致力於提升軟體安全性的全球非營利組織。除了最廣為人知的 OWASP Top 10 外,OWASP 也推出許多實用資源,包括安全開發最佳實務指南、滲透測試工具 OWASP Zed Attack Proxy(ZAP),以及用來練習安全程式設計的故意存在漏洞的系統。此外,OWASP 在全球各地設有據點,並定期舉辦資安相關的研討會與技術交流活動。

什麼是 OWASP Top 10?

OWASP Top 10 是一份列出最具代表性的網頁應用程式安全風險的清單。這份清單每隔幾年就會更新一次,最新版本於 2021 年發布,下一次更新預計在 2025 年。其主要目的是協助開發者與資安專業人員了解常見威脅,並在說明每項風險的同時,提供如何預防、偵測與修補漏洞的建議與實務指南。

除了最廣為人知的網頁應用程式 Top 10 外,OWASP 也針對其他系統推出對應清單。例如 API Top 10 專注於網頁 API 常見的安全問題,其中有部分項目也與主要清單有所重疊。

這份清單的設計宗旨,是要凸顯網頁應用程式中最關鍵的安全漏洞。內容結合了真實環境中最常見的攻擊手法,以及在開發和資安社群中所觀察到的新興風險,讓企業與開發團隊能掌握當前最需迫切關注的安全議題。

#1. 存取控制失效(Broken Access Control)

OWASP Top 10 是一份列出最具代表性的網頁應用程式安全風險的清單。這份清單每隔幾年就會更新一次,最新版本於 2021 年發布,下一次更新預計在 2025 年。其主要目的是協助開發者與資安專業人員了解常見威脅,並在說明每項風險的同時,提供如何預防、偵測與修補漏洞的建議與實務指南。

除了最廣為人知的網頁應用程式 Top 10 外,OWASP 也針對其他系統推出對應清單。例如 API Top 10 專注於網頁 API 常見的安全問題,其中有部分項目也與主要清單有所重疊。

這份清單的設計宗旨,是要凸顯網頁應用程式中最關鍵的安全漏洞。內容結合了真實環境中最常見的攻擊手法,以及在開發和資安社群中所觀察到的新興風險,讓企業與開發團隊能掌握當前最需迫切關注的安全議題。

#2. 加密失效(Cryptographic Failures)

加密演算法的目的,是防止資料被未經授權存取或惡意竄改。當應用程式在需要加密時未採用加密機制,或錯誤使用加密元件導致防護效果失效時,就屬於「加密失效」。

常見的狀況包括:

⦁ 傳輸敏感資料時使用明文(例如使用 HTTP 而非 HTTPS)
⦁ 採用已知弱點或過時的加密演算法
⦁ 使用隨機性不足的來源來產生加密金鑰或安全性相關資料

這類漏洞會讓攻擊者更容易攔截、解密或偽造資料,進而危及整體系統的機密性與完整性。

#3. 注入漏洞(Injection)

當網頁應用程式使用的語言會將使用者輸入(User Input)與程式指令混合(例如 SQL)時,就可能出現「注入漏洞」。若應用程式未對使用者輸入進行驗證、清理或過濾,攻擊者就能透過惡意或格式錯誤的輸入,改變原本指令的行為。

#4. 不安全的設計漏洞(Insecure Design)

不安全的設計漏洞指的是應用程式架構中基本設計失誤,導致重要的安全管控沒有被納入或落實。

常見範例包括:

⦁ 在錯誤訊息中暴露敏感資訊
⦁ 以不安全的方式儲存敏感帳號或憑證資料
⦁ 違反應用程式內部的信任邊界(Trust Boundaries)

這類問題通常起源於軟體開發生命週期的規劃與設計階段,與其他漏洞不同,後者通常是在開發階段產生的程式錯誤。

#5. 安全設定錯誤(Security Misconfiguration)

當應用程式設定不當或防護不足,無法有效抵禦潛在攻擊時,就會產生安全設定錯誤的漏洞。

常見情況包括:

⦁ 啟用不必要的功能或服務
⦁ 使用預設密碼或硬編碼(Harcode)密碼
⦁ 錯誤訊息或堆疊追蹤(Stack Trace)中洩露過多資訊

這類漏洞可能讓攻擊者更容易入侵系統或取得敏感資料,因此正確的設定與系統強化(Hardening)是防護關鍵。

#6. 易受攻擊或過時的元件(Vulnerable and Outdated Components)

網頁應用程式通常會依賴第三方元件或外掛。如果這些元件或依賴項(Dependency)沒有即時更新,就可能含有可被利用的漏洞。這不僅包括直接使用的元件或嵌入的套件,也包含間接依賴的元件,一路延伸到軟體供應鏈的最底層。

簡單來說,任何未更新或過時的第三方元件,都可能成為攻擊者入侵的入口,維護更新與版本管理是降低風險的重要措施。

#7. 身分識別與認證失效(Identification and Authentication Failures)

身分識別與認證失效指的是無法正確驗證使用者身份的漏洞。

常見例子包括:

⦁ 容易遭受帳號填充攻擊(Credential Stuffing)
⦁ 允許使用弱密碼或預設密碼
⦁ 認證資訊儲存方式不安全(明文、加密方式不當或雜湊強度不足的密碼)

這與存取控制失效(Broken Access Control)不同,後者是指已成功驗證身份的使用者,其權限管理不當導致可操作未授權功能或資料。

#8. 軟體與資料完整性失效(Software and Data Integrity Failures)

「軟體與資料完整性失效」於 2021 年被新增至 OWASP Top 10 中,主要是指對第三方資料或程式碼過度信任所產生的漏洞。

常見情況包括:

⦁ 使用來自不可信來源的第三方元件或插件
⦁ CI/CD 流程安全不足,容易被植入惡意程式
⦁ 自動安裝更新時未驗證完整性或真實性
⦁ 序列化(Serialization)相關漏洞也屬於這類問題

這類漏洞會讓攻擊者藉由惡意程式碼或資料,破壞應用程式的安全性與資料完整性。

#9. 安全日誌與監控失效(Security Logging and Monitoring Failures)

安全日誌與監控失效指的是日誌記錄不足或監控不當的問題。

常見情況包括:

⦁ 未正確記錄登入失敗嘗試,可能讓應用程式容易遭受帳號填充攻擊(Credential Stuffing)
⦁ 組織對日誌與事件缺乏有效監控,導致潛在的資安攻擊未被發現

這類問題會降低企業對攻擊的偵測與應變能力,讓漏洞與威脅持續存在。

#10. 伺服器端請求偽造(Server-Side Request Forgery, SSRF)

伺服器端請求偽造漏洞發生在 Web 應用程式根據使用者提供的 URL 抓取遠端資源,但未先驗證該 URL 的合法性。這會造成安全問題,因為攻擊者可能誘使應用程式替他發出惡意請求。

常見範例:攻擊者利用 SSRF 漏洞繞過防火牆或存取控制清單(ACL),讓受害應用程式能存取攻擊者裝置或帳號無法直接存取的內部資源。

簡單來說,SSRF 是攻擊者「借用」伺服器的權限去做原本自己無法做的操作。

結語

在現今資安威脅快速演進的環境下,OWASP Top 10 已成為企業檢視應用程式安全風險的重要指標。了解漏洞只是第一步,能否有效落實防護才是關鍵。透過 Orca Security 的雲端安全態勢管理、Qualys 和 IONIX 的弱點/外部攻擊面管理、Thales 的資料加密與完整性保護、Imperva 與 Array Networks 的應用程式與網站防護,以及 Proofpoint 的郵件安全與帳號接管防護等解決方案,企業可全面對應 OWASP Top 10 的各類高風險漏洞,打造長期穩健的安全韌性。

參考來源:IONIX