https://www.informationsecurity.com.tw/Seminar/2024_PaloAlto/
https://www.informationsecurity.com.tw/Seminar/2024_PaloAlto/

觀點

符合標準規範之網頁應用安全防護方案

2009 / 07 / 23
王美娜
符合標準規範之網頁應用安全防護方案

網路與網頁應用服務興起,改變傳統資訊系統檔案控管模式。資料以分散、非結構化動態方式傳遞,網頁互動質與量因而快速增加,同時,機敏資訊外洩及交易詐欺風潮也隨之高漲。

  依據國內外相關報導:2008年7月一種疑似由東歐駭客開發的Asprox木馬病毒,大舉進攻英國政府及消費者網站,包括諾福克郡「國民醫療保健系統」(NHS)網站及另外12個地方市議會的網站等,共有1千多個網站淪陷。攻擊者藉由挖掘網站應用層之漏洞,成功入侵後即注入一種惡意腳本到原本合法網頁上,任何訪客只要瀏覽這些網頁,其電腦就會遭感染而被悄悄轉向至駭客的網頁中,駭客接著再植入Asprox木馬病毒至訪客電腦上。安全專家估計,這種病毒至少已經擴散到全世界2百萬台電腦上,駭客可以藉之竊取訪客電腦中的檔案、電子郵件及密碼,甚至攻擊企業或各國政府網站。

網頁應用遭駭造成社會經濟危機

  從最近幾年資安事件案例可知,Web應用與服務已遭受駭客不斷翻新之惡意攻擊重大危害,傳統資安防護方案面臨多項瓶頸:

1. 終端用戶防毒軟體只能偵測已知病毒,無法辨識新種或變種病毒,亦無法在上網時判斷網站是否已遭駭客注入惡意連結。

2. 傳統網路防火牆著重於網路通訊存取之控管,但依據專家統計,目前70%的攻擊是發生在應用層,而不是網路層。對於這類經由開放Web通訊埠入侵之Web應用層攻擊,傳統網路防火牆不易擴展深度檢測功能。

3. 傳統IDS或IPS著重於偵測網路層相關攻擊行為,不易有效偵測變化多端之Web應用層攻擊。

PCI DSS與WASC對網頁應用安全方案的要求

  由於傳統資訊安全防禦方案難以因應Web應用防護之要求,各資安廠商紛紛推出層次不同之網頁應用防火牆Web Application Firewall(WAF)、或Web原始碼檢測產品;以偵測H T T P、X M L或S O A P訊息中惡意Pattern(包括在SSL流量中工作),或檢測網頁應用程式安全漏洞。為了讓Web應用使用者及採購單位有所參考,國際上與Web應用安全相關之業界組織,開始制定防護網頁應用安全之相關標準及規範,以要求企業及資安廠商提供最佳的Web應用防護措施,在此擇要介紹其內容與因應方案如下:

支付卡產業之網頁應用安全防護規範(PCI DSS)

  與民生息息相關的支付卡產業資料安全標準(PCI DSS, Payment Card Industry Data Security Standard),明訂從2008年6月30日起,所有執行支付卡Web交易的銀行與商家,均需實施「Web應用程式原始碼弱點檢測」或「Web應用防火牆(WAF)佈署」其中一種方案,以防禦已知之Web應用攻擊,以下分析二方案之應用優缺點:

1. Web應用程式原始碼弱點檢測

係指至少每年1次或版本更新時,經由應用安全專業機構,以人工或自動化之應用弱點安全評估工具或方法,檢測面對大眾之Web應用程式,並於所有弱點修正後,再次評估應用程式,其特點如下:

(1) 優點:較完整之弱點分析工作,可找到問題之根源,理解並修復商業邏輯議題。

(2) 缺點:因成本及專業需求,只能偵測及防禦而無法進行立即矯正(撰寫修補程式,可能需時數週、數月甚至數年方可完成) 。

2. Web應用防火牆佈署

Web應用防火牆佈署,係指在面對大眾之Web應用程式前置放Web應用防火牆,以偵測及防禦Web應用攻擊,其特點如下:

(1) 優點:即時攔阻各種形式之立即威脅,無需更改程式碼即可提供縱深防禦。

(2) 缺點:基於PCI DSS條文6.3之要求,Web應用系統仍需在軟體開發生命週期(SDLC)中,交錯混合使用WAF及應用程式之技術,以落實資訊安全最佳實例。

