今天借著烽火臺(tái)系列寫一篇關(guān)于網(wǎng)頁防篡改的文章,因?yàn)槠饺绽锱c客戶交流發(fā)現(xiàn),目前網(wǎng)頁的篡改問題仍然是客戶比較頭疼的網(wǎng)絡(luò)安全問題之一。而提到“防篡改”,大多數(shù)人首先想到的是“防篡改系統(tǒng)”。但是,“防篡改系統(tǒng)”≠“防篡改”。
防篡改系統(tǒng)的前世今生
防篡改系統(tǒng)發(fā)展至今共經(jīng)歷了四代技術(shù)(每代技術(shù)各家叫法不同,但原理基本相同),而這四代技術(shù)在不同的年代都解決了一定的問題,但同時(shí)也因?yàn)楸┞兜娜毕荻粩喔?/p>
第一代技術(shù):時(shí)間輪詢技術(shù)
這是早期使用的技術(shù),顧名思義,其是采用定時(shí)循環(huán)掃描,且每次掃描均從頭到尾進(jìn)行。
該機(jī)制有兩大問題:
1、現(xiàn)在的網(wǎng)站少則幾千個(gè)文件,大則幾萬,幾十萬個(gè)文件,輪詢機(jī)制不僅需要耗費(fèi)大量的時(shí)間,還會(huì)大大影響服務(wù)器性能。
2、因?yàn)榇嬖趻呙璧拈g隙,所以會(huì)存在“盲區(qū)”,這段時(shí)間內(nèi)外部的訪問均是被篡改的頁面,“盲區(qū)”的時(shí)長(zhǎng)由網(wǎng)站文件數(shù)量、磁盤性能、CPU性能等眾多客觀因素來決定。
第二代技術(shù):事件觸發(fā)技術(shù)
該技術(shù)以穩(wěn)定、可靠、占用資源少著稱,其原理是利用操作系統(tǒng)的文件系統(tǒng)或驅(qū)動(dòng)程序接口,在網(wǎng)頁文件的被修改時(shí)進(jìn)行合法性檢查,對(duì)于非法操作進(jìn)行報(bào)警和恢復(fù)。
可以看出,該技術(shù)是典型的“后發(fā)制人”,即非法篡改已經(jīng)發(fā)生后才可進(jìn)行恢復(fù),其存在兩大問題:
1、如果采取“連續(xù)篡改”的攻擊方式,由于是篡改后程序才進(jìn)行檢查和恢復(fù),則同樣會(huì)存在一個(gè)系統(tǒng)延遲的時(shí)間間隔,而連續(xù)篡改往往利用自動(dòng)化腳本每秒上千次篡改,這會(huì)導(dǎo)致大眾訪問的一直是篡改后網(wǎng)站。
2、目錄監(jiān)控的安全性受制于防篡改監(jiān)控進(jìn)程的安全性,如果監(jiān)控進(jìn)程被強(qiáng)行終止,則防篡改功能就立刻消失,網(wǎng)站目錄就又面臨被篡改的危險(xiǎn)。
第三代技術(shù):核心內(nèi)嵌技術(shù)
核心內(nèi)嵌技術(shù)即數(shù)字水印技術(shù),先將網(wǎng)頁內(nèi)容采取非對(duì)稱加密存放,在外來訪問請(qǐng)求時(shí)將經(jīng)過加密驗(yàn)證過的,進(jìn)行解密對(duì)外發(fā)布,若未經(jīng)過驗(yàn)證,則拒絕對(duì)外發(fā)布,調(diào)用備份網(wǎng)站文件進(jìn)行驗(yàn)證解密后對(duì)外發(fā)布。
這樣即使黑客成功對(duì)內(nèi)容進(jìn)行了修改,也不能對(duì)外發(fā)布。表面看上去,這種技術(shù)非常完善,但沒有100%的安全,此類方式同樣存在問題:
1、市面上“數(shù)字水印”的密碼學(xué)算法,無一例外地使用 MD5散列算法,該散列算法在2004年被我國(guó)密碼學(xué)家山東大學(xué)的王小云教授攻破,使得偽造出具有相同數(shù)字水印而內(nèi)容截然不同的文件立刻成為了現(xiàn)實(shí)。目前,包括MD5在內(nèi)多種密碼學(xué)算法在網(wǎng)絡(luò)中基本成為“公開的秘密”。當(dāng)“數(shù)字水印”技術(shù)使用一個(gè)已被攻破的脆弱算法時(shí),其安全性也就轟然倒塌了。
2、“數(shù)字水印”技術(shù)在計(jì)算大于100KB大小的文件“指紋”時(shí),其速度將隨著文件的增大而逐步下降到讓人無法忍受的地步,因此大多數(shù)產(chǎn)品都會(huì)默認(rèn)設(shè)置一個(gè)超過xxx KB的文件不進(jìn)行數(shù)字水印檢查規(guī)則。關(guān)于這項(xiàng)安全隱患,讀者可以隨便找個(gè)10MB以上的文件放入網(wǎng)站目錄中,然后再訪問該文件,如果發(fā)現(xiàn)文件可以訪問或者下載,即可證明當(dāng)前使用的防篡改產(chǎn)品存在該安全隱患。
3、數(shù)字水印屬于模塊化功能,需插入web服務(wù)軟件中,這種缺陷導(dǎo)致一旦計(jì)算水印散列模塊被卸載,防篡改能力隨即消失。
第四代技術(shù):文件過濾驅(qū)動(dòng)技術(shù)
文件過濾驅(qū)動(dòng)技術(shù)是目前主流防篡改廠商所采用的技術(shù),通常與事件觸發(fā)技術(shù)配合使用。其原理是采用操作系統(tǒng)底層文件過濾驅(qū)動(dòng)技術(shù),攔截與分析IRP流,對(duì)所有受保護(hù)的網(wǎng)站目錄的寫操作都立即截?cái)?,且整個(gè)文件復(fù)制過程為毫秒級(jí),使得公眾無法看到被篡改頁面,其運(yùn)行性能和檢測(cè)實(shí)時(shí)性都達(dá)到很高的水準(zhǔn)。
這種方式的確大大增大了黑客篡改的難度,但仍然做不到100%安全,隨手在互聯(lián)網(wǎng)上搜索,就會(huì)發(fā)現(xiàn)其仍然有很多缺陷:
1、基于實(shí)際應(yīng)用中各種復(fù)雜環(huán)境與因素的考慮,操作系統(tǒng)的設(shè)計(jì)者在系統(tǒng)內(nèi)核底層設(shè)計(jì)了多種可以讀寫文件的方式,相關(guān)數(shù)據(jù)流不單單是走文件過濾驅(qū)動(dòng)這一條線。網(wǎng)絡(luò)上大家常用的各種“文件粉碎機(jī)”強(qiáng)制刪除頑固文件就是基于相關(guān)原理的。(繞過代碼網(wǎng)上即可找到,在這里不做展示了)
2、文件路徑表示除了正常的方式之外,還可以用DOS8.3文件路徑表示法,當(dāng)文件名的長(zhǎng)度超過8個(gè)字符時(shí),就可以用DOS8.3路徑表示。
我相信未來還會(huì)不斷有新的防篡改技術(shù)誕生,但大家應(yīng)該能夠發(fā)現(xiàn),一味的從防御角度出發(fā)解決網(wǎng)頁篡改問題猶如“管中窺豹”,黑客永運(yùn)可以通過嘗試,發(fā)現(xiàn)技術(shù)缺陷,而防御技術(shù)的更新永遠(yuǎn)落后于攻擊。
防篡改“魔力三角”
中醫(yī)有句俗話是“治病先看病”,在網(wǎng)絡(luò)安全中同樣適用。網(wǎng)頁發(fā)生篡改就像感冒發(fā)燒,癥狀是發(fā)燒,但根本問題卻是身體內(nèi)部出現(xiàn)了問題。而篡改則是網(wǎng)站存在風(fēng)險(xiǎn)。而發(fā)現(xiàn)風(fēng)險(xiǎn)則是從根本上解決網(wǎng)頁篡改問題的第一步。
而漏洞則是較為常見的風(fēng)險(xiǎn)。很多客戶都說部署了漏掃產(chǎn)品,但漏洞掃描類似于醫(yī)生的“望、聞、問、切”,醫(yī)生會(huì)觀察身體的各類反應(yīng),從而進(jìn)行準(zhǔn)確的診斷。漏洞掃描也要覆蓋網(wǎng)站或業(yè)務(wù)系統(tǒng)的各個(gè)部分,其中要包括系統(tǒng)漏洞、Web漏洞、中間件及數(shù)據(jù)庫漏洞,這樣才能不存在短板。
第二個(gè)風(fēng)險(xiǎn)是弱口令,誰也不想黑客通過口令簡(jiǎn)簡(jiǎn)單單的控制了網(wǎng)站甚至是服務(wù)器,那么再多的防護(hù)設(shè)備也無計(jì)可施。
發(fā)現(xiàn)了病癥所在,就要“對(duì)癥下藥”進(jìn)行風(fēng)險(xiǎn)控制。做完風(fēng)險(xiǎn)控制后才是防御。防御也應(yīng)該分為兩個(gè)部分,以Kill Chain模型來看,防篡改僅僅是針對(duì)攻擊最后一步的防御,而完成一次攻擊還需要很多環(huán)節(jié),在這些環(huán)節(jié)之中,同樣需要檢測(cè)及防御設(shè)備,這也就是國(guó)內(nèi)普遍應(yīng)用的縱深防御理念。
任何事物都有兩面性,同樣也沒有絕對(duì)的安全。
無論是風(fēng)險(xiǎn)控制還是縱深防御,其本質(zhì)都是在增加黑客的攻擊成本。但安全還有一種思路,叫做態(tài)勢(shì)感知。即使黑客通過各種手段突破了層層防護(hù),我們還可以做的是及時(shí)發(fā)現(xiàn)攻擊,比如有組織黑客常用的Webshell,即俗稱的網(wǎng)站后門。黑客組織往往前期在網(wǎng)站中植入了Webshell,然后伺機(jī)而動(dòng)。對(duì)于解決防篡改,Webshell的檢測(cè)尤為重要。再進(jìn)一步,如果繞過了防篡改系統(tǒng),發(fā)生了篡改,仍然要有外部的發(fā)現(xiàn)機(jī)制,從而及時(shí)進(jìn)行手工恢復(fù),甚至是自動(dòng)關(guān)閉,事后再進(jìn)行溯源,防止再次發(fā)生。
從上可以總結(jié)出新型的安全方法論應(yīng)該是:以風(fēng)險(xiǎn)控制為先,多角度檢查風(fēng)險(xiǎn)情況,降低系統(tǒng)遭受攻擊的可能性。然后基于Kill Chain模型,在攻擊過程中采用縱深防御理念進(jìn)行安全防護(hù)。最后,要具備態(tài)勢(shì)感知能力,在攻擊發(fā)生后及時(shí)響應(yīng)并處置。
盛邦安全基于對(duì)Web領(lǐng)域多年的積累,以及新型安全方法論,提出了防篡改“魔力三角”方案。
通過烽火臺(tái)-網(wǎng)站監(jiān)控預(yù)警系統(tǒng)(RAYSaaS)對(duì)網(wǎng)站進(jìn)行事前的風(fēng)險(xiǎn)檢測(cè),發(fā)現(xiàn)網(wǎng)站的系統(tǒng)漏洞、Web漏洞、中間件及數(shù)據(jù)庫漏洞,同時(shí)可檢測(cè)網(wǎng)站所存在弱口令問題;7*24小時(shí)的實(shí)時(shí)監(jiān)測(cè),能夠及時(shí)發(fā)現(xiàn)Webshell,并確保發(fā)生篡改攻擊后能夠及時(shí)發(fā)現(xiàn)并告警。
通過銳御-Web應(yīng)用防火墻(RAYWAF)對(duì)網(wǎng)站進(jìn)行安全防護(hù),阻斷黑客對(duì)目標(biāo)的探測(cè)、工具的傳輸、漏洞的利用、控制等攻擊過程。同時(shí)集成了威脅情報(bào)能力,大幅提升對(duì)于高級(jí)攻擊的檢測(cè)發(fā)現(xiàn)能力。
通過銳鎖-網(wǎng)頁防篡改系統(tǒng)(RAYLOCK)的文件過濾驅(qū)動(dòng)技術(shù)+事件觸發(fā)技術(shù),來加強(qiáng)對(duì)于篡改攻擊的阻斷及事后恢復(fù)。
網(wǎng)絡(luò)安全永遠(yuǎn)是人與人的較量,盛邦安全愿與各位在安全的道路上共同前行。