名詞解釋
什麼是 OWASP Top 10——Web 應用十大風險的標準清單
OWASP Top 10 是最關鍵的 Web 應用安全風險的標準清單。本文說明每個類別——存取控制失效、注入、設定錯誤等——實際指的是什麼,以及在你自己的應用中該優先防禦什麼,並附上本站各篇解說的連結。
「OWASP Top 10」是談論 Web 應用安全時的共通語言。以下說明每一項的意涵——以防禦的觀點而非攻擊手法呈現——並連往本站更深入的解說。
十大風險一覽(2021 年版)
每一項都是「類別」。把它對照到自己的應用,由上而下當成稽核的觀點來用。
| # | 風險 | 大致上指的是 | 本站相關解說 |
|---|---|---|---|
| A01 | 存取控制失效 | 「已登入=已被允許」;缺少擁有者檢查 | 認證與授權的差別 / IDOR |
| A02 | 加密失效 | 機密明文儲存、弱加密、TLS 破口 | 公開金鑰密碼學 / 密碼雜湊 |
| A03 | 注入 | 輸入劫持了查詢/指令 | SQL injection / XSS |
| A04 | 不安全的設計 | 設計階段未考慮威脅 | 最低限度檢查清單 |
| A05 | 安全設定錯誤 | 正式環境開啟除錯、預設值、暴露不必要功能 | CORS |
| A06 | 脆弱與過時的元件 | 相依套件的已知 CVE 放著不管 | 監控相依套件 CVE |
| A07 | 認證失效 | 弱認證、無防暴力破解、無 MFA | 兩步驟驗證 / passkey |
| A08 | 軟體與資料完整性失效 | 供應鏈/更新途徑遭竄改 | 資安的歷史(供應鏈) |
| A09 | 記錄與監控失效 | 無法偵測或追查事故 | 稽核紀錄為何重要 |
| A10 | SSRF | 讓伺服器去抓取內部目標 | SSRF |
怎麼用:這是排定優先順序的起點,不是檢查清單
別把「涵蓋」Top 10 當成完成
Top 10 是最具代表性的十個類別,不是足夠與否的保證。請把它當成排定優先順序與找出缺漏的起點,同時也把它沒有直接涵蓋的根基補起來——相依套件的 CVE 監控、機密管理、備份與偵測。
在自己的應用中從最上面(A01~A03)開始
先在自己的程式碼裡稽核存取控制、加密與注入——最頻繁的事故來源都集中在這裡。
用機械化方式檢查設定與相依套件(A05、A06)
收緊正式環境設定(不暴露除錯),並把相依套件的 CVE 監控做成機制。
在事故發生前先備好偵測(A09)
沒有記錄與監控,你就無法察覺也無法追查事故。至少保留基本的稽核與存取紀錄。
本站觀點:一項對照到自己程式碼的工具
Top 10 的價值不在於背號碼,而在於把每個類別對照到自己的應用並加以稽核。本站為每個風險準備了翻譯成「你該如何防禦」的個別解說。請把 Top 10 當成入口,並從最上面的項目——存取控制、加密、注入——在自己的程式碼中開始。
接下來閱讀
- 基礎:認證與授權的差別(A01 的核心)· 最低限度安全檢查清單
- 術語:SQL injection · IDOR · SSRF
- 歷史:資安的歷史(年表)
FAQ
QOWASP Top 10 是什麼?
它是非營利組織 OWASP(Open Worldwide Application Security Project)每隔數年發布的「Web 應用最關鍵安全風險」清單,整理成十個類別。它不是一套攻擊配方——而是開發者與維運者用來確認「至少該看哪裡」的共通語言。最新版是 2021 年版。
QOWASP Top 10 的第一名是什麼?
2021 年版以「存取控制失效(Broken Access Control)」居首——這是把「已登入」當成「已被允許」、卻沒有確認該使用者是否真的可以執行那個操作或碰那筆資料的設計破口。IDOR(改用他人的 ID 就能取得他人資料)就是這個類別的經典例子。
Q只要涵蓋了 OWASP Top 10,就算安全了嗎?
不。Top 10 是最具代表性的十個類別,不是保證足夠的檢查清單。請把它當成排定優先順序與找出缺漏的起點,同時也把它沒有直接涵蓋的根基補起來——相依套件的 CVE 監控、機密管理、備份與偵測。