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