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