• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      從軟件安全開發(fā)生命周期實踐的角度保障軟件供應鏈安全

      2019-01-17 02:15:20王頡萬振華王厚奎
      網絡空間安全 2019年6期

      王頡 萬振華 王厚奎

      摘? ?要:軟件供應鏈安全覆蓋軟件的開發(fā)生命周期和生存周期,且與軟件開發(fā)過程中的人員、工具、環(huán)境等因素密切相關,因而通過不同途徑和不同方式能使得軟件系統(tǒng)自帶安全缺陷,并最終被惡意人員利用形成網絡安全事件。文章基于行業(yè)主流的軟件安全開發(fā)生命周期(S-SDLC)流程方法,從軟件開發(fā)單位自身的安全開發(fā)管理、安全開發(fā)技術、供應商管理等方面,提出了軟件開發(fā)過程中保障軟件供應鏈安全的體系化方法,為軟件開發(fā)過程中盡可能地避免和消除軟件安全缺陷、保障軟件供應鏈安全奠定重要基礎。

      關鍵詞:軟件供應鏈安全;軟件安全開發(fā)生命周期;軟件安全開發(fā)

      中圖分類號:TP311.5? ? ? ? ? 文獻標識碼:A

      Abstract: Software supply chain security covers the development life cycle and life cycle of software, and it is closely related to the personnel, tools, environment and other factors in the software development process. Thus, the software system brings its own security flaws through different ways, and these flaws eventually causes network security incidents by malicious user. According to the industry-leading Secure Software Development Life Cycle (S-SDLC) method, this paper proposes a set of systematic countermeasures and assurance method, which includes the practices of security development management, security development techniques, supplier management and others. The proposed method provides the foundation of software development process for avoiding and eliminating software security flaws, and assuring the security of software supply chain.

      Key words: software supply chain security; secure software development lifecycle; software secure development

      1 引言

      軟件供應鏈安全是近年各國政府和業(yè)界關注的安全領域。在SAFECode的報告中, “軟件供應鏈”被描述為“軟件產品以‘階梯狀方式被不斷集成進入下一個軟件產品中”[1]。軟件供應鏈的典型安全威脅主要表現(xiàn)為在軟件代碼中插入惡意代碼和植入安全缺陷[2]。因此,一旦一個自帶安全缺陷的軟件產品被集成進入下一個軟件產品,則使下一個軟件產品也自帶安全缺陷。目前,國內在軟件供應鏈安全領域的研究處于起步階段,但相關專家學者已清晰指出軟件供應鏈安全的薄弱環(huán)節(jié),包括關鍵軟件和設計工具難以從源頭掌握軟件供應鏈、開源代碼潛藏安全缺陷、管控體系尚不完善等問題[3]。

      隨著國家網信工作的不斷推進,各行業(yè)已認識到軟件系統(tǒng)的安全缺陷主要是由開發(fā)過程中的設計或編碼錯誤而形成,這也是造成網絡安全事件的本質原因。落地實踐“軟件安全開發(fā)生命周期”,有助于從軟件誕生的源頭保障軟件安全和網絡安全。當前,軟件供應鏈安全領域缺乏體系化的保障方法和政策指導,通過在軟件開發(fā)過程中落地軟件安全開發(fā)生命周期實踐,對保障軟件供應鏈安全而言是一個不錯的方式。

      本文從軟件安全開發(fā)生命周期角度分析了軟件供應鏈安全的保障方法。在本文中,首先介紹了有關軟件供應鏈安全的主要特征和典型問題,同時還介紹了軟件安全開發(fā)生命周期,最后,從安全開發(fā)技術、安全開發(fā)管理、供應商管理等方面,探討了如何在軟件開發(fā)過程中體系化保障軟件供應鏈安全。

      2 對軟件供應鏈安全的認識

      2.1 軟件供應鏈安全的主要特征

      對于軟件供應鏈上的每一個軟件,在其軟件全生命周期和軟件開發(fā)體系中都有可能面臨安全威脅,對軟件供應鏈安全保障造成影響。因此,軟件供應鏈安全具有覆蓋軟件全生命周期和軟件開發(fā)體系的特征[4]。

      (1)覆蓋軟件的全生命周期。在軟件的全生命周期各階段都可對軟件執(zhí)行惡意行為或植入惡意代碼,致使軟件存在安全缺陷,破壞或影響最終用戶的信息安全,如圖1所示。

      (2)覆蓋軟件開發(fā)體系。對軟件開發(fā)體系中開發(fā)工具、開發(fā)團隊、開發(fā)生命周期和軟件產品、補丁執(zhí)行惡意行為,致使軟件存在著安全缺陷,破壞或影響最終用戶的信息安全,如圖2所示??梢姡谲浖拈_發(fā)過程中和發(fā)布獲取過程中都存在影響軟件供應鏈安全的威脅。而與軟件發(fā)布獲取過程中的安全防護相比,若能在軟件開發(fā)過程中解決相關問題,則能確保軟件本身的安全質量,對做好軟件供應鏈的安全保障更具有重要意義。

      2.2 軟件開發(fā)過程中的典型問題

      (1)軟件開發(fā)單位缺乏對軟件安全質量的重視。軟件開發(fā)單位通常以實現(xiàn)軟件功能為優(yōu)先級,雖然軟件實現(xiàn)了與安全相關的功能(如授權、身份驗證、加解密、日志記錄等),但軟件本身是否脆弱或自帶安全缺陷往往被忽視。安全是質量的一種屬性。軟件開發(fā)單位通常缺乏提高軟件產品安全質量的有效措施和保障條件。

      (2)使用自帶安全缺陷的第三方組件或開源組件。在軟件開發(fā)過程中使用和集成第三方組件和開源組件是現(xiàn)代軟件開發(fā)的典型方式。該方式雖有助于提高軟件開發(fā)效率,但可能將第三方組件和開源組件的安全缺陷引入軟件產品,并隨著軟件的使用而擴散[5]。根據(jù)Sonatype發(fā)布的2018年軟件供應鏈報告[6]顯示,Java、Java Script和Python的開源組件數(shù)量已分別達到350萬個、550萬個和140萬個。對Java組件的分析結果顯示,超過10%的開源組件至少包含一個已知漏洞,而任何一個漏洞都可能成為攻擊者的攻擊目標[7]。

      (3)軟件發(fā)布前安全測試不足?,F(xiàn)代軟件開發(fā)以DevOps方式為主,具有“版本迭代快、開發(fā)時間短”的現(xiàn)象。開發(fā)團隊在版本迭代過程中占用大部分時間執(zhí)行編碼工作,而測試團隊則往往沒有充足的時間開展測試工作,更無法做到每個版本都執(zhí)行安全測試。因此,錯誤的架構設計或程序編碼因安全檢測不足而未被識別,致使軟件自帶安全缺陷上線部署,并不斷迭代集成,最終形成軟件供應鏈安全的隱患。

      3 軟件安全開發(fā)生命周期

      為保障軟件和軟件開發(fā)過程的安全質量,軟件安全開發(fā)生命周期S-SDLC(Secure Software Development Life Cycle)成為當前行業(yè)關注、呼吁和嘗試的方法。當前主流的S-SDLC流程方法包括微軟SDL[8]、OWASP S-SDLC[9]。其核心理念都是將安全與軟件開發(fā)全過程融合,通過在軟件開發(fā)生命周期中每個階段執(zhí)行必要的安全實踐,使安全風險最小化、安全威脅最少化。和傳統(tǒng)的網絡安全運維管理相比,S-SDLC更加強調在各類信息技術產品研發(fā)的過程中做好安全,即全球安全行業(yè)提出的“把安全左移”理念。使安全真正成為開發(fā)過程中每個活動不同缺少的重要組成部分,并完整地融入軟件工程,降低安全風險[10]。

      S-SDLC完整覆蓋了軟件開發(fā)生命周期,其典型實踐主要包括安全培訓、威脅建模、代碼審計、安全測試等。而一個軟件開發(fā)單位要完整落地S-SDLC,除了要在每個軟件開發(fā)流程中執(zhí)行相應的安全實踐外,還需要在人員、工具和規(guī)范方面予以相應的配置。典型的落地實踐過程全景圖,如圖3所示[11]。

      (1)規(guī)范層面。結合實際情況需要制定滿足業(yè)務所需、技術所需和團隊所需的規(guī)范,從頂層指導安全開發(fā)的落地與規(guī)范,并為人員層面和工具層面的落地提供依據(jù)。

      (2)工具層面。配置每個階段所需的軟件開發(fā)安全工具,支持以自動化的方式落地相關實踐和規(guī)范,并為各實踐間相互流轉安全開發(fā)的數(shù)據(jù)奠定平臺基礎。

      (3)培訓層面。對S-SDLC中所有相關人員提供對應崗位的安全培訓,并在整個S-SDLC過程中,強調有關軟件安全開發(fā)意識和有關軟件安全威脅的持續(xù)性培訓,幫助相關人員持續(xù)加深對軟件安全威脅的認知與理解,形成團隊與企業(yè)的安全文化,促使各崗位的人員用安全的思想開展相關工作。

      (4)流程層面?;跇I(yè)務需求和S-SDLC落地的需要,在全流程中執(zhí)行安全開發(fā)能力成熟度評估,識別和判斷團隊當前的能力成熟度,并在全生命周期中持續(xù)跟蹤和管理第三方組件、開源組件、程序代碼、應用環(huán)境等方面的漏洞。

      4 體系化保障方法

      根據(jù)國內軟件開發(fā)單位的現(xiàn)狀,軟件開發(fā)單位要在軟件開發(fā)過程中做好軟件供應鏈安全保障,通常需要從管理層面和技術層面開展體系化的工作。

      4.1 安全開發(fā)技術方面

      4.1.1 執(zhí)行軟件安全開發(fā)生命周期實踐

      需在軟件的需求分析、架構設計、程序編碼和測試過程中執(zhí)行S-SDLC實踐(主要包括代碼審計、安全測試、安全加固、安全培訓),在軟件開發(fā)過程中形成內建安全。華為公司已經提出了“全面提升軟件工程能力和實踐”的企業(yè)內部要求,從“編碼質量”“架構核心要素”“歷史代碼”等方面確保產品開發(fā)到交付過程的高質量[12]。而從成本投入的角度而言,在開發(fā)過程中越早執(zhí)行安全開發(fā)實踐,安全缺陷的修復成本投入越小,且可能成數(shù)百上千倍的減少。

      4.1.2 使用自動化安全開發(fā)檢測工具

      自動化工具的使用可有效降低人工檢測的時間消耗和成本投入,提高檢測效率。軟件安全開發(fā)領域常見安全開發(fā)工具基于的技術包括SAST技術、DAST技術、IAST技術、FUZZ技術和SCA技術。其中,IAST技術融合了SAST技術和DAST技術的特征,具有檢測效率快、準確性高的優(yōu)勢,并能夠在執(zhí)行工程測試的時候自動化同步開展安全測試。

      在軟件安全開發(fā)過程中,基于SAST、IAST和FUZZ技術的安全開發(fā)工具是為了軟件安全開發(fā)過程中消除軟件的安全缺陷。在軟件供應鏈的軟件使用過程中,基于DAST技術的安全工具,可輔助安全開發(fā)降低軟件面臨的安全威脅。因此,保障軟件供應鏈安全,需在S-SDLC的不同階段應用不同的自動化安全技術。

      4.1.3 重視第三方組件與開源組件安全

      需謹慎、合理地選擇、獲取和使用第三方組件和開源組件。軟件安全團隊或研發(fā)團隊通過必要的技術手段確保所使用第三方組件和開源組件的安全性,及時獲取所使用第三方組件和開源組件的漏洞情報,并適時做出響應。

      (1)設置白名單,枚舉可使用且已使用的第三方組件和開源組件。

      (2)設置黑名單,枚舉應禁止使用的第三方組件和開源組件,如安全問題多、風險大的開源組件。

      (3)設置灰名單,枚舉應謹慎使用的第三方組件和開源組件,如由消極對待或處理安全問題廠商所開發(fā)的第三方組件。

      (4)使用基于SCA技術的工具對第三方組件和開源組件進行自動化檢測。

      4.2 安全開發(fā)管理方面

      4.2.1 強調安全開發(fā)文化建設

      普及有關軟件供應鏈安全和軟件安全的威脅和知識,幫助軟件開發(fā)人員掌握軟件安全開發(fā)的技能,建立軟件安全開發(fā)過程相關的考核機制,形成企業(yè)的安全開發(fā)文化。

      4.2.2 注重質量管理體系融合

      建立覆蓋S-SDLC的質量管理體系,并融合軟件供應鏈安全的特征與要素。將安全作為質量的一種屬性,并建立合理的組織架構和管理架構來滿足產品安全開發(fā)的實施和管理。

      4.2.3 設置產品安全團隊

      設立獨立于網絡安全運營管理團隊的產品安全團隊。產品安全團隊需以開發(fā)安全可信的軟件產品為目標,在產品研發(fā)過程中支持開發(fā)團隊開發(fā)安全的軟件。

      4.3 供應商管理方面

      4.3.1 要求企業(yè)級安全開發(fā)資質

      對軟件供應鏈上的供應商提出能夠證明其軟件安全開發(fā)能力的企業(yè)級資質要求。企業(yè)具備國際、國家或行業(yè)的安全開發(fā)資質,意味著其在軟件安全開發(fā)的過程管理、質量管理、配置管理、人員能力等方面具備一定實力,具有把安全融入軟件開發(fā)過程的能力。

      4.3.2 審查內部安全開發(fā)標準與規(guī)范

      對軟件供應鏈上的供應商提出安全開發(fā)標準與規(guī)范的內部要求,能夠對擬開發(fā)軟件的不同應用場景、不同架構設計、不同開發(fā)語言進行約束和參考。

      4.4 其他安全管理方面

      4.4.1 重視安全開發(fā)環(huán)境管理

      設置安全可控的工作場所,并針對開發(fā)過程搭建專用的開發(fā)環(huán)境和測試環(huán)境,配備安全、可信、可靠的安全開發(fā)管理工具,設置按角色分配的合理權限,確保開發(fā)過程和測試過程可控,保障軟件研發(fā)資產安全。

      4.4.2 把控軟件產品和補丁的發(fā)布渠道

      全面掌握軟件產品和補丁的發(fā)布途徑和發(fā)布環(huán)境,確保途徑和環(huán)境的安全,保障軟件產品和補丁在發(fā)布過程中的安全。

      4.4.3 具備安全應急響應能力

      能在軟件發(fā)布后對發(fā)生在軟件和補丁獲取渠道的供應鏈安全事件、軟件安全漏洞披露事件進行快速響應,控制和消除安全事件的影響,追溯和解決安全事件的根源。

      5 結束語

      軟件供應鏈安全是軟件工程與網絡安全兩個專業(yè)相互交融、相互影響的交叉領域,在軟件供應鏈中的每個環(huán)節(jié)都可能被惡意人員利用,造成網絡安全事件。軟件運維端的安全防護、被動式的安全響應已不能滿足軟件供應鏈安全的保障需要。從軟件開發(fā)過程和軟件安全開發(fā)生命周期出發(fā),才能在軟件誕生的過程中做好軟件安全質量、保障軟件供應鏈安全。未來,政府部門、軟件廠商、軟件開發(fā)者、企業(yè)用戶、個人用戶、安全廠商、高等院校等主體的共同參與,將為軟件供應鏈安全的持續(xù)發(fā)展和深入研究形成良好的生態(tài)圈。

      參考文獻

      [1] SAFECode,The Software Supply Chain Integrity Framework[R].2009.

      [2] Christopher Alberts, Audrey Dorofee, Rita Creel, Robert J. Ellison, Carol Woody, A Systemic Approach for Assessing Software Supply-Chain Risk[C]. 2011 44th Hawaii International Conference on System Sciences (HICSS), 2011.

      [3] 劉權,王超.加強軟件供應鏈安全保障的對策建議[J].中國信息安全,2018(11):64-66.

      [4] NCSC.Software Supply Chain Attacks[EB/OL].

      [5] 崔寶江.軟件供應鏈安全面臨軟件開源化的挑戰(zhàn)[J].中國信息安全,2018(11):71-72.

      [6] Sonatype.2018 State of the Software Supply Chain Report [R].

      [7] 張世琨,馬森,高慶,孫永杰. 軟件供應鏈安全的風險和成因分析[J]. 中國信息安全,2018(11):48-50.

      [8] 微軟SDL[OL].https://www.microsoft.com/en-us/securityengineering/sdl/.

      [9] OWASP S-SDLC Project[OL]. https://www.owasp.org/index.php/OWASP_Secure_Software_Development_Lifecycle_Project.

      [10] 陸向陽,蔣樹立,孫亮. 中小銀行信息系統(tǒng)開發(fā)生命周期安全保障框架[J]. 計算機應用與軟件,2013(11):142-144.

      [11] S-SDLC解決方案全景圖V2.0[OL].http://www.seczone.cn/2018/08/01/s-sdlc%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88v2-0/.

      [12] 任正非簽發(fā)2019年001號文件:把網絡安全和隱私保護作為公司的最高綱領[OL].http://www.sohu.com/a/286205015_114877.

      [13] 李震寧,劉莉,孟杰. 開源軟件商業(yè)化中面臨的知識產權風險[J]. 網絡空間安全,2018(8):42-44.

      嘉黎县| 汉川市| 许昌市| 蕉岭县| 永宁县| 泰来县| 松原市| 永德县| 若羌县| 江华| 射洪县| 洛阳市| 正阳县| 张家界市| 云梦县| 新巴尔虎左旗| 舞钢市| 开原市| 琼结县| 阜宁县| 腾冲县| 同江市| 祥云县| 衡山县| 通州市| 阿勒泰市| 桓台县| 亚东县| 土默特右旗| 镇康县| 剑川县| 环江| 灵璧县| 金堂县| 乌兰县| 故城县| 汾阳市| 遂溪县| 新宾| 东乡族自治县| 岳阳市|