一群國際的軟體安全專家致力保護軟體安全,他們創辦了OWASP (Open Web Application Project),它是全球免費且開放的社群,專注於加強應用程式軟體安全,目標在提供企業豐富且正確的資訊,以協助企業針對各項安全風險做適當的決策。
此外,這群安全專家亦支持開放的Security Assurance Maturity Model (安全成熟度模型,以下簡稱SAMM),亦稱作OpenSAMM。由軟體安全先驅Pravir Chandra所創立,SAMM扮演一個架構(framework)的角色,協助企業針對各個特別的風險制訂因應策略。
Chandra在開始著手撰寫SAMM前,便注意企業與IT間關係的轉變趨勢。他發現,軟體安全已經由一個「好的構想」轉變成「商業必需」,且產業已經累積了足夠的經驗,供作彼此比對並討論哪些方法確實可行。
當Chandra初步構思SAMM的架構時,回顧過去他擔任軟體安全顧問的經驗,並將個人及他人經驗整合轉換成一套簡明且容易瞭解的軟體安全成熟度架構。
Chandra由三個主要的構思來發展SAMM:
Chandra將SAMM比喻為一盒樂高組合玩具。他將商業功能以及開發流程細分為不同的實踐方案,而且組織可據以遵循以確保其軟體是安全的。當這些實踐方案被正確的組合,組織就會擁有一套有效、可管理的軟體安全計畫。
Chandra補充「在SAMM模型中,我們採用12項安全實踐步驟,並為以下四類的產業定義範本:軟體開發商及廠商、線上服務提供商、金融服務機構以及政府單位。每一個產業範本代表不同的風險情形以及解決方法。
組織必須瞭解,適用於他們的安全實踐方案應該如何對應到他們的軟體開發步驟。「SAMM提供一套可重複實施且均衡並重的方法強化組織的安全計畫。如果最開始你什麼都沒有,你先選擇三個想要加強的實踐方案。在下個改善週期中(譬如六個月)再選擇其他的實踐方案組合」
SAMM在其模型的最高階定義了四個重要的商業功能(business functions):
SAMM將每個「商業功能」細分為三項「安全實踐」:
「控管」包含以下三項安全實踐:
「建構」包括以下三項安全實踐:
「驗證」包括以下三項安全實踐:
「部署」包括以下三項安全實踐:
每一個安全實踐都列出了3個可以改善的目標(objective)。3個目標代表3級成熟度,例如完成第一個目標就是成熟度第一級。
成熟度分級如下:
0: 起步點,沒有達到任何目標
1: 有初步認識,達到部分目標
2: 加強功能達成的有效性
3: 對功能有深入的了解和掌握,能大規模地推行功能的要求
由於12項安全實踐都各自擁有三個不同等級的成熟度,可供組織據以衡量,因此SAMM可協助組織瞭解本身軟體安全成熟度的整體狀況,並可協助組織作為建立未來改善規劃藍圖(roadmap)的依據。
每一個成熟度依據以下6項評核標準決定:
SAMM可協助組織對其軟體安全初始計畫建立基準線,並針對如何發展該項初始計畫制訂策略性決定。Chandra表示:「我非常歡迎各界對此SAMM計畫提出寶貴意見,此外,我正與其他組織合作,思考如何將現有的安全及法規對應至SAMM中。我們的主要目標之一是由業界上的安全專家得到回饋意見,以協助我們改善此模型。」Chandra的目標之一是透過蒐集大量業界的安全實踐實際結果資料,再將這些資料對應回SAMM中。這樣的計畫將可協助組織將自己安全成熟度的狀況與其他同類型的組織相互比較。
欲瞭解更多與SAMM有關的資訊,請造訪http://www.opensamm.org/網站。
Fortify Software產品可保護組織免於因關鍵應用軟體存在安全問題而導致威脅。Fortify產品已獲領先的軟體公司和Fortune前500大的IT組織使用。Fortify已發展出領先業界且獲得專利的技術,該技術從內到外的將安全引入到軟體應用程式中,使安全成為軟體固有的本質,藉由在佈署前消除應用程式中的漏洞,應用程式可保護自己免受攻擊。你可以通過訪問www.fortify.com以進一步瞭解Fortify以及它的軟體安全產品。