公開賽Web 应用程式安全計畫 (OWASP) 是一個開源应用程式安全社区,其目標是提高軟體的安全性。 OWASP Top 10 是一項行业標準指南,列出了最關鍵的应用程式安全風險,以幫助开发人员更好地保護他們設計和部署的應用程式。
由於安全風險在不斷演變,OWASP Top 10 清單會定期修訂以反映這些變化。在 2021 年發布的最新版本的 OWASP Top 10 中,某些不再構成嚴重威脅的漏洞類型被最有可能構成重大風險的漏洞所取代。
雖然 OWASP Top 10 是開始保護應用程式的好地方,但它當然不應被視為最終目標,因為一些被引用最多的漏洞沒有進入 OWASP Top 10 2021。為了防範軟體弱點,防禦者需要更廣泛地了解他們的資訊技术堆棧。這意味著IT安全專業人員需要關注整個軟體生態系統,並超越「傳統」漏洞來源。
每當將不受信任的數據源發送到解釋器時,都可能引入注入缺陷。示例通常出現在 SQL、LDAP、XPath 或 NoSQL 動態資料庫查詢中,其中包含使用者提供的輸入。攻擊者將代碼注入使用者輸入,誘騙查詢解釋器執行惡意命令。
是什麼让应用程式容易受到注入缺陷的影响?
注射缺陷有什麼影响?
怎麼可以Fortify 幫助解決注射缺陷?
在有狀態應用程式中管理身份或會話數據時,可能會引入中斷的身份驗證。當註冊、憑證恢復和 API 路徑容易受到未過期的會話令牌、暴力破解或帳戶枚舉的影響時,通常會發現範例。攻擊者冒充合法使用者的身份,控制帳戶並破壞數據、流程或系統。
是什麼让应用程式容易受到身份验证破坏?
身份验证中断会带来什麼影响?
怎麼可以Fortify 幫助?
當應用程式訪問未加密的數據時,可能會引入敏感數據洩露問題,尤其是個人身份資訊 (PII) 和其他受監管的數據類型。當在遺留應用程式中使用弱加密密碼、安全傳輸協定實現不正確或未使用以資料為中心的安全性時,通常會發現範例。攻擊者可以訪問敏感的用戶數據,從而在現實生活中獲得控制權。
是什麼让应用程式容易受到敏感数据洩露?
敏感数据洩露会带来什麼影响?
怎麼可以Fortify 幫助敏感資料暴露?
當包含對外部實體的引用的 XML 輸入由配置較弱的分析器處理時,可能會引入 XML 外部實體問題。在啟用文檔類型定義 (DTD) 或使用未修補的框架(如 SOAP 1.0)時,分析來自不受信任源的 XML 輸入的應用程式中經常會找到範例。XML 無處不在 — 從 SVG 和影像檔到網路協定和文件格式(如 PDF 和 RSS)。攻擊者在 XML 輸入中引用外部實體,導致處理器被利用來提取數據、遠端執行代碼或影響網路服務。
是什麼使應用程式容易受到 XML 外部實體的攻擊?
XML 外部實體有什麼影響?
怎麼可以Fortify 有關 XML 外部實體的協助?
当代码和环境限制不完全重叠或在多个位置為类似功能定义时,可能会引入访问控制问题。当通过强制流览受限页面来破坏隐蔽性时,或者当应用程式以多种方式和位置定义复杂的访问控制方法时,通常会发现范例。攻击者可以破坏访问边界以窃取敏感数据或中断操作。
是什麼让应用程式容易受到访问控制破坏的影响?
访问控制中断会带来什麼影响?
怎麼可以Fortify 幫助解決損壞的存取控制?
在應用程式或其底層環境的配置過程中,可能會引入安全配置錯誤缺陷。錯誤設定可能發生在應用程式堆疊的任何級別 — 從網路服務和應用程式伺服器到容器和存儲。示例通常出現在預設帳戶和配置、「洩漏」錯誤消息或未修補的框架和服務中。攻擊者可以獲取部署資訊和對特權數據的訪問許可權,從而破壞操作。
是什麼使应用程式容易受到安全错误配置的影响?
安全配置错误会带来什麼影响?
影响可能从信息洩露到完全系统洩露不等。
怎麼可以Fortify 幫助解決安全配置錯誤?
當不受信任、未經審查的使用者輸入作為 HTML 的一部分執行時,或者當使用者可能受到影響與惡意鏈接進行互動時,可能會引入跨網站腳本 (XSS) 缺陷。當來自 JavaScript 或 Flash 等語言的熟悉代碼結構被接受來自不受信任的來源或存儲以供其他使用者代理稍後顯示時,通常會發現範例。攻擊者可以在使用者的計算機上執行遠端代碼執行、竊取憑據或從重定向網站傳遞惡意軟體。
是什麼讓應用程式容易受到跨網站腳本 (XSS) 的攻擊?
XSS 有三種形式,通常面向使用者代理,例如瀏覽器:
跨網站腳本 (XSS) 有何影響?
怎麼可以Fortify 跨站腳本 (XSS) 方面的幫助嗎?
當語言和框架允許將不受信任的序列化數據擴展為物件時,通常會引入不安全的反序列化缺陷,這通常是在 Web 應用程式與使用者通信或保存應用程式狀態時。當开发人员對在反序列化過程中可以自行執行的方法不施加任何限制時,通常會發現範例。攻擊者利用這些在應用程式邏輯槓桿之外調用的「小工具鏈」來遠端執行代碼、拒絕服務或獲得未經授權的訪問。
是什麼让应用程式容易受到不安全的反序列化的影响?
不安全的反序列化会带来什麼影响?
怎麼可以Fortify 幫助解決不安全的反序列化?
当将开源或第叁方框架和库引入应用程式并以相同的许可权运行时,可能会引入这些缺陷。例如,基於元件的开发导致缺乏对与依赖项相关的风险的理解,并且元件或系统很难或不可能修补。攻击者利用易受攻击的元件进行了歷史上一些最大的违规行為,儘管漏洞的范围从应用程式洩露到远端代码执行。
是什麼让应用程式容易受到开源或第叁方框架和库的攻击?
使用具有已知漏洞的元件会带来什麼影响?
雖然一些已知漏洞只會導致輕微的影響,但一些最大的已知漏洞,如 Heartbleed 和 Shellshock,依賴於利用共用元件中的已知漏洞。使用具有已知代碼漏洞的元件可能會導致在受影響的伺服器上遠端執行代碼,從而使攻擊者能夠完全控制計算機。
怎麼可以Fortify 幫助開源安全?
當對攻擊媒介或應用程式不當行為沒有很好的理解,或者沒有遵循監視入侵指標的最佳實踐時,可能會引入不充分的日誌記錄和監視缺陷。在沒有日誌記錄功能的遺留系統中,當應用程式滲透測試的日誌未被檢查時,或者當日誌沒有提供足夠的詳細資訊來了解攻擊者的行為時,通常會發現這樣的例子。攻擊者平均需要關於 200 天的時間進行檢測,而檢測通常是從外部發現的,以建立持久性並轉向其他易受攻擊的系統。
是什麼使应用程式容易受到日誌记录和监视不足的影响?
日誌记录和监视不足会带来什麼影响?
大多数成功的攻击都是从漏洞探测开始的。允许此类探测继续进行可以提高成功利用漏洞的可能性。攻击者可能会建立持久性、后门应用程式和操作系统、窃取数据或以其他方式获得未被注意、未经授权的系统控制权。如果安全关键资讯没有被正确记录或存储,则取证分析将无法发现攻击源。如果攻击者保持对日誌记录功能的控制,则瞭解存在问题可能会变得更加困难或不可能。
怎麼可以Fortify 幫助解決日誌記錄和監控不足的問題?
雖然距離2017年發佈上一個前10名只有四年時間,但网路安全行业發生了許多變化,這讓我們對最優先的問題或要添加哪些新問題三思而後行。
引入了叁个新类别:
础04:2021
不安全设计:此类别侧重於设计缺陷。这是必要的,因為在开发中左移的运动也需要威胁建模的左移。
础08:2021
軟體和數據完整性故障:重點關注有關軟體更新、關鍵數據和 CI/CD 管道的假設,而不驗證它們可能影響的完整性。這也納入了 A08:2017 – 不安全的反序列化。
答10:2021
伺服器端請求偽造 (SSRF):此類別在社区調查中大多位列前 10 名。他們之所以強調這個漏洞,是因為其可利用性和影響高於平均水準。
其他更改
其他类别要麼更改了名称,要麼移动了排名,要麼合併到其他类别中:
想看看如何Fortify 可以幫助您的組織嗎?
Fortify 讓您可以使用应用程式安全平台快速建立安全軟體,該平台可在整個 CI/CD 管道中自動進行測試,使开发人员能夠快速解決問題。
解锁安全测试、漏洞管理以及量身定製的专业知识和支援
及早发现并修復安全问题,获得业内最準确的结果
識別已部署的 Web 應用程式和服務中的漏洞
更智慧、更简单的保护