開放 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名只有四年時間,但網路安全行業發生了許多變化,這讓我們對最優先的問題或要添加哪些新問題三思而後行。
引入了三個新類別:
A04:2021
不安全設計:此類別側重於設計缺陷。這是必要的,因為在開發中左移的運動也需要威脅建模的左移。
A08:2021
軟體和數據完整性故障:重點關注有關軟體更新、關鍵數據和 CI/CD 管道的假設,而不驗證它們可能影響的完整性。這也納入了 A08:2017 – 不安全的反序列化。
答10:2021
伺服器端請求偽造 (SSRF):此類別在社區調查中大多位列前 10 名。他們之所以強調這個漏洞,是因為其可利用性和影響高於平均水準。
其他更改
其他類別要麼更改了名稱,要麼移動了排名,要麼合併到其他類別中:
想看看如何 Fortify 可以説明你的組織嗎?開始你的免費試用 15 天 Fortify 按需提供 OpenText™ 現在
Fortify 允許您使用應用程式安全平臺快速構建安全軟體,該平臺可在整個 CI/CD 管道中自動執行測試,使開發人員能夠快速解決問題。
解鎖安全測試、漏洞管理以及量身定製的專業知識和支援
及早發現並修復安全問題,獲得業內最準確的結果
識別已部署的 Web 應用程式和服務中的漏洞
更智慧、更簡單的保護