<button id="b3qao"><object id="b3qao"></object></button>

  1. <th id="b3qao"><track id="b3qao"></track></th>
  2. <th id="b3qao"></th>

  3. <progress id="b3qao"></progress>

    <th id="b3qao"></th>
    首頁 >新聞資訊>公司動態

    利用成都CMMI認證和ISO27001建設軟件安全開發流程,提升軟件工程能力

    2021-07-28 15:01:37  成都遠望咨詢  75

           “如何結合成都CMMI認證和ISO27001的要求,來建設軟件安全開發流程,并提升相應的軟件工程能力是一個比較新的話題,現在給大家分享了關于軟件安全開發,行業內的一些可參考模型和優秀實踐,對許多組織有很好的借鑒價值?!?/span>
    近期,某出行服務巨頭事件引發了各方熱議。該企業于2021年7月1日凌晨在美國低調上市,上市第二天,國家網信辦網絡安全審查辦公室發布公告,對其出行App實施網絡安全審查,審查期間停止新用戶注冊。兩日后,因存在嚴重違法違規收集使用個人信息問題,其出行App又在應用商店被下架。隨后一周內,依據《中華人民共和國網絡安全法》,公司旗下共計25款App也相繼被下架。
          讓我們把時間線稍微拉長點看就不難發現,最近幾年,隨著《中華人民共和國網絡安全法》、《中華人民共和國個人信息保護法》、《中華人民共和國數據安全法》、《網絡安全等級保護基本要求》等系列法律法規的相繼出臺,網絡安全已上升到了國家安全的角度,這也對現有的軟件企業交付(含出海交付)帶來了更多的要求和挑戰。
          比如,一些公司最近幾年都要參加國家級的網絡安全攻防演練(代號HVV行動)。除了這種針對內部系統的安全整改和攻防對抗要求,國內外的用戶對于軟件安全交付也有著越來越高的要求,如:“系統安全等級需要達到國家等保二級/三級要求”,“上線前要有第三方的滲透測試報告”,“按照ISO27001信息安全管理體系要求進行建設”等等。
          我想根據個人經驗從質量流程的視角和大家探討下:針對國內和國際上對于網絡信息安全方面的要求,如何結合CMMI和ISO27001的要求,來建設軟件安全開發流程,并提升相應的軟件工程能力?
          首先,我們需要先了解下CMMI和ISO27001對于軟件安全開發的要求。
          最近發布的CMMI2.2里,最重要的security內容是兩個實踐域:Enabling Security(ESEC)、Managing Security Threats & Vulnerabilities(MST), 它們都屬于ManagingSecurity and Safety能力域。幾個實踐域的核心內容,包括PA的價值、意圖、實踐。

          而ISO/IEC 27001:2013,則從組織的整體業務風險的角度,基于PDCA持續改進的框架,為建立、實施、運行、監視、評審、保持和改進文件化的ISMS規定了要求。與軟件系統安全開發相關的主要涉及A14信息系統獲取、開發和維護,A10 密碼學,A9 訪問控制,A16 信息安全事件管理,A17等多個控制域,同時,如果存在系統外包開發,還會涉及A15供應商管理。


    ISO2001體系整體框架圖

    ISO27001體系整體框架圖


          了解了兩大體系要求后,我們再看看如何搭建流程框架并開展工作。
           如果一個組織已經通過CMMI認證,現在要過ISO27001,一定重建一份體系制度文檔嗎?答案是否定的。
           我非常認可叢博CMMI改進、評估的觀點,“價值驅動”,“do more with less”。質量體系建設要圍繞業務價值,更多投入有價值的活動,起到切實改進的作用, 而不是單純的套體系套框架拿證書。
           基于這個共識,根據內外部客戶對于信息安全的需求以及企業的安全方針,結合公司的實際情況,完全可以將其對軟件開發要求自然融入到現有的CMMI體系框架中。
           “安全是質量屬性的一部分”,將安全融入到質量管理是構建軟件安全開發流程的基本條件。需要Security Built In的整體解決方案:通過在軟件開發生命周期各階段采取必要的、相適應的安全措施來避免絕大多數的安全漏洞,以交付符合安全要求的系統。
           要求目標和方向框架確定,并取得高層領導支持,就該開始擼起袖子加油干了。通過現狀調查和差距分析,并針對性選用安全專項活動和對應的工具方法,逐步融入并優化已有開發流程。
           這里和大家分享下關于軟件安全開發,行業內的一些可參考模型和優秀實踐,大家可以根據公司實際情況參考選用。
    1.微軟的 SDL(Microsoft Security Development Lifecycle)
           從20 世紀 90 年代開始,微軟經歷了一系列影響重大的惡意軟件事件(俗稱 “樹大招風”,迄今為止針對WIN操作系統和微軟各類辦公軟件的攻擊也是最多的)。這種安全形勢促使微軟重新考慮軟件安全開發過程和策略,并提出了Microsoft Security Development Lifecycle(安全開發生命周期),從安全角度指導軟件開發過程的管理模式。
    如下圖所示,微軟把軟件安全開發生命階段,劃分為5+2個階段和16項必需的安全活動。
          同時,作為行業大拿,微軟還非常貼心的提供了各類模板和工具,如:SDL過程模板和MSF-Aglie+SDL過程模板,SDL威脅建模工具,SiteLock ATL模板、FxCop、C/C++源代碼分析工具、MiniFuzz、SDL Regex Fuzzer、AppVerifier。有興趣的同學歡迎進微軟官網研究。(更多內容可見微軟官網 https://www.microsoft.com/en-us/securityengineering/sdl/)
    2. 軟件安全構建成熟度模型BSIMM(Building Security In Maturity Mode)
          BSIMM 是對現實世界中軟件安全方案(SSI – Software SecurityInitiative)開展多年研究的結果,基于從 130 家企業中觀察到的數據直接構建而成。目前已經迭代到BSIMM11版本,它由包含了 121 項安全活動的軟件安全框架組成。該框架包含 12  項實踐, 分別納入4 大 領域中。SSF(Software Security Framework)
    BSIMM區域和實踐

          相比微軟的SDL , BSIMM更類似于業界公司的優秀實踐合集,也可用作 SSI 路線圖。先確定自己公司的目標和行為,然后參考BSIMM 來選取對公司最有意義和價值的活動。




    3.  OWASPSAMM(Software Assurance-Maturity Model)
           OWASP-SAMM是一個OWASP框架,用于幫助組織評估、制定和實施軟件安全策略,該策略可以集成到現有的軟件開發生命周期(SDLC)中。OWASP SAMM適用于瀑布、敏捷或devops方法。SAMM基于大約15個安全實踐,分為5個業務功能。每個安全實踐都包含一組活動,分為3個成熟度級別。
          OWASP(開放式web應用程序安全項目)這個項目最有名和應用最廣的,應該是"OWASP Top 10"。這個列表每隔幾年會進行更新,不但總結了WEB應用程序最可能、最常見、最危險的十大安全隱患,還包括了如何消除這些隱患的建議。OWASP還有一些輔助項目和指南來幫助IT公司和開發團隊來規范應用程序開發流程和測試流程,提高WEB產品的安全性。順便說一句,這個TOP 10很適合于給研發人員進行安全培訓,以及進行代碼安全靜態掃描。
    在研發開發流程中嵌入Security、Safety以及隱私保護的要求時,網絡安全、功能安全、隱私保護,應該納入到OEM、Tier1的研發流程中去,具體包括:
          產品定義階段:系統性規劃安全、隱私、韌性等相關的需求與特性,并導入到設計環節進行落地;
          產品實現階段:分別在編碼、構建、測試、發布環節采取針對性的策略與措施,將安全能力進行固化,確保來源可信、編碼可信、構建可信、測試安全;
    使用階段:在部署與運維環節,通過軟件完整性保護、漏洞管理、隱私保護等措施確保使用部署與運維的安全;
    我的幾點體會:
          1. 流程制定不要做成兩張皮:說到做到,知行合一
          2. 注重對全員的安全意識培訓
          3. 流程和先進工具的有機集合,能有效提升工程能力。
    4. 在整個軟件開發生命周期中要確保將安全作為軟件的一個有機組成部分,貫穿產品定義、需求、設計、開發、測試、發布、運維全過程。
          5. 軟件安全是以風險管理為基礎:安全不必是完美無缺,但風險必須是能夠管理的。
          6. 最適宜的軟件安全策略就是最優的風險管理對策。這是一個在有限資源前提下的最優選擇問題。
    :初創企業為何更需要進行成都ISO認證9001質量體系認證? :成都高新區ISO45001認證補貼政策來啦??! 返回列表
    在線咨詢
    張老師:593024211
    聯系電話

    400-028-9829

    掃描二維碼關注公眾號