大家好,今天想在實作篇裡打岔一篇比較篇
主要是比較 OWASP Top10 的 2013、2017、2021 版本有那些差異、變動為何等
那我們就先來介紹 OWASP 是什麼東西!
OWASP 的全名為開放式 web 應用安全專案(Open Web Application Security Project)
,它是一個線上的社群,主要提供 web 安全相關的文章、方法、工具、技術等。而 OWASP Top10 則是其中一個知名的項目,它會列出「當下」最常見的十大安全風險漏洞,並發布出來讓大家留意,大約每 3~4 年會更新一次
那我們就先來比較 2013 和 2017 版的差異,待會會再比較 2017 和 2021 版的,並在最後將它們三個放在一起進行比較
這邊我有整理一張圖表供大家參考,方便大家進行比對
再來我會分成三個部分來進行介紹,分別為
這裡我會照著 2013 的順序「由上往下」進行介紹
A1 - 注入攻擊 (Injection)
A2 - 無效的身分驗證和會話管理 (Broken Authentication and Session Management)
無效的身分驗證 (Broken Authentication)
A3 - 跨站腳本攻擊 (Cross-Site Scripting (XSS))
A4 - 不安全的直接物件引用 (Insecure Direct Object References)、A7 - 缺少功能級別的訪問控制 (Missing Function Level Access Control)
A5 - 無效的訪問控制 (Broken Access Control)
,因為這兩個漏洞有著相同的根本原因,就是缺少訪問的控制權限,因此在 2017 直接將這個原因當成名字重新命名A5 - 不安全的組態設定 (Security Misconfiguration)
A6 - 敏感資料外洩 (Sensitive Data Exposure)
A9 - 使用已有漏洞的元件 (Using Components with Known Vulnerable)
這邊的刪除不是真的刪除喔!它只是威脅程度「相對」來講比較低,所以名次往下掉出前 10 名了,但不代表這些漏洞就不存在!(筆記)
A8 - 跨站請求偽造攻擊 (Cross-Site Request Forgery (CSRF))
A10 - 未驗證的重定向和轉發 (Unvalidated Redirects and Forwards)
A4 - XML 外部處理器漏洞 (XML External Entities (XXE))
A8 - 不安全的反序列化 (Insecure Deserialization)
A10 - 記錄和監控不足 (Insufficient Logging & Monitoring)
既然比較完 2013 和 2017,那我們就換比較 2017 和 2021 的差異吧!
這邊我一樣有整理一張圖表供大家參考,方便大家進行比對
那我一樣會分成三個部份來進行介紹
這裡我會照著 2017 的順序「由上往下」進行介紹
A1 - 注入攻擊 (Injection)、A7 - 跨站腳本攻擊 (Cross-Site Scripting (XSS))
A3 - 注入攻擊 (Injection)
,因為 XSS 其實也是透過注入惡意程式碼來進行攻擊,所以就把它們歸類在一起A2 - 無效的身分驗證 (Broken Authentication)
A7 - 識別和認證失敗 (Identification and Authentication Failures)
,會掉下來的原因是,現在有很多系統提供生物辨識(如指紋、Face ID)、行動OTP(一次性密碼)
等高級身分驗證技術進行登入,以防 hacker 使用暴力破解對密碼、憑證等漏洞進行攻擊A3 - 敏感資料外洩 (Sensitive Data Exposure)
A2 - 加密失敗 (Cryptographic Failures)
,因為之前的名字有點太廣泛了,它們想把問題定義的更明確一點,所以這次使用Cryptographic(密碼學)
這個單字進行命名,把問題定義成和「加密」有關A4 - XML 外部處理器漏洞 (XML External Entities (XXE))、A6 - 不安全的組態設定 (Security Misconfiguration)
A5 - 不安全的組態設定 (Security Misconfiguration)
,因為 XXE 攻擊發生的前提是 XML 解析器太弱或配置有誤,而這和 A6 其實有點類似,所以它們在 2021 被歸類在一起A5 - 無效的訪問控制 (Broken Access Control)
A8 - 不安全的反序列化 (Insecure Deserialization)
A9 - 使用已有漏洞的元件 (Using Components with Known Vulnerable)
A6 - 易受攻擊和過時的組件 (Vulnerable and Outdated Components)
,因為「已有漏洞」這個說法有可能是「已被修補完的漏洞」,它們想把問題定義的更明確一點,希望「已有漏洞」指的是「尚未被修補的漏洞」,所以在 2021 特別改名強調這件事A10 - 記錄和監控不足 (Insufficient Logging & Monitoring)
A9 - 安全日誌記錄和監控失敗 (Security Logging and Monitoring Failures)
,多了Security(安全)
這個單字,把問題定義的更明確一點2017 到 2021 的版本更新,並沒有漏洞被除或掉出前 10 名,都是被合併或重新命名
A4 - 不安全的設計 (Insecure Design)
當你忘記密碼,你可以根據之前設定的問題,去回答問題並找回密碼
。這樣看似安全的設計,其實有安全的疑慮在A8 - 軟件和數據完整性失敗 (Software and Data Integrity Failures)
A10 - 服務器端請求偽造 (Server-Side Request Forgery (SSRF))
這裡我有把它們三個的內容放在一起,並做成一張圖表,方便大家進行比較
以上就是今天的介紹
希望大家看完能對 OWASP Top10 2013、2017、2021 的版本內容更加了解