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

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團隊之協助校正


繼續閱讀全文...

2009年11月9日

源碼檢測工具,怎麼比?美國國家標準局有研究:NIST SATE 2009 (源碼檢測工具研討會)

十一月初阿碼科技獲邀參加由美國國防部(DOD)國土安全部(DHS)美國國家標準局(NIST)所舉辦的SATE 2009 (Static Analysis Tool Exposition,源碼檢測工具研討會)發表演說。

SATE 2009 源碼檢測工具研討會是美國Build Security In ("內建安全")Software Assurance (軟體保證)計畫中的重點工作。



大會主席Paul致詞為研討會揭開序幕

阿碼科技發表「Addressing Software Security through Automated Static Analysis (以自動靜態源碼分析落實軟體安全之實務經驗分享」為題的演說

演講後回答問題,包括近一步說明 CodeSecure 如何呈現弱點追蹤(Traceback)、醒目語法提示的重要性、以及政府機關如何善用源碼檢測報告。

大會場地在靠近美國首都華府附近的一個小城市:維吉尼亞州Arlington(阿靈頓)的Crystal City (水晶市),緊鄰美國國防部所在的Pentagon City(五角大廈市),也正是此次公司所安排下榻飯店的位置,交通十分方便。

DC附近戒備深嚴



行前上網查詢發現研討會所在的飯店附近的停車費用一天要二十多元美金,但搭乘地鐵過去則只需要幾塊,因此一早七點半搭乘地鐵前往會場,一站就到達水晶市,之後沿著地下通道的大街小巷路牌指示,經過各式各樣的商店,居然就步行至會場,完全不需要離開地鐵站回到"路面上"!

SATE 2009真是一個匯集軟體安全領域先進、前輩、專家的會場,有好幾位過去在OWASP會議就結識的老朋友,像是來自NIST在軟體驗證、正規方法有諸多研究的PaulVadim,也有久仰的多位大師級人物包括C語言的Robert、JAVA語言的馬里蘭大學教授Bill,美國NSA (國家安全局)的高手,以及許多也對自動源碼檢測有高度興趣的同好,和各同業代表(Coverity、Klocwork、Veracode、GrammaTech、LDRA)等等。

在阿碼科技的簡報中,我們分享源碼檢測在SDLC中的實務經驗,以及討論此次SATE評比的結果,很可惜我們目前仍無法擅自對外揭露評比結果,即使是我們自己工具的數據,這裡面有很多有趣的觀察與發現。

與會成員討論非常多的數據,辯論很多觀念,也激盪出許多想法,此次SATE 2009源碼檢測工具研討會的主要目標(與成果):
1) 如何評估源碼檢測工具? (這對使用者是非常重要的)
2) 如何改善源碼檢測工具? (這對工具廠商是非常重要的)
3) 如何善用源碼檢測工具? (這對使用者和工具廠商都是非常重要的)

關於1): 市場成熟了,但工具成熟了嗎?廠商會大聲地說YES,但使用者要如何確認? 譬如,在評估的過程中,一個關鍵因素就是誤報率。不同的使用者是否清楚不同角色所認定的誤報? 不同角色(開發人員、QA測試人員、內部稽核人員、外部稽核人員、驗收人員、一般使用者)對於同樣的"弱點"會有不同的"價值觀",說穿了弱點是非常主觀的,在這些定義上要有一致的共識與標準,如此才能有效評估一個甚至多個工具是否能為企業與使用者帶來高效益的價值。

最重要的是,我們發現這樣的交流、互動平台不僅對整個軟體安全產業是正面的,對一般社會大眾在了解與熟悉源碼檢測工具有極大助益。在過去源碼檢測這塊是大眾比較陌生的,但我們可以看到這幾年不論是產官學或一般社會大眾,大家都認為資安是非常重要的議題,也是目前越來越困擾的嚴重問題。全球近年在推動軟體安全已逐漸有追根究柢、及早治本解決的趨勢,包括美國政府率先在推動的Build Security In ("內建安全")Software Assurance (軟體保證)計畫,強調安全是從內至外、從頭到尾重視、要求、落實,以及驗證。在這樣的過程中,自動化工具與源碼檢測分析技術的成熟與否是解決整體軟體安全問題非常關鍵的面向之一。

NIST將在2010年3月左右發表此次全球源碼檢測工具評比的完整報告。

作者 Dr. Benson Wu 為阿碼科技產品線總監

繼續閱讀全文...