目前市場上常見的網頁防篡改技術有以下三種:
1)外掛輪詢技術 用一個網頁讀取和檢測程序,以輪詢方式讀出要監控的網頁,與真實網頁相比較,來判斷網頁內容的完整性,對於被篡改的網頁進行報警和恢復。
2)核心內嵌技術 將篡改檢測模塊內嵌在Web服務器軟件里,它在每一個網頁流出時都進行完整性檢查,對於篡改網頁進行實時訪問阻斷,並予以報警和恢復。
3)事件觸發技術 利用操作系統的文件系統或驅動程序接口,在網頁文件的被修改時進行合法性檢查,對於非法操作進行報警和恢復。
形象性描述
1. Web服務器與大樓 我們把Web服務器看成是一個美術館大樓,目錄是大樓的樓層和房間,每個網頁文件都是房間掛着的畫作。這些畫作每天在由工作人員不斷更新,每天也有成千上萬的借閱者通過借閱口來取出和閱讀這些畫作。網頁防篡改系統的目標就是保證人們看到的是真實的畫作,而不是贗品甚至fandong宣傳品。
2. 外掛輪詢技術 大樓配備了一個檢查員進行巡檢,他以一個普通借閱者的身份不停地在借閱處調取每個房間的每副畫作,與手里的真實畫作相比較里進行檢查,發現有可疑物品即進行報警。 這種方式的顯著弱點是:當大樓規模很大,房間和畫作很多時,他會忙不過來。對於特定的一幅畫作,兩次檢查的時間間隔會很長,不法分子完全有機會更換畫作,對借閱者造成嚴重影響。
3. 事件觸發技術 大樓在正門進口處配備一個檢查員,他對每一個進入的畫作進行檢查,發現有可疑物品即進行報警。 這種方式的顯著優點是:防范成本很低,但缺點是:美術館大樓的結構非常復雜,不法分子通常不會選擇正門進來,他會從天花板、下水道甚至利用大樓結構的薄弱處自己挖個洞進來,並且還不斷會有新的門路被發現,可見防守進口的策略是不能做到萬無一失的。另外,非法畫作一旦混進了大樓,就再也沒有機會進行安全檢查了。
4. 核心內嵌技術 大樓在借閱口處配備一個檢查員,他對每一個調出的畫作進行檢查,發現有可疑畫作即阻止它的流出。 這種方式的顯著優點是:每副畫作在流出時都進行檢查,因此可疑畫作完全沒有被借閱者看到的可能;相應弱點是,由於存在檢查手續,畫作在流出時會耽誤時間。
技術評估
1. 技術對比 外掛輪詢技術 事件觸發技術 核心內嵌技術 訪問篡改網頁 可能 可能 不可能 保護動態內容 不能 不能 能 服務器負載 中 低 低 帶寬占用 中 無 無 檢測時間 分鍾級 秒級 實時 繞過檢測機制 不可能 可能 不可能 防范連續篡改攻擊 不能 不能 能 保護所有網頁 不能 能 能 動態網頁腳本 不支持 支持 支持 適用操作系統 所有 受限 所有 上傳時檢測 不能 受限 能 斷線時保護 不能 不能 能
2. 訪問被篡改網頁 外掛輪詢技術:無法阻止公眾訪問到被篡改網頁,它只能在被篡改后一段時間發現和進行恢復,因此公眾有很大可能訪問到被篡改網頁。 事件觸發技術:將安全保障建立在“網頁不可能被隱秘地篡改”這種假設上,因此也沒有對網頁流出進行任何檢查,在一些情形下(具體情形見下文),公眾是有可能訪問到被篡改網頁的。 核心內嵌技術:守住Web網頁流出的最后一道關口,因此能夠完全杜絕被篡改的網頁被公眾訪問到,真正做到萬無一失。
3.保護動態內容 外掛輪詢技術:所監測到的動態網頁是網頁腳本和內容混合后的結果,而網頁內容是根據訪問情況時時在變化的,外掛輪詢技術又無法區分網頁腳本和內容,因此無法實現對動態網頁的防篡改保護。 事件觸發技術:事件觸發僅工作在操作系統層面上,未和Web服務器軟件發生關聯,因此無法獲得用戶的Web請求數據,對動態內容的篡改則是完全無能為力的。 核心內嵌技術:內嵌於Web服務器軟件內部,能夠完全截獲用戶請求數據,通過阻擋對數據庫的注入式攻擊來保護動態網頁內容的安全。
4. 服務器負載 外掛輪詢技術:由於從外部不斷地和獨立地掃描Web服務器文件,因此對Web服務器形成相當的負載,並且掃描頻度(亦即安全程度)和負載總是矛盾的。 事件觸發技術:由於只在正常網頁發布時進行安全檢查,因此對網頁訪問的影響幾乎為零,額外占用的服務器負載也基本上為零。 核心內嵌技術:篡改檢測模塊內嵌於Web服務器軟件里,Web服務器軟件讀出網頁文件后,由篡改檢測模塊進行水印比對,因此要占用一定CPU計算時間。但這個計算是在內存中進行的,比起Web服務器軟件從硬盤中讀取網頁文件的操作來,額外產生的負載是非常小的。
5. 帶寬占用 外掛輪詢技術:從外部獨立檢測網頁,因此需要占用訪問的網絡帶寬。 事件觸發技術和核心內嵌技術:檢測都在服務器本機上進行,不占用網絡帶寬。
6. 繞過檢測機制 外掛輪詢技術:由外部主機進行,不可能繞過檢測。 事件觸發技術:並不能確保捕獲對文件的所有方式的修改(例如直接寫磁盤、直接寫內核驅動程序、利用操作系統漏洞等),非常容易被專業黑客很容易繞過;而且一旦成功,它沒有任何手段來察覺和恢復。它的技術特點決定了它類似於防病毒工具(以黑防黑)而不是專門針對網站保護的系統。 核心內嵌技術:整合在Web服務器軟件里的,對每一個網頁都進行篡改檢查,不可能有網頁繞過檢測機制。
7. 連續篡改攻擊 有意進行惡意攻擊的黑客可以利用其他技術的掃描間隔來進行連續的篡改攻擊,即在網頁被恢復后立即重新篡改網頁。 外掛輪詢技術:由於重篡改過程可以利用程序自動和連續進行,並只針對一個重要網頁(例如網站首頁)進行,因此即使的掃描時間間隔設置得再小(例如1分鍾),也無法阻止篡改后的網頁被公眾訪問到。 事件觸發技術:對Web服務器軟件沒有控制能力,它發現篡改后沒有辦法去協調Web服務器工作,對於大規模或精心策划的攻擊是無能為力的。 核心內嵌技術:在每次輸出網頁時都進行完整性檢查,如有變化則阻斷發送。因此,無論連續攻擊多么迅速和頻繁,都無法使公眾看到被篡改的網頁。
8. 動態網頁腳本 目前的網站越來越多地使用動態技術(例如:ASP、JSP、PHP)來輸出網頁。動態網頁由網頁腳本和內容組成:網頁腳本以文件形式存在於Web服務器上;網頁內容則取自於數據庫。 外掛輪詢技術:所監測到的動態網頁是網頁腳本和內容混合后的結果,而網頁內容是根據訪問情況時時在變化的,外掛輪詢技術又無法區分網頁腳本和內容,因此無法實現對動態網頁的防篡改保護。 事件觸發技術和核心內嵌技術:可以直接從Web服務器上得到動態網頁腳本,不受變化的內容影響,因而能夠象靜態網頁一樣保護動態網頁腳本。
9. 斷線時保護 事件觸發技術:如果黑客中斷了Web服務器和備份網頁服務器的連接,這個被篡改的網頁就沒法即時恢復,而與此同時,大量的公眾可能已經訪問到了這個網頁,造成嚴重后果。 核心內嵌技術:即使在黑客中斷了Web服務器和備份網頁服務器連接的情況下,也可以阻止被篡改網頁的流出,最大程度達到保證效果。
轉載自http://newleague.iteye.com/blog/1123799