周 晗 孫建樹
(北京電子科技學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系 北京 100070)
網(wǎng)站的安全受到多種因素的影響,常見的如服務(wù)器所在的操作系統(tǒng)漏洞、部署的網(wǎng)站文件的漏洞等,都會(huì)導(dǎo)致網(wǎng)站安全受到威脅,嚴(yán)重時(shí)甚至導(dǎo)致站點(diǎn)癱瘓,導(dǎo)致網(wǎng)站面目全非。對(duì)于一個(gè)網(wǎng)站,其需要保護(hù)的核心便是是網(wǎng)頁文件,一個(gè)中小規(guī)模的網(wǎng)站的相關(guān)文件達(dá)到數(shù)百上千是很正常的,如果通過管理員定期人工比對(duì)各文件的一致性也即是否被篡改,從而來進(jìn)行防護(hù),不但可操作性不強(qiáng),也不能達(dá)到及時(shí)有效保護(hù)的效果。許多網(wǎng)站管理員,經(jīng)常抱怨自己的站點(diǎn)即使經(jīng)常做安全維護(hù),但站點(diǎn)的一些關(guān)鍵文件如index.html、inedx.asp、conn.asp以及js文件被修改,被添加惡意鏈接。
當(dāng)前大部分研究論文和產(chǎn)品文檔中都會(huì)提到以下四種技術(shù):
(1)定時(shí)循環(huán)掃描技術(shù)(即:外掛輪詢):使用程序按照用戶設(shè)定的時(shí)間間隔,對(duì)網(wǎng)站目錄進(jìn)行定時(shí)掃描比對(duì),如發(fā)現(xiàn)篡改,就用備份進(jìn)行恢復(fù)。
(2)事件觸發(fā)技術(shù):使用程序?qū)W(wǎng)站目錄進(jìn)行實(shí)時(shí)監(jiān)控,當(dāng)有對(duì)文件的屬性,大小等修改時(shí)就進(jìn)行檢查是否是非法篡改。
(3)核心內(nèi)嵌技術(shù)(即“數(shù)字水印”或“數(shù)字指紋”):在用戶提交訪問網(wǎng)頁的請(qǐng)求之后,在服務(wù)器正式提交用戶請(qǐng)求網(wǎng)頁內(nèi)容之前,對(duì)網(wǎng)頁進(jìn)行完整性檢查,一般也是通過散列值對(duì)比的方式。
(4)文件過濾驅(qū)動(dòng)技術(shù):采用系統(tǒng)底層文件過濾驅(qū)動(dòng)技術(shù),攔截與分析IRP流,此技術(shù)多見于Windows操作系統(tǒng)。
我們的研究則沒有針對(duì)以上任意一種特定技術(shù),而是從業(yè)務(wù)邏輯的角度對(duì)文件保護(hù)進(jìn)行了研究,內(nèi)容包括監(jiān)控、恢復(fù)以及告警,主要內(nèi)容如下:
對(duì)監(jiān)控的研究主要關(guān)注于兩個(gè)方面:針對(duì)特定操作系統(tǒng)(如Linux和Windows系統(tǒng))以及與平臺(tái)無關(guān)的方法。
對(duì)于Windows操作系統(tǒng)而言,在Windows實(shí)現(xiàn)文件監(jiān)控有三種方法,第一種是“虛擬文件系統(tǒng)驅(qū)動(dòng)”方法,如Windows下的Filemon。第二種方法是“HOOK API”方法,即鉤子技術(shù)。第三種方法是“消息機(jī)制”,從Windows的文件通知消息獲取系統(tǒng)的文件操作。
對(duì)于 Linux系統(tǒng)而言,像 Linux文件系統(tǒng)安全監(jiān)控軟件Inotify-sync等,可以使用Linux內(nèi)核提供的Inotify特性,讓用戶配置監(jiān)控目錄,并且對(duì)不同的文件系統(tǒng)操作事件調(diào)用不同的事件處理腳本。
針對(duì)文件恢復(fù),單從恢復(fù)技術(shù)而言,像常用的EasyRecovery這類專門的文件恢復(fù)軟件功能特別強(qiáng)大。
它能恢復(fù)丟失的數(shù)據(jù)以及重建文件系統(tǒng)。主要是在內(nèi)存中重建文件分區(qū)表使數(shù)據(jù)能夠安全地傳輸?shù)狡渌?qū)動(dòng)器中??梢詮谋徊《酒茐幕蚴且呀?jīng)格式化的硬盤中恢復(fù)數(shù)據(jù)。但是從網(wǎng)站的文件文件還原角度來講,這類技術(shù)還是難以應(yīng)用到網(wǎng)頁文件防篡改系統(tǒng)中來。
對(duì)于告警部分,一般是形成日志來記錄所造成的篡改以及恢復(fù)的情況,以方便管理員查詢,可以通過電子郵件,短信收發(fā)裝置等遠(yuǎn)程通訊選擇性地將結(jié)果通知管理員。
綜合以上三個(gè)模塊的獨(dú)立研究,以及通過搜集各類產(chǎn)品進(jìn)行功能,價(jià)格的和設(shè)計(jì)原理的比較,通過對(duì)國外和國內(nèi)的產(chǎn)品特點(diǎn)認(rèn)識(shí)。我們實(shí)現(xiàn)了本地網(wǎng)頁防篡改的核心軟件主要有如下三模塊:
監(jiān)測模塊——利用計(jì)算 MD5散列值來對(duì)要保護(hù)的文件內(nèi)容進(jìn)行實(shí)時(shí)的操作監(jiān)測。
恢復(fù)模塊——通過實(shí)時(shí)監(jiān)測模塊傳入的參數(shù)決定對(duì)被改變的文件實(shí)施相應(yīng)的恢復(fù)功能,恢復(fù)可選擇實(shí)時(shí)監(jiān)控和定期掃描對(duì)已被非法修改的文件進(jìn)行自動(dòng)恢復(fù)和手動(dòng)指定恢復(fù)模式,并將所改變的文件屬性及相關(guān)參數(shù)進(jìn)行記錄。
報(bào)警模塊——具有告警信息顯示,同時(shí)形成篡改日志,并將日志形成文件存儲(chǔ),為用戶日后查閱提供依據(jù),也通過電子郵件告知管理員。
軟件將由使用者自主選擇需要保護(hù)與監(jiān)測的網(wǎng)頁文件及文件夾,軟件自動(dòng)掃描并對(duì)其進(jìn)行消息摘要,提供文件完整性保護(hù),保證頁面被任意改變時(shí)可及時(shí)發(fā)現(xiàn)被篡改痕跡。在散列算法 MD5得出文件摘要后對(duì)重要文件進(jìn)行備份,保存重要文件作為備份以供恢復(fù)時(shí)使用。軟件允許使用者根據(jù)自身需要手動(dòng)調(diào)整待掃描目錄、文件摘要與備份存儲(chǔ)路徑,以便對(duì)文件進(jìn)行即時(shí)掃描檢測。
當(dāng)文件遭遇刪除時(shí),管理者可以根據(jù)軟件先前對(duì)文件的備份進(jìn)行手動(dòng)選擇恢復(fù),也可以通過軟件提供的界面快速恢復(fù);當(dāng)出現(xiàn)惡意文件時(shí),管理者可以根據(jù)提示進(jìn)行快速刪除;當(dāng)正常文件被篡改內(nèi)容時(shí),可以根據(jù)備份文件的協(xié)助進(jìn)行修改恢復(fù)。這一切檢測都可以通過軟件自行設(shè)定檢測頻率,當(dāng)異常發(fā)生時(shí),會(huì)有提示信息及時(shí)反饋給管理人員以便其根據(jù)實(shí)際情況進(jìn)行處理。
正常更新時(shí),只需要每次進(jìn)行更新網(wǎng)頁內(nèi)容時(shí)同時(shí)更新消息摘要即可,這樣既保證消息摘要值的不定期動(dòng)態(tài)更新,提高系統(tǒng)的安全性,又使系統(tǒng)的更新沒有冗余操作,簡單易行。
此外,我們通過研究核心內(nèi)嵌技術(shù),實(shí)現(xiàn)了簡單的過濾器,一方面在動(dòng)態(tài)網(wǎng)站的請(qǐng)求發(fā)生時(shí),截獲用戶的請(qǐng)求,對(duì)篡改進(jìn)行實(shí)時(shí)處理,使被篡改的頁面不被用戶看到,另一方面也集中對(duì)服務(wù)端的網(wǎng)站目錄進(jìn)行監(jiān)控,對(duì)發(fā)生的改變進(jìn)行記錄。這樣做的好處是在測試時(shí),用戶永遠(yuǎn)無法看到被篡改的頁面,而對(duì)于本地防護(hù)而言,用戶在瀏覽器端還是有可能看到被篡改頁面的緩存。
隨著信息化建設(shè)的不斷發(fā)展和提高,許多部門機(jī)構(gòu)的業(yè)務(wù)數(shù)據(jù)都通過門戶網(wǎng)站開展業(yè)務(wù),個(gè)人或小集體通過建站來進(jìn)行產(chǎn)品宣傳推廣也往往通過網(wǎng)站的形式來發(fā)布信息。因此保護(hù)Web應(yīng)用系統(tǒng)安全變得越來越廣泛。在現(xiàn)有網(wǎng)站安全防護(hù)的基礎(chǔ)上部署網(wǎng)頁防篡改系統(tǒng),采用低成本有效的防篡改系統(tǒng),不僅可以多一層保障,同時(shí),網(wǎng)頁防篡改系統(tǒng)詳細(xì)的日志信息也為我們?nèi)粘5陌踩S護(hù)工作提供幫助。一旦發(fā)生安全事件,防篡改系統(tǒng)還將為之后的調(diào)查取證工作提供有價(jià)值的線索和依據(jù)。
盡管網(wǎng)頁防篡改系統(tǒng)能進(jìn)一步提高網(wǎng)站的安全,但仍然存在一些缺陷,需要不斷的研究實(shí)踐加以改進(jìn)。
[1]陳小兵,范淵,孫立偉.Web滲透技術(shù)及實(shí)戰(zhàn)案例解析[M].北京:電子工業(yè)出版社,2012.4.
[2]Noah,Inotify,F(xiàn)AM,Gamin[EB/OL].http://www.noah.org/wiki/Inotify,_FAM,_Gamin,2010.4.
[3]孔輝.一種網(wǎng)頁防篡改系統(tǒng)的設(shè)計(jì)[D].北京:北京郵電大學(xué),2011.
[4]王茂昌,黃甜,王普彪,賴培輝.網(wǎng)站安全性研究[J].安陽師范學(xué)院學(xué)報(bào),2011.
[5]趙 莉,鄧 峰.基于核心內(nèi)嵌技術(shù)中安全散列函數(shù)的探討[J].科技信息,2012-12.
[6]胡宏銀,姚 峰,何成萬.一種基于文件過濾驅(qū)動(dòng)的 W indows文件安全保護(hù)方案[J].計(jì)算機(jī)應(yīng)用,2009-1.