十大Web應(yīng)用安全威脅及防護(hù)建議(2021-2023年)
OWASP(Open Worldwide Application Security Project)是一家致力于應(yīng)用安全威脅研究的非盈利機(jī)構(gòu)。通過對超過20萬個組織進(jìn)行調(diào)研分析,該機(jī)構(gòu)每三年左右就會發(fā)布一次《Web應(yīng)用安全風(fēng)險Top10》報告,這個報告已經(jīng)成為全球企業(yè)開展Web應(yīng)用安全防護(hù)時的重要參考。然而最近,卡巴斯基的一個安全研究小組卻發(fā)現(xiàn),OWASP 所給出的Web應(yīng)用安全威脅排名,和其實際遵循黑盒、灰盒和白盒等應(yīng)用程序風(fēng)險評估方法實際測試后所得出的結(jié)論有著較大差異,組織應(yīng)該根據(jù)威脅的潛在影響和可利用性,更靈活地評估自身Web應(yīng)用安全威脅態(tài)勢。
在本次測試中,卡巴斯基的安全研究團(tuán)隊在2021年至2023年上線的Web應(yīng)用程序安全評估樣本中收集數(shù)據(jù),其中近一半的應(yīng)用程序(44%)用Java編寫,其次是用NodeJS(17%)和PHP(12%)編寫,有三分之一以上(39%)的應(yīng)用程序使用了微服務(wù)架構(gòu)。測試人員遵循黑盒、灰盒和白盒方法對所獲得的數(shù)據(jù)進(jìn)行了評估分析,并以此總結(jié)了過去三年(2021-2023年)全球企業(yè)組織面臨的最普遍、最嚴(yán)重的10大Web應(yīng)用安全威脅(詳見下表)。
圖片
1、訪問控制中斷
本次測試所分析的所有Web應(yīng)用程序中,70%的項目被發(fā)現(xiàn)含有與訪問控制問題相關(guān)的安全威脅。而幾乎一半的訪問控制中斷安全威脅具有中等風(fēng)險級別,37%的項目具有高級別風(fēng)險。這些風(fēng)險隱患可能導(dǎo)致Web應(yīng)用程序出錯,并影響組織的業(yè)務(wù)開展。對于Web應(yīng)用程序而言,所提交的數(shù)據(jù)驗證不足將使攻擊者可以非法訪問內(nèi)部服務(wù),并可能執(zhí)行導(dǎo)致財務(wù)損失的攻擊。
圖片
防護(hù)建議:
組織應(yīng)該根據(jù)基于角色的訪問模式實施身份驗證和授權(quán)控制。除非某個Web應(yīng)用程序是面向所有人公開訪問,否則就應(yīng)該在默認(rèn)情況下拒絕訪問。
2、數(shù)據(jù)泄露
這種類型的安全威脅在Web應(yīng)用程序中大量存在。與訪問控制中斷相比,敏感數(shù)據(jù)泄露含有數(shù)量更多的低風(fēng)險級漏洞隱患,但也存在高級別的風(fēng)險漏洞。研究人員在分析過程中發(fā)現(xiàn)的敏感數(shù)據(jù)包括純文本密碼和憑據(jù)、Web應(yīng)用程序發(fā)布完整路徑以及其他可用于了解應(yīng)用程序架構(gòu)的涉密信息。
圖片
防護(hù)建議:
應(yīng)該嚴(yán)格禁止在Web應(yīng)用程序發(fā)布目錄中存儲含有敏感數(shù)據(jù)(如密碼或備份)的文件。同時,在訪問應(yīng)用程序函數(shù)時需要加強敏感數(shù)據(jù)檢測防護(hù),除非該函數(shù)本身用于訪問敏感數(shù)據(jù)。
3、服務(wù)器端請求偽造(SSRF)
云計算和微服務(wù)架構(gòu)的應(yīng)用已經(jīng)非常普遍,與傳統(tǒng)架構(gòu)相比,會有更多的服務(wù)通過HTTP(或其他輕量級協(xié)議)進(jìn)行通信,因此微服務(wù)架構(gòu)擴(kuò)大了SSRF濫用的攻擊面。在本次測試所分析的應(yīng)用程序中,一半以上(57%)的應(yīng)用程序含有服務(wù)器端請求偽造安全威脅,這讓惡意攻擊者可以繞過應(yīng)用程序邏輯與內(nèi)部服務(wù)進(jìn)行非法鏈接通信。惡意分子還可以結(jié)合使用SSRF與其他漏洞,策劃攻擊Web服務(wù)器的方法或讀取應(yīng)用程序源代碼。
圖片
防護(hù)建議:
組織應(yīng)該為應(yīng)用程序可以請求的資源創(chuàng)建一份允許列表(白名單),并阻止請求該列表之外的任何資源,不接受含有完整URL的請求。此外,還設(shè)置防火墻過濾器,防止用戶訪問未授權(quán)的域。
4、SQL注入
在本次測試中,研究人員發(fā)現(xiàn)大多數(shù)高風(fēng)險漏洞都與SQL注入有關(guān)。不過,由于測試中所分析的應(yīng)用程序中只有不到一半(43%)的項目易受該類安全威脅的攻擊,因此研究人員將該類別排在10大Web應(yīng)用安全威脅的第四位。
這種類型的漏洞可能導(dǎo)致敏感信息被盜或遠(yuǎn)程代碼執(zhí)行。在一些測試項目中,研究人員對那些向公眾用戶開放注冊的應(yīng)用程序?qū)嵤┝薙QL注入,最終成功獲得了內(nèi)部系統(tǒng)管理員的憑據(jù)。
圖片
防護(hù)建議:
組織應(yīng)該在應(yīng)用程序源代碼中使用參數(shù)化的SQL查詢,而不是將它們與SQL查詢模板相結(jié)合。如果不能使用參數(shù)化的SQL查詢,就應(yīng)該優(yōu)先確保用戶輸入并用于生成SQL查詢的數(shù)據(jù)無法用于修改查詢邏輯。
5、跨站腳本(XSS)
本次測試所分析的Web應(yīng)用程序中61%存在跨站腳本安全威脅。在大多數(shù)情況下,這一威脅具有中等風(fēng)險水平,因此研究人員將其排在第五位,盡管它很普遍。超過一半(55%)的XSS漏洞與第三方科技公司開發(fā)的應(yīng)用程序有關(guān),39%的XSS漏洞與公共部門使用的應(yīng)用程序有關(guān)。
針對應(yīng)用程序客戶端的XSS攻擊可用于獲取用戶身份驗證信息,比如cookie、網(wǎng)絡(luò)釣魚或傳播惡意軟件。在一些攻擊場景中,結(jié)合其他安全漏洞的XSS攻擊允許將用戶密碼改為已知值,從而利用該用戶的特權(quán)獲得應(yīng)用程序訪問權(quán)。
防護(hù)建議:
組織可以將HTML頁面中不安全的格式化字符替換為非格式化的等效字符,并提供處理用戶輸入的安全機(jī)制。針對從外部數(shù)據(jù)源獲得,并在瀏覽器中顯示的任何數(shù)據(jù),都應(yīng)該這么做。
6、中斷的身份驗證
研究人員在這個類別中發(fā)現(xiàn)的幾乎一半的安全威脅具有中等風(fēng)險水平(47%),但也存在高風(fēng)險漏洞,允許代表用戶的客戶端訪問Web應(yīng)用程序。比如說,某個應(yīng)用程序沒有JWT(Jason Web Token)簽名檢查,惡意分子就可以篡改自己的JWT(通過指定另一個用戶的ID來篡改),并使用生成的令牌在賬戶內(nèi)執(zhí)行各種操作。
防護(hù)建議:
組織應(yīng)該對用于訪問應(yīng)用程序的身份驗證數(shù)據(jù)進(jìn)行適當(dāng)?shù)尿炞C。如果使用令牌和會話ID簽名,進(jìn)行驗證。用于身份驗證的密文(密鑰和簽名等)應(yīng)該是唯一的,并具有高度的熵。此外,組織要嚴(yán)格禁止在應(yīng)用程序代碼中存儲密文。
7、安全配置不當(dāng)
研究人員發(fā)現(xiàn),在所有被測試的應(yīng)用程序中,近一半的項目存在安全配置不當(dāng)?shù)耐{隱患。該類漏洞涵蓋從啟用的調(diào)試模式到禁用的身份驗證等一系列安全威脅。例如,一個應(yīng)用程序的Nginx服務(wù)器允許訪問父目錄下的文件(相對于Alias指令中指定的目錄),這就導(dǎo)致了可以用于訪問含有機(jī)密數(shù)據(jù)的文件。
防護(hù)建議:
組織在配置IT基礎(chǔ)設(shè)施中使用的系統(tǒng)時,應(yīng)遵循安全最佳實踐。應(yīng)該將設(shè)置過程自動化,以消除安裝新系統(tǒng)時出現(xiàn)的錯誤。此外,對測試系統(tǒng)和生產(chǎn)系統(tǒng)使用不同的憑據(jù),并禁用不使用的組件。
8、蠻力攻擊防護(hù)不足
在本次測試的應(yīng)用程序中,超過三分之一允許蠻力攻擊。一次性密碼和針對各種資源(比如賬戶或文件系統(tǒng))的身份驗證是Web應(yīng)用程序中最易受攻擊的因素。
具體來說,當(dāng)組織對蠻力攻擊防護(hù)能力不足時,攻擊者就會通過蠻力執(zhí)行OTP攻擊,從而繞過現(xiàn)有的身份驗證因素,未經(jīng)授權(quán)訪問應(yīng)用程序。
防護(hù)建議:
組織應(yīng)該使用CAPTCHA使攻擊者更難蠻力破解憑據(jù)。用戶還可以使用預(yù)防控制(WAF和IPS)及時阻止蠻力攻擊嘗試,不僅應(yīng)對針對同一賬戶的多次失效登錄,還可以應(yīng)對同一來源針對不同賬戶的多次失效登錄。
9、薄弱的用戶密碼
在本次測試的所有Web應(yīng)用程序中,22%的項目被發(fā)現(xiàn)應(yīng)用了薄弱密碼。這類漏洞的比例比較低,一個解釋是,安全分析師經(jīng)常使用客戶測試平臺,而不是實際系統(tǒng)。雖然含有此類漏洞的應(yīng)用程序數(shù)量很少,但利用弱憑據(jù)的后果可能很嚴(yán)重。視賬戶類型的不同,攻擊者可以訪問基本的應(yīng)用程序功能或管理場景,這可能會影響業(yè)務(wù)流程。
防護(hù)建議:
組織應(yīng)該實施弱密碼檢查機(jī)制,比如針對10000個最薄弱的密碼列表執(zhí)行檢查,以發(fā)現(xiàn)新密碼或更改的密碼。強制執(zhí)行密碼長度、復(fù)雜性和過期要求,以及其他基于證據(jù)的現(xiàn)代密碼策略。
10、未修復(fù)的已知漏洞
最后一項安全威脅是Web應(yīng)用程序中存在大量未修復(fù)的已知漏洞。易受攻擊的組件包括框架和各種應(yīng)用程序依賴項,比如庫和模塊。其中一些允許研究人員訪問應(yīng)用程序使用的服務(wù)器,從而滲入到客戶的內(nèi)部網(wǎng)絡(luò)。
防護(hù)建議:
組織應(yīng)該定期清點用戶使用的軟件組件,并根據(jù)需要進(jìn)行補丁更新。同時,應(yīng)該僅使用已成功通過安全測試的受信任組件,禁用任何未使用的組件。
參考鏈接:
https://securelist.com/top-10-web-app-vulnerabilities/112144/