web應(yīng)用防火墻(WAF)的安全原理與技術(shù)分析
防止網(wǎng)頁被篡改是被動的,能阻斷入侵行為才是主動型的,前邊提到的IPS/UTM等產(chǎn)品是安全通用的網(wǎng)關(guān),也有專門針對Web的硬件安全網(wǎng)關(guān),國內(nèi)的如:綠盟的Web防火墻,啟明的WIPS(web IPS),國外的有imperva的WAF(Web Application Firewall)等。
Web防火墻,主要是對Web特有入侵方式的加強防護,如DDOS防護、SQL注入、XML注入、XSS等。由于是應(yīng)用層而非網(wǎng)絡(luò)層的入侵,從技術(shù)角度都應(yīng)該稱為Web IPS,而不是Web防火墻。這里之所以叫做Web防火墻,是因為大家比較好理解,業(yè)界流行的稱呼而已。由于重點是防SQL注入,也有人稱為SQL防火墻。
Web防火墻產(chǎn)品部署在Web服務(wù)器的前面,串行接入,不僅在硬件性能上要求高,而且不能影響Web服務(wù),所以HA功能、Bypass功能都是必須的,而且還要與負(fù)載均衡、Web Cache等Web服務(wù)器前的常見的產(chǎn)品協(xié)調(diào)部署。
Web防火墻的主要技術(shù)的對入侵的檢測能力,尤其是對Web服務(wù)入侵的檢測,不同的廠家技術(shù)差別很大,不能以廠家特征庫大小來衡量,主要的還是看測試效果,從廠家技術(shù)特點來說,有下面幾種方式:
◆代理服務(wù):代理方式本身就是一種安全網(wǎng)關(guān),基于會話的雙向代理,中斷了用戶與服務(wù)器的直接連接,適用于各種加密協(xié)議,這也是Web的Cache應(yīng)用中最常用的技術(shù)。代理方式防止了入侵者的直接進入,對DDOS攻擊可以抑制,對非預(yù)料的“特別”行為也有所抑制。Netcontinuum(梭子魚)公司的WAF就是這種技術(shù)的代表。
◆特征識別:識別出入侵者是防護他的前提。特征就是攻擊者的“指紋”,如緩沖區(qū)溢出時的Shellcode,SQL注入中常見的“真表達(dá)(1=1)”…應(yīng)用信息沒有“標(biāo)準(zhǔn)”,但每個軟件、行為都有自己的特有屬性,病毒與蠕蟲的識別就采用此方式,麻煩的就是每種攻擊都自己的特征,數(shù)量比較龐大,多了也容易相象,誤報的可能性也大。雖然目前惡意代碼的特征指數(shù)型地增長,安全界聲言要淘汰此項技術(shù),但目前應(yīng)用層的識別還沒有特別好的方式。
◆算法識別:特征識別有缺點,人們在尋求新的方式。對攻擊類型進行歸類,相同類的特征進行模式化,不再是單個特征的比較,算法識別有些類似模式識別,但對攻擊方式依賴性很強,如SQL注入、DDOS、XSS等都開發(fā)了相應(yīng)的識別算法。算法識別是進行語義理解,而不是靠“長相”識別。
◆模式匹配:是IDS中“古老”的技術(shù),把攻擊行為歸納成一定模式,匹配后能確定是入侵行為,當(dāng)然模式的定義有很深的學(xué)問,各廠家都隱秘為“專利”。協(xié)議模式是其中簡單的,是按標(biāo)準(zhǔn)協(xié)議的規(guī)程來定義模式;行為模式就復(fù)雜一些,
Web防火墻最大的挑戰(zhàn)是識別率,這并不是一個容易測量的指標(biāo),因為漏網(wǎng)進去的入侵者,并非都大肆張揚,比如給網(wǎng)頁掛馬,你很難察覺進來的是那一個,不知道當(dāng)然也無法統(tǒng)計。對于已知的攻擊方式,可以談識別率;對未知的攻擊方式,你也只好等他自己“跳”出來才知道。
“自學(xué)習(xí)”功能的發(fā)展:
Imperva公司的WAF產(chǎn)品在提供入侵防護的同時,還提供了另外一個安全防護技術(shù),就是對Web應(yīng)用網(wǎng)頁的自動學(xué)習(xí)功能,由于不同的網(wǎng)站不可能一樣,所以網(wǎng)站自身頁面的特性沒有辦法提前定義,所以imperva采用設(shè)備自動預(yù)學(xué)習(xí)方式,從而總結(jié)出本網(wǎng)站的頁面的特點。具體的做法是這樣的:
通過一段時間的用戶訪問,WAF記錄了常用網(wǎng)頁的訪問模式,如一個網(wǎng)頁中有幾個輸入點,輸入的是什么類型的內(nèi)容,通常情況的長度是多少…學(xué)習(xí)完畢后,定義出一個網(wǎng)頁的正常使用模式,當(dāng)今后有用戶突破了這個模式,如一般的帳號輸入不應(yīng)該有特殊字符,而XML注入時需要有“<”之類的語言標(biāo)記,WAF就會根據(jù)你預(yù)先定義的方式預(yù)警或阻斷;再如密碼長度一般不超過20位,在SQL注入時加入代碼會很長,同樣突破了網(wǎng)頁訪問的模式。
網(wǎng)頁自學(xué)習(xí)技術(shù),從Web服務(wù)自身的業(yè)務(wù)特定角度入手,不符合我的常規(guī)就是異常的,也是入侵檢測技術(shù)的一種,比起單純的Web防火墻來,不僅給入侵者“下通緝令”,而且建立進入自家的內(nèi)部“規(guī)矩”,這一種雙向的控制,顯然比單向的要好。
Citrix公司收購了Teros后,推出的應(yīng)用防火墻通過分析雙向流量來學(xué)習(xí)Web服務(wù)的用戶行為模式,建立了若干用戶行為模型,一但匹配上你是某個行為,就按該模式行為去衡量你的行為做法,有“越軌”企圖立即給予阻斷。這個自適應(yīng)學(xué)習(xí)引擎與Imperva公司的網(wǎng)頁自學(xué)習(xí)有些類似,不過一個重點是學(xué)習(xí)網(wǎng)頁特點,一個是學(xué)習(xí)用戶訪問的規(guī)律。
從安全角度來說,網(wǎng)業(yè)自學(xué)習(xí)技術(shù)與入侵防護結(jié)合使用,是理想的選擇。
Web防火墻的未來出路:
有一種說法:因為Web服務(wù)器前的負(fù)載均衡設(shè)備、Web 加速設(shè)備是不可缺少的,又是Web服務(wù)器群的出口必經(jīng)之路,所以Web防火墻的功能有可能與這些設(shè)備合并。這種發(fā)展趨勢有些象網(wǎng)關(guān)UTM與單獨的FW、IPS、AV、VPN等設(shè)備進化發(fā)展一樣,UTM就是這些網(wǎng)關(guān)的集合產(chǎn)品。
但我有一個不同的看法:UTM部署于網(wǎng)絡(luò)的外連接出口,一般是互聯(lián)網(wǎng)出口,其網(wǎng)絡(luò)安全隔離作用,這里的帶寬價格昂貴,所以擁有大帶寬的用戶很有限,而Web服務(wù)器群是與網(wǎng)絡(luò)主交換機連接的,提供的是應(yīng)用處理能力,要求的參數(shù)常是并發(fā)用戶的數(shù)量與在線用戶的數(shù)量,服務(wù)器一般都是千兆接口,目前的交換機就可達(dá)到幾十個TB的交換能力,在大流量鏈路上做多功能的安全產(chǎn)品,又是應(yīng)用層的檢測,對產(chǎn)品的硬件壓力是巨大的,能達(dá)到“線性”流量的產(chǎn)品一定價格昂貴,因此Web防火墻的這種合并思路是有待商榷的。
【編輯推薦】