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