網(wǎng)絡(luò)空間中大部分的安全問題都源自內(nèi)網(wǎng),攻擊者普遍會(huì)利用Web應(yīng)用漏洞對(duì)內(nèi)網(wǎng)進(jìn)行滲透,以達(dá)到控制整個(gè)內(nèi)網(wǎng)、獲取大量有價(jià)值信息的目的。據(jù)國家信息安全漏洞共享平臺(tái)(CNVD)統(tǒng)計(jì),2020年共收錄安全漏洞20704個(gè),繼續(xù)呈上升趨勢(shì),同比增長27.9%,2016年以來年均增長率為17.6%。其中,0day漏洞數(shù)量為8902個(gè)(占 43.0%),同比增長56.0%。
2022年,企業(yè)內(nèi)網(wǎng)的安全漏洞數(shù)量還將不斷增加,甚至變得越來越復(fù)雜。由于內(nèi)網(wǎng)Web應(yīng)用的保護(hù)嚴(yán)重不足,攻擊者利用安全漏洞的攻擊行為將變本加厲,尤其借助自動(dòng)化的工具,在短時(shí)間內(nèi)以更高效、隱蔽的方式對(duì)Web進(jìn)行漏洞掃描和探測(cè),使得企業(yè)面臨更為嚴(yán)重的安全風(fēng)險(xiǎn)和損失。同時(shí),攻擊者會(huì)進(jìn)一步加大事前的努力,在攻擊準(zhǔn)備階段花費(fèi)更多的時(shí)間和精力來搜尋0day漏洞,并利用新的技術(shù)將攻擊擴(kuò)展到更廣泛的網(wǎng)絡(luò)環(huán)境,無疑加大了企業(yè)應(yīng)用防護(hù)的難度。
程序員在編寫代碼的時(shí)候,不小心留下了一些有缺陷的代碼,如果這些缺陷可以被黑客利用,對(duì)用戶發(fā)起攻擊,那么這些缺陷就是漏洞。只要有代碼,就有漏洞!據(jù)公開數(shù)據(jù)顯示,每1000行代碼就會(huì)有4-6個(gè)漏洞,正如Linux的創(chuàng)始人LinusTorvalds說過:我們需要盡量避免漏洞,但不可能完全消除。
0day漏洞,就是未被公開的安全漏洞。比如說,某年月日,微軟發(fā)布了一個(gè)補(bǔ)丁,修補(bǔ)了一個(gè)安全漏洞,那么這個(gè)安全漏洞是什么時(shí)候出現(xiàn)的,可能已經(jīng)有幾年時(shí)間了,有些甚至超過10年時(shí)間,在未發(fā)布補(bǔ)丁之前,這個(gè)漏洞就是0day。
所謂0day問題,是基于某個(gè)操作系統(tǒng)或者常見的應(yīng)用軟件的未公開漏洞,幾乎所有使用了這個(gè)操作系統(tǒng)或應(yīng)用軟件的服務(wù)商,都有可能中招。這種漏洞危害巨大,因此也深得黑客的喜愛。通常0day漏洞被公開后,都會(huì)引起廣泛關(guān)注,相關(guān)廠商也需要緊急評(píng)估并盡快推出補(bǔ)丁,因?yàn)槔?day漏洞進(jìn)行的攻擊行為會(huì)很快隨之而來。
近幾年國內(nèi)攻防演練開始常態(tài)化,受到各行各業(yè)的高度重視,隨著網(wǎng)絡(luò)安全攻防演練規(guī)模不斷擴(kuò)大,程度不斷升級(jí),高級(jí)的攻擊手段如0day漏洞攻擊在演練中開始頻繁使用。越來越多突破口和系統(tǒng)淪陷都是0Day、NDay導(dǎo)致,更有甚者直接獲得主機(jī)系統(tǒng)得控制權(quán)限,如何防御這類攻擊也是當(dāng)務(wù)之急。
建立全方位的安全監(jiān)控體系是防守者最有力的武器,可以從中發(fā)現(xiàn)和追蹤0day攻擊的蛛絲馬跡。有效的安全監(jiān)控體系可以從以下幾個(gè)方面展開:
任何請(qǐng)求或者攻擊是通過網(wǎng)絡(luò)線路,都會(huì)有網(wǎng)絡(luò)流量, 惡意攻擊流量和正常的數(shù)據(jù)肯定有所差異,通過全網(wǎng)流量監(jiān)控去發(fā)現(xiàn)和捕獲異常流量結(jié)合安全工程師進(jìn)行分析是當(dāng)前最有效的安全手段之一。
最后的防御屏障,任何攻擊最終目標(biāo)是獲取主機(jī)。部署主機(jī)安全系統(tǒng),對(duì)惡意的命令執(zhí)行、異常進(jìn)程啟停、非法文件創(chuàng)建、惡意代碼或者webshell寫入等進(jìn)行實(shí)時(shí)監(jiān)控。
建立一套完善和獨(dú)立的日志安全分析機(jī)制,收集和分析各類系統(tǒng)和軟件的日志進(jìn)行針對(duì)性的安全審計(jì),可以幫助防守隊(duì)從中找到意想不到攻擊信息。
部署蜜罐偽裝目標(biāo),保護(hù)真實(shí)目標(biāo),可以誘敵深入,持續(xù)消耗攻擊隊(duì)的資源和耐心,化被動(dòng)為主動(dòng),從中還能意外收獲,捕獲0day攻擊特征和流量。
建立實(shí)時(shí)情報(bào)和威脅情報(bào)收集體系,很多時(shí)候0day特征和攻擊信息第一時(shí)間不是來自于自身網(wǎng)絡(luò)攻擊流量,而是實(shí)時(shí)情報(bào)的及時(shí)收集,根據(jù)收集到的特征反向去歷史攻擊日志或者請(qǐng)求流量中查詢。
部署不依靠特征匹配的動(dòng)態(tài)防御系統(tǒng),可以抵御99%左右的第一波0day自動(dòng)化掃描探測(cè)攻擊,可以防御90%以上的第二波0day手工利用攻擊。
動(dòng)態(tài)防護(hù)體系的價(jià)值
無論是何種攻擊,歸根結(jié)底都可分成前期、中期、后期三個(gè)階段,在攻防演練期間表現(xiàn)得尤為明顯。
前期,主要以自動(dòng)化攻擊為主,主要目的在于信息收集。利用自動(dòng)化工具做批量掃描、路徑遍歷、口令破解、漏洞探測(cè)等。完成了這些工作,攻擊隊(duì)伍就會(huì)轉(zhuǎn)入第二階段,以手工攻擊、多源低頻、重點(diǎn)突破為主。例如在前期發(fā)現(xiàn)了一個(gè)可能存在漏洞的系統(tǒng),就會(huì)針對(duì)這個(gè)系統(tǒng)做重點(diǎn)分析,發(fā)起定向打擊,并對(duì)系統(tǒng)的安全措施進(jìn)行突破。如果成功地拿下了這個(gè)系統(tǒng),攻方此時(shí)已經(jīng)獲得了一定的權(quán)限,就會(huì)進(jìn)入到后期階段,以次系統(tǒng)作為跳板,開始橫向移動(dòng)、核心滲透。
清楚了攻方的“三板斧”,就可以對(duì)癥下藥,針對(duì)這三個(gè)階段,來做相應(yīng)的防守。
動(dòng)態(tài)防護(hù)體系針對(duì)攻擊前期階段的核心工作之一,就是對(duì)工具類的探測(cè)利用進(jìn)行攔截。
可采取分層分級(jí)的對(duì)抗策略。如對(duì)簡單的腳本工具,可以不關(guān)心這些腳本的請(qǐng)求,而是直接檢測(cè)這個(gè)腳本是不是具有JS(Javascript)的解析能力,再加入一些復(fù)雜的令牌機(jī)制,一些代碼混淆的操作,來大大提升攻擊者的門檻。對(duì)更高一層的具備JS解析能力的工具,可以通過環(huán)境檢測(cè)、行為識(shí)別,來發(fā)現(xiàn)偽造行為和異常訪問。更高級(jí)的驅(qū)動(dòng)瀏覽器內(nèi)核方式、被動(dòng)掃描方式,可以突破前面的防御手段,那么在這個(gè)層面上就需要做一些重放性的檢測(cè)、動(dòng)態(tài)挑戰(zhàn)、對(duì)敏感信息做隱藏,讓攻擊者獲取不到有價(jià)值的信息。還可以通過指紋關(guān)聯(lián)的形式,對(duì)攻擊者發(fā)起的一些多源低頻的攻擊來做檢測(cè)。通過這些方法,可以讓攻方的工具探測(cè)無功而返。除了對(duì)于傳統(tǒng)的漏洞掃描攻擊外,這種不基于已知特征,而基于請(qǐng)求行為判斷的動(dòng)態(tài)安全防護(hù)體系,可以實(shí)現(xiàn)對(duì)0day漏洞的無規(guī)則防護(hù)。
對(duì)于多源低頻攻擊,動(dòng)態(tài)防護(hù)的方法是通過令牌機(jī)制、指紋溯源的手段,對(duì)多源低頻攻擊做關(guān)聯(lián)性的識(shí)別分析,只要做到基于設(shè)備指紋的攻擊識(shí)別,攻擊者無論怎么換IP,都無法逃脫。
其次是“擾人工”,對(duì)人工滲透的行為進(jìn)行迷惑干擾,加大攻擊者的分析判斷難度。
通過Web代碼混淆、JS混淆、Cookie混淆、前端反調(diào)試、中間人檢測(cè)等,對(duì)重要的信息進(jìn)行保護(hù),對(duì)攻擊者進(jìn)行動(dòng)態(tài)的干擾,讓攻擊者步步維艱,既無法找到可利用的信息,更無法提交相應(yīng)的請(qǐng)求。
最后是“斷跳板”,當(dāng)攻擊者獲取了系統(tǒng)的權(quán)限時(shí),對(duì)攻擊者所利用的WebShell等跳板工具進(jìn)行阻斷。
動(dòng)態(tài)安全防護(hù)的優(yōu)勢(shì)在于對(duì)“冰蝎”這種動(dòng)態(tài)加密的工具,雖然不能通過固定特征來識(shí)別,但可以通過令牌檢測(cè)等方法來動(dòng)態(tài)判斷是否來自正常用戶,來做相應(yīng)的阻斷,而不再關(guān)心通訊的具體內(nèi)容。
動(dòng)態(tài)防護(hù)體系的價(jià)值,在于對(duì)自動(dòng)化攻擊、0day漏洞、多源低頻攻擊都能做到有效的防護(hù),并且通過分級(jí)分層的對(duì)抗思路,多維度的方法組合,最終實(shí)現(xiàn)主動(dòng)防御。不只是針對(duì)攻防演練和大型重保,對(duì)企業(yè)日常的安全運(yùn)維,動(dòng)態(tài)防護(hù)也有很好的效果,既提升了企業(yè)的體系化防御能力,也極大地降低了人力成本。