如何應對WEB攻擊的防護盲點(1)
WEB攻擊的數量逐年上升,占了大(dà)部分(fēn)攻擊事件比例。WEB安全已經推到了前沿浪尖,無論是政府還是企業都迫切解決這個棘手的問題,Gartner統計:目前75%攻擊轉移到應用層。原有的傳統防禦設備已經不能滿足企業對網絡攻擊的防禦。WEB應用技術在積極發展的同時需要強有力的安全保障,所以WAF是應形勢需求誕生(shēng)的産品,它走上應用安全的舞台,是一(yī)個必然的趨勢。
Web漏洞歸類
衆所周知(zhī),WEB服務系統實際不是一(yī)個單一(yī)的軟件,它由OS+Database+WEB服務軟件(比如:IIS、Apache)+腳本程序(比如:Jscript、PHP代碼文件)構成,所以要考慮它最基本的依賴,那就是OS和Database、WEB服務軟件自身的安全,這個可以通過安全加固服務來實現,而最核心的應用程序代碼是不能用同樣的手段來解決,這也是WEB安全問題的主要來源。
WEB 應用安全漏洞與操作系統或者網絡設備的漏洞是不同的,這是因爲編寫代碼者是不同的,産生(shēng)的代碼也是不同的,所以國外(wài)有成立正門的WEB安全組織來歸類一(yī)些漏洞,讓開(kāi)發人員(yuán)、安全廠家、第三方專家等能用一(yī)種一(yī)緻的語言來讨論WEB安全問題。比較有名的是OWASP的TOP10漏洞,還有Web Application Security Consortium (WASC)歸類的Thread Classification,如下(xià)表:
從安全角度看,WEB從設計到開(kāi)發必須遵循:
1.安全設計
2.安全編碼
3.安全測試(代碼審計和掃描、滲透)
4.安全運維
其中(zhōng)最根本的在于安全設計和安全編碼,也就是上線前必須保證WEB産品的自身強壯性。目前大(dà)部分(fēn)的WEB應用程序是用戶自己或請人編寫,其他的或網站裏部分(fēn)組件,比如論壇、郵件系統、留言闆等會用到商(shāng)業版,代碼是不相同的,而且程序員(yuán)的水平參差不齊,更重要的是他們都遵循了軟件的安全開(kāi)發标準嗎(ma)?
記住,這是我(wǒ)們爲什麽需要WAF的第一(yī)個理由!
攻擊從未停止
讓我(wǒ)們先看下(xià)圖,是攻擊網站的基本步驟和方法。
如上所示,互聯網每天都充斥着數千萬的攻擊流量,而WAF可以自動識别和屏蔽大(dà)部分(fēn)主流的攻擊工(gōng)具特征,使得它們在攻擊的前奏就失效,綠盟科技WAF采用的是透明代理模式,使得客戶端和服務器的雙向流量都必須經過WAF清洗,而又(yòu)無需另外(wài)配置,保持原有的網絡結構,每個報文需要接受WAF對其的“搜身檢查”,合格之後再進行轉發。
可能有人會說Firewall和IPS不是這樣的設備嗎(ma)?它們爲什麽不能防禦呢?詳細的對比參數我(wǒ)就不列舉了,大(dà)家知(zhī)道OSI 7層模型,防火(huǒ)牆通常工(gōng)作在OSI的第三層,也就是針對網絡層,包括包過濾型和狀态包檢測型防火(huǒ)牆,即使是應用層防火(huǒ)牆也無法阻擋大(dà)多數WEB攻擊行爲,這是它自身技術定位決定的局限性。攻擊者隻需在浏覽器上操縱URL就可攻擊目标網站。當然,作爲互補型的IDS(入侵檢測系統)、IPS(入侵防護系統)産品是能防護應用層的攻擊行爲,但是市面上絕大(dà)多數的産品都隻能防護一(yī)部分(fēn)WEB攻擊,甚至有些産品也是直接在IDS類産品上做修改而形成的WAF,基本隻依靠規則來實現,嚴重滞後于繁雜(zá)多樣的WEB攻擊手段。當然,我(wǒ)在這裏要重申一(yī)下(xià),WAF可以和傳統的FS+IPS作爲一(yī)個有益的補充,但絕不是去(qù)代替他們。
所以,WAF的自身代理架構使得分(fēn)析和阻擋攻擊具有天然的優勢,這是我(wǒ)們爲什麽需要WAF的第二個理由!
WAF的防護原理
好,我(wǒ)們再回到防護盲點的産生(shēng)這個焦點話(huà)題,那就是無論如何安全設計和編碼,或者經過最嚴謹代碼審計、滲透測試之後都難免會有漏洞,因爲理論上1000行代碼就有1個Bug,檢查隻能讓這些減少而已,無法真正做到沒有安全漏洞的産品,這也就是爲什麽軟件廠商(shāng)會不斷地推出一(yī)個個補丁來彌補,而這些Bug隻要能被攻擊者發現和利用那麽就會帶來威脅。
也就是說代碼缺陷是先天存在的,即使後來修複也會具有一(yī)定的滞後性,而且不能保證100%地發現所有存在的漏洞那個缺陷。爲了給大(dà)家更好地理解WAF防護的天然優勢我(wǒ)們從兩個例子來進行分(fēn)析,從技術實現角度看WAF,SQL注入采用了規則集靜态防護,CSRF采用了算法的動态防護。