突破單一防御思路的Web安全
【51CTO.com 綜合消息】
1.Web安全防御思想分析
如何保護企業(yè)網(wǎng)站免于遭受攻擊,是令很多CIO們頭疼不已的問題。
一般來說,Web安全的防范措施不外乎兩種:未被禁止的就是允許的,未被允許的就是禁止的。
先來看第一種,“未被禁止的就是允許的”。
這一思想可以解釋為:凡是與記錄在案的攻擊行為相符合的,就認(rèn)為是攻擊行為,凡是不符合已知攻擊行為特征的,就是正常行為,這稱之為模式匹配技術(shù)。
早期的入侵檢測技術(shù)就是這一思想的典型代表。通過定義攻擊事件的數(shù)據(jù)特征,來區(qū)分網(wǎng)絡(luò)中的各種數(shù)據(jù)流。這種方法的準(zhǔn)確率較高,但如果攻擊者采用最新的,尚未添加到檢測中的攻擊方法,容易有漏報。
而且早期的模式匹配技術(shù)沒有通配概念,變形攻擊很容易躲過入侵檢測的檢查。隨著入侵檢測技術(shù)的發(fā)展,這已經(jīng)是非常困難的事了。
第二種,“未被允許的就是禁止的”。
類似于防火墻等訪問控制設(shè)備,設(shè)定一些允許規(guī)則,不包括在規(guī)則內(nèi)的,就將被禁止。這一類的Web安全產(chǎn)品包括application firewall和靜態(tài)網(wǎng)頁防篡改系統(tǒng)。
Application firewall,之所以叫firewall,就是因為其主體設(shè)計思想是模仿防火墻,所不同的是,application firewall不僅關(guān)心4層以下的數(shù)據(jù),還需要關(guān)注應(yīng)用層的數(shù)據(jù)。
而在“未被允許的就是禁止的”這一思想指導(dǎo)下,application firewall多采用構(gòu)建異常模型方式:通過學(xué)習(xí)“干凈”的網(wǎng)絡(luò)數(shù)據(jù),視情況需幾天或幾星期,一一列舉出所有應(yīng)當(dāng)被允許的行為,當(dāng)模型構(gòu)建完成,所有被允許的行為也就定義下來了,在工作過程中,一旦發(fā)現(xiàn)某條數(shù)據(jù)行為并未包括在模型中,就予以響應(yīng)(阻斷、報警)。
這種方法對未知攻擊和新漏洞攻擊有很好的防御能力,但弱點也同樣明顯:學(xué)習(xí)數(shù)據(jù)必須是“干凈”的,否則攻擊行為將被認(rèn)為是正常行為而給予放行,產(chǎn)生漏報。而且業(yè)務(wù)結(jié)構(gòu)發(fā)生變化后,比如更換服務(wù)器,添加新的在線服務(wù)業(yè)務(wù)等,需要重新學(xué)習(xí),否則容易誤報。
靜態(tài)網(wǎng)頁防篡改系統(tǒng),將“未被允許的就是禁止的”貫徹得更死板一些:將所有被保護的網(wǎng)頁做備份,除了規(guī)定程序/地址外,其它任何企圖更改頁面的行為都是被禁止的,即使駭客攻擊后更改成功,也可通過備份機制進行自動還原。
但隨著動態(tài)頁面技術(shù)的進步,Web網(wǎng)站已經(jīng)很少有靜態(tài)頁面了,而且這種防篡改系統(tǒng)僅保障了網(wǎng)頁內(nèi)容不被修改,無法保障其它私隱信息(如用戶數(shù)據(jù))的安全。
這兩種防御思路各有優(yōu)劣,單一思路指導(dǎo)下的Web防御產(chǎn)品都是不完善的,要實現(xiàn)全面的Web安全防御,需要融合兩種思路的優(yōu)勢。我們欣喜地看到,相關(guān)廠商已經(jīng)在這些方面進行努力。
2.融合兩種思路的Web安全
入侵檢測技術(shù)基礎(chǔ)上的發(fā)展的Web安全
先來看入侵檢測技術(shù)方向。
自本世紀(jì)初起,入侵檢測技術(shù)就已不限于單純的模式匹配(誤用檢測),而是包含了包括統(tǒng)計異常檢測、基于模式預(yù)測異常檢測、基于數(shù)據(jù)挖掘異常檢測、基于神經(jīng)網(wǎng)絡(luò)異常檢測以及基于特征選擇異常檢測等在內(nèi)的異常檢測機制。
其特點是并不以單純的數(shù)據(jù)特征作為匹配對象來源,而是分析數(shù)據(jù)的行為特征。在入侵檢測技術(shù)基礎(chǔ)上發(fā)展起來的入侵防御產(chǎn)品,已然可以看到融合兩種防御思路的跡象。
正如前面所說的,傳統(tǒng)的“未被禁止的就是允許的”思路,容易形成漏報,攻擊者進行攻擊變形或攻擊編碼,就有可能繞過檢測機制。
針對這一情況,入侵檢測技術(shù)的應(yīng)對是會話重組和擬態(tài)還原技術(shù),并不是針對某一個數(shù)據(jù)包進行分析,而是將整個攻擊會話還原,這樣,如插入無意義字符、UNICODE編碼、ASIC編碼等躲避技術(shù)就無所遁形了。
而針對新攻擊無法發(fā)現(xiàn)的弱點,一般來說有兩種解決思路,對于那些有攻擊機理體系的新攻擊,如SQL注入,XSS攻擊,利用分析攻擊機理,提煉攻擊行為特征,而不是數(shù)據(jù)特征方式,籍此入侵防御產(chǎn)品可以實現(xiàn)對新發(fā)現(xiàn)漏洞的實時防御。
另外一種情況就是相對獨立的新漏洞,這就是考驗安全廠商漏洞發(fā)掘能力、應(yīng)急能力的關(guān)鍵點:如果漏洞是安全廠商自行發(fā)現(xiàn)的,那么防御不成為問題;
如果漏洞是其它途徑發(fā)布的,就需要安全廠商有足夠多的信息來源,可以第一時間獲得漏洞信息,并且有一支強大的事件分析隊伍,可以在獲得漏洞信息后,盡快地發(fā)布相應(yīng)防御補丁。
Application firewall基礎(chǔ)上發(fā)展的Web安全
再來看Application firewall方向目前的發(fā)展(網(wǎng)頁防篡改方向應(yīng)用較少,本文就不涉及了)。
Application firewall的“未被允許的就是禁止的”思路,使得Application firewall不需要太關(guān)心具體的攻擊行為和漏洞信息,這也和Application firewall多為審計廠商和負(fù)載均衡廠商出品有關(guān)系:在入侵識別技術(shù)上并不占優(yōu)勢,所以并沒有從入侵分析上下手,而是走了另外一條路。
但正如上面所說的,Application firewall的防御完備度取決于數(shù)據(jù)學(xué)習(xí)階段,如果某漏洞的攻擊方法就是正常的訪問,但攜帶某種特定規(guī)則的數(shù)據(jù)部分,Application firewall將無法發(fā)現(xiàn)這種攻擊行為。
所以有的Application firewall廠商也需要針對某些新型漏洞提供攻擊數(shù)據(jù)特征來進行防御。在這一點上,考驗的主要就是廠商漏洞發(fā)掘、應(yīng)急響應(yīng)的能力了。
無論如何,在入侵檢測基礎(chǔ)上發(fā)展也好,在Application firewall基礎(chǔ)上發(fā)展也好,最后大家都將走到同一條路上來,那就是結(jié)合特征匹配與異常模型的防御,突破單一防御思路的新型Web威脅防御。只有將這兩種技術(shù)思路融合起來,才能為用戶提供真正解決Web威脅的全面解決方案。