【總結】淺析Waf優缺點之硬體Waf、軟體Waf、雲Waf

天府雲創發表於2017-12-26

一、什麼是Waf?

Waf的全拼為:Web Application Firewall,顧名思義Waf是一款專針對Web應用攻擊的防護產品。當Web應用越來越豐富的同時,大部分互動都轉移到了Web上,與此同時Web也成為了主要的攻擊目標,此時Waf就成為了安全防護中的第一道防線,Waf在安全中的重要性不言而喻。

二、Waf形態分類

目前市面上的Waf的形態可以簡單分類為三種,分別為:

硬體Web防火牆

Web防護軟體

雲Waf

硬體Waf通常的安裝方式是將Waf序列部署在Web伺服器前端,用於檢測、阻斷異常流量。

常規硬體Waf的實現方式是通過代理技術代理來自外部的流量,並對請求包進行解析,通過安全規則庫的攻擊規則進行匹配,如成功匹配規則庫中的規則,則識別為異常並進行請求阻斷。

軟體Waf則是安裝在需要防護的伺服器上,實現方式通常是Waf監聽埠或以Web容器擴充套件方式進行請求檢測和阻斷。

雲Waf是近年來隨著雲端計算的推動衍生出來的新產品,雲WAF,也稱WEB應用防火牆的雲模式,這種模式讓使用者不需要在自己的網路中安裝軟體程式或部署硬體裝置,就可以對網站實施安全防護,它的主要實現方式是利用DNS技術,通過移交域名解析權來實現安全防護。使用者的請求首先傳送到雲端節點進行檢測,如存在異常請求則進行攔截否則將請求轉發至真實伺服器。

三、優缺點總結

面對不同形態的Waf,那麼作為網站運營方,該如何選擇適合自己的Waf呢?不同形態的Waf各有各的長處,但也有各自的缺點。

硬體Waf之利(一):部署簡易,即插即用

硬體Waf只需串聯到交換機上,進行簡單的配置後即可實現Web安全防護

硬體Waf之利(二):可承受較高的吞吐量

由於硬體防火牆基於硬體裝置實現,一般情況下可承受較高的資料吞吐量

硬體Waf之利(三):防護範圍大

由於硬體防火牆直接串聯到了交換機,所以在同一個交換機下的所有伺服器,都處於防火牆的防護範圍之類

說完了優點,我們來說說弊端。

硬體Waf之弊(一):價格昂貴

目前安全行業中的硬體Waf,價格對於中小企業來說過於昂貴,動輒便是幾十萬甚至幾百萬

硬體Waf之弊(二):存在一定誤殺

由於硬體Waf是通過攻擊規則庫對異常流量進行識別,所以在業務系統複雜的情況下,可能存在一定誤殺導致正常功能被防火牆攔截導致影響正常業務

硬體Waf之弊(三):存在一定繞過幾率

硬體防火牆對HTTP協議進行自行解析,可能存在與Web伺服器對HTTP請求的理解不一致從而導致被繞過

以上客觀描述了硬體防火牆有優缺點,歡迎補充。

我們再來看看軟體Waf又有哪些優缺點。

軟體Waf之利(一):開箱即用,廉價甚至免費

目前國內的軟體Waf,如安全狗、網站安全衛士等皆有免費版,下載安裝後簡單配置即可使用。

軟體Waf之利(二): 管理方便,介面友好

目前行業中的軟體Waf提供友好的檢視、管理介面,使得即使是非技術人員也能通過軟體管理伺服器的安安全狀態

軟體Waf之利(三):功能豐富

使用軟體實現的Waf除了實現對Web應用的防護功能之外,還存在其他豐富的安全功能,如掃描惡意木馬檔案、防篡改、伺服器優化、備份等等功能,這些功能對於不瞭解網站技術的人來說提供了便捷

軟體Waf之弊(一):誤殺&漏報特性

軟體Waf對HTTP協議實現了自解析,無法和容器背後的Web應用保持對協議的理解一致,在誤殺和漏報之間不能很好的平衡,解析太過細化又存在Waf可輕易被欺騙導致繞過的特點,防禦太過嚴謹又可能會導致影響正常業務執行

軟體Waf之弊(二):佔用記憶體過多

由於軟體Waf要實現對每個請求的解析、識別,可能會存在佔用伺服器記憶體過多的情況

軟體Waf之弊(三):只適合中小型網站

由於軟體Waf需要單臺伺服器部署,並且可能存在影響正常業務的風險和被繞過的風險,不適合大型的網路的安全防護使用

那麼今年來的新產品,雲Waf又表現如何呢?

雲Waf之利(一):部署簡單,維護成本低

