5大Web應(yīng)用安全威脅與7大防護(hù)措施
譯文【51CTO.com快譯】由于極其容易出現(xiàn)漏洞、并引發(fā)安全事故,因此數(shù)據(jù)隱私的保護(hù)是目前絕大多數(shù)企業(yè)不可繞過的運(yùn)維環(huán)節(jié)。不過,許多中小型企業(yè)往往會(huì)錯(cuò)誤地認(rèn)為只有大型企業(yè)才會(huì)成為黑客的目標(biāo)。而實(shí)際統(tǒng)計(jì)數(shù)字卻截然不同:有43%的網(wǎng)絡(luò)犯罪恰恰是針對(duì)小型企業(yè)的。而且,無論是系統(tǒng)陳舊且未給漏洞打上安全補(bǔ)丁,還是各種惡意軟件,甚至是一些人為的錯(cuò)誤,都可以成為系統(tǒng)的受攻擊面。
如果仔細(xì)觀察當(dāng)前的網(wǎng)絡(luò)威脅態(tài)勢(shì),您可能會(huì)驚訝地發(fā)現(xiàn),90%的Web應(yīng)用都可能成為攻擊者的潛在目標(biāo)。因此,為了讓應(yīng)用程序和數(shù)據(jù)資產(chǎn)免受威脅,各大在線社區(qū)(例如OWASP和NIST)努力制定了各種安全標(biāo)準(zhǔn)和優(yōu)秀實(shí)踐,并以免費(fèi)的文檔、方法、工具等形式,協(xié)助企業(yè)通過對(duì)照實(shí)施,來增強(qiáng)其IT環(huán)境的安全態(tài)勢(shì)。
在我們開始深入討論之前,讓我們首先來看一些驚人的統(tǒng)計(jì)數(shù)據(jù):
- 僅在2020年上半年間,企業(yè)數(shù)據(jù)的泄露量已累計(jì)高達(dá)360億條記錄。
- 86%的網(wǎng)絡(luò)安全泄漏是出于經(jīng)濟(jì)目的,而有10%是源于間諜活動(dòng)。
- 從分類來看,有45%的泄漏源于黑客攻擊,17%源于惡意軟件,22%與網(wǎng)絡(luò)釣魚有關(guān)。
- 許多金融企業(yè)會(huì)讓員工不受限地訪問各類文檔資源,他們甚至可以訪問到本企業(yè)內(nèi)部大約17%的敏感文件(約1100萬個(gè)文件)。
- 平均而言,只有5%的公司文件夾受到了適當(dāng)?shù)谋Wo(hù)。而且,有超過77%的企業(yè)并無事件響應(yīng)計(jì)劃。
可見,針對(duì)上述威脅,我們應(yīng)采取主動(dòng)的Web安全策略,以及嚴(yán)格的措施,來確保敏感的數(shù)據(jù)信息、Web應(yīng)用、以及信息系統(tǒng)等資產(chǎn),免受攻擊與侵害。下面,我將和您討論五種最主要的Web應(yīng)用安全威脅,以及七種行之有效的防護(hù)措施與實(shí)踐。
1.注入漏洞
注入漏洞會(huì)讓攻擊者方便將惡意代碼植入到目標(biāo)應(yīng)用系統(tǒng)(如,解析器)中。簡(jiǎn)而言之,如果您的Web應(yīng)用允許用戶將其輸入的信息插入后端數(shù)據(jù)庫(kù),或使用shell命令對(duì)操作系統(tǒng)進(jìn)行調(diào)用,那么您的應(yīng)用就可能會(huì)受到注入漏洞的影響。
當(dāng)然,您可以通過檢查應(yīng)用的源代碼,或?qū)?yīng)用進(jìn)行徹底的滲透測(cè)試,來發(fā)現(xiàn)此類漏洞。注入漏洞最常見的類型是SQL注入。攻擊者會(huì)在SQL查詢中,插入惡意代碼,并將其轉(zhuǎn)發(fā)到后端數(shù)據(jù)庫(kù)服務(wù)器上,實(shí)施遠(yuǎn)程盜竊或攻擊。
除常見的SQL注入之外,目前還有LDAP注入、XML注入、XPATH注入、OS命令注入、以及HTML注入。我們通??梢酝ㄟ^適當(dāng)、及時(shí)地檢查與清理用戶的輸入,來防范此類威脅。
2.身份驗(yàn)證失敗
身份驗(yàn)證失敗是由身份驗(yàn)證和會(huì)話管理控件的實(shí)施不當(dāng)而引起的。如果攻擊者能夠成功地識(shí)別和利用那些與身份驗(yàn)證相關(guān)的漏洞,那么他們就能直接訪問到各種敏感數(shù)據(jù)和功能。
為了利用身份驗(yàn)證漏洞,攻擊者需要通過采用諸如:憑證填充、會(huì)話劫持、密碼暴力破解、以及會(huì)話ID URL重寫等方法,來模擬應(yīng)用程序的合法用戶。
我們可以通過實(shí)施健全的會(huì)話管理控制、多因素身份驗(yàn)證、限制和監(jiān)視失敗的登錄嘗試,來防范此類攻擊。更多預(yù)防措施,請(qǐng)參見--https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html。
3.敏感數(shù)據(jù)泄漏
當(dāng)Web應(yīng)用不能充分保護(hù)諸如:會(huì)話ID、密碼、財(cái)務(wù)信息、以及客戶數(shù)據(jù)等敏感信息時(shí),數(shù)據(jù)泄露就會(huì)發(fā)生。
此類泄漏的內(nèi)部原因主要包括:未對(duì)敏感數(shù)據(jù)實(shí)施加密,僅采用了弱加密方式,軟件應(yīng)用的本身漏洞,以及操作員將數(shù)據(jù)上傳至錯(cuò)誤的數(shù)據(jù)庫(kù)等方面。而外部攻擊因素則包括:SQL注入、身份驗(yàn)證與訪問控制的破壞、網(wǎng)絡(luò)釣魚攻擊、以及針對(duì)明文協(xié)議HTTP、FTP和SMTP傳輸數(shù)據(jù)等網(wǎng)絡(luò)級(jí)別的攻擊。
為了應(yīng)對(duì)此類泄漏,我們可以采取的主要措施包括:徹底檢查應(yīng)用程序的源代碼與IT環(huán)境,尤其是正在使用安全密碼算法等方面。
4. XML外部實(shí)體
XML外部實(shí)體注入(通常被稱為XML External Entity,XXE)可以讓攻擊者通過Web應(yīng)用的漏洞,干擾應(yīng)用對(duì)于XML數(shù)據(jù)的處理。此類攻擊往往會(huì)導(dǎo)致諸如拒絕服務(wù)、數(shù)據(jù)泄露、服務(wù)器端請(qǐng)求偽造等問題。
我們可以通過實(shí)施服務(wù)器端的輸入驗(yàn)證,修補(bǔ)和升級(jí)所有XML處理器,以及使用SAST工具來分析源代碼等方法,來有效地防止XML外部實(shí)體注入。
5.受損的訪問控制
從概念上說,訪問控制機(jī)制就是要確定用戶是否可以執(zhí)行,與之身份和權(quán)限相符的操作。而當(dāng)用戶可以在其預(yù)期權(quán)限之外執(zhí)行某項(xiàng)操作時(shí),那么就出現(xiàn)了訪問控制的破壞。
受損的訪問控制通常會(huì)導(dǎo)致:未經(jīng)授權(quán)的信息泄露、數(shù)據(jù)被直接修改或破壞、以及業(yè)務(wù)功能偏離預(yù)期用途等情況。我們可以通過在受信任的服務(wù)器端代碼中、或無服務(wù)器的API中,強(qiáng)制使用完備的訪問控制機(jī)制,來防止攻擊者修改元數(shù)據(jù)(metadata),或繞過正常的訪問控制檢查。
鑒于Web應(yīng)用在當(dāng)下激烈競(jìng)爭(zhēng)與快速發(fā)展的商業(yè)環(huán)境中尤為重要,我們可以通過如下七種針對(duì)Web應(yīng)用的安全性防護(hù)措施與實(shí)踐,來協(xié)助企業(yè)保護(hù)系統(tǒng)與數(shù)據(jù)。
1.定義并采用合適的網(wǎng)絡(luò)安全框架
網(wǎng)絡(luò)安全框架包括一系列文檔和指南,它定義了企業(yè)在管理網(wǎng)絡(luò)安全風(fēng)險(xiǎn),以及減少漏洞的過程中,需要遵循的各種優(yōu)秀實(shí)踐。這里主要強(qiáng)調(diào)的是“合適才是最好的”。我們需要對(duì)企業(yè)所處的行業(yè),當(dāng)前開展的業(yè)務(wù)進(jìn)行調(diào)研。在此基礎(chǔ)上,通過利用專業(yè)知識(shí)和業(yè)界現(xiàn)有的安全標(biāo)準(zhǔn),為本企業(yè)準(zhǔn)備詳細(xì)的計(jì)劃與適合的安全策略。
2.跟蹤您的資產(chǎn)并進(jìn)行威脅評(píng)估
如今,大多數(shù)企業(yè)都會(huì)通過在線運(yùn)維的方式,對(duì)諸如:Web應(yīng)用、網(wǎng)站、Web服務(wù)、API、以及基于云的軟件即服務(wù)(SaaS)等IT資產(chǎn),進(jìn)行管理。因此在此類IT環(huán)境中,他們需要與內(nèi)、外部的各種系統(tǒng)持續(xù)進(jìn)行通信。同時(shí),許多功能性的接口都會(huì)被暴露出來。
對(duì)此,企業(yè)需要實(shí)施關(guān)鍵性網(wǎng)絡(luò)安全計(jì)劃便是資產(chǎn)發(fā)現(xiàn)。該環(huán)節(jié)可幫助運(yùn)維人員找到各種Web資產(chǎn),以便他們按需保護(hù)目標(biāo)組件,并制定出相應(yīng)的安全策略??梢哉f,一旦創(chuàng)建了所有重要Web資產(chǎn)的列表,他們即可開始執(zhí)行威脅評(píng)估,以識(shí)別出針對(duì)當(dāng)前應(yīng)用的潛在威脅,進(jìn)而制定出有效的緩解計(jì)劃。
3.遵守安全編碼標(biāo)準(zhǔn)
據(jù)軟件工程研究所的統(tǒng)計(jì),大約有90%的軟件安全問題,都是由軟件設(shè)計(jì)或代碼中的缺陷引起的。誠(chéng)然,開發(fā)人員的主要工作是讓應(yīng)用程序能夠正常運(yùn)行,但是如果忽略了安全編碼,則會(huì)無形中留下各種安全漏洞和被攻擊的后門。
可見,我們需要實(shí)施安全的編碼標(biāo)準(zhǔn),以確保軟件和應(yīng)用得到保護(hù),并免受安全漏洞的影響。在實(shí)際項(xiàng)目中,我們可以在軟件開發(fā)生命周期(SDLC)的早期階段引入安全性,并通過遵循OWASP的安全編碼規(guī)范、以及SEI CERT編碼標(biāo)準(zhǔn),這兩種時(shí)下流行的安全編碼標(biāo)準(zhǔn),以避免在后期測(cè)試和部署階段,花費(fèi)時(shí)間和精力去填補(bǔ)各種安全漏洞。
4.部署企業(yè)級(jí)安全解決方案
最常見的企業(yè)級(jí)智能安全解決方案當(dāng)屬Web應(yīng)用防火墻(WAF)。它可以通過監(jiān)控和過濾各種惡意HTTP流量,協(xié)助保護(hù)Web應(yīng)用免受諸如SQL注入、跨站點(diǎn)腳本等攻擊的侵害。也就是說,我們通過在Web應(yīng)用程序和互聯(lián)網(wǎng)之間放置一道WAF屏障,可以僅允許合法用戶的訪問,并阻斷各種惡意的請(qǐng)求。
當(dāng)然,我們也可以考慮使用諸如Burpsuite pro和Acunetix之類專業(yè)的Web安全掃描器,以實(shí)現(xiàn)對(duì)Web應(yīng)用的快速掃描,并識(shí)別出潛在的漏洞。
5.盡可能自動(dòng)化
在日常運(yùn)維中,我們往往需要執(zhí)行Web應(yīng)用掃描、簽名與行為分析、以及DDoS緩解等重復(fù)性的任務(wù)。為了節(jié)省大量的時(shí)間和精力,安全人員應(yīng)當(dāng)與自動(dòng)化技術(shù)人員合作,在確保各項(xiàng)任務(wù)得以自動(dòng)化實(shí)施的前提下,增強(qiáng)Web應(yīng)用的安全性。
6.加密數(shù)據(jù)
過去,Web應(yīng)用往往使用明文的HTTP協(xié)議進(jìn)行通信。這會(huì)導(dǎo)致攻擊者能夠以中間人(MIM)的方式,扮演通信中的某一方,竊取具體內(nèi)容。如今,使用基于傳輸層安全協(xié)議(TLS)的HTTP加密方式,已經(jīng)成為了許多企業(yè)應(yīng)用的必選項(xiàng)。同時(shí),它也成為了大多數(shù)瀏覽器的默認(rèn)配置項(xiàng)。
HTTPS加密可以維護(hù)用戶瀏覽器和服務(wù)器之間傳輸數(shù)據(jù)的完整性。也就是說,當(dāng)用戶使用HTTPS協(xié)議連接到諸如某個(gè)互聯(lián)網(wǎng)銀行應(yīng)用的網(wǎng)站時(shí),瀏覽器會(huì)基于證書建立起安全的TLS會(huì)話,以保證瀏覽器和服務(wù)器之間的請(qǐng)求和響應(yīng)都處于加密狀態(tài)。顯然,此類加密技術(shù)對(duì)于維護(hù)敏感用戶數(shù)據(jù)的機(jī)密性和完整性都是不錯(cuò)的實(shí)踐。
7.滲透測(cè)試
最后一項(xiàng)有效的安全策略是,定期對(duì)Web應(yīng)用執(zhí)行全面的滲透測(cè)試,以及時(shí)發(fā)現(xiàn)目標(biāo)系統(tǒng)的關(guān)鍵漏洞。滲透測(cè)試可以模擬攻擊者或黑客對(duì)系統(tǒng)的出入口、源代碼、數(shù)據(jù)庫(kù)、公共可用源、以及后端網(wǎng)絡(luò),進(jìn)行掃描和嘗試性地攻擊。
在完成測(cè)試后,滲透人員會(huì)出具已發(fā)現(xiàn)漏洞的優(yōu)先級(jí)排序報(bào)告,并協(xié)助開發(fā)團(tuán)隊(duì)參照最佳的行業(yè)標(biāo)準(zhǔn),予以漏洞修補(bǔ)和安全整改。
小結(jié)
至此,我們討論了企業(yè)目前所面臨的五種主要Web應(yīng)用威脅,以及七種應(yīng)對(duì)威脅的技術(shù)實(shí)踐與防護(hù)措施。當(dāng)然,對(duì)運(yùn)維人員和普通員工進(jìn)行最新的威脅概念教育,以及基本的威脅識(shí)別和預(yù)防等培訓(xùn)也是非常必要的??傊?,對(duì)于攻擊而言,越早發(fā)現(xiàn),越早處置,越能保障安全。
原文標(biāo)題:5 Web Application Security Threats and 7 Measures to Protect Against Them,作者: Cyril James
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】