OWASP Top 10 目前 OWASP Top 10 的安全報告最新版本是2021年發布的版本。2021 年版本是繼 2017 年後的最新更新,反映了過去幾年內網路安全的重大變化。
以下是 OWASP Top 10 於2021年發布的內容。
排名漏洞名稱說明A01權限控制失效 Broken Access Control存取控制失效,導致未授權使用者取得敏感資料或操作權限。A02加密機制失效 Cryptographic Failures加密機制實作不當,導致資料洩露。A03注入式攻擊 Injection攻擊者將惡意指令注入應用程式,例如 SQL、命令注入等。A04不安全設計 Insecure Design設計階段未考慮安全性,導致架構性風險。A05安全設定缺陷 Security Misconfiguration系統或伺服器的錯誤設定,留下安全漏洞。A06危險或過舊的元件 Vulnerable and Outdated Components使用含有已知漏洞的第三方元件。A07認證及驗證機制失效 Identification and Authentication Failures認證系統實作錯誤,例如弱密碼或認證繞過。A08軟體及資料完整性失效 Software and Data Integrity Failures軟體更新或資料未正確驗證完整性,例如 CI/CD 漏洞。A09資安記錄及監控失效 Security Logging and Monitoring Failures日誌與監控不足,導致攻擊難以察覺或調查。A10伺服端請求偽造 Server-Side Request Forgery (SSRF)攻擊者透過伺服器發送未授權請求,存取內部資源。➤A01 權限控制失效風險:存取控制是用來限制用戶操作資源的權限,如果失效,攻擊者可能...
查看或修改其他用戶的資料
執行管理操作(如:變更權限)
刪除或存取本不該接觸的系統資源
常見案例:
修改 URL 中的 ID 即可看到其他人的資料 (例如 /user/123 改成 /user/124)
用戶角色檢查只在前端驗證,後端未實作實際權限判斷
OWASP說明:A01:2021-權限控制失效Broken Access Control94% 被測試的應用程式,都有驗測到某種類別權限控制失效的問題。在權限控制失效這個類別中被對應到的 34 個 CWEs(常見弱點枚舉Common Weakness Enumeration) 在驗測資料中出現的次數都高於其他的弱點類別。
➤A02 加密機制失效風險:任何敏感資料(如密碼、信用卡號、個人資訊),若未妥善加密,就容易在傳輸或儲存過程中洩露。
常見案例:
使用 HTTP 而非 HTTPS 傳送密碼
資料庫明文儲存密碼
使用已知弱加密演算法
OWASP說明:A02:2021-加密機制失效 Cryptographic Failures加密機制的失敗並因此造成敏感性資料外洩或是系統被破壞。
➤A03 注入式攻擊風險:攻擊者將惡意資料注入應用程式,使其執行未預期的命令或查詢,最常見為 SQL Injection。
常見案例:
OWASP說明:A03:2021-注入式攻擊 Injection94% 被測試的應用程式都有驗測到某種類別注入式攻擊的問題。在注入式攻擊這個類別中被對應到的 33 個 CWEs(常見弱點枚舉Common Weakness Enumeration) 在驗測資料中出現的次數為弱點問題的第二高。跨站腳本攻擊現在在新版本屬於這個類別。
➤A04 不安全設計風險:即便程式碼”沒有漏洞”,若系統在設計時未考慮安全性,例如信任使用者輸入、不驗證交易流程邏輯...等,仍可能造成漏洞。
常見案例:
金流未設計驗證機制,導致金流流程可被繞過
忘記驗證多重步驟流程,如購物車價格可被修改
OWASP說明:A04:2021-不安全設計 Insecure Design特別針注在與設計相關的缺失。如果我們真的希望讓整個產業在軟體開發及交付過程中,在早期找出及處理相關問題,那我們必須進一步的往威脅建模,安全設計模塊的觀念,和安全參考架構前進。
➤A05 安全設定缺陷風險:錯誤的預設設定、未更新的伺服器模組、過度暴露的端點等,都可能成為攻擊者的入口。
常見案例:
開發環境的 debug 模式在生產環境啟用
顯示詳細錯誤堆疊訊息
沒有關閉不必要的服務或端口
OWASP說明:A05:2021-安全設定缺陷 Security Misconfiguration90% 被測試的應用程式都有驗測到某種類別的安全設定缺陷。在2017版本中的 XML 外部實體注入攻擊 (XML External Entities)現在屬於這個類別。
➤A06 危險或過舊的元件風險:應用程式往往依賴第三方元件(如:框架、套件),若這些元件存在已知漏洞,將成為攻擊目標。
常見案例:
使用過時的 jQuery、Apache、Spring Boot
未修補 CVE(公共漏洞和暴露) 中列出的已知漏洞※CVE 公共漏洞和暴露 Common Vulnerabilities and Exposures ,又稱通用漏洞披露、常見漏洞與披露,是一個與資訊安全有關的資料庫,收集各種資安弱點及漏洞並給予編號以便於公眾查閱。
OWASP說明:A06:2021-危險或過舊的元件 Vulnerable and Outdated Components在之前標題為 使用有已知弱點的元件。在本次版本中於業界問卷中排名第二,但也有足夠的統計資料讓它可以進入 Top 10。這是唯一一個沒有任何 CVE (公共漏洞和暴露) 能被對應到 CWE(常見弱點枚舉) 內的類別,所以預設的威脅及影響權重在這類別的分數上被預設為 5.0。
➤A07 認證及驗證機制失效風險:認證系統若設計不當,如弱密碼、帳號暴力攻擊、Token 洩露...等,會導致使用者帳號被竊取。※弱密碼是容易被猜測的密碼,如12345、password、11111、qaz123…等。
常見案例:
無帳號鎖定機制
Token 未設過期時間或易於猜測
密碼策略過於寬鬆
OWASP說明:A07:2021-認證及驗證機制失效 Identification and Authentication Failures在之前標題為 錯誤的認證機制。同時包含了將認證相關缺失的 CWE(常見弱點枚舉) 包含在內。這個類別仍是 Top 10 不可缺少的一環,但同時也有發現現在標準化的架構有協助降低次風險發生機率。
➤A08 軟體及資料完整性失效風險:未驗證資料或元件完整性時,攻擊者可植入惡意程式碼。
常見案例:
自動更新功能未驗證來源與簽章
CI(持續整合)/ CD(持續交付) 管線遭駭時部署惡意程式碼※CI/ CD:持續整合/持續部署(CI/CD) 管道可實現軟體交付流程的自動化。
OWASP說明:A08:2021-軟體及資料完整性失效 Software and Data Integrity Failures在軟體更新,機敏及重要資料,和 CI/CD 管道中並沒有做完整性的確認為前提做假設並進行評估。在評估中影響權重最高分的 CVE(公共漏洞和暴露) /CVSS(通用漏洞評分系統) 資料都與這類別中的 10 個 CWE 對應到。
➤A09 資安記錄及監控失效風險:若系統缺乏日誌紀錄與異常偵測,將導致攻擊發生後難以追蹤與回應。
常見案例:
沒有記錄登入、失敗、修改行為
日誌無結構化或未集中儲存
OWASP說明:A09:2021-資安記錄及監控失效 Security Logging and Monitoring Failures在之前為不完整的紀錄及監控。這個類別將擴充去納入更多相關的缺失,但這也是相當難去驗證,並沒有相當多的 CVE/CVSS 資料可以佐證。但是在這個類別中的缺失會直接影響到整體安全的可視性,事件告警及鑑識。
➤A10 伺服端請求偽造風險:攻擊者利用伺服器幫他發送請求,間接存取內部系統、私有 IP、雲端 metadata 等。
常見案例:
OWASP說明:A10:2021-伺服端請求偽造 Server-Side Request Forgery (SSRF)這個類別是在業界問卷排名第一名,並在此版本內納入。由資料顯示此問題有較低被驗測次數和範圍,但有高於平均的威脅及影響權重比率。這個類別的出現也是因為業界專家重複申明這類別的問題相當重要,即使在本次資料中並沒有足夠的資料去顯示這個問題。