
|
|
|
|
2. |
失敗於採用安全開發流程 |
|
|
所有專案分析下來,有很大量的安全議題超過三個版本都未被解決,有時候還超出一年都未改善。此外,安全弱點大量的增加或者持續的更新的新版本後,都還未被解決,例如表3。 |
|
|
表3:跨版本間的修復趨勢 |
|
|
這持續出現的大量安全問題,不僅是顯示了立即的安全風險,也展示了專案並未採用一個成功的安全開發流程。假使一個安全的開發流程存在時,我們期待看到隨著時間的推移安全問題的數量明顯減少。 |
|
|
|
|
3. |
失敗於利用技術來發現安全弱點 |
|
|
令人驚奇的是,在研究中識別出來的安全漏洞數量─尤其是最熱門的開放源碼的軟體,多的嚇人。特別在兩個最盛行的漏洞問題:跨站腳本攻擊(Cross-Site Scripting)與資料隱碼攻擊(SQL Injection) 代表對開放源碼開發者一個重大挑戰。表4匯總了在這些類別中發現的問題數目。 |
|
|
表4:跨站腳本攻擊(Cross-Site Scripting)與資料隱碼攻擊(SQL Injection)的問題 Fortify透過Java Open Review(JOR)專案,已經與超過一百位的開放源碼的開發團隊確認了一些常見的安全漏洞問題的類別,包括跨站腳本攻擊(Cross-Site Scripting)與資料隱碼攻擊(SQL Injection)。然而許多開放源碼的開發團隊並未善加利用JOR專案,造成喪失了一個可以快速識別與修復安全問題的大好機會。除了JOR,一些不同的開放源碼產品,例如:FindBugs,可以被利用來作為安全開發生命週期的一部份。 以我們找出的問題現狀來看,其實令人失望。表5匯總了依目前的版本下被Fortify SCA發現的高風險的安全問題。 |
|
表5:匯總被檢測的軟體問題統計數據 |
|
|
|
|
|
|
|
這些發現可以提供一些倚賴開放源碼軟體的組織,喚醒他們的注意力。Fortify特別建議:
具體來說,開放源碼的專案可以充分利用商業軟體社群中已經具備的先進技術。隨著發展融入安全開發生命週期,開放源碼的專案可能要引用Gary McGraw博士的書-Software Security: Building Security In。書中涵蓋了從威脅模型、源碼審查和安全測試的誤用案件(abuse case)。微軟將他們建立的威脅建模方法及配套產品放上網站。而Fortify也發展了一個依據數百家企業的運作經驗為基礎的安全開發方法的「商業軟體保證(Business Software Assurance)」。進一步,開發人員也善用OWASP的源碼審核指引來協助自身內部的安全檢核。Fortify已透過Fortify Open Review專案將靜態分析軟體提供給開放源碼專案以貢獻在開放源碼安全的努力。
通過這些安全行動的實踐,開放源碼社群可以證明與宣傳有效的安全開發流程,這將可以鼓勵使用者更有信心的採用。如本報告所述,Mozilla開放源碼採用的安全行動可作為最好的範例。
Larry Suto曾在Fortune 500大公司擔任許多顧問的工作,例如:Charles Schwab、Cisco、Kaiser Permanante、Pepsico 與Wells Fargo。他專擅於企業安全架構、風險管理與軟體原始碼安全。Larry的聯絡方式:larry.suto@gmail.com。
Fortify的商業軟體保證(Business Software Assurance)方案可以保護企業與組織在今日所面臨的最大的安全風險:執行商業活動的應用程式軟體。Fortify減少災難性財務損失的威脅和減少聲譽遭受損害,以及確保即時遵守政府和產業的法規遵循。Fortify的客戶遍及政府組織與全球2000大的各行各業:財務服務、醫療、電子商務、通訊、出版、保險、系統整合與資訊科技業。欲進一步瞭解資訊,請上www.fortify.com網站。