趙莉,梁靜
(西安工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,陜西 西安 710032)
當(dāng)今社會,網(wǎng)站被篡改的事件屢見不鮮,研究一套能解決網(wǎng)站被篡改的保護(hù)系統(tǒng)就顯得尤為迫切和重要。Web服務(wù)器核心內(nèi)嵌技術(shù)比起時(shí)間輪詢技術(shù)、事件觸發(fā)技術(shù)而言,是一種能比較徹底解決網(wǎng)站被篡改的技術(shù),因而被廣泛使用[1-3]。在Web服務(wù)器核心內(nèi)嵌防篡改的系統(tǒng)中,文件的分布式發(fā)布和篡改后的即時(shí)恢復(fù)是系統(tǒng)必不可少的關(guān)鍵模塊。若采用文件完全復(fù)制的方法來發(fā)送以及保持兩個(gè)文件間的同步是相當(dāng)?shù)托У?,這樣既浪費(fèi)了時(shí)間,又浪費(fèi)了系統(tǒng)的資源。本系統(tǒng)通過對發(fā)布服務(wù)器端和Web服務(wù)器端的設(shè)計(jì),來實(shí)現(xiàn)對文件的發(fā)布與接收,系統(tǒng)可以將多個(gè)文件拼接成一個(gè)文件進(jìn)行發(fā)送,只傳輸差異部分。
怎樣能夠?qū)⑽募植际降陌l(fā)送到多個(gè)Web服務(wù)器上,以及在發(fā)現(xiàn)網(wǎng)頁被篡改后,怎樣才能快速、準(zhǔn)確地進(jìn)行文件的恢復(fù),這就是文中所要研究的主要問題。
Web服務(wù)器核心內(nèi)嵌防篡改技術(shù)是指將篡改檢測模塊內(nèi)嵌于Web服務(wù)器的內(nèi)部。篡改檢測模塊使用密碼技術(shù)為所有網(wǎng)頁對象計(jì)算生成唯一性、不可逆轉(zhuǎn)和不可偽造的數(shù)字水印。公眾每次訪問網(wǎng)頁時(shí),該模塊都會讀出當(dāng)前網(wǎng)頁元素的內(nèi)容并重新計(jì)算其數(shù)字水印,然后與之前存儲的數(shù)字水印進(jìn)行對比。一旦發(fā)現(xiàn)網(wǎng)頁被非法修改,即兩次所比對的數(shù)字水印不同,就會馬上進(jìn)行網(wǎng)頁的自動(dòng)恢復(fù),從而保證了非法網(wǎng)頁內(nèi)容不被公眾所瀏覽到[4-5]。
本系統(tǒng)要研究的主要內(nèi)容是:在Web服務(wù)器核心內(nèi)嵌防篡改系統(tǒng)中,發(fā)布服務(wù)器要將文件分布式的傳輸?shù)蕉鄠€(gè)Web服務(wù)器上,即達(dá)到分布式發(fā)布的目的;一旦Web服務(wù)器上的文件被篡改,則能進(jìn)行文件的自動(dòng)恢復(fù)。
系統(tǒng)的具體實(shí)現(xiàn)過程是通過發(fā)布服務(wù)器端和Web服務(wù)器端來分別進(jìn)行發(fā)布和接收操作的[6-7]。發(fā)布服務(wù)器是存在于內(nèi)網(wǎng)中的一臺獨(dú)立的服務(wù)器,外部不能進(jìn)行訪問。如圖1所示。
在本系統(tǒng)中,方案是用來標(biāo)注一次具體的分發(fā)任務(wù)的,即為一次完整的任務(wù)。方案分類是用來劃分方案的父分類。一個(gè)方案可以被歸為某個(gè)方案分類下也可以單獨(dú)存在。
1)在發(fā)布服務(wù)器端分發(fā)任務(wù)的時(shí)候采用方案的方式統(tǒng)一進(jìn)行管理,傳輸時(shí)也采用方案的編號進(jìn)行數(shù)據(jù)傳輸。方案可以選擇本地的目錄規(guī)則下的文件。
2)文件水印文件是對服務(wù)器本地規(guī)則目錄中文件的文件描述編碼信息。
圖1 系統(tǒng)的實(shí)現(xiàn)過程Fig.1 System implementation process
文件水印文件采用目錄和文件一一對應(yīng)的存放方式,文件中存放該對應(yīng)文件的當(dāng)前版本號,水印編碼,大小,日期等信息。分發(fā)時(shí)候,對該目錄文件打包成zip文件進(jìn)行發(fā)送,增量發(fā)布時(shí)只對增量發(fā)布文件打包成zip文件進(jìn)行發(fā)送。
3)每個(gè)方案在發(fā)布時(shí)都給定一個(gè)版本號,用來標(biāo)注此次發(fā)布任務(wù)的版本的更新情況,稱大版本號。因此發(fā)布服務(wù)器端在與Web服務(wù)器端建立連接時(shí)首先要比較大版本號。如果大版本號相同,說明Web服務(wù)器端與發(fā)布服務(wù)器端的版本相同,不需要進(jìn)行文件傳輸。如果版本號不同,則發(fā)布服務(wù)器分為整體更新和增量更新兩種方式進(jìn)行文件傳輸。整體更新就是發(fā)布服務(wù)器會把文件水印文件關(guān)系全部發(fā)送給Web服務(wù)器,Web服務(wù)器與本地進(jìn)行比較,獲取到更新文件列表,再向發(fā)布服務(wù)器獲取所要更新的文件。增量更新就是發(fā)布服務(wù)器在發(fā)布文件后只把發(fā)布文件的更新水印文件發(fā)送給Web服務(wù)器端,Web服務(wù)器進(jìn)行本地比較后獲取更新列表,再向發(fā)布服務(wù)器獲取要更新的文件。
4)發(fā)布服務(wù)器啟動(dòng)后會根據(jù)本地方案中配置的Web服務(wù)器進(jìn)行連接,如果能連接到Web服務(wù)器,發(fā)布服務(wù)器會在內(nèi)存中生成一個(gè)令牌對應(yīng)Web服務(wù)器(該令牌的規(guī)則為,本地方案編號和該Web服務(wù)器端的服務(wù)器編號)。Web服務(wù)器端以后在訪問發(fā)布服務(wù)器時(shí)必須提供該令牌信息,驗(yàn)證通過后才能進(jìn)行其他操作,不然就是非法連接,不對其進(jìn)行相應(yīng)。發(fā)布服務(wù)器對Web服務(wù)器端的文件下載采用一個(gè)downlod.jsp方式進(jìn)行。下載時(shí),Web服務(wù)器端要對發(fā)布服務(wù)器發(fā)送令牌,密碼,文件名稱等信息進(jìn)行身份的核對。如果Web服務(wù)器端失去連接而要再次連接發(fā)布服務(wù)器時(shí),發(fā)布服務(wù)器會驗(yàn)證該Web服務(wù)器端是否在本地配置的服務(wù)器列表中,如果在就生成新的令牌發(fā)送給Web服務(wù)器端,并且更新本地的令牌對應(yīng)Web服務(wù)器。發(fā)布服務(wù)器會定時(shí)輪詢每個(gè)配置的Web服務(wù)器端,如果某個(gè)Web服務(wù)器端無響應(yīng),就把該Web服務(wù)器的狀態(tài)設(shè)置為無響應(yīng)。
1)Web服務(wù)器端也需要配置自己的方案屬性用來接收發(fā)布服務(wù)器傳輸目錄的本地處理操作。Web服務(wù)器端在啟動(dòng)后也會連接發(fā)布服務(wù)器,如果發(fā)布服務(wù)器端中有該Web服務(wù)器端的方案信息,發(fā)布服務(wù)器也會向Web服務(wù)器端發(fā)送大版本號,Web服務(wù)器端進(jìn)行版本比較更新工作。如果發(fā)布服務(wù)器端中沒有Web服務(wù)器端的配置信息,不會向Web服務(wù)器端發(fā)送任何信息。
2)Web服務(wù)器端向發(fā)布服務(wù)器獲取文件時(shí),采用http方式,多線程斷點(diǎn)續(xù)傳下載服務(wù)器文件。Web服務(wù)器端需要在配置文件中配置遠(yuǎn)程服務(wù)器信息,用于在本地重新啟動(dòng)時(shí)連接遠(yuǎn)程服務(wù)器使用。
3)Web服務(wù)器端的方案分類規(guī)則同發(fā)布服務(wù)器端的方案分類規(guī)則。
系統(tǒng)在實(shí)現(xiàn)的過程中采用SOA架構(gòu),其所有的模塊均利用JSP+JavaBean的技術(shù)來實(shí)現(xiàn),并且選用了MySQL數(shù)據(jù)庫來進(jìn)行數(shù)據(jù)的處理。SOA架構(gòu)是一種粗粒度、開放式、松耦合的服務(wù)結(jié)構(gòu)。系統(tǒng)采用這這種分層設(shè)計(jì)體系可以使軟件產(chǎn)品變得更加彈性和靈活,且盡可能的與第3方軟件產(chǎn)品互補(bǔ)兼容。
系統(tǒng)的實(shí)現(xiàn)選用了MySQL數(shù)據(jù)庫。主要包括了服務(wù)器表、方案分類表、本地目錄規(guī)則表等。表1是服務(wù)器表,它是系統(tǒng)最主要的表,存放了當(dāng)前服務(wù)器的類型、名稱、IP以及密碼等信息。表2是方案分類表,存放了分類名稱、父分類編號等信息。表3是本地目錄規(guī)則表,存放了規(guī)則的名稱、目錄、以及目錄的類型。
表1 服務(wù)器表Tab.1 Server table
表2 方案分類表Tab.2 Program classification table
Server類:服務(wù)器實(shí)體類,用于說明當(dāng)前服務(wù)器的類型,是發(fā)布服務(wù)器還是Web服務(wù)器,當(dāng)前服務(wù)器的狀態(tài)是連接正常還是未響應(yīng)。
表3 本地目錄規(guī)則表Tab.3 Local directory rule table
Projectcategory類:方案分類實(shí)體類,定義方案的編號、分類名稱、以及父分類名稱。
DirectoryList類:本地目錄規(guī)則類,定義規(guī)則的編號、規(guī)則的名稱、目錄的類型,說明該目錄是發(fā)布服務(wù)器端的還是Web服務(wù)器端的。
Directorywatermark類:水印文件類,定義了水印文件的路徑、日期、大小、水印值、以及版本號等。
Poject類:方案實(shí)體類,定義了方案的編號、名稱、大版本號、方案的分類信息等。
ServerManage類:服務(wù)器管理類,用于獲取所有的服務(wù)器列表、根據(jù)方案編號獲取到該方案下的服務(wù)器列表、存儲更新一個(gè)服務(wù)器、根據(jù)服務(wù)器編號獲取服務(wù)器。
ProjectcategoryManage類:方案分類管理類,用于根據(jù)分類編號獲取所有方案以及存儲更新。
DirectoryListManage類:本地目錄規(guī)則管理類,用于根據(jù)方法編號獲取到本地目錄規(guī)則以及存儲更新。
ProjectManage類:方案管理類,用于初始化連接,發(fā)布服務(wù)器端與Web服務(wù)器端的連接、令牌的比較、存儲刪除一個(gè)方案、比較水印文件、獲取遠(yuǎn)程服務(wù)器文件。
Manage類:管理類,用于獲取管理類實(shí)例、獲取到所有方案信息、執(zhí)行生成發(fā)布服務(wù)器端與Web服務(wù)器端的方案。
發(fā)布服務(wù)器端的主界面如下:
每次分發(fā)任務(wù)時(shí)都建立一個(gè)相應(yīng)的方案,不同方案的方案編號不同。方案的分類是用來劃分方案的父分類。方案可以屬于某個(gè)方案分類也可以沒有方案分類。分類下的方案可以在不同的分類下剪貼。Web服務(wù)器數(shù)量是每個(gè)方案下,發(fā)布服務(wù)器端所要發(fā)送給的Web服務(wù)器的數(shù)量。本地目錄數(shù)量是在每個(gè)方案下,發(fā)布服務(wù)器端要發(fā)送的文件的在本地中存在位置的數(shù)量。方案版本號是每次發(fā)布任務(wù)時(shí)給定的一個(gè)版本的編號,用來區(qū)分版本的新舊。
圖2 發(fā)布服務(wù)器端主界面Fig.2 Release the main interface of the server-side
Web服務(wù)器端的主界面如下:
Web服務(wù)器端的方案分類規(guī)則同發(fā)布服務(wù)器端的方案分類規(guī)則。
服務(wù)器方案編號是在這個(gè)方案下,發(fā)布服務(wù)器要進(jìn)行傳輸?shù)哪硯讉€(gè)Web服務(wù)器中,此Web服務(wù)器的編號,用來區(qū)分發(fā)布任務(wù)的。
圖3 Web服務(wù)器端主界面Fig.3 Main interface of the Web server side
本系統(tǒng)最終能夠?qū)崿F(xiàn):將要發(fā)布的文件傳輸?shù)蕉鄠€(gè)Web服務(wù)器上,即達(dá)到分布式發(fā)布的目的,并且能夠保證頁面的完整性和保密性。當(dāng)篡改檢測模塊使用數(shù)字水印技術(shù)檢測出了某Web服務(wù)器上的文件發(fā)生了改變 (也就是文件已經(jīng)被篡改),則能對該Web服務(wù)器進(jìn)行文件的即時(shí)恢復(fù),即從原始庫同步復(fù)制到相應(yīng)的Web服務(wù)器上,最終達(dá)到網(wǎng)頁防篡改的目的。
[1]高延玲,張玉清.網(wǎng)頁保護(hù)系統(tǒng)綜述[J].計(jì)算機(jī)工程,2004,30(10):6-9.
GAO Yan-ling,ZHANG Yu-qing.Web protection system review[J].Computer Engineering,2004,30(10):6-9.
[2]楊飛.網(wǎng)頁防篡改技術(shù)[J].計(jì)算機(jī)安全,2008(7):8-32.
YANG Fei.Web anti-tampering technology[J].Computer Security,2008(7):8-32.
[3]陳寧江,杜凡遠(yuǎn).網(wǎng)頁防篡改應(yīng)用技術(shù)分析[J].計(jì)算機(jī)應(yīng)用,2009,61(3):5-21.
CHEN Ning-jiang,DU Fan-yuan.Webpagetamper-proof application technology analysis[J].Computer Application,2009,61(3):5-21.
[4]楊敏.網(wǎng)頁防篡改安全研究[J].中國高新技術(shù)企業(yè),2010(17):7-19.
YANG Min.Webpage tamper-proof security research[J].Chinese High-tech Enterprise,2010(17):7-19.
[5]牛少彰,江為強(qiáng).網(wǎng)絡(luò)的攻擊與防范—理論與實(shí)踐[M].北京:北京郵電大學(xué)出版社,2006.
[6]陳繪絢.淺析數(shù)據(jù)備份技術(shù)的實(shí)現(xiàn)方法[J].中國科技信息,2005(18):7-22.
CHEN Hui-xuan.Analysis of data backup technology[J].China Science and Technology,2005(18):7-22.
[7]Ryutov T.Integrated aeeess control and intrusion deteetion forweb servers [C]//Proc ofthe 23rd International Confereneeon Distributed Computing Systems,2003:43-65.