阿碼外傳-阿碼科技非官方中文 Blog: 2009/11/17

2009年11月17日

OWASP Top10 2010版初探網站資安風險管理- 如何透過源碼檢測與網站應用系統防火牆控制風險等級


OWASP組織預計在2010年公佈新版的 OWASP Top 10,目前是RC1的階段,還沒正式公佈前可以拿來參考其代表的網站安全趨勢。對於OWASP Top 10的排名順序不感到意外,倒是從風險角度出發,將名稱變更為十大最關鍵的網站應用程式風險(Top 10 Most Critical Web Application Security Risks),而不僅是弱點,把Top 10的層級拉高,更符合實際狀況與業界的需求。風險是由弱點所造成的衝擊乘上威脅的發生機率,而剩餘的風險就是在安全控制下能降低弱點本身的脆弱性或者是發生的機率。面對最高危害的十大網站安全風險,企業可以採取的對策包含解決從網站應用系統本身源碼所產生的安全問題與漏洞、強化伺服器平台的安全組態或是透過網站應用程式防火牆(WAF) 將風險轉移。

在看前十大網站安全風險之前,我們可以先了解一下這樣的排名次序是如何被量化與評估的,本來是用網站弱點的發生率作為量化的單一因素,而這樣的做法僅針對弱點本身,所以在2010年版大幅地提升了Top 10的評鑑方法,項目如下:

1.攻擊與威脅來源 (Threat agent) 做出區隔,當然可以分為人人都有機會接觸的風險來源、也有受限的存取來源、或者僅有內部管理人員可以接觸的資料等。

2.攻擊的手法 (Attack vectors) 的多樣性與難易程度 (Exploitability) 決定攻擊是否容易成功,造成該像網站弱點被打穿,當然還包含現有攻擊工具取得之難易程度。

3.弱點的流行度 (Weakness Prevalence),越廣泛流行的網站弱點,其風險發生機率也相對提高,此項目分為不常見、常見及廣泛流行三種。

4.針對網站弱點所做的安全控制 (Security Control) 像是網站應用系統防火牆 (Web Application Firewall, WAF) 或者是網站的Log檔案,分別是預防型與偵測型的安全控制項目,而安全控制的強弱與類型則決定了此項弱點之可偵測性 (Weakness Detectability),由容易、一般、難分別給於1至3分。

5. 對於技術面的影響衝擊 (Technical Impact),上述之弱點與攻擊手法一旦成功,對於網站的資源、資產、保管的資料與系統功能,可能會造成不同程度之影響,此項包含嚴重、中等、次要三種。



而攻擊的手法、弱點的流行度、弱點之可偵測性之平均分數,即是計算出本項弱點被攻擊成功的可能性 (Likelihood),乘以衝擊的嚴重性就可以表現出本項弱點之風險程度。
在威脅來源與營運衝擊的部分,會因為此項弱點所在的環境、外在條件而有所不同,差易程度相當大,譬如線上購物網站的威脅來源會比一般個人網站或小型企業網站的威脅來源多;而且商業營運的衝擊倍數亦有極大的差距。因此以目前正式公佈OWASP Top 10 之前的版本來看,威脅來源與營運衝擊,並未直接列入量化的指標,而用文字敘述方式說明。

詳細的風險評鑑方法論可以參考風險評估方法論 (OWASP Risk Rating Methodology)

相較於2010年版,過去在OWASP Top 10 2007年版的評比方式就非常簡化,其以2006年的MITRE 弱點統計趨勢 (Vulnerability Trends) 為參考,找出與網站應用程式相關的前十大安全問題,但弱點發生次數頻繁卻不表示其風險就高,這也是為何此次2010年版導入嚴謹正規的風險評估方法論。

與前一版 (2007年版) 的差異在於從舊的排名移除兩個項目,再新增兩個項目
移除 A3 - Malicious File Execution (惡意檔案執行)
移除 A6 –Information Leakage and Improper Error Handling (不當資訊揭露與錯誤訊息處理)
新增 A6 –Security Misconfiguration (不當安全配置)
新增 A8 –Unvalidated Redirects and Forwards (未驗證的轉址與轉送)
仔細看所移除的這兩項仍是非常重要,以惡意檔案執行為例,當初被放進 OWASP Top 10 2007主要是因為PHP在建置時有太多的預設參數會讓此弱點非常普遍,而現在隨著新版PHP有更周延的預設配置,OWASP認為此風險相對會小很多。另外不當資訊揭露固然沒有直接風險 (通常不能直接用來做攻擊),但卻是進行攻擊時很好的參考資訊,很可惜這兩個項目都被擠出"十強"了,但我們還是要提醒大家注意。
至於新增加的不當安全配置,早是OWASP Top 10 2004年版的老面孔了,而未驗證的轉址與轉送更隨著近年流行的掛馬與零時差漏洞,讓這類無預警的轉址行為變得非常危險,是以風險大幅提高。

OWASP Top10 排名是一個象徵性的參考指標,像這一兩年在網站資安事件中,很大一部分是跟SQL Injection有關,同時這樣的攻擊所造成的衝擊比較嚴重,但是Dave也說他就是不理解為何還是有這麼多網站有這個問題,SQL Injection應該很容易可以修改的。不過這一兩年來新的攻擊手法演變,包含大量資料隱碼注入攻擊 (只要一行,跳脫原有只關閉錯誤訊息可規避之攻擊)、攻擊碼的變形及編碼、注入點的擴張 (Cookie、URL、檔案等)。所以,排名是一件事,而企業是否有採取相對應的安全控制則是更重要的議題,威脅手法在改變,千萬不要有一勞永逸的心態,安全控制項目也要跟著進化。像WAF要調整規則;源碼檢測要更新語言架構和新的驗證方式;網站掛馬檢測要更新因應新型態掛馬與攻擊 (exploit) 的偵測。

而網站應用系統防火牆可以提供的安全控制包括:A1 注入弱點、A2 跨站腳本攻擊、A4 不安全的物件參考、A5 跨站請求偽造、A6 錯誤或不安全的系統組態、A7 網址存取控制失當及A8 未驗證的轉址與轉送。同時也可以透過源碼檢測的方式把潛在問題在開發階段就先找出來。現在有很多資安工具與服務都提供這樣的風險評估模式,重點在於有沒有針對您所在的環境去調整基本參數 (作業系統、網站伺服器、網站架構、網站應用程式語言..等),以及歷史事件資料。

OWASP組織亦提供了許多對策,從開發的OWASP Developer’s Guide、測試與審查的OWASP Testing GuideOWASP Code Review Guide,而且還可以參考其OWASP Application Security Verification Standard (ASVS)和OWASP Software Assurance Maturity Model (SAMM)的標準與成熟度模型,作為大型網站環境的安全評估與實踐網站安全管理的參考。

下載OWASP Top 10 2010 RC1

本文作者Jack Yu
阿碼科技資安分析師
感謝Benson Wu(產品總監) 與ASF團隊之協助校正


繼續閱讀全文...