亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2019-01-17 02:15:20王頡萬(wàn)振華王厚奎
        網(wǎng)絡(luò)空間安全 2019年6期

        王頡 萬(wàn)振華 王厚奎

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

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

        中圖分類號(hào):TP311.5? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼: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īng)鏈安全是近年各國(guó)政府和業(yè)界關(guān)注的安全領(lǐng)域。在SAFECode的報(bào)告中, “軟件供應(yīng)鏈”被描述為“軟件產(chǎn)品以‘階梯狀方式被不斷集成進(jìn)入下一個(gè)軟件產(chǎn)品中”[1]。軟件供應(yīng)鏈的典型安全威脅主要表現(xiàn)為在軟件代碼中插入惡意代碼和植入安全缺陷[2]。因此,一旦一個(gè)自帶安全缺陷的軟件產(chǎn)品被集成進(jìn)入下一個(gè)軟件產(chǎn)品,則使下一個(gè)軟件產(chǎn)品也自帶安全缺陷。目前,國(guó)內(nèi)在軟件供應(yīng)鏈安全領(lǐng)域的研究處于起步階段,但相關(guān)專家學(xué)者已清晰指出軟件供應(yīng)鏈安全的薄弱環(huán)節(jié),包括關(guān)鍵軟件和設(shè)計(jì)工具難以從源頭掌握軟件供應(yīng)鏈、開源代碼潛藏安全缺陷、管控體系尚不完善等問(wèn)題[3]。

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

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

        2 對(duì)軟件供應(yīng)鏈安全的認(rèn)識(shí)

        2.1 軟件供應(yīng)鏈安全的主要特征

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

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

        (2)覆蓋軟件開發(fā)體系。對(duì)軟件開發(fā)體系中開發(fā)工具、開發(fā)團(tuán)隊(duì)、開發(fā)生命周期和軟件產(chǎn)品、補(bǔ)丁執(zhí)行惡意行為,致使軟件存在著安全缺陷,破壞或影響最終用戶的信息安全,如圖2所示。可見(jiàn),在軟件的開發(fā)過(guò)程中和發(fā)布獲取過(guò)程中都存在影響軟件供應(yīng)鏈安全的威脅。而與軟件發(fā)布獲取過(guò)程中的安全防護(hù)相比,若能在軟件開發(fā)過(guò)程中解決相關(guān)問(wèn)題,則能確保軟件本身的安全質(zhì)量,對(duì)做好軟件供應(yīng)鏈的安全保障更具有重要意義。

        2.2 軟件開發(fā)過(guò)程中的典型問(wèn)題

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

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

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

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

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

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

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

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

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

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

        4 體系化保障方法

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

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

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

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

        4.1.2 使用自動(dòng)化安全開發(fā)檢測(cè)工具

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

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

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

        需謹(jǐn)慎、合理地選擇、獲取和使用第三方組件和開源組件。軟件安全團(tuán)隊(duì)或研發(fā)團(tuán)隊(duì)通過(guò)必要的技術(shù)手段確保所使用第三方組件和開源組件的安全性,及時(shí)獲取所使用第三方組件和開源組件的漏洞情報(bào),并適時(shí)做出響應(yīng)。

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

        (2)設(shè)置黑名單,枚舉應(yīng)禁止使用的第三方組件和開源組件,如安全問(wèn)題多、風(fēng)險(xiǎn)大的開源組件。

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

        (4)使用基于SCA技術(shù)的工具對(duì)第三方組件和開源組件進(jìn)行自動(dòng)化檢測(cè)。

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

        4.2.1 強(qiáng)調(diào)安全開發(fā)文化建設(shè)

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

        4.2.2 注重質(zhì)量管理體系融合

        建立覆蓋S-SDLC的質(zhì)量管理體系,并融合軟件供應(yīng)鏈安全的特征與要素。將安全作為質(zhì)量的一種屬性,并建立合理的組織架構(gòu)和管理架構(gòu)來(lái)滿足產(chǎn)品安全開發(fā)的實(shí)施和管理。

        4.2.3 設(shè)置產(chǎn)品安全團(tuán)隊(duì)

        設(shè)立獨(dú)立于網(wǎng)絡(luò)安全運(yùn)營(yíng)管理團(tuán)隊(duì)的產(chǎn)品安全團(tuán)隊(duì)。產(chǎn)品安全團(tuán)隊(duì)需以開發(fā)安全可信的軟件產(chǎn)品為目標(biāo),在產(chǎn)品研發(fā)過(guò)程中支持開發(fā)團(tuán)隊(duì)開發(fā)安全的軟件。

        4.3 供應(yīng)商管理方面

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

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

        4.3.2 審查內(nèi)部安全開發(fā)標(biāo)準(zhǔn)與規(guī)范

        對(duì)軟件供應(yīng)鏈上的供應(yīng)商提出安全開發(fā)標(biāo)準(zhǔn)與規(guī)范的內(nèi)部要求,能夠?qū)M開發(fā)軟件的不同應(yīng)用場(chǎng)景、不同架構(gòu)設(shè)計(jì)、不同開發(fā)語(yǔ)言進(jìn)行約束和參考。

        4.4 其他安全管理方面

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

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

        4.4.2 把控軟件產(chǎn)品和補(bǔ)丁的發(fā)布渠道

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

        4.4.3 具備安全應(yīng)急響應(yīng)能力

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

        5 結(jié)束語(yǔ)

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

        參考文獻(xiàn)

        [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] 劉權(quán),王超.加強(qiáng)軟件供應(yīng)鏈安全保障的對(duì)策建議[J].中國(guó)信息安全,2018(11):64-66.

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

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

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

        [7] 張世琨,馬森,高慶,孫永杰. 軟件供應(yīng)鏈安全的風(fēng)險(xiǎn)和成因分析[J]. 中國(guó)信息安全,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] 陸向陽(yáng),蔣樹立,孫亮. 中小銀行信息系統(tǒng)開發(fā)生命周期安全保障框架[J]. 計(jì)算機(jī)應(yīng)用與軟件,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號(hào)文件:把網(wǎng)絡(luò)安全和隱私保護(hù)作為公司的最高綱領(lǐng)[OL].http://www.sohu.com/a/286205015_114877.

        [13] 李震寧,劉莉,孟杰. 開源軟件商業(yè)化中面臨的知識(shí)產(chǎn)權(quán)風(fēng)險(xiǎn)[J]. 網(wǎng)絡(luò)空間安全,2018(8):42-44.

        最新国产不卡在线视频| 国产福利片无码区在线观看 | 黄色国产精品福利刺激午夜片| 国内精品久久久久影院优| 军人粗大的内捧猛烈进出视频| 国产精品自产拍在线18禁| 自拍偷拍另类三级三色四色| 在线a亚洲视频播放在线播放| 熟妇激情内射com| 五月天欧美精品在线观看| 中文字幕乱码亚洲美女精品一区 | 一本色道久久综合亚州精品| 国产亚洲成人精品久久| 三叶草欧洲码在线| 美女在线国产| 国内人妖一区二区在线播放| 伊人中文字幕亚洲精品乱码| 国产精品久久国产三级国不卡顿| 91人妻无码成人精品一区91| 亚洲精品av一区二区日韩| 午夜无码一区二区三区在线观看| 无码人妻丰满熟妇区毛片| 国产成人精品三上悠亚久久| 国产av一区二区网站| 欧洲多毛裸体xxxxx| 色婷婷日日躁夜夜躁| 国产高清亚洲精品视频| 国产麻豆久久av入口| а√资源新版在线天堂| 亚洲av日韩av综合aⅴxxx| 国产精品人成在线观看不卡| 欧洲熟妇色xxxx欧美老妇性| 人妻精品无码一区二区三区| 69堂在线无码视频2020| 精品一区二区三区婷婷| 无码av天堂一区二区三区| 无码片久久久天堂中文字幕| 性色国产成人久久久精品二区三区| 亚洲成av人片乱码色午夜| 亚洲暴爽av人人爽日日碰| 亚洲av伊人久久综合性色|