這也是雲Waf最有價值和受使用者喜愛的一點,無需安裝任何軟體或者部署任何硬體裝置,只需修改DNS即可將網站部署到雲Waf的防護範圍之內

雲Waf之利(二):使用者無需更新

雲Waf的防護規則都處於雲端,新漏洞爆發時,由雲端負責規則的更新和維護,使用者無需擔心因為疏忽導致受到新型的漏洞攻擊

雲Waf之利(三):可充當CDN

雲Waf在提供防護功能的同時,還同時具有CDN的功能,在進行防護的同時還可以提高網站訪問的速率,CDN通過跨運營商的多線智慧解析排程將靜態資源動態負載到全國的雲節點,使用者訪問某個資源時會被引導至最近的雲端節點從而提高訪問速度

以上優點,讓部分使用者對雲Waf產生“鍾愛之情”但是從安全的專業角度,雲Waf同樣存在一些嚴重的問題。

雲Waf之弊(一):存在輕易被繞過的風險

雲Waf的主要實現原理是通過將使用者的DNS解析到雲節點實現防護,這樣一來,如果黑客通過相關手段獲取了伺服器的真實IP地址,然後強制解析域名,就可以輕鬆繞過雲Waf對伺服器發起攻擊

雲Waf之弊(二):可靠性低

雲Waf處理一次請求,其中需要經過DNS解析、請求排程、流量過濾等環節,其中涉及協同關聯工作,其中只要有一個環節出現問題,就會導致網站無法訪問。必要時,只能手動切換為原DNS來保證業務正常執行,而域名解析需要一定時間,則會導致網站短時間無法正常訪問

雲Waf之弊(三):保密性低

網站訪問資料對於一些企業、機構來說為保密資料,裡面可能包含使用者的隱私或者商業資訊,這些資料自行管控會相對安全,但是如果使用Waf,所有的資料會記錄到雲端,這相當於資料被別人保管,可能存在一定的洩露風險

分析利弊後,我們發現雲Waf目前只適用於安全需求較低的中小型企業或者個人網站,對於安全需求較高的網站,如政府、金融、運營商等,雲Waf無法滿足相關要求,所以廣大網站管理者,需要根據自身實際情況來選擇合適的安全產品和服務

四、Web防護之更好的選擇RASP

RASP 英文為 Runtime application self-protection,它將保護程式像疫苗一樣注入到應用程式和應用程式融為一體,能實時檢測和阻斷安全攻擊,使應用程式具備自我保護能力,當應用程式遇到特定漏洞和攻擊時不需要人工干預就可以進行自動重新配置應對新的攻擊。

這意味著,RASP 執行在程式執行期間,使程式能夠自我監控和識別有害的輸入和行為。

其實,RASP 不同於傳統的安全技術僅在網路周邊或者終端裝置上進行保護,它能夠讓應用程式具備自我保護能力。而實時是 RASP 非常重要的特點,因為擁有應用程式的上下文,它不僅可以分析應用程式的行為也可以結合上下文對行為進行分析,而且這些能持續不斷的進行分析,一旦發現有攻擊行為能立刻進行響應和處理。

而WAF 無法檢查應用程式的漏洞,更無法解決已知漏洞。它不瞭解應用程式,不能深入到資料流裡探測系統特有的問題,比如 SQL 注入。每個資料庫的 SQL 語言都有諸多不同,WAF 無法防範針對具體資料庫的 SQL 注入之攻擊行為。

實時應用程式自我保護(RASP)繼承了 WAF 的大部分功能,使應用程式很好地保護自己。RASP 會監聽每一個與應用程式交換的節點,覆蓋所有應用程式的訪問節點,包括:使用者、資料庫、網路和檔案系統。

因為了解應用程式的上下文,RASP 完全清楚應用程式的輸入輸出,因此它可以根據具體的資料流定製合適的保護機制,從而可以達到非常精確的實時攻擊識別和攔截。

RASP 在可疑行為進入應用程式時並不攔截,而是先對其進行標記,在輸出時再檢查是否為危險行為,從而儘量減少誤報和漏報的概率。這對精確性要求極高的銀行、金融體系的應用程式保護尤其重要,因為這些應用程式對效能和可用性要求非常高。

RASP的優點可總結為:

RASP之利(一):誤報率低

不同於 WAF,RASP 不依賴於分析網路流量去尋找問題,除了發現漏洞或發現攻擊行為,它通常不會發出任何聲音。這樣能極大地減少誤報率。RASP 能非常精確地區分攻擊和合法輸入,而 WAF 很多時候無法做到,這大大減少了專門請人分析結果的成本,也不需要掃描修復的過程。

RASP之利(二):維護成本低

