陳綱
摘要:當(dāng)今社會(huì)人們通過(guò)互聯(lián)網(wǎng)獲取大量信息,不法分子趁機(jī)利用網(wǎng)頁(yè)篡改技術(shù)發(fā)布虛假、反動(dòng)等信息,對(duì)國(guó)家和人民的利益造成了嚴(yán)重的損害,國(guó)家單位代表著國(guó)家形象,更成為了不法分子的頭號(hào)目標(biāo)。在政府推出信息安全等級(jí)保護(hù)工作后,很多國(guó)家單位應(yīng)要求進(jìn)行了備案,但在資金吃緊無(wú)法一步到位滿足等級(jí)保護(hù)的要求情況下,就急需一種高效、快捷、低成本的方法來(lái)進(jìn)行過(guò)渡,保護(hù)網(wǎng)站不被篡改。而筆者在研究過(guò)目前主流的網(wǎng)頁(yè)防篡改技術(shù)后,選擇了開(kāi)發(fā)快,成本低的時(shí)間輪詢方式,并結(jié)合散列算法進(jìn)行改良,以此來(lái)針對(duì)性的解決上述問(wèn)題,具體方法會(huì)在正文中詳細(xì)說(shuō)明。
關(guān)鍵詞:網(wǎng)頁(yè)防篡改;網(wǎng)站保護(hù);低成本;時(shí)間輪詢;散列算法
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)05-0193-01
隨著信息時(shí)代發(fā)展至今,人們已經(jīng)習(xí)慣通過(guò)互聯(lián)網(wǎng)查詢和獲取所需信息,大量不法分子趁機(jī)利用網(wǎng)頁(yè)篡改技術(shù)散布虛假、反動(dòng)等信息,而他們的首要目標(biāo)正是各類國(guó)字頭單位的網(wǎng)站,因?yàn)檫@類網(wǎng)站都具有一定的知名度和公信力,被篡改后影響更為嚴(yán)重。尤其在國(guó)家重大政治活動(dòng)時(shí)期,此類現(xiàn)象更是猖獗,對(duì)國(guó)家形象和人民利益造成了不小的損害。
為此,國(guó)家近兩年開(kāi)始開(kāi)展了信息安全等級(jí)保護(hù)工作,不同單位根據(jù)重要性和規(guī)模大小,建立一個(gè)符合信息安全等級(jí)保護(hù)要求的機(jī)房,加上各類防御硬件設(shè)施,預(yù)算將達(dá)到幾十萬(wàn)乃至上千萬(wàn),但各個(gè)單位的財(cái)政情況不同,很多單位在預(yù)算吃緊的情況下,很難一步到位,慢慢投入建設(shè)需要時(shí)間,而由于這些單位已進(jìn)行了等級(jí)保護(hù)備案,在這段時(shí)間內(nèi)網(wǎng)站一旦出現(xiàn)篡改現(xiàn)象,除了之前所說(shuō)的危害,還易受到調(diào)查處分。在這種情況下,就急需一種高效、快捷、成本低的方法來(lái)保護(hù)網(wǎng)站。筆者所在的單位,之前就處在這樣的一個(gè)過(guò)渡時(shí)期,經(jīng)過(guò)筆者的研究,總結(jié)出如下機(jī)制以供參考。
目前,網(wǎng)頁(yè)防篡改方式主要采用的有文件系統(tǒng)監(jiān)測(cè)、核心內(nèi)嵌技術(shù)、時(shí)間輪詢?nèi)N。文件系統(tǒng)監(jiān)測(cè)存在致命弱點(diǎn),即容易被繞開(kāi)檢測(cè)機(jī)制,比如它無(wú)法監(jiān)測(cè)到直接寫磁盤或利用操作系統(tǒng)漏洞等方式來(lái)篡改網(wǎng)站文件;核心內(nèi)嵌技術(shù)比較全面,但服務(wù)器資源占用巨大,開(kāi)發(fā)復(fù)雜度和成本較高,對(duì)于本身預(yù)算吃緊的單位并不適用;時(shí)間輪詢方式開(kāi)發(fā)最為簡(jiǎn)單、成本最低,時(shí)間最短,適合解決本文提出的問(wèn)題,其最大的缺點(diǎn)是服務(wù)器資源占用較大(仍小于核心內(nèi)嵌技術(shù)),但如筆者單位所上線的宣傳型企業(yè)官網(wǎng),沒(méi)有龐大的網(wǎng)頁(yè)數(shù)量和用戶訪問(wèn)量,對(duì)服務(wù)器的壓力本身較小,可以選擇此種方式,另外本文后面還將重點(diǎn)介紹減少服務(wù)器資源消耗的改良方法。
1 具體實(shí)施方法
傳統(tǒng)的時(shí)間輪詢方式一般采取文件對(duì)比或者快照對(duì)比的方式,因?yàn)檫@些方式都是以字節(jié)流的形式進(jìn)行對(duì)比為基礎(chǔ),所以對(duì)服務(wù)器資源的占用很嚴(yán)重,而我們將采取散列算法的方式(如MD5、SHA1等)進(jìn)行對(duì)比,可以大幅減少服務(wù)器的壓力。這里推薦使用MD5,MD5的運(yùn)算速度比SHA1要快20%。需要提及的是,SHA1、SHA256和SHA512這三種算法碰撞率遞減,安全性遞增,但運(yùn)算時(shí)間也是成倍增加??紤]到要解決服務(wù)器壓力的首要課題,仍然建議使用MD5算法。
首先,將網(wǎng)站源程序建立一個(gè)備份,計(jì)算出其中每個(gè)文件的MD5值,將文件名和值保存在一個(gè)表中。然后創(chuàng)建一個(gè)循環(huán)程序,在單位時(shí)間周期內(nèi)(如五分鐘),計(jì)算發(fā)布網(wǎng)站程序中每個(gè)文件的MD5值,與表中對(duì)應(yīng)文件名的值做比較,如果相同,則說(shuō)明網(wǎng)站未被篡改;如果不同,則啟動(dòng)恢復(fù)模塊,將備份網(wǎng)站程序中的該文件替換掉原發(fā)布網(wǎng)站中的;如果在表中未找到對(duì)應(yīng)的文件名,說(shuō)明該文件是被非法添加的,將其刪除。
其中,單位時(shí)間周期的設(shè)置可根據(jù)實(shí)際情況,如網(wǎng)站程序的大小、服務(wù)器的配置以及網(wǎng)站訪問(wèn)人數(shù)等來(lái)設(shè)定。時(shí)間周期越長(zhǎng),服務(wù)器壓力越小,但網(wǎng)頁(yè)發(fā)生篡改后被用戶訪問(wèn)到的風(fēng)險(xiǎn)越大;反之則相反。
另外要注意的是,在計(jì)算超大文件的MD5值時(shí),沒(méi)有必要將整個(gè)文件一次性讀到內(nèi)存里,因?yàn)镸D5是每512位作為一個(gè)CHUNK進(jìn)行計(jì)算的,所以可以每次讀取一部分內(nèi)容(最少512位),進(jìn)行CHUNK部分的計(jì)算,之后再讀取下一部分內(nèi)容繼續(xù)計(jì)算,最后進(jìn)行匯總計(jì)算生成MD5值。
2 一些可選的擴(kuò)展
可添加恢復(fù)文件日志以獲得被攻擊頻率、攻擊時(shí)間等信息,便于日后整改利用,也可以添加報(bào)警模塊,發(fā)現(xiàn)文件被篡改及時(shí)向管理員以郵件、短信等形式進(jìn)行通知。
防止網(wǎng)站備份文件或存放MD5值的表被惡意篡改,可將其打包成壓縮文件,再改掉其文件名和后綴名,最后只需在程序中按原后綴名打開(kāi)并實(shí)行解壓讀取即可。
現(xiàn)在主流語(yǔ)言中大多已包含計(jì)算MD5值的包與方法,直接導(dǎo)入調(diào)用即可,所以采取此機(jī)制可以很快開(kāi)發(fā)出防篡改程序,且基本為“零”成本投入。在如今的網(wǎng)絡(luò)大環(huán)境下,“紅”與“黑”的斗爭(zhēng)愈演愈烈,我們?cè)诓粩嗵剿餍录夹g(shù)革新的同時(shí),也要同時(shí)注意成本的控制與壓縮,往往低成本及性價(jià)比高的方法要比“高精尖”更能夠滿足大眾的需求,也更適合向社會(huì)推廣。
參考文獻(xiàn)
[1]楊雷.網(wǎng)頁(yè)防篡改安全技術(shù)的研究與應(yīng)用[J].西安電子科技大學(xué),2010,06:25-32.
[2]丁勝.網(wǎng)站安全防篡改系統(tǒng)的研究與實(shí)現(xiàn)[J].上海交通大學(xué),2009,10:4-7.
[3]張瑜.網(wǎng)頁(yè)防篡改系統(tǒng)的應(yīng)用分析[J].內(nèi)蒙古電力技術(shù),2010,02:23-25.endprint
數(shù)字技術(shù)與應(yīng)用2017年5期