2013年5月27日 星期一

深化控管但簡化操作 WAF抵抗新型態攻擊行為


保護網頁應用程式不受駭
深化控管但簡化操作 WAF抵抗新型態攻擊行為

網頁應用程式可說是由外而內的攻擊管道之一,欲防範諸如SQL資料隱碼(SQL Injection)、跨網站指令碼(Cross-Site Scripting)等攻擊行為,大多會在網頁伺服器的前方建置WAF(Web Application Firewall,網頁應用程式防火牆)來抵擋。如今面對駭客組織化、商業化後,促使攻擊手法隨時都在進步,WAF更必須與時俱進,因應攻擊手法的變化,來進行辨識與攔阻。

判斷攔阻惡意存取

就基本可阻擋的攻擊型態來看,業界大多是參考對應OWASP(Open Web Application Security Project)組織公佈的十大資安威脅類型而設計,如今可說已是WAF設備最基本該具備的功能。F5台灣區技術經理林志斌指出,因此WAF現在發展較著重的是新型態攻擊的應變能力,例如DDoS(分散式阻斷服務),或是後端的網頁伺服器出現漏洞時,要有很快速的方法去應變,像是直接在設備上設定Policy,或利用內建於WAF平台的腳本語言如iRule來撰寫Script,就可以阻擋這些以往不曾出現過的攻擊,讓後端的應用程式得以持續提供服務。

WAF所解析的標的主要是都透過HTTP通訊協定傳輸的內容,也就是必須要懂得HTML、JavaScript、AJAX等語言,才能判斷欄位、字串等參數值,進而作管控,或判斷存取行為是否為惡意攻擊,但其實要區別正常與異常行為並不容易。

A10 Networks台灣區技術總監簡偉傑即舉例,有些企業會申請多條ADSL線路來加大頻寬,透過一台Multi-Link設備來做頻寬整合,認為既經濟又實惠,但連結出去所帶的IP位址,可能每次都不同。對提供服務的網頁伺服器而言,遠端進來的同一個用戶雖然HTTP的Session ID都一樣,但是卻有好幾個不同的來源IP位址;若網頁伺服器僅提供訊息發佈,還可選擇忽略IP位置的判斷,只要Session ID都一樣即屬於正常存取,不至於造成困擾,但同樣狀況若發生在訂票系統就不同了。 因為訂票系統網頁有提供金錢交易,自然要記錄使用者端的環境資訊,不僅要檢查來源IP的變化,甚至每項資訊都要經過比對檢查。但實際上若動輒判斷為異常,恐怕過於嚴謹,可能會接收到許多使用者的抱怨;相對地,若一律判斷為正常,又有可能是一波攻擊行為的前哨,會升高資安風險。諸如此類的模糊地帶,只是其中一個很小的細節,若皆能經由WAF來輔助作正確的判斷,才是導入此解決方案價值所在。

細緻控管網頁應用

近年來台灣對資安的關注升高,再加上法規效應,因此WAF可說日漸受到重視。就F5 BIG-IP Application Security Manager來看,若遇到新型態攻擊事件發生,會有的作法,除了透過本身內建的防禦機制直接抵擋,亦可進一步針對每一個對Web的Request塞入一個特徵碼,也就是運用Cookie的機制來作反向檢查確認,若取得用戶端的資訊沒有記錄操作相關內容,則多半為機器人程式發動的連線,即可判斷為異常,自動攔阻此存取行為,並且將記錄結合統計報表,讓管理者了解網路攻擊行為。


▲不同技術層應有其相對應防護機制。(資料來源:F5)

至於網頁伺服器連線到後端資料庫的資料傳遞,亦可藉由WAF從應用程式端進行防護,例如網頁執行程式中有一段SQL陳述式需連結到資料庫執行,通常此管道也是SQL Injection的入侵方式,一旦經過WAF立即可被辨識與阻擋。即使是正常的SQL Query行為,若資料庫所回應的資料缺乏保護機制,WAF亦可協助補強,例如針對敏感性較高的特定欄位與字串,以遮罩(Data Masking)的方式來處理。

其實WAF經過這幾年發展,控管可說更加細緻也較貼近企業應用環境,遮罩功能就是其一。常見實作的方式是在應用程式開發時就已加入此機制,但若是遇到更早期開發的程式碼,當初還沒有現在對資安的觀念,若因為要增加遮罩功能而修改程式碼,複雜度相當高,要做Code Review、修改、測試等一連串的開發程序,往往需要一段時間來進行,而這段空窗期間的防護機制,即可由WAF來擔綱。

畢竟在資安領域,產品往往只是一種工具,更重要的是能駕馭產品的技術人員,同時要懂得需求、邏輯,才能夠在企業實際應用環境中發揮作用。

轉載自《網管人》