OWASP 發布了2021年草案,全新的OWASP Top 10 2021帶有三個新的類別和排位的變化。
OWASP Top 10是每個Web應用程序的最低或基本安全測試要求。
OWASP Top 10于2003年首次推出,經過多次修訂。現在發布了2021年的報告草案。
2021年前10名發生了什么變化:有三個新類別,四個類別的命名和范圍發生了變化,并且 2021年的前10 名中進行了一些合并。
OWASP Top 10 2021
A01:2021 - Broken Access Control 失效的訪問控制
從 2017 年的第五位上升到首位,它也被稱為授權,它定義了 Web 應用程序如何向某些用戶而不是其他用戶授予對內容和功能的訪問權限。
訪問控制強制執行策略,使用戶不能在其預期權限之外采取行動。故障通常會導致未經授權的信息泄露、修改或破壞所有數據或執行超出用戶限制的業務功能。常見的訪問控制漏洞包括:
1) 通過修改 URL、內部應用程序狀態或 HTML 頁面,或僅使用自定義 API 攻擊工具來繞過訪問控制檢查。
2) 允許將主鍵更改為其他用戶的記錄,允許查看或編輯其他人的帳戶。
3) 特權提升。在未登錄的情況下充當用戶或以用戶身份登錄時充當管理員。
4) 元數據操作,例如重放或篡改 JSON Web 令牌 (JWT) 訪問控制令牌,或用于提升權限或濫用 JWT 失效的 cookie 或隱藏字段。
5) CORS 錯誤配置允許未經授權的 API 訪問。
6) 強制以未經身份驗證的用戶身份瀏覽經過身份驗證的頁面或以標準用戶身份瀏覽特權頁面。訪問 API 時缺少對 POST、PUT 和 DELETE 的訪問控制。
A02:2021 - Cryptographic Failures 加密失敗
從第三位上升到第二位,以前稱為敏感數據泄露(Sensitive Data Exposure),這是廣泛的癥狀而不是根本原因。缺乏加密通常會導致敏感數據泄露或系統受損。
首先是確定傳輸中和靜止數據的保護需求。例如,密碼、信用卡號、健康記錄、個人信息和商業秘密需要額外保護,主要是如果該數據屬于隱私法(例如歐盟的通用數據保護條例 (GDPR))或法規(例如金融數據保護)例如 PCI 數據安全標準 (PCI DSS)。對于所有此類數據:
1) 是否有任何數據以明文形式傳輸?這涉及 HTTP、SMTP 和 FTP 等協議。外部互聯網流量是危險的。驗證所有內部流量,例如,負載平衡器、Web 服務器或后端系統之間的流量。
2) 默認情況下或在較舊的代碼中是否使用任何舊的或弱的加密算法?
3) 是否正在使用默認加密密鑰、生成或重復使用弱加密密鑰,或者是否缺少適當的密鑰管理或輪換?
4) 是否未強制執行加密,例如,是否缺少任何用戶代理(瀏覽器)安全指令或標頭?
5) 用戶代理(例如,應用程序、郵件客戶端)是否不驗證收到的服務器證書是否有效?
A03:2021 - Injection 注入
從第一位下降到第三位,它是一種攻擊者利用未經驗證的輸入漏洞并通過在后端數據庫中執行的 Web 應用程序注入 SQL 命令的技術。
跨站腳本攻擊現在是此版本中此類別的一部分。
應用程序在以下情況下容易受到攻擊:
1) 應用程序不會驗證、過濾或清理用戶提供的數據。
2) 沒有上下文感知轉義的動態查詢或非參數化調用直接在解釋器中使用。
3) 在對象關系映射 (ORM) 搜索參數中使用惡意數據來提取額外的敏感記錄。
4) 直接使用或連接惡意數據。SQL 或命令包含動態查詢、命令或存儲過程中的結構和惡意數據。
一些更常見的注入是 SQL、NoSQL、OS 命令、對象關系映射 (ORM)、LDAP 和表達式語言 (EL) 或對象圖導航庫 (OGNL) 注入。源代碼審查是檢測應用程序是否容易受到注入攻擊的最佳方法。強烈建議對所有參數、標頭、URL、cookie、JSON、SOAP 和 XML 數據輸入進行自動化測試。組織可以將靜態源 (SAST) 和動態應用程序測試 (DAST) 工具包含到 CI/CD 管道中,以在生產部署之前識別引入的注入缺陷。
A04:2021 - Insecure Design 不安全的設計
這是 OWASP Top 2021 的一個新類別,它關注與設計和架構缺陷相關的風險。
不安全設計是一個廣泛的類別,代表許多不同的缺陷,表現為缺失或無效的控制設計。缺少不安全的設計是缺少控制的地方。例如,想象一下應該加密敏感數據的代碼,但沒有方法。無效的不安全設計是可以實現威脅的地方,但域(業務)邏輯驗證不足會阻止該操作。例如,假設域邏輯應該根據收入等級處理流行病稅收減免,但不驗證所有輸入都已正確簽名并提供比應授予的更重要的減免收益。
安全設計是一種文化和方法,它不斷評估威脅并確保代碼經過穩健設計和測試,以防止已知的攻擊方法。安全設計需要安全的開發生命周期、某種形式的安全設計模式或鋪砌道路組件庫或工具,以及威脅建模。
A05:2021 - Security Misconfiguration 安全配置錯誤
從第六位移至第五位,它側重于跨應用程序堆棧的安全加固或對云服務的權限配置不當。
XML 外部實體 (XXE) (XML External Entities,XXE)現在屬于此類別。
如果應用程序是:
1) 在應用程序堆棧的任何部分缺少適當的安全強化或對云服務的權限配置不正確。
2) 啟用或安裝了不必要的功能(例如,不必要的端口、服務、頁面、帳戶或權限)。
3) 默認帳戶及其密碼仍處于啟用狀態且未更改。
4) 錯誤處理向用戶顯示堆棧跟蹤或其他信息過多的錯誤消息。
5) 對于升級的系統,最新的安全功能被禁用或未安全配置。
6) 應用程序服務器、應用程序框架(例如,Struts、Spring、ASP.NET)、庫、數據庫等中的安全設置未設置為安全值。
7) 服務器不發送安全標頭或指令,或者它們未設置為安全值。
8) 軟件已過時或易受攻擊(請參閱 A06:2021-易受攻擊和過時的組件)。
如果沒有協調一致的、可重復的應用程序安全配置過程,系統將面臨更高的風險。
A06:2021 - Vulnerable and Outdated Components 易受攻擊和過時的組件
從第九位升至第六位,是我們難以測試和評估風險的已知問題。此類別重點關注客戶端和服務器端使用的所有易受攻擊的組件版本。
你的系統可能很脆弱:
1) 如果您不知道您使用的所有組件的版本(客戶端和服務器端)。這包括您直接使用的組件以及嵌套的依賴項。
2) 如果軟件易受攻擊、不受支持或已過期。這包括操作系統、Web/應用程序服務器、數據庫管理系統 (DBMS)、應用程序、API 和所有組件、運行時環境和庫。
3) 如果您不定期掃描漏洞并訂閱與您使用的組件相關的安全公告。
4) 如果您沒有以基于風險的方式及時修復或升級底層平臺、框架和依賴項。這通常發生在修補是變更控制下的每月或每季度任務的環境中,使組織面臨數天或數月不必要地暴露于固定漏洞的風險。
5) 如果軟件開發人員不測試更新、升級或修補的庫的兼容性。
6) 如果您不保護組件的配置(請參閱 A05:2021-安全配置錯誤)。
A07:2021 – Identification and Authentication Failures 認證和授權失敗
以前它被稱為損壞的身份驗證(Broken Authentication),此類別側重于身份驗證失敗。從第二位下滑到第七位。
它會導致自動攻擊,例如攻擊者使用用戶名和密碼列表的憑據填充。
確認用戶的身份、身份驗證和會話管理對于防止與身份驗證相關的攻擊至關重要。如果應用程序存在以下情況,則可能存在身份驗證漏洞:
1) 允許自動攻擊,例如撞庫,其中攻擊者擁有有效用戶名和密碼的列表。
2) 允許蠻力或其他自動攻擊。
3) 允許使用默認密碼、弱密碼或眾所周知的密碼,例如“Password1”或“admin/admin”。
4) 使用弱或無效的憑據恢復和忘記密碼流程,例如無法確保安全的“基于知識的答案”。
5) 使用純文本、加密或弱散列密碼(請參閱 A3:2017-敏感數據泄露)。
6) 缺少或無效的多因素身份驗證。
7) 在 URL 中公開會話 ID(例如,URL 重寫)。
8) 成功登錄后不要輪換會話 ID。
9) 不會正確地使會話 ID 無效。用戶會話或身份驗證令牌(主要是單點登錄 (SSO) 令牌)在注銷或一段時間不活動期間未正確失效。
A08:2021 – Software and Data Integrity Failures 軟件和數據完整性故障
這是 OWASP Top 10 2021 中引入的一個新類別,它側重于與無法防止完整性違規的代碼和基礎設施相關的軟件和數據完整性故障。
2017 年的不安全反序列化(Insecure Deserialization)現在是這一大類別的一部分。
軟件和數據完整性故障與不能防止完整性違規的代碼和基礎設施有關。例如,在對象或數據被編碼或序列化為攻擊者可以看到和修改的結構的情況下,很容易受到不安全的反序列化的影響。另一種形式是應用程序依賴來自不受信任的來源、存儲庫和內容交付網絡 (CDN) 的插件、庫或模塊。不安全的 CI/CD 管道可能會導致未經授權的訪問、惡意代碼或系統受損。最后,許多應用程序現在包括自動更新功能,其中更新在沒有充分完整性驗證的情況下被下載并應用于以前受信任的應用程序。攻擊者可能會上傳自己的更新以分發并在所有安裝上運行。
A09:2021 – Security Logging and Monitoring Failures 安全日志記錄和監控失敗
以前是日志記錄和監控不足(Insufficient Logging&Monitoring),從第十位前進一步,此類別已擴展為包括更多類型的故障。此類別有助于檢測、升級和響應活動的違規行為。
此類故障會直接影響可見性、事件警報和取證。
如果沒有日志記錄和監控,就無法檢測到漏洞。任何時候都會發生日志記錄、檢測、監控和主動響應不足的情況:
1) 不記錄可審計的事件,例如登錄、失敗登錄和高價值交易。
2) 警告和錯誤不會生成、不充分或不清楚的日志消息。
3) 不會監控應用程序和 API 的日志是否存在可疑活動。
4) 日志僅存儲在本地。
5) 適當的警報閾值和響應升級流程沒有到位或有效。
6) DAST 工具(例如 OWASP ZAP)的滲透測試和掃描不會觸發警報。
7) 應用程序無法實時或接近實時地檢測、升級或警告主動攻擊。
通過使用戶或攻擊者可以看到日志記錄和警報事件,您很容易受到信息泄漏的影響(請參閱 A01:2021 – 損壞的訪問控制)。
A10:2021 – Server-Side Request Forgery (SSRF) 服務器端請求偽造
此類別是新添加的。側重于保護 Web 應用程序在不驗證用戶提供的 URL 的情況下獲取遠程資源的連接。
每當 Web 應用程序在未驗證用戶提供的 URL 的情況下獲取遠程資源時,就會出現 SSRF 缺陷。它允許攻擊者強制應用程序將精心設計的請求發送到意外目的地,即使受到防火墻、VPN 或其他類型的網絡 ACL 的保護也是如此。
隨著現代 Web 應用程序為最終用戶提供方便的功能,獲取 URL 成為一種常見情況。因此,SSRF 的發病率正在增加。此外,由于云服務和架構的復雜性,SSRF 的嚴重性越來越高。
OWASP介紹:
OWASP是一個開源的、非盈利的全球性安全組織,致力于應用軟件的安全研究。OWASP的使命是使應用軟件更加安全,使企業和組織能夠對應用安全風險做出更清晰的決策。目前OWASP全球擁有250個分部近7萬名會員,共同推動了安全標準、安全測試工具、安全指導手冊等應用安全技術的發展。
及時掌握網絡安全態勢 盡在傻蛋網絡安全監測系統
本文來源:owasp
如涉及侵權,請及時與我們聯系,我們會在第一時間刪除或處理侵權內容。
電話:400-869-9193 負責人:張明