學習更多滲透技能!體驗靶場實戰練習
OWASP Top 10是什麼?
跟安全有什麼關係?
為什麼很多大佬在入門指引都會提到要去了解下OWASP Top 10?
作為一個安全人員,如果你還不知道OWASP Top 10是什麼,那麼請你接著往下看
OWASP(開放式Web應用程式安全項目)是一個開源的、非營利性的全球性安全組織,致力於改進Web應用程式的安全,這個組織最出名是,它總結了10種最嚴重的Web應用程式安全風險,警告全球所有的網站擁有者,應該警惕這些最常見、最危險的漏洞。
這就是著名的OWASP Top 10
而近日,OWASP從貢獻者提供的數據中選擇了8個類別,從高水平的行業調查中選擇了2個類別,完成了最新的OWASP Top 10 2021 榜單。
OWASP表示
「我們這麼做的根本原因是,分析貢獻者提供的數據就是回顧過去。
AppSec研究人員花時間尋找新的漏洞和測試它們的新方法。將這些測試集成到工具與流程中需要時間。
當我們能夠可靠地大規模測試某個缺陷的時候,很可能已經過去了很多年。
為了平衡這種觀點,我們採用行業調查的方式來詢問一線人員,了解他們認為數據可能尚未表現出來的基本缺陷。」
總體來說,2021年新鮮出爐的OWASP Top 10榜單出現了三個新的類別,還有四個類別的名稱和範圍發生了變化,甚至還對一些類別進行了合併。
2021 OWASP Top 10榜單及變化A01:訪問控制失效(Broken Access Control)從第五位上升到了第一位。94%的應用程式都經過了某種形式的訪問控制失效測試。
映射到訪問控制失效的34個CWE在應用程式中的出現頻率比其他任何類別都要多。
A02:2021年,加密失敗(Cryptographic Failure)——此前名為「敏感數據暴露」(Sensitive Data Exposure),這一名稱只是描述了廣泛的症狀而非根本原因——上移到了榜單第二位。
此處需要重新關注與密碼學相關的故障,這些故障通常會導致敏感數據暴露或系統受損。
A03:2021年,注入(Injection)下滑到第三位。94%的應用程式都測試了某種形式的注入,注入類別中如今包括跨站腳本。
映射到該類別的33個CWE在應用程式中出現次數第二多。
A04:不安全設計(Insecure Design)是2021年出現的新類別,並且一出場就高居第四位。
此處需要重點關注與設計缺陷相關的風險。如果我們真的想作為一個行業「左移」,就需要更多地使用威脅建模、安全設計模式和原則以及參考架構。
A05:2021年,安全配置錯誤(Security Misconfiguration)從上一版的第6位上升到了第5位。
90%的應用程式都經過了某種形式的錯誤配置測試,隨著轉向高度可配置軟體的趨勢不可逆,看到這一類別排名上升也就不足為奇了。
此前版本的XML外部實體注入(XXE)類別現在也被合併為該類別的一部分。
A06:2021年,脆弱過時組件(Vulnerable and Outdated Component)——此前名為「使用具有已知漏洞的組件」(Using Components with Known Vulnerabilities)——也從第6位一躍進入第6位。
該類別是唯一一個沒有任何CVE映射到所含CWE的類別,因此默認的漏洞與影響權重計5.0分。
A07:2021年,識別與認證失敗(Identification and Authentication Failure)——此前稱為「身份驗證失效」(Broken Authentication)——排名從此前的第2位降到了第7位,而且該類別目前包含更多與識別失敗相關的CWE。
雖然該類別仍然位列Top 10榜單,但標準化框架的可用性增加似乎有助於解決這一問題。
A08:軟體和數據完整性故障(Software and Data Integrity Failure)是2021年新增的一個類別,主要關注缺乏完整性驗證情況下做出與軟體更新、關鍵數據和持續集成/持續交付(CI/CD)流水線相關的各種假設。
CVE/CVSS數據最高加權影響之一映射到該類別中的10個CWE。此前版本中的「不安全反序列化」(Insecure Deserialization)類別如今也被歸入這一更大類別。
A09:2021年,安全日誌與監測失敗(Security Logging and Monitoring Failure)——此前名為「日誌記錄和監控不足」(Insufficient Logging & Monitoring)——從最後一名上升至第9位。
而且該類別已擴展納入了其他類型的故障,雖然這些故障難以測試,並且在CVE/CVSS 數據中沒有得到很好的體現,但卻會直接影響可見性、事件警報和取證。
A10:排在最後一位的伺服器端請求偽造(Server-Side Request Forgery)是2021年新增的類別。
雖然數據顯示其發生率相對較低,但測試覆蓋率卻高於平均水平,並且漏洞利用和影響潛力的評級也高於平均水平。
該類別是行業安全專家為我們預警的一種重要場景,儘管目前並沒有數據能夠證實其危險性。
更多值得關注的威脅根據設定,OWASP Top 10隻能列出10大最嚴重的危險,但事實上,以下四個問題同樣非常值得識別和修復:
代碼質量問題代碼質量問題包括已知的安全缺陷或模式、出於多種目的重用變量、在調試輸出中暴露敏感信息、一對一錯誤、檢查時間/使用時間(TOCTOU)競爭條件、未籤名或籤名轉換錯誤等等。
攻擊者可能會通過使用跨多個線程的靜態共享變量利用競爭條件來獲取或更新敏感信息。
企業組織通常可以通過嚴格的編譯器標誌、靜態代碼分析工具和linter IDE插件來識別它們。
現代語言的設計消除了許多這些問題,例如Rust的內存所有權和借用概念、Rust的線程設計以及 Go的嚴格類型和邊界檢查。
拒絕服務(DoS)如果具備足夠的資源,拒絕服務總是可能發生的。但是,設計和編碼實踐對拒絕服務的嚴重程度有重大影響。
假設任何擁有連結的人都可以訪問一個大文件,或者每個頁面上都會發生計算成本高的事務。在這種情況下,拒絕服務往往只需更少的努力。
企業組織可以考慮對較大對象進行訪問控制,以確保只有經過授權的個人才能訪問大型文件或對象,或通過邊緣緩存網絡為其提供服務。
內存管理錯誤Web應用程式傾向於使用託管內存語言編寫,例如Java、.NET或node.js(JavaScript或TypeScript)。但是,這些語言是用存在內存管理問題的系統語言編寫的,例如緩衝區或堆溢出、整數溢出等。
多年來,有許多沙箱逃逸事件證明,Web應用程式語言名義上是內存「安全的」,而實際並非如此。
許多現代API如今都是用內存安全語言編寫的,例如Rust或Go。
就Rust而言,內存安全是該語言的一個關鍵特性。對於現有代碼,使用嚴格的編譯器標誌、強類型、靜態代碼分析和模糊測試有助於識別內存洩漏、內存和數組溢出等。
總結本質上來說,OWASP Top 10主要是一個意識文件。然而,這並沒有阻止組織自其2003年發布以來將其用作實際上的行業AppSec標準。如果您想使用OWASP Top 10作為編碼或測試標準,請記住它是底線,是起點!
OWASP Top 10榜單的目的是推動安全行業了解數據貢獻公司所面臨的漏洞和漏洞利用趨勢,以更好地迎接和應對挑戰。目前,OWASP Top 10仍處於初版階段,還將隨著安全行業不斷審查其內容而發展完善。
原文地址:http://33h.co/9a0kt
覺得有用,點個「贊」「在看」再走吧