1. 程式人生 > >web安全的技術原理

web安全的技術原理

WAF => Web Application Firewall ,可以用來遮蔽常見的網站漏洞攻擊,如SQL注入,XML注入、XSS等。一般針對的是應用層而非網路層的入侵,從技術角度應該稱之為Web IPS。其防護重點是SQL注入。
Web防火牆產品部署在Web伺服器的前面,序列接入,不僅在硬體效能上要求高,而且不能影響Web服務,所以HA功能、Bypass功能都是必須的,而且還要與負載均衡、Web Cache等Web伺服器前的常見的產品協調部署。
Web應用防火牆的主要技術是對入侵的檢測能力,尤其是對Web服務入侵的檢測,Web防火牆最大的挑戰是識別率,這並不是一個容易測量的指標,因為漏網進去的入侵者,並非都大肆張揚,比如給網頁掛馬,你很難察覺進來的是那一個,不知道當然也無法統計。對於已知的攻擊方式,可以談識別率;對未知的攻擊方式,你也只好等他自己“跳”出來才知道。
現在市場上大多數的產品是基於規則的WAF。其原理是每一個會話都要經過一系列的測試,每一項測試都由一個過多個檢測規則組成,如果測試沒通過,請求就會被認為非法並拒絕。
基於規則的WAFs很容易構建並且能有效的防範已知安全問題。當我們要制定自定義防禦策略時使用它會更加便捷。但是因為它們必須要首先確認每一個威脅的特點,所以要由一個強大的規則資料庫支援。WAF生產商維護這個資料庫,並且他們要提供自動更新的工具。
這個方法不能有效保護自己開發的WEB應用或者零日漏洞(攻擊者使用的沒有公開的漏洞),這些威脅使用基於異常的WAF更加有效。
異常保護的基本觀念是建立一個保護層,這個保護層能夠根據檢測合法應用資料建立統計模型,以此模型為依據判別實際通訊資料是否是攻擊。理論上,一但構建成功,這個基於異常的系統應該能夠探測出任何的異常情況。擁有了它,我們不再需要規則資料庫而且零日攻擊也不再成問題了。但基於異常保護的系統很難構建,所以並不常見。因為使用者不瞭解它的工作原理也不相信它,所以它也就不如基於規則的WAF應用廣範。
Imperva公司的WAF產品在提供入侵防護的同時,還提供了另外一個安全防護技術,就是對Web應用網頁的自動學習功能,由於不同的網站不可能一樣,所以網站自身頁面的特性沒有辦法提前定義,所以imperva採用裝置自動預學習方式,從而總結出本網站的頁面的特點。

https://www.imperva-incapsula.cn 具體的做法是這樣的:
通過一段時間的使用者訪問,WAF記錄了常用網頁的訪問模式,如一個網頁中有幾個輸入點,輸入的是什麼型別的內容,通常情況的長度是多少…學習完畢後,定義出一個網頁的正常使用模式,當今後有使用者突破了這個模式,如一般的帳號輸入不應該有特殊字元,而XML注入時需要有“<”之類的語言標記,WAF就會根據你預先定義的方式預警或阻斷;再如密碼長度一般不超過20位,在SQL注入時加入程式碼會很長,同樣突破了網頁訪問的模式。
網頁自學習技術,從Web服務自身的業務特定角度入手,不符合我的常規就是異常的,也是入侵檢測技術的一種,比起單純的Web防火牆來,不僅給入侵者“下通緝令”,而且建立進入自家的內部“規矩”,這一種雙向的控制,顯然比單向的要好。