3. 符合PCI DSS網頁應用防火牆規範之因應對策由於大多數企業仍有導入網頁應用防火牆之實際需求,以下針對PCI DSS條文6.6之WAF選項要求,擇要介紹WAF因應對策如下:

(1) 需能防範OWA S P ( O p e n We b A p p l i c a t i o n Security Project) 官方組織所公布之最新十大Web應用安全威脅:透過Web攻擊特徵值及駭客行為分析與處理,WAF應能防護OWASP年度十大Web應用安全威脅,以保障Web應用與服務之安全,以下針對2007年5月生效迄今之OWASP Top 10 Web應用安全威脅,條列其相對應之WAF對策,如表1所示:

(2) 能防範資料洩露:WAF應可提供管理者自訂系統異常之回應訊息或網頁,以重新導向預設之錯誤訊息與網頁,避免攻擊者從預設的錯誤訊息與網頁中,探測系統漏洞及資訊,以防止外洩系統環境及配置情形等機敏資訊。此外,WAF亦應監控所欲保護Web伺服器之資料完整性,甚而可改寫Web伺服器之回應(如身份ID、卡號等)以防範資料洩露。

(3) 提供正向檢視及負向過濾安全模式:WAF正向檢視機制,意指WAF可學習正常網頁存取方式,並建立正常行為模式檔,以攔阻所有不符合正常Web作業之未知或可疑攻擊行為;除了可動態監控使用者存取Web應用之行為、自動掃瞄目前網站架構、更新使用者的正向行為模式檔外,亦可使用網址閉鎖技術(URL Closure),預防攻擊者未經過首頁或是未執行登入動作,卻間接存取此網站受到控管的網頁。

WAF之負向行為過濾機制,意指WAF可利用攻擊特徵值或規則資料庫,攔阻所有符合入侵威脅定義之攻擊手法,其亦可融合正規化分析、自訂阻擋名單及多層解碼比對機制等不同技術,防止攻擊者透過字串變化及編碼技巧來迴避偵測,以有效辨識多樣化Web入侵手法,降低單用基本特徵碼比對之大量記憶體消耗率,以有效阻擋已知類型或變種Web應用攻擊。

(4) 能檢視相關資料格式及協定內容(包括HTML、DHTML、CSS等網頁,以及其下之傳輸協定如H T T P 或H T T P S 協定) : W A F 應可因應不同需要,設定存取被SSL保護資料之方式:諸如移交給WAF解密之Terminates SSL方式,複製SSL私密金鑰給WAF解密之Passively decrypts SSL方式,或由Embedded WAF於SSL資料被解密後再運作等方式。管理者可以從主機列表中設定選取的Web主機SSL選項,包含是否開啟HTTPS服務,是否從Web主機中傳入安全認證及金鑰,或是直接由WAF產生安全認證及金鑰等設定,來決定存取被SSL保護資料之方式。

(5) 能檢視SOAP協定、XML等網頁服務訊息:WAF應可提供阻絕XML等網頁服務攻擊之機制,並降低誤判率以及減少因檢視網路封包造成的延遲,可使用多重解碼(Multiple Decoder)、安全掃瞄(Security Scanner)、資料解譯(Context Parser)、語法驗證(Schema Validation)等Web 2.0安全過濾技術,並結合Web應用攻擊型態正規化分析技術,有效防堵Web應用服務衍生之XML攻擊(如XML Injection、X-Path、LDAP Injection等),以保護主機服務完整性及機敏資訊。

網頁應用程式安全聯盟(WASC)之WAF評估規範WASC (Web Application Security Consortium)係一個由專家、業界及機構代表所組成之國際團體,其提供開放源碼以及被廣泛接受之網際網路最佳實施例安全標準,其所規範之WAF功能評估基準包括:

1. 佈署架構部分除了具備保護多台企業網站主機之擴充功能外,WAF應能提供如下之彈性作業模式:

(1) Bridge Mode:由於完全不需更動前後設備之IP,即可達到透通式要求,故較易佈署,亦可分析SSL封包內容,保護機制完備,但缺點是需要二顆設備作HA以避免Single Point of Failure,其架構可參見圖1Bridge Mode架構。

