一、Web應用系統的工作原理
現代的信息系統,無(wú)論是建立信息發(fā)布和數據交換平臺,還是建立外部商業(yè)和內部業(yè)務(wù)應用系統,都離不開(kāi)Web應用系統。
Web應用是由動(dòng)態(tài)腳本語(yǔ)言(如ASP、JSP和PHP等)和編譯過(guò)的代碼等組合而成,它通常架設在Web服務(wù)器上。用戶(hù)在Web瀏覽器上發(fā)送請求,這些請求使用HTTP協(xié)議,經(jīng)過(guò)互聯(lián)網(wǎng)或內部網(wǎng)絡(luò )與服務(wù)者的Web應用交互,由Web應用與企業(yè)后臺的數據庫及其他動(dòng)態(tài)內容通信。
盡管Web應用有著(zhù)許多簡(jiǎn)化或復雜搭建方式,但一個(gè)典型的 Web 應用通常是標準的三層架構模型:
在這種最常見(jiàn)的模型中,客戶(hù)端是第一層;使用動(dòng)態(tài)Web技術(shù)的部分屬于中間層;數據庫是第三層。用戶(hù)通過(guò)Web瀏覽器發(fā)送請求給中間層,由中間層將用戶(hù)的請求轉換為對后臺數據的查詢(xún)或是更新,并將最終的結果在瀏覽器上展示給用戶(hù)。
二、Web應用系統的安全漏洞
Web應用系統有著(zhù)其固有的開(kāi)發(fā)特點(diǎn):開(kāi)發(fā)人員素質(zhì)一般、需求快速變更導致缺乏嚴謹的設計和代碼編寫(xiě)、系統沒(méi)有經(jīng)過(guò)嚴格的測試等,這些特點(diǎn)加上HTTP協(xié)議本身的無(wú)狀態(tài)和匿名性,導致Web應用出現了很多的漏洞,如SQL注入漏洞、跨站腳本漏洞等等。
另外,管理員對Web系統的現成軟件(包括操作系統、Web服務(wù)器軟件、中間件、第三方平臺、數據庫)的配置不當也會(huì )造成很多漏洞,最常見(jiàn)的就是網(wǎng)頁(yè)被篡改。
作為Web應用運行的基礎平臺,Web服務(wù)器(軟件)本身只提供對HTTP協(xié)議的處理,并不會(huì )對協(xié)議數據的來(lái)源和內容進(jìn)行安全檢查和安全加固,如下圖所示:
正是基于Web服務(wù)器這樣的工作原理,黑客就可以利用Web應用程序自身的漏洞和管理員配置不當造成的漏洞而對Web應用進(jìn)行攻擊和破壞。
三、天存Web應用安全解決方案
為了從源頭上杜絕攻擊的發(fā)生,天存通過(guò)核心內嵌技術(shù)給WEB服務(wù)器軟件打上安全補丁,在WEB服務(wù)器尚未對請求進(jìn)行內部(業(yè)務(wù))處理之前,對請求中包含的各項數據進(jìn)行過(guò)濾,確保只將安全的請求交給Web服務(wù)器進(jìn)行處理;在Web服務(wù)器合成響應之前對文件的完整性進(jìn)行檢查,確保響應內容的正確性。如下圖所示:
方案優(yōu)勢
- 1.通過(guò)對請求和響應的雙向檢測,一方面確保黑客利用Web應用程序自身漏洞發(fā)起的各種應用層攻擊都能夠被實(shí)時(shí)阻斷;另一方面杜絕篡改后的網(wǎng)頁(yè)/腳本文件被訪(fǎng)問(wèn)的可能性,使黑客利用管理員配置不當等漏洞篡改網(wǎng)頁(yè)的企圖完全落空。
- 2.不存在獨立的安全模塊運行進(jìn)程,工作過(guò)程完全與Web服務(wù)的運行進(jìn)程融合,在精準理解和分析Web服務(wù)請求數據的同時(shí),確保入侵者無(wú)法干擾安全檢測的運行。
- 3.與操作系統及硬件無(wú)關(guān),與應用系統使用的腳本語(yǔ)言無(wú)關(guān),無(wú)需改變網(wǎng)絡(luò )拓撲結構,對Web應用的正常運行沒(méi)有任何影響。