WAF 的安裝過程非常複雜,需要非常精確的配置以儘可能廣的覆蓋應用程式。為了獲得更好的效果,幾乎每次 Web 應用程式釋出新版時都需要對管理員進行「培訓」並對 WAF 進行鍼對性的重新配置。但大多數企業都無法做得這麼及時與完善,這就可能導致大量的誤報與效能問題。與之相對,RASP 幾乎可以做到開箱即用,只需要非常簡單的配置就可以使用。這得益於RASP 與應用程式融為一體的特性,在應用程式內部監控實時資料。

RASP之利(三):極高的覆蓋度和相容性

RASP 安全系統可以應用到任何可注入的應用程式,能處理絕大多數的網路協議:HTTP、 HTTPS、AJAX、SQL 與 SOAP。而 WAF 通過監控網路流量提供保護,因此只支援 Web 應用程式(HTTP)。此外,WAF 需要特定的解析器、協議分析工具或其他元件來分析應用程式使用的其他網路協議,這會導致一些相容性與效能問題。

RASP之利(四):更全面的保護

WAF 在分析與過濾使用者輸入並檢測有害行為方面還是比較有效的,但是對應用程式的輸出檢查則毫無辦法。RASP 不但能監控使用者輸入,也能監控應用程式元件的輸出,這就使 RASP 具備了全面防護的能力。RASP 解決方案能夠定位 WAF 通常無法檢測到的嚴重問題——未處理的異常、會話劫持、許可權提升和敏感資料披露等等。Gartner 分析師 Joseph 很清楚地描述了這一點。

RASP弊端(一):部署困難,需單個部署

RASP針對的是應用程式,每個應用都需要單獨部署安裝,不能像硬體防火牆只需要在入口部署即可,這個特性增加了部署的難度從而可能導致防範不全的風險

RASP弊端(二):可能影響伺服器效能

對系統效能的影響,RASP 實時攔截,深入檢測使用者資料流,這是對精確度和誤判率都有很大的幫助,但是對使用者效能有一些影響,這些效能消耗也必然影響到使用者的體驗,這也是影響企業客戶部署 RASP 的很大一方面原因。現在 RASP 的提供商在優化方面做了很大努力,大部分 RASP 對效能影響在5%左右

最後使用 RASP 並不是真正建立一個安全的應用,系統中存在的漏洞還是存在,應用了 RASP 後臨時提供一個虛擬補丁修補上已知漏洞,當不用 RASP 後這些漏洞還是存在。另外 RASP 也不能修復所有的漏洞,漏洞時刻在更新。企業應該將 RASP 和掃描工具結合起來將更有價值。RASP 軟體提供商也應該提供實時漏洞更新功能,實現真正零日攻擊防禦。

五、Web防護之未來暢想

傳統的Waf目前大部分都是基於規則庫來實現識別惡意攻擊請求,即使是RASP技術,也利用了規則來實現,只不過RASP做了更多其他的嘗試,嘗試通過更多的維度來識別攻擊。

關於WAF防護,應該做更多的技術嘗試來實現防護。未來的防護應該可以研究以下幾個技術方向:

1.機器學習

利用SVM、HMM、貝葉斯分類、HMM等演算法進行大量樣本訓練,實現正常請求與攻擊請求的識別,從而實現安全防護

2.詞法分析

通常使用者傳入一般為正常資料,而攻擊者為了實現攻擊的目的則會使用各類攻擊手法,此時請求語句中必定包含特定的攻擊荷載,通過對使用者請求的對應的解析編譯,如果使用者傳入的資料都被解析至對應的層,如資料庫層(SQL)、程式碼層(PHP/JAVA/.NET)、瀏覽器層(Java),則說明為惡意請求

3.行為識別

一般正常使用者的行為是收束、統一併且一成不變的,而攻擊者的行為則是一些稀有的行為,如執行命令、大量請求資料、下載敏感檔案,此時我們可以通過監控一個請求進入容器到響應出去,中間都進行了哪些行為,然後根據白名單和黑名單的方式定義行為是否為惡意來識別攻擊行為

4.大資料關聯分析

在通常的防護體系中,一般都存在資訊孤島,各個維度的資料沒有互相關聯,我們可以通過構建一個關聯分析系統,將Web應用日誌、Web容器日誌、資料庫日誌、程式碼執行鏈等各個層面的資訊收集到一起進行關聯分析從而實現惡意行為識別

六、總結

在安全防護體系中,Waf作為安全前線的第一道防護,但是單一的安全產品並不能從實質上解決安全問題,Waf只是起到了緩解的作用,在實際場景中,應該在體系中每一個流程都應該做相應的工作。

相關文章