(2) Reverse Proxy Mode:可完全保護後端伺服器,使外界無法得知其真正IP與架構,但缺點是需改變DNS設定或防火牆設定,導引流量從WAF通過,其架構可參見 Reverse Proxy Mode架構。

(3) Transparent Mode:佈署容易、且完全不需更動前後設備之IP,即可使網路被重新設定,並導引流量從WAF通過。缺點是無法解析SSL封包,造成許多需調整封包內容之防護功能無法運作,必須搭配Bypass Module以在設備故障時保持後方網路暢通,其架構可參見圖3Transparent Mode架構。

2. 偵測部分

除上所述之負向行為過濾、正向行為檢視機制外,如圖4所示,WAF應可提供延伸(Extension)之應用介面(APIs),包含經由自動學習之正向行為應用介面,或管理者自訂之負向行為Pattern,以隨時擴充Web攻擊特徵值或正向行為規則檔之資料庫。

3. 防禦技術部分

WAF應可偵測Web存取、流程或連線之異常行為,以阻絕暴力瀏覽攻擊(Brute Force);或透過對cookie簽章、加密、隱藏等方式,以保護Cookie避免其被修改或偷竊。

4. 管理技術部分

WAF之管理介面應易於操作及理解,包括如下技術:

(1) 安全檢核政策管理:可客製化攻擊特徵值或事件Pattern,且不限於學習門檻高之RE(Regular Expression)語法輸入方式;能客製化阻絕服務(Denial of Service)或Buffer Overflow等政策;在不影響企業正常作業下,能隨時於線上套用新政策並可重新啟動。

(2) 自動化學習流程:可自動化精準地存取所有網頁連結之掃描引擎,且與政策編輯器緊密整合,其排程亦需能作到快速辨識網站修改時機,並即時調整政策現狀。

(3) 日誌與監督管理:系統異常與性能降低時,可藉由e-mail、系統日誌或簡訊等通知管理者,並能產生服務及系統統計值。如所示,WAF應可圖形化呈現目前防禦狀態及統計數據,以方便使用者監控Web應用安全狀況。

結語

  由於網頁應用的多元化及複雜化,傳統網站只靠防毒軟體、網路防火牆、入侵偵防系統等網路及OS層防護設備之佈建方式,已不足以提供企業Web安全所需之保障;而大型資安事件所造成之企業或組織營運中斷、商譽損失、龐大的損害求償支出及執照吊銷等嚴重影響,唯有仰賴各種資安法規之訂定(如PCI DSS及WASC相關規範),並嚴格要求Web應用業者符合才能遏止之。

表1 OWASP Top 10 Web應用安全威脅與WAF對策

Web應用安全威脅 Web應用安全威脅WAF對策
1) Cross-Site Scripting,XSS(跨站腳本攻擊) 藉由黑名單或白名單(定義有效之輸入資料),過濾使用者輸入之參數/資料。
2) Injection Flaw (如SQL,LDAP,Xpath等惡意指令攻擊) ? 黑名單:過濾特定字元(字串),或使用U R L加密及表格參數隱藏等方法防禦攻擊
? 白名單:定義欄位之有效輸入資料(如長度/常數/值域等),以過濾不符合欄位定義之資料。
3) Malicious File
Execution
藉由白名單定義輸入參數,過濾不被允許之外部URL。
4) Insecure Direct Object
Reference
藉由ID虛擬化或參數隱藏方法防禦ID被操控。
5) Cross-Site Request
Forgery,CSRF(跨
站冒名請求)
藉由網頁憑證或URL加密方法防禦攻擊。
6.1) Information Leakage 自動過濾備註訊息,或限制存取未發佈的檔案。
6.2) Improper Error
Handling
客製化所有內含系統敏感資料之錯誤訊息頁面,使之隱藏系統敏感資料。
7.1) Broken
Authentication
藉由連結到集中式驗證基礎建設,而執行獨立於應用程式之外的WAF驗證功能。
7.2) Session Management 藉由網頁憑證等技術來強化不安全之session管理。
8) Insecure Cryptographic
Storage
通過原有Web應用程式呼叫合適的加密程式介面來達成。
9) Insecure
Communication
藉由H T T P S加強H T T P應用程式之安全來達成。
10) Failure to Restrict
URL Access
藉由網頁憑證或U R L 加密方法,限制使用者存取應用程式未發佈(未連結)的檔案,並強制禁止應用程式顯示被保護之連結。