




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
鏈應(yīng)供件軟書皮術(shù)應(yīng)對安全挑戰(zhàn)透視軟件供應(yīng)安全技鏈應(yīng)供件軟書皮術(shù)應(yīng)對安全挑戰(zhàn)透視軟件供應(yīng)安全技透視軟件供應(yīng)鏈,攜手應(yīng)對安全挑戰(zhàn)軟件供應(yīng)鏈安全技術(shù)白皮書軟件供應(yīng)鏈安全技術(shù)白皮書軟件供應(yīng)鏈安全技術(shù)白皮書為避免合作伙伴及客戶數(shù)據(jù)泄露,所有數(shù)據(jù)在進行分析前都已經(jīng),綠盟科技集團股份有限公司(以下簡稱綠盟科技),成立于20002軟件供應(yīng)鏈安全作為現(xiàn)代供應(yīng)鏈安全的重點考慮因素之一,是保障我國新基建穩(wěn)步是要靶向聚焦、著力剖析供應(yīng)鏈風(fēng)險產(chǎn)生的內(nèi)部動因和運行機理。近年來,供應(yīng)鏈安全事件頻發(fā)。隨著SDX和低代碼等技術(shù)在數(shù)字化轉(zhuǎn)型浪潮的廣泛應(yīng)用,軟件開源作為業(yè)界領(lǐng)先的網(wǎng)安代表性企業(yè),在新安盟指導(dǎo)下,綠盟主持撰寫的軟件供應(yīng)鏈安用。中國科學(xué)院大學(xué)教授翟立東執(zhí)行摘要0011軟件供應(yīng)鏈安全威脅與趨勢0031.1軟件供應(yīng)鏈面臨的安全威脅0041.2軟件供應(yīng)鏈攻擊的發(fā)展趨勢0072供應(yīng)鏈安全國內(nèi)外形勢0102.1國內(nèi)外供應(yīng)鏈安全政策與發(fā)展0112.2國內(nèi)外供應(yīng)鏈安全標(biāo)準(zhǔn)與實踐0153軟件供應(yīng)鏈安全技術(shù)框架0193.1軟件供應(yīng)鏈安全0203.2軟件供應(yīng)鏈安全理念021軟件供應(yīng)鏈安全技術(shù)框架0274軟件供應(yīng)鏈安全關(guān)鍵技術(shù)0284.1軟件成分清單生成及使用技術(shù)0292軟件供應(yīng)鏈安全檢測技術(shù)0393軟件供應(yīng)鏈數(shù)據(jù)安全技術(shù)0545軟件供應(yīng)鏈安全解決方案0585.1供應(yīng)鏈安全監(jiān)督0595.2供應(yīng)鏈安全管控0676行業(yè)、企業(yè)最佳實踐0806.1銀行業(yè)金融機構(gòu)信息科技外包安全實踐0816.2交通運輸企業(yè)供應(yīng)鏈安全監(jiān)督檢查實踐0827典型供應(yīng)鏈攻擊案例復(fù)盤085arWindsLogj0888軟件供應(yīng)鏈安全總結(jié)與展望091附表:軟件供應(yīng)鏈安全風(fēng)險表093001軟件供應(yīng)鏈安全技術(shù)白皮書習(xí)近平總書記在二十國集團領(lǐng)導(dǎo)人第十六次峰會第一階段會議發(fā)表的重要講話中強調(diào):“要維護產(chǎn)業(yè)鏈供應(yīng)鏈安全穩(wěn)定,暢通世界經(jīng)濟運行脈絡(luò)?!弊鳛槭澜绲诙蠼?jīng)濟體,我國在世界局勢不斷變化的今天依靠自身供應(yīng)鏈韌性保持了強有力的經(jīng)濟增長與制造業(yè)產(chǎn)業(yè)轉(zhuǎn)型升級持續(xù)穩(wěn)步推進。信息和通信技術(shù)(InformationandCommunicationsTechnology,簡稱ICT)供應(yīng)商、第三方供應(yīng)商、集成服務(wù)企業(yè)和服務(wù)提缺乏核心技術(shù)使我國網(wǎng)絡(luò)安全與信息化建設(shè)存在巨大的風(fēng)險與阻礙。尤其在近期俄烏沖突期間,西方社會對俄羅斯進行了全方位的制裁,同時將ICT供應(yīng)鏈制裁上升到了戰(zhàn)略層面對俄是各類關(guān)鍵信息基礎(chǔ)設(shè)施平穩(wěn)運行的重要基礎(chǔ),其關(guān)鍵組件的設(shè)計、開發(fā)、部署、監(jiān)控和持綠盟科技推出軟件供應(yīng)鏈安全技術(shù)白皮書,旨在從軟件供應(yīng)鏈安全威脅與國內(nèi)外形勢來梳理軟件供應(yīng)鏈中存在的安全問題,提煉出軟件供應(yīng)鏈安全治理的核心理念、技術(shù)框架、關(guān)鍵技術(shù),并從供應(yīng)鏈安全監(jiān)管和控制方面給出解決方案和最佳實踐,期望為讀者帶來全新的觀點1:軟件供應(yīng)鏈威脅存在于軟件供應(yīng)鏈的全生命周期中,攻擊的手段和實施的途徑相較軟件供應(yīng)鏈攻擊已經(jīng)成為重要的突破手段,其中利用開源社區(qū)、公共開源存儲倉庫這類開源軟件生態(tài)入侵事件尤為嚴(yán)重。開源軟件供應(yīng)鏈安全不可忽視,其重要性日觀點2:近年來,政府在供應(yīng)鏈安全領(lǐng)域發(fā)揮著越來越重要的影響,但除積極方面之外,以美國為首的部分發(fā)達國家政府在其中注入了過多地緣政治因素的考量,甚至將其制定相關(guān)法規(guī)的權(quán)力作為國際競爭的工具,使其風(fēng)險從通常意義上的網(wǎng)絡(luò)安全風(fēng)險上升為供應(yīng)鏈斷供風(fēng)險。另一方面,面對發(fā)達國家以法令出臺、貿(mào)易制裁、技術(shù)出口等手段帶來的供應(yīng)鏈跨境安全管控風(fēng)險,中國、俄羅斯等國家立足國情,集中優(yōu)勢資源開展核心技術(shù)攻關(guān),提升自研自制能力,補齊短板、發(fā)展優(yōu)勢能力,加強對供執(zhí)行摘要002觀點3:為應(yīng)對軟件供應(yīng)鏈的威脅,上游企業(yè)需要構(gòu)建自身產(chǎn)品的軟件成分清單來梳理軟件軟件成分清單依據(jù)識別成分的粒度,可以分為不透明、微透明、半透明和透明幾個階段。透明程度高的軟件成分清單,能顯著提升最終用戶進行軟件供應(yīng)鏈安全評估觀點4:軟件供應(yīng)鏈安全包括整個軟件的開發(fā)生命周期,在開發(fā)階段漏洞的引入不止在代碼企業(yè)需要建設(shè)開發(fā)過程安全評估能力。在軟件交付階段,作為供應(yīng)商,除保證交付軟件安全外,也應(yīng)將軟件成分清單一并交付給下游企業(yè),促使整個軟件供應(yīng)鏈的上下游都具備依據(jù)安全通報、威脅情報監(jiān)控等第三方信息能夠分析、評估軟件供應(yīng)鏈安全的基本條件。供應(yīng)鏈軟件產(chǎn)品交付運行后,供應(yīng)商應(yīng)在產(chǎn)品的生命周期內(nèi)提供安全保障服務(wù),對產(chǎn)品漏洞及時修復(fù),最終用戶也應(yīng)根據(jù)供應(yīng)商所提供的軟件成分清單納入企業(yè)資產(chǎn)管理范圍,定期對資產(chǎn)進行安全評估,結(jié)合漏洞預(yù)警,對受影響觀點5:軟件供應(yīng)鏈風(fēng)險貫穿了產(chǎn)品的整個生命周期,結(jié)合近年來所發(fā)生的供應(yīng)鏈攻擊和入侵事件,我們需要從監(jiān)管層面加強供應(yīng)鏈產(chǎn)品安全認證管理,提供企業(yè)軟件SBOM托管和可信認證服務(wù),企業(yè)也需要完善供應(yīng)鏈資產(chǎn)管理和安全檢查,可借助SBOM觀點6:軟件供應(yīng)鏈在不斷的技術(shù)迭代與產(chǎn)業(yè)發(fā)展中逐漸形成了包含復(fù)雜技術(shù)體系、多元產(chǎn)品組件及各路開發(fā)者、供應(yīng)者與消費者為一體的龐大產(chǎn)業(yè)生態(tài),大量新技術(shù)的引入令軟件風(fēng)險防護范圍從個體層面提升至供應(yīng)鏈層面,安全視角發(fā)生了重大變化。整個軟件供應(yīng)鏈缺乏有效的統(tǒng)籌與管理,將安全建設(shè)寄托于技術(shù)人員的自我道德約束無疑是一種“賭博”。我們急需建立供應(yīng)鏈安全管理機制,杜絕“自我約束”的無監(jiān)管行為。通過政策引導(dǎo)與配套法律建設(shè)保證軟件供應(yīng)鏈安全能夠牢牢的把握在中1004軟件供應(yīng)鏈安全威脅與趨勢1.1軟件供應(yīng)鏈面臨的安全威脅經(jīng)濟全球化發(fā)展給企業(yè)發(fā)展帶來了更多機遇和成長,基于價值鏈的實現(xiàn),促進了供應(yīng)鏈的全球化,多樣化和復(fù)雜化,同時如何管理供應(yīng)鏈的問題給企業(yè)帶來了更大的挑戰(zhàn)和威脅。軟件供應(yīng)鏈涉及環(huán)節(jié)復(fù)雜,流程和鏈條長,供應(yīng)商眾多,暴露給攻擊者的攻擊面越來越多,攻擊者利用供應(yīng)鏈環(huán)節(jié)的薄弱點作為攻擊窗口,供應(yīng)鏈的各個環(huán)節(jié)都有可能成為攻擊者的攻擊入口。既有傳統(tǒng)意義上供應(yīng)商到消費者之間供應(yīng)鏈條中信息流的問題,也有系統(tǒng)和業(yè)務(wù)漏從軟件供應(yīng)鏈全生命周期考慮,可以簡單分為上游安全、開發(fā)安全、交付安全、使用安全為實現(xiàn)業(yè)務(wù)需求的獨特性,很多公司需要根據(jù)業(yè)務(wù)需求開發(fā)定制化軟件或者使用云服務(wù)產(chǎn)品,可能會使用軟件供應(yīng)商或者云服務(wù)提供商的產(chǎn)品,那么公司對于上游企業(yè)面臨的風(fēng)險是否有考慮到呢?比如采購上游企業(yè)的軟件產(chǎn)品,軟件供應(yīng)商是否能保證對軟件使用的核心組件可信且組成清晰,在爆發(fā)軟件內(nèi)部漏洞的事情下,具備快速的定位組件風(fēng)險的能力。軟件在面臨外部攻擊風(fēng)險時,是否具備一定的抗攻擊能力,至少不會漏洞百出。不管是內(nèi)部漏洞還是外部攻擊,軟件供應(yīng)商是否有能力快速定位到漏洞,及時評估漏洞、代碼的風(fēng)險,能提供持續(xù)的更新能力。上游企業(yè)安全評估能力強,那么將更好的預(yù)防風(fēng)險發(fā)生,安全評估能力弱,隨之而來的存在脆弱性風(fēng)險的可能也將增加。尤其關(guān)鍵數(shù)據(jù)泄露是重中之重,關(guān)注上游軟件評估中關(guān)鍵數(shù)據(jù)的權(quán)限范圍、證書管理等能力,成為企業(yè)選擇上游企業(yè)的關(guān)鍵因素。當(dāng)然也應(yīng)當(dāng)保證軟件供應(yīng)鏈的持續(xù)性,不能因為軟件產(chǎn)品中組件或者環(huán)境因素,影響業(yè)務(wù),在上游軟件供應(yīng)鏈安全中,另一大安全風(fēng)險是開源安全。開源軟件的使用,一定程度上推動了技術(shù)的發(fā)展,提高了創(chuàng)新的可能性,但是另一方面,國際環(huán)境的復(fù)雜性,開源軟件又具備代碼公開、易獲取和可重用的特點,使開源軟件面臨更大的風(fēng)險,比如開源組件、框架的漏洞、缺陷逐漸增加,且開源軟件分布在各大社區(qū),使用范圍略廣,然而漏洞信息卻不能及時被官方收錄,使得漏洞的跟蹤能力和整改能力降低,上游企業(yè)是否具備管控開源軟件的能力呢?除此之外,開源軟件隱形依賴關(guān)系使不同開源軟件之間存在合規(guī)性和兼容性風(fēng)險,從而引發(fā)知識產(chǎn)權(quán)風(fēng)險,且隱形依賴關(guān)系增加了漏洞發(fā)現(xiàn)、修復(fù)的難度,為保障開源組件、005軟件供應(yīng)鏈安全技術(shù)白皮書如果沒有提前考慮到采購前的風(fēng)險點以及應(yīng)對能力,那么很可能,在爆發(fā)軟件攻擊或者漏洞的情況下,不能快速定位軟件風(fēng)險點,及時遏制住風(fēng)險的擴散,快速的更新軟件問題,那么影響的將會是使用此軟件的所有客戶企業(yè)群體,帶來的更加直觀的損失將會是小到影響將導(dǎo)致后期安全問題的出現(xiàn),增加整改的成本和難度。從安全角度考慮軟件開發(fā)階段簡單分在軟件開發(fā)階段,需要借助提前準(zhǔn)備的工具進行編程實現(xiàn)業(yè)務(wù)功能,作為開發(fā)過程的一個重要環(huán)境,如何選擇開發(fā)工具將尤為重要,一旦開發(fā)工具遭到污染,使用了不安全的開發(fā)工具,那么開發(fā)完成的軟件很大可能性同樣存在安全風(fēng)險。此外,開發(fā)環(huán)境以及CI/CD集成環(huán)境遭到污染,都有可能導(dǎo)致代碼存在被篡改、惡意植入等風(fēng)險問題,甚至可能導(dǎo)致整個編程環(huán)境存在安全風(fēng)險。即使開發(fā)工具和環(huán)境不存在污染,那么完成開發(fā)部分的源代碼同樣需要確保其托管平臺和代碼存儲平臺未受到污染,否則惡意人員很可能通過托管平臺或者代碼在確保開發(fā)環(huán)境安全的情況下,開發(fā)過程也可能引入安全威脅,開發(fā)者由于工期緊、任務(wù)重等原因,更偏重于功能開發(fā),不規(guī)范的安全開發(fā)引入不可預(yù)測的安全風(fēng)險。開發(fā)人員在開發(fā)過程中,不可避免的會借用網(wǎng)上現(xiàn)成的代碼,既是學(xué)習(xí)成長的過程,也是提高工作效率而不具備識別和判定代碼安全性問題的能力,就會在代碼來源的安全性,代碼內(nèi)部邏輯的安全性以及在版本修訂、剪裁和迭代中引入更多安全問題,內(nèi)部漏洞、缺陷也將增加,這種行為會在后續(xù)軟件實現(xiàn)中埋下一個定時炸彈,同時在開發(fā)過程中也將涉及到開源組件引入完成開發(fā)后,進入編譯構(gòu)建階段,編譯工具的不安全將導(dǎo)致可能植入后門。各大互聯(lián)網(wǎng)公司在企業(yè)內(nèi)部自建包管理工具用于存放自研軟件包,若員工安裝自研軟件包時沒有制定僅企業(yè)內(nèi)部下載,就可能遭到包搶注攻擊,以及開發(fā)者在使用過程中,生產(chǎn)配置文件引用了官006軟件供應(yīng)鏈安全威脅與趨勢目前很多企業(yè)軟件開發(fā)大多數(shù)采用第三方供應(yīng)商軟件再開發(fā)方式,購買第三方軟件的基礎(chǔ)架構(gòu),再根據(jù)企業(yè)情況進行定制化的開發(fā)調(diào)整。源代碼共享的情況下,源代碼安全成為了雙方共同的安全責(zé)任。但是一般情況下,企業(yè)更加注重本身對于源代碼的保管安全,考慮到源代碼的訪問安全、物理環(huán)境安全、網(wǎng)絡(luò)安全等因素,并做好充分的保護措施。但企業(yè)很少會對第三方保管的源代碼提出管理要求。而軟件供應(yīng)商相對注重代碼功能的交付,對于源代碼的保管安全意識較為薄弱。比如辦公環(huán)境和源代碼存在于同一區(qū)域,網(wǎng)絡(luò)環(huán)境內(nèi)缺乏安全防護設(shè)備,未嚴(yán)格限制源代碼的訪問控制等問題普遍存在。不管是監(jiān)管機構(gòu)還是企業(yè)客戶,交付過程中,除了源代碼安全,也應(yīng)擴大交付范圍管控,如果交付的軟件未經(jīng)過編譯或者編譯信息泄露,那么也將導(dǎo)致源代碼不安全性增加,使攻擊者能更輕松的獲取源代碼,通過篡改、植入等技術(shù)手段破壞軟件的安全性,達到獲利的目的。軟件的正常使用,還涉及到證書、私鑰的管理泄露風(fēng)險。如果不能確?;A(chǔ)環(huán)境的可信,證書、密鑰的泄露將更加便利完成基礎(chǔ)交付準(zhǔn)備工作,需要將軟件安全以及維護后續(xù)安全更新途徑傳遞到企業(yè)手中。當(dāng)嚴(yán)重,一旦用戶在這些網(wǎng)站下載安裝軟件就會“中招”,用戶下載一個軟件,實際上明里暗里的卻被安裝了數(shù)個捆綁軟件,導(dǎo)致電腦運行速度明顯下降,電腦安全風(fēng)險大大增加。另者其他軟件病毒類安全事件,如不能快速發(fā)現(xiàn)、應(yīng)對和處置,將會給企業(yè)帶來嚴(yán)重的威脅,甚至帶來財務(wù)損失。軟件供應(yīng)商是否能及時配合企業(yè)完成信息安全事件的排查和修復(fù)過程至軟件使用過程中,依賴于網(wǎng)絡(luò)基礎(chǔ)設(shè)施安全或者云平臺安全,基礎(chǔ)設(shè)施面臨惡意攻擊、自然災(zāi)害破壞引發(fā)的連鎖反應(yīng)可能造成跨部門大面積基礎(chǔ)設(shè)施受損,并引發(fā)服務(wù)中斷,給業(yè)務(wù)正常運行帶來威脅。企業(yè)應(yīng)確保網(wǎng)絡(luò)基礎(chǔ)設(shè)施符合國家監(jiān)管政策要求,履行網(wǎng)絡(luò)基礎(chǔ)設(shè)施007軟件供應(yīng)鏈安全技術(shù)白皮書供應(yīng)鏈下游主要為營銷、服務(wù)、品牌等活動,供應(yīng)鏈下游的信息將成為上游信息的重要輸入信息,但是供應(yīng)鏈的各階段環(huán)節(jié)由多家供應(yīng)商參與,企業(yè)之間需求信息相對保守,信息無法實時有效的傳遞,而企業(yè)的需求信息決策取決于相關(guān)反饋數(shù)據(jù)輸入,供應(yīng)鏈環(huán)節(jié)越多,在供應(yīng)鏈下游也同樣存在上游的問題,比如下游采用獨家供應(yīng)商,下游對接的供應(yīng)商自身管理水平、企業(yè)文化、經(jīng)營模式和財務(wù)狀況等存在差異性。企業(yè)對上游和下游的管理同樣1.2軟件供應(yīng)鏈攻擊的發(fā)展趨勢1.2.1軟件供應(yīng)鏈攻擊事件持續(xù)高發(fā)相較于傳統(tǒng)安全威脅,供應(yīng)鏈威脅的影響力具有擴散性,上游產(chǎn)品的漏洞會影響下游所有角色,引起安全風(fēng)險的連鎖傳遞,導(dǎo)致受攻擊面不斷擴大。近年來發(fā)生了多起影響力較大ICD表1.1軟件供應(yīng)鏈攻擊事件司發(fā)起攻擊。研究者認為本次攻擊有很強的針對性,并且依賴難于取得繼百萬周下載量的npm包“node-ipc”以反戰(zhàn)為名進行供應(yīng)鏈投毒后,又一位開發(fā)在代碼中加入反戰(zhàn)元素。3月17日,俄羅斯開發(fā)人員ViktorMukhachev在其流行的npm庫“event-source-polyfill”中添加了一段反戰(zhàn)代碼。這段在1.0.26版本中引入的代碼意味著:使用該庫構(gòu)建的應(yīng)用程序,將在啟動15秒后向俄羅斯用戶顯示反npm用typosquatting的方式,注冊一系列包含惡意代碼的重名組node-ipc是使用廣泛的npm開源組件,其作者出于其個人政治立場在該項目的代碼倉維護項目不得回報等原因,刪除所有g(shù)ithub代碼,并向npm倉庫推送包含惡搞功能的更新(打印亂碼),包括aws-cdk在內(nèi)的眾多應(yīng)用受到影響引發(fā)對開源生態(tài),開源項008軟件供應(yīng)鏈安全威脅與趨勢源項目支持屬性查找,并能夠?qū)⒏鞣N屬性替換到日志中。用戶可以通j響范圍極大,同時隨著供應(yīng)鏈環(huán)節(jié)增多、軟件結(jié)構(gòu)愈加復(fù)雜,上述漏洞也更加難以發(fā)現(xiàn)、修復(fù)(尤其是間接使用到該組件的項目)。目前常見攻擊形式有勒索、挖礦、僵尸網(wǎng)絡(luò)(以及DDOS)。GitHub包地址替換為。網(wǎng)絡(luò)服務(wù)等。攻擊者可利用這些漏洞破壞目標(biāo)設(shè)備并以最高權(quán)限執(zhí)行任PaVSAXSS游影響PHPgitgitphpnet擊,攻擊者冒充兩名維護人員向服務(wù)HTTP請安全研究人員AlexBirsan通過利用開源生態(tài)安全機制上的漏洞(即依賴混淆),成功MimecastMimecast為微軟365用戶Winds下游影響政府證書頒發(fā)機構(gòu)(VGCA),并在提供的客戶端應(yīng)用程序中植入后門。WIZVERAVeraPort是一款韓國集成安裝工具,幫助用戶在訪問政府、銀行網(wǎng)站時管理所需安全軟件。該軟件在使用中僅驗證下載的二進制文件數(shù)字簽名是否有效,卻不利用盜取的數(shù)字證書對惡意軟件進行簽名并替換,使得用戶下載到惡意軟件。應(yīng)發(fā)給全球的華碩設(shè)備。該軟件使用合法的華碩證書簽名,存儲在意軟件。009軟件供應(yīng)鏈安全技術(shù)白皮書1.2.2軟件供應(yīng)鏈攻擊技術(shù)復(fù)雜多樣別于孤立產(chǎn)品的安全漏洞利用,現(xiàn)實環(huán)境中的供應(yīng)鏈攻擊手法更加多樣,實施途徑更由于開發(fā)成本的優(yōu)勢,在項目中廣泛使用開源組件已成為主流的開發(fā)方式。低門檻的開放社區(qū)與有限的維護資源的矛盾,給攻擊者提供了可乘之機。在開源代碼中插入惡意代碼是造成影響最為直接的攻擊形式,但常規(guī)的惡意代碼插入手段會受到人工代碼審核等方式的遏制。攻擊者開始另辟蹊徑,尋求人工代碼審查存在的脆弱性。劍橋大學(xué)的研究員提出了一種別的惡意隱藏代碼,達到逃逸人工審查的效果。除此之外,明尼蘇達大學(xué)的研究者提出向開源項目提交隱藏漏洞的攻擊方式,并實踐于Linux內(nèi)核項目[2]。雖然這種做法因開源社區(qū)的公共代碼存儲倉庫是開源軟件代碼的載體,企業(yè)在產(chǎn)品的開發(fā)構(gòu)建過程從中拉取第三方依賴。但有效的安全控制與自動化的反制措施的缺失,會使公開代碼倉庫成為惡意代碼的潛在傳播平臺。2021年初,安全研究員AlexBirsan提出名為依賴混淆(DependencyConfusion)的新供應(yīng)鏈攻擊方式[3]。攻擊者在公開存儲庫中創(chuàng)建私有依賴項的更高版本的同名項目,使得惡意代碼在構(gòu)建的過程中被拉取。該技術(shù)巧妙的利用了主流包管理器存在的設(shè)動化流水工具成為現(xiàn)代產(chǎn)品軟件開發(fā)的選擇。CI/CD平臺作為DevOps理念的落地實踐,起著保證持續(xù)集成和持續(xù)部署的關(guān)鍵作用,瞄準(zhǔn)此類平臺的攻擊事件也逐漸涌現(xiàn)。在2020年末的SolarWinds供應(yīng)鏈攻擊事件中攻擊者在IT管理軟件的代碼倉庫中插入惡意代碼,編譯ocker[1]Boucher,N.andR.Anderson,TrojanSource:InvisibleVulnerabilities.arXivpreprintarXiv:2111.00169,2021.[2]OpenSourceInsecurity:TheSilentIntroductionofWeaknessesthroughtheHypocriteCommit[3]/@alex.birsan/dependency-confusion-4a5d60fec610[4]/research/top-10-web-hacking-techniques-of-2021[5]/what-you-need-to-know-about-the-codecov-incident-a-supply-chain-attack-gone-undetected-for-2-months2011軟件供應(yīng)鏈安全技術(shù)白皮書2.1國內(nèi)外供應(yīng)鏈安全政策與發(fā)展2.1.1美國2002年,美國布什政府提出強調(diào)關(guān)注ICT供應(yīng)鏈安全問題的信息安全戰(zhàn)略,美國將ICT2008年,美國布什政府發(fā)布的54號國家安全總統(tǒng)令(NSPD54)提出國家網(wǎng)絡(luò)安全綜合計劃(CNCI),其部署的一項重要工作就是建立全方位的措施來實施全球供應(yīng)鏈風(fēng)險管理。為落實該計劃對ICT供應(yīng)鏈安全問題的部署,2008年美國國家標(biāo)準(zhǔn)和技術(shù)研究院(NIST)啟動了ICT供應(yīng)鏈風(fēng)險管理項目(SCRM),在原《信息保障技術(shù)框架》(IATF)提出的“縱深防御”戰(zhàn)略的基礎(chǔ)上,提出了“廣度防御”的戰(zhàn)略,開發(fā)全生命周期的風(fēng)險管理標(biāo)準(zhǔn)。是產(chǎn)品在運行中的安全,因而不能解決供應(yīng)鏈安全問題,而“廣度防御”戰(zhàn)略的核心是在系統(tǒng)的完整生命周期內(nèi)減少風(fēng)險,這一認識的變化也奠定了當(dāng)前ICT供應(yīng)鏈安全風(fēng)險管理方法2009年,美國奧巴馬政府在《網(wǎng)絡(luò)空間安全政策評估報告》中指出,應(yīng)對供應(yīng)鏈風(fēng)險除2011年,美國奧巴馬政府發(fā)布的《網(wǎng)絡(luò)空間國際戰(zhàn)略》中將“與工業(yè)部門磋商,加強高2014年,美國國會提議了《網(wǎng)絡(luò)供應(yīng)鏈管理和透明度法案》,意在確保為美國政府開發(fā)或購買的使用第三方或開源組件以及用于其他目的的任何軟件、固件或產(chǎn)品的完整性。該法案要求制作物料清單(BOM)由“為美國政府開發(fā)或購買的軟件、固件或產(chǎn)品的所有供應(yīng)商”提供的所有第三方和開源組件。法案中的措辭承認開源是一種關(guān)鍵資源,并清楚地表示其在府IT運營中持續(xù)發(fā)揮著關(guān)鍵作用。該法案是建立透明度的積極的第一步,這是一個非常有安全法案2018》創(chuàng)建了一個新的聯(lián)邦采購供應(yīng)鏈安全理事會并授予其廣泛權(quán)利,為聯(lián)邦供應(yīng)鏈安全制定規(guī)則,以增強聯(lián)邦采購和采012供應(yīng)鏈安全國內(nèi)外形勢署了名為《確保信息和通信技術(shù)及服務(wù)供應(yīng)鏈安全》的行政令,宣布美國進入受信息威脅的國家緊急狀態(tài),禁止美國個人和各類實體購買和使用被的相關(guān)要求,建立審查外國對手的ICT服務(wù)的交易流程和程序,禁止任何受美國管轄的人獲取、進口、轉(zhuǎn)讓、安裝、買賣或使用可能對美國國家安全、外交政策和經(jīng)濟構(gòu)成威脅的外國2.1.2歐盟2012年,歐盟網(wǎng)絡(luò)和信息安全局(ENISA)發(fā)布了《供應(yīng)鏈完整性—ICT供應(yīng)鏈風(fēng)險和挑戰(zhàn)概覽,以及未來的愿景》報告,并于2015年更新。除了提供可供ICT供應(yīng)鏈相關(guān)參2016年上半年,歐洲標(biāo)準(zhǔn)化委員會(CEN)、歐洲電工委員會(CENELEC)與歐洲電信標(biāo)準(zhǔn)協(xié)會(ETSI)對歐洲ICT產(chǎn)品和服務(wù)的政府采購所適用的可接入性提出了新的標(biāo)準(zhǔn),即通信技術(shù)產(chǎn)品和服務(wù)政府采購所適用的可接入性規(guī)定(EN301549)。該標(biāo)準(zhǔn)是歐洲首次對通信技術(shù)產(chǎn)品和服務(wù)的政府采購所適用的可接入性標(biāo)準(zhǔn),并以法規(guī)的形式加以強調(diào)。該標(biāo)準(zhǔn)電子設(shè)備與其他產(chǎn)品具有更好的可接入性,即:上述產(chǎn)品與服務(wù)的采購要本著讓更多人使用委員會主席Jean-ClaudeJuncker在其盟情咨文中提出了《歐盟網(wǎng)絡(luò)2019年4月,歐盟《外國直接投資審查條例》生效。該條例指出,歐盟有權(quán)對參與5G網(wǎng)絡(luò)等關(guān)鍵基礎(chǔ)設(shè)施投資的外商進行審查和定期監(jiān)控,以保障5G網(wǎng)絡(luò)等關(guān)鍵基礎(chǔ)設(shè)施的安全性,同時避免關(guān)鍵資產(chǎn)對外商的過度依賴。這也是歐盟保障5G供應(yīng)鏈安全的有2021年7月,歐盟網(wǎng)絡(luò)和信息安全局(ENISA)發(fā)布了《供應(yīng)鏈攻擊威脅全景圖》,該報告旨在描繪并研究從2020年1月至2021年7月初發(fā)現(xiàn)的供應(yīng)鏈攻擊活動。該報告通過分類系統(tǒng)對供應(yīng)鏈攻擊進行分類,以系統(tǒng)化方式更好地進行分析,并說明了各類攻擊的展現(xiàn)013軟件供應(yīng)鏈安全技術(shù)白皮書方式。報告指出,組織機構(gòu)更新網(wǎng)絡(luò)安全方法時應(yīng)重點關(guān)注供應(yīng)鏈攻擊,并將供應(yīng)商納入防2.1.3英國2013年,英國可信軟件倡議(TrustworthySoftwareInitiative,TSI)通過解決軟件可信性中的安全性、可靠性、可用性、彈性和安全性問題,提升軟件應(yīng)用的規(guī)范、實施和使用水平,在ICT供應(yīng)鏈的軟件領(lǐng)域建立起基于風(fēng)險的全生命周期管理。由TSI發(fā)布的可信軟S2014)發(fā)布。該規(guī)范在英國軟件工程上具有里程碑的意義,涵蓋了技術(shù)、物理環(huán)境、行為管經(jīng)濟和社會發(fā)展中的作用,強調(diào)了安全在電信這一關(guān)鍵基礎(chǔ)設(shè)施領(lǐng)域的重要意義,并為電信日本在2018年版的《網(wǎng)絡(luò)安全戰(zhàn)略》中,強調(diào)了“加強組織的能力”,呼吁供應(yīng)鏈各相關(guān)方積極協(xié)作,通過組織間多樣化的連接,創(chuàng)造有價值的供應(yīng)鏈。其具體舉措一是明確供應(yīng)鏈中存在的威脅,制定并推廣相關(guān)保護框架;二是充分調(diào)動中小企業(yè)的積極性,推動其創(chuàng)新。的首批適用對象。新法要求日本相關(guān)企業(yè)在采購高級科技產(chǎn)品及精密器材時,必須遵守三個安全準(zhǔn)則:第一,確保系統(tǒng)的安全與可信度;第二,確保系統(tǒng)供貨安全;第三,系統(tǒng)要能夠與國際接軌。這套準(zhǔn)則標(biāo)明了日本企業(yè)應(yīng)考慮使用的日本或歐美的相關(guān)產(chǎn)品。同時,日本政并要徹底防止使用有中國科技產(chǎn)品的其他國家數(shù)據(jù)庫。同時,政府將通過稅制優(yōu)惠措施在內(nèi)014供應(yīng)鏈安全國內(nèi)外形勢2.1.5俄羅斯而為了解決這些問題當(dāng)務(wù)之急是要“盡快實現(xiàn)創(chuàng)新成果的應(yīng)用”。為此,近年來,俄羅斯加大了對進口信息設(shè)備使用的管理和控制。普京曾公開要求俄羅斯僅有的三家具有部分政府管理職能的國家公司之一的俄羅斯技術(shù)公司使用國產(chǎn)軟件產(chǎn)品,并稱如果該公司不使用國產(chǎn)軟始在俄羅斯軍方作戰(zhàn)指揮系統(tǒng)終端中廣泛應(yīng)用。2018年國防部還啟動了所有計算機全部換裝國產(chǎn)操作系統(tǒng)的工作。不僅如此,為確保重要部門之間能夠?qū)崿F(xiàn)安全的互。總的來說,俄羅斯密集出臺了一系列旨在推進俄制產(chǎn)品應(yīng)用的政策措施,以期從源頭上杜絕因使用不安全、留有后門的信息產(chǎn)品所帶來的安全隱患,希望通過加大本國產(chǎn)品應(yīng)用拉此外,在跨國合作上,中、俄等國在2011年和2015年兩度向聯(lián)合國提交的《信息安全國際行為準(zhǔn)則》中,也就確保ICT供應(yīng)鏈安全提出了具體倡議,強調(diào)應(yīng)“努力確保信息技術(shù)產(chǎn)品和服務(wù)供應(yīng)鏈的安全,防止他國利用自身資源、關(guān)鍵設(shè)施、核心技術(shù)、信息通訊技術(shù)產(chǎn)品和服務(wù)、信息通訊網(wǎng)絡(luò)及其他優(yōu)勢,削弱接受上述行為準(zhǔn)則國家對信息通訊技術(shù)產(chǎn)品和服2.1.6中國2014年5月22日,國家互聯(lián)網(wǎng)信息辦公室宣布我國即將推出網(wǎng)絡(luò)安全審查制度,初步015軟件供應(yīng)鏈安全技術(shù)白皮書2017年6月,我國頒布《網(wǎng)絡(luò)產(chǎn)品和服務(wù)安全審辦法(試行)》和《網(wǎng)絡(luò)關(guān)鍵設(shè)備和網(wǎng)月,我國多部門聯(lián)合發(fā)布《網(wǎng)絡(luò)安全審査辦法》,進一步細化明確了網(wǎng)絡(luò)安全過《關(guān)鍵信息基礎(chǔ)設(shè)施安全保護條例》,在該條例2021年11月,國家互聯(lián)網(wǎng)信息辦公室通過《網(wǎng)絡(luò)安全審查辦法》,該辦法將網(wǎng)絡(luò)平臺運營者開展數(shù)據(jù)處理活動影響或者可能影響國家安全等情形納入網(wǎng)絡(luò)安全審查,并明確掌握超過100萬用戶個人信息的網(wǎng)絡(luò)平臺運營者赴國外上市必須向網(wǎng)絡(luò)安全審查辦公室申報網(wǎng)絡(luò)2.1.7總結(jié)近年來,政府在供應(yīng)鏈安全領(lǐng)域發(fā)揮著越來越重要的影響,但除積極方面之外,以美國為首的部分發(fā)達國家政府在其中注入了過多地緣政治因素的考量,甚至將其制定相關(guān)法規(guī)的權(quán)力作為國際競爭的工具,任由敵視、焦慮情緒主導(dǎo),人為割裂了原本可以互聯(lián)、互通、互面對發(fā)達國家以法令出臺、貿(mào)易制裁、技術(shù)出口等手段帶來的供應(yīng)鏈跨境安全管控風(fēng)險,中發(fā)展優(yōu)勢能力,加強對供應(yīng)鏈產(chǎn)品和服務(wù)的安全審查,逐步建立和完善供應(yīng)鏈安全風(fēng)險管理2.2國內(nèi)外供應(yīng)鏈安全標(biāo)準(zhǔn)與實踐2.2.1國際標(biāo)準(zhǔn)供應(yīng)鏈安全的標(biāo)準(zhǔn)化工作經(jīng)歷了由傳統(tǒng)供應(yīng)鏈安全向ICT供應(yīng)鏈安全的演變,主要標(biāo)準(zhǔn)ISO28000系列標(biāo)準(zhǔn)ISO包含:《ISO28000:2007供應(yīng)鏈016供應(yīng)鏈安全國內(nèi)外形勢系列標(biāo)準(zhǔn)幫助組織建立、推進、維護并提高供應(yīng)鏈的安全管理系統(tǒng),明確組織需建立最低安全標(biāo)準(zhǔn),并確保和規(guī)定安全管理政策的一致性;建議組織通過第三方認證機構(gòu)對安全管理系統(tǒng)進行認證或登記,并對供應(yīng)鏈中彈性管理系統(tǒng)提出更明確的要求。ISO28000系列標(biāo)準(zhǔn)對ISO27036系列標(biāo)準(zhǔn)ISOIEC術(shù)安全技術(shù)供應(yīng)鏈關(guān)系信息安全(1-概述和大綱2-要求3-ICT供OIEC實施、操作、監(jiān)控、評審、保持和改進供應(yīng)商關(guān)系管理規(guī)定了通用性的信息安全要求,這些要求覆蓋了產(chǎn)品和服務(wù)的采購、供應(yīng)的所有情況,例如制造業(yè)或裝配業(yè)、業(yè)務(wù)過程采購、知27036-3ICT供應(yīng)鏈安全管理指南》專門針對ICT供應(yīng)鏈安全提出提出查詢和管理地理分散的ICT供應(yīng)鏈安全風(fēng)險控制要求,并將信息安全過程和實踐整合到系統(tǒng)和軟件的生命周期過全指南》專門針對云計算服務(wù)安全提出要求,在云服務(wù)使用和安全風(fēng)險管理過程中提供量化指標(biāo),同時針對云服務(wù)獲取、提供過程中對組織產(chǎn)生的信息安全應(yīng)用風(fēng)險隱患,提供應(yīng)對指ISO/IEC20243開放可信技術(shù)供應(yīng)商標(biāo)準(zhǔn)—減少被惡意污染和偽冒的產(chǎn)品的最佳實踐和技術(shù)要求,是針對COTSICT軟硬件產(chǎn)品供應(yīng)商在技術(shù)研發(fā)及供應(yīng)鏈過程安全2.2.2美國標(biāo)準(zhǔn)ntPracticesforFederalInformationSystemsandOrganizations(聯(lián)邦信息系統(tǒng)和組織的供應(yīng)鏈風(fēng)險管理實踐)》(以下簡稱NISTSP800-161)和NISTIR7622《NationalSupplyChainRisk-ManagementPracticesforFederalInformationSystems(聯(lián)邦信息系統(tǒng)供應(yīng)鏈風(fēng)險管理實踐理論)》(以下簡稱NISTIR7622)這兩個影響力較大的標(biāo)準(zhǔn)。017軟件供應(yīng)鏈安全技術(shù)白皮書NISTSP800-161STSP風(fēng)險》中提出的多層次風(fēng)險管理方法,分別從組織層、業(yè)務(wù)層以及系統(tǒng)層三個層面和構(gòu)建風(fēng)NISTIR7622該標(biāo)準(zhǔn)給出了供應(yīng)鏈風(fēng)險管理的實施流程。對于高影響系統(tǒng),ICT供應(yīng)鏈風(fēng)險管理被明確嵌入到采購進程中來分析潛在的供應(yīng)鏈風(fēng)險,實施額外的安全控制以及供應(yīng)鏈風(fēng)險管理的實踐;對中度影響的系統(tǒng),授權(quán)機構(gòu)應(yīng)該做出是否實施ICT供應(yīng)鏈風(fēng)險管理的決策;低影響2.2.3我國標(biāo)準(zhǔn)GB/T36637-2018信息安全技術(shù)ICT供應(yīng)鏈安全風(fēng)險管理指南在未來7年內(nèi)禁止中興通訊向美國企業(yè)購買敏感產(chǎn)品,引起社會廣泛關(guān)注。該事件反映出我國在某些關(guān)鍵核心部件的研發(fā)、生產(chǎn)、采購等環(huán)節(jié)存在的供應(yīng)鏈安全風(fēng)險,同時凸顯出加強我國ICT供應(yīng)鏈安全研究、評估和監(jiān)管GB/T36637-2018《信息安全技術(shù)ICT供應(yīng)鏈安全風(fēng)險管理指南》,采用風(fēng)險評估的思路,從產(chǎn)品全生命周期的角度,針對設(shè)計、研發(fā)、采購、生產(chǎn)、倉儲、運輸/物流、銷售、維護、銷毀等各環(huán)節(jié),開展風(fēng)險GB/T24420-2009供應(yīng)鏈風(fēng)險管理指南該標(biāo)準(zhǔn)主要針對傳統(tǒng)供應(yīng)鏈風(fēng)險管理,在《GB/T24353-2009風(fēng)險管理原則與實施指南》的指導(dǎo)下,參考國際航空航天質(zhì)量標(biāo)準(zhǔn)(IAQS)9134、美國機動車工程師協(xié)會標(biāo)準(zhǔn)SAEARPAECMAEN指南》等編制而成,給出了供應(yīng)鏈風(fēng)險管理的通用指南,包括供應(yīng)鏈風(fēng)險管理的步驟,以及識別、分析、評價和的采購。GB/T32921-2016信息技術(shù)產(chǎn)品供應(yīng)方行為安全準(zhǔn)則為貫徹落實《全國人民代表大會常務(wù)理事會關(guān)于加強網(wǎng)絡(luò)信息保護的決定》的精神,加強信息技術(shù)產(chǎn)品用戶相關(guān)信息維護,該標(biāo)準(zhǔn)規(guī)定了信息技術(shù)產(chǎn)品供應(yīng)方在相關(guān)業(yè)務(wù)活動中應(yīng)供應(yīng)鏈安全國內(nèi)外形勢遵循的基本安全準(zhǔn)則,主要包括收集和處理用戶相關(guān)信息的安全準(zhǔn)則、遠程控制用戶產(chǎn)品的其他標(biāo)準(zhǔn)●GB/T22239-2019信息安全技術(shù)網(wǎng)絡(luò)安全等級保護基本要求●GB/T32926-2016信息安全技術(shù)政府部門信息技術(shù)服務(wù)外包信息安全管理規(guī)范GBT1168-2014《信息安全技術(shù)云計算服務(wù)安全能力要求》0183020軟件供應(yīng)鏈安全技術(shù)框架3.1軟件供應(yīng)鏈安全軟件供應(yīng)鏈安全覆蓋整個軟件生命周期過程,單從軟件產(chǎn)品的復(fù)雜性來說,除了保障軟件項目自身的安全之外,還包括每個項目的依賴關(guān)系與可傳遞依賴關(guān)系,以及這些關(guān)系鏈所組成的軟件生態(tài)系統(tǒng)的安全。尤其在開源安全問題上,由于間接依賴關(guān)系的傳遞帶來隱性漏洞包含問題,使用免責(zé)條款替代合同約束帶來的信任風(fēng)險與法律風(fēng)險,都更顯著,也是近幾表3.1企業(yè)軟件供應(yīng)鏈安全需求供應(yīng)鏈的需求獲得可選范圍內(nèi)軟件成分或開源組件已知的安全問題(如已知漏洞),危險程度。評估法律風(fēng)險(知識產(chǎn)權(quán)、許可證范圍、免責(zé)條款)、商務(wù)風(fēng)險?!瓏H軟件公司要求提供SBOM[6](國際標(biāo)準(zhǔn)格式,軟件成分清單)?!枰ㄟ^技術(shù)手段和管理手段來保障企業(yè)自身的安全和軟件產(chǎn)品的安全,需要行業(yè)內(nèi)形成可軟件供應(yīng)鏈安全技術(shù)白皮書021以相互信任的機制,向最終用戶提供軟件供應(yīng)鏈安全的體系化評估方案。下面我們將基于這3.2軟件供應(yīng)鏈安全理念明程度企業(yè)要管理軟件供應(yīng)鏈,首先要有一種統(tǒng)一的描述方法,能清晰的傳遞上下游間的軟件信息,向最終用戶展示軟件供應(yīng)鏈的組成成分的情況。這種軟件供應(yīng)鏈描述方法,與軟件資產(chǎn)管理中定義的軟件標(biāo)識相比,要深入軟件產(chǎn)品的組成結(jié)構(gòu),力求從安全視角能足夠充分的小要素”及“軟件物料清單”(SBOM)的要求規(guī)范。目前,美國的政府單位,如NIST、CISA都將SBOM確定為推動軟件供應(yīng)鏈風(fēng)險管理的優(yōu)先事項,并在多項政策、標(biāo)準(zhǔn)中將其程中是對應(yīng)具體的代碼文件,還是功能模塊。當(dāng)粒度過細的時候,很多企業(yè)也擔(dān)心過度暴露考慮企業(yè)可實際落地情況,我們將軟件“最小要素”分為不同粒度的“軟件成分”,并源件,組,直接出的開組件,組,直接依含必要組件擴展信息完整(如:核識產(chǎn)權(quán)信息、關(guān)聯(lián)漏洞信息)。出的開組件,組,直接依擴展信息包括組成軟件的所有組件名稱、組件的信息、組件之間的關(guān)系以及層級關(guān)系。每一個軟件,都對應(yīng)一個組成成分表,通過標(biāo)準(zhǔn)的數(shù)據(jù)格式存儲、記錄構(gòu)成的基礎(chǔ)信息,并根據(jù)這些存儲022軟件供應(yīng)鏈安全技術(shù)框架表3.2軟件成分信息實體名稱體名稱于標(biāo)識軟件修改的版本標(biāo)識符版權(quán)與開放標(biāo)準(zhǔn)、第三方授權(quán)信息等生成的日期和時間軟件信息簽名(如校驗哈希值)信息真實性、完整性或在軟件成分清單數(shù)據(jù)庫中查找的唯一標(biāo)識符進制的包含關(guān)系,發(fā)布容器鏡像與二進制的包含關(guān)賴、包依賴、編譯依賴、運行時依賴等息版權(quán)與開放標(biāo)準(zhǔn)、第三方授權(quán)信息等能力為應(yīng)對供應(yīng)鏈的威脅,保障自身的IT基礎(chǔ)設(shè)施安全,企業(yè)需要構(gòu)建軟件成分清單來梳理供應(yīng)鏈產(chǎn)品,識別和管理關(guān)鍵軟件供應(yīng)商,在供應(yīng)鏈的生命周期的各階段通過安全評估控制在軟件的開發(fā)生命周期中,漏洞的引入不止有開發(fā)人員編寫的源代碼,還有所依賴的開源組件、開發(fā)和構(gòu)建工具等,依照軟件的開發(fā)和構(gòu)建過程,企業(yè)需要從如下方面建設(shè)開發(fā)過●開源組件引入安全管控023軟件供應(yīng)鏈安全技術(shù)白皮書功能組件等,在系統(tǒng)開發(fā)過程中,應(yīng)嚴(yán)格控制引入的開源組件風(fēng)險,將已知漏洞摒除于軟件開源組件安全評估能力由軟件成分分析(SCA)提供,在代碼構(gòu)建時,通過SCA工具對●源代碼漏洞管控為降低開發(fā)過程中源代碼漏洞的產(chǎn)生,提升源代碼安全質(zhì)量,可使用SAST(StaticApplicationSecurityTesting,通常指靜態(tài)源代碼安全審計工具)在開發(fā)IDE工具和持續(xù)集成通常指交互式安全測試工具)在系統(tǒng)運行時通過污點分析檢出源代碼漏洞。軟件交付是開發(fā)商將成品完成封裝,交付給下游用戶,也是下游企業(yè)引入供應(yīng)鏈產(chǎn)品的起始點,作為供應(yīng)商,除保證交付軟件安全外,也應(yīng)將軟件成分清單一并交付給下游企業(yè);供應(yīng)鏈下游企業(yè)在獲得供應(yīng)商的軟件組件成分清單后,也可同步向其下游企業(yè)、最終用戶提供自己維護的軟件組件成分表,那么最終用戶就已經(jīng)具備了依據(jù)安全通報、威脅情報監(jiān)控等024軟件供應(yīng)鏈安全技術(shù)框架供應(yīng)鏈軟件產(chǎn)品交付運行后,供應(yīng)商應(yīng)在產(chǎn)品的生命周期內(nèi)提供安全保障服務(wù),對產(chǎn)品應(yīng)商所提供的SBOM將供應(yīng)鏈產(chǎn)品納入企業(yè)資產(chǎn)管理,在實現(xiàn)技術(shù)上,對軟件供應(yīng)鏈組成的可評估能力與企業(yè)內(nèi)部進行的安全開發(fā)治理有很多相同之處。需要指出的是,軟件供應(yīng)鏈安全更關(guān)注整個軟件生命周期中每個迭代或每個構(gòu)建軟件供應(yīng)鏈安全的復(fù)雜性之一在于多級上下游安全問題的堆疊,很難依靠企業(yè)自身力量完成整個鏈條的安全評估與把控,需要從監(jiān)管層面加強供應(yīng)鏈產(chǎn)品安全認證管理,提供企業(yè)1.向軟件行業(yè)提供開放的、可信任的軟件供應(yīng)鏈關(guān)鍵數(shù)據(jù)(如軟件成分信息、組件情報信息)管理機制。軟件產(chǎn)品最終用戶的軟件供應(yīng)鏈安全依賴與上下游企業(yè)與這個產(chǎn)品相關(guān)的組件信息的集合,透明程度高的軟件成分信息對軟件供應(yīng)鏈治理至關(guān)重要,但是對軟件企業(yè)來說增加了產(chǎn)品管理成本和安全風(fēng)險。需要制定一套可信任的機制,既能鼓勵軟件企業(yè)參與軟件供應(yīng)鏈治理的積極性,又要保證軟件供應(yīng)鏈基礎(chǔ)信息的高質(zhì)量,向最終用戶提供可信任的軟件供應(yīng)鏈企業(yè)需要監(jiān)控軟件產(chǎn)品及依賴的上游組件中是否存在高危組件,下游交付環(huán)節(jié)中使用軟建立開源軟件資產(chǎn)臺賬,持續(xù)監(jiān)測和降低所使用開源軟件的安全風(fēng)險。但實際上,企業(yè)很難網(wǎng)絡(luò)基礎(chǔ)設(shè)施、高風(fēng)險開源軟件進行監(jiān)控,通過如黑白灰名單等機制提供給軟件企業(yè)和軟件鏈安全度量標(biāo)準(zhǔn)與認證體系可信任的軟件供應(yīng)商,應(yīng)從可信需求分析與設(shè)計、可信開發(fā)、可信測試、可信交付、生命周期管理、開源及第三方管理、配置管理等不同維度進行評估。評估符合要求的企業(yè)應(yīng)具025軟件供應(yīng)鏈安全技術(shù)白皮書企業(yè)也需要完善供應(yīng)鏈資產(chǎn)管理和安全檢查,可借助知識圖譜技術(shù)理清企業(yè)供應(yīng)鏈依賴軟件供應(yīng)鏈透明程度、軟件供應(yīng)鏈安全可評估能力、可信軟件供應(yīng)鏈的三個理念,與最按:上下游企業(yè)能向最終用戶提供微透明程度的軟件供應(yīng)鏈成分信息查詢能力。最終用戶通過第三方威脅情報監(jiān)控,或主管部門發(fā)布的安全通告,能獲得受影響組件信息。通過查詢、比對軟件成分清單內(nèi)的名稱與版本信息,可以快速比對是否存在已知漏洞等安全問題??紤]評估透明程度高的軟件成分清單(半透明程度及以上),能顯著提升最終用戶進行軟件供應(yīng)鏈安全評估的準(zhǔn)確性。對企業(yè)開展業(yè)務(wù)來說,知識產(chǎn)權(quán)等法律風(fēng)險評估是必不可少。尤其對于開展國際業(yè)務(wù)的用戶來說,項目使用的開源項目及第三方組件是否遵循許可證要求,合法地進行軟件修改與重用,都存在著潛在法律風(fēng)險。建立政府統(tǒng)一管理的情報庫實現(xiàn)軟件供應(yīng)完整的供應(yīng)鏈覆蓋了從開發(fā)設(shè)計到交付實施再到用戶使用的各個環(huán)節(jié),牽扯到最終用戶和各級供應(yīng)商,每個環(huán)節(jié)都有可能成為網(wǎng)絡(luò)攻擊的突破口,企業(yè)在引入供應(yīng)鏈軟件產(chǎn)品時需;軟件漏洞評估:根據(jù)供應(yīng)商所提供的產(chǎn)品安全評估報告,包括但不限于SAST、SCA、軟件的供應(yīng)鏈安全性企業(yè)管控開源安全,既包括直接依賴組件的漏洞,也包括間接依賴組件漏洞。隨著軟件026軟件供應(yīng)鏈安全技術(shù)框架系統(tǒng)架構(gòu)愈加復(fù)雜,所關(guān)聯(lián)的開源組件之間的依賴關(guān)系也愈加復(fù)雜,一些多級依賴的組件漏開源軟件生態(tài)當(dāng)前已經(jīng)豐富繁雜,監(jiān)管層應(yīng)針對開源軟件進行風(fēng)險監(jiān)測與監(jiān)控。安全是SCA軟件資產(chǎn)安全管理。其曝出漏洞或者發(fā)布補丁時,一方面使用評估檢查工具對資產(chǎn)進行漏洞影響。被檢測對象首先需依據(jù)檢測機構(gòu)提供的可信安全廠商獲取安全檢測服務(wù)及工具,保證工具及來源的安全合規(guī)。對自身軟件資產(chǎn)進行審計,輸出標(biāo)準(zhǔn)化清單:軟件成分、代碼審計、供應(yīng)商資質(zhì)等標(biāo)準(zhǔn)化清單。將清單提供給安全管理機構(gòu)進行備案,以備審查。當(dāng)安全主管機我們需要創(chuàng)新協(xié)同,積極引入可信計算、多方安全計算、區(qū)塊鏈等技術(shù),創(chuàng)新安全產(chǎn)品體系架構(gòu),不斷提升產(chǎn)品自身安全性;以產(chǎn)品全生命周期安全保障為目標(biāo),從部件供應(yīng)商、產(chǎn)品研發(fā)、產(chǎn)品測試、產(chǎn)品生產(chǎn)、儲運銷售、產(chǎn)品運維、召回等環(huán)節(jié),運用可信計算、多方安全027軟件供應(yīng)鏈安全技術(shù)白皮書3.3軟件供應(yīng)鏈安全技術(shù)框架律法規(guī)對供應(yīng)鏈安全治理提出的指導(dǎo)意見與管理要求,多角度考量,將供應(yīng)安全標(biāo)準(zhǔn)規(guī)范,供應(yīng)鏈安全規(guī)章制度與供應(yīng)鏈安全管理體系相融合,制定軟件供應(yīng)鏈安全治理頂層設(shè)計,管理范圍覆蓋軟件供應(yīng)鏈開發(fā)、交付到使用全生命周期及軟件供應(yīng)鏈安全首先要樹立正確的安全意識,目標(biāo)是將系統(tǒng)打造成可信任、可評估、組成成分透明的可信實體。將安全檢測結(jié)合安全可信白名單機制、風(fēng)險預(yù)警、與情報收集機制保證內(nèi)部環(huán)境安全。通過建立軟件成分清單(如SBOM),源代碼管理、漏洞庫管理等安全風(fēng)險管控機制,保證軟件供應(yīng)鏈數(shù)據(jù)的安全可信。同時,配合安全檢測技術(shù)、如代碼審計、軟件成分分析、動態(tài)安全檢測等技術(shù)支持可評估能力建設(shè)。加快建立軟件成分清單生成與使用規(guī)范,建立管理手段與工具方法庫,標(biāo)準(zhǔn)化軟件成分和軟件成分可視化流程,保證組件透將安全理念與關(guān)鍵技術(shù)相融合,實現(xiàn)軟件供應(yīng)鏈安全技術(shù)保障,將具體方式方法抽象出可復(fù)制可執(zhí)行的安全解決方案。針對具體場景實施供應(yīng)鏈安全監(jiān)督與安全管控,落實好監(jiān)管部門所關(guān)注的供應(yīng)鏈安全重點領(lǐng)域管理意見及建議,實現(xiàn)企業(yè)內(nèi)部軟件供應(yīng)鏈安全防護體系4029軟件供應(yīng)鏈安全技術(shù)白皮書4.1軟件成分清單生成及使用技術(shù)軟件成分清單與軟件物料清單(SBOM)之間的差別在于對軟件“最小要素”的顆粒度的要求,在技術(shù)思路、實現(xiàn)步驟上并無本質(zhì)差別??紤]到軟件物料清單的生成工具與技術(shù)研SBOM的各項關(guān)鍵技術(shù),來闡釋軟件成分清單的根據(jù)NTIA提供的指導(dǎo)文檔,要求軟件企業(yè)提供的SBOM是一個正式的、機器可讀的列表,以實現(xiàn)軟件供應(yīng)鏈的自動化識別與管理的需求。理想條件下,供應(yīng)鏈中每一環(huán)節(jié)都要求該環(huán)M定義報告信息的標(biāo)準(zhǔn)來幫助減少軟件的歧義。SPDX通過為企業(yè)和社區(qū)提供共享重要數(shù)據(jù)的xrdfjson,.yml以及.xml),特征是包括組件、許可證、版權(quán)以及開放標(biāo)準(zhǔn)。不管選用哪種標(biāo)準(zhǔn)和格式,建立軟件成分清單生成及使用機制都是十分必要的。這不僅有助于應(yīng)對日益增多的軟件供應(yīng)鏈攻擊事件,還能幫助供應(yīng)鏈中下游環(huán)節(jié)理解上游環(huán)節(jié)的意4.1.1軟件成分清單生成技術(shù)生成軟件成分清單需要考慮兩種情況:主動提供形式,即軟件提供商主動提供軟件成分清單,此時生成軟件成分清單的工具可以包含在軟件版本控制系統(tǒng)中,同時能夠提供一定的[7]InternationalOpenStandard(ISO/IEC5962:2021)-SoftwarePackageDataExchange(SPDX)[8]NVD-SWID()[9]OWASPCycloneDXSoftwareBillofMaterials(SBOM)Standard030軟件供應(yīng)鏈安全關(guān)鍵技術(shù)組成成分更新可追蹤、歷史版本可追溯能力;而另一種是被動分析形式,即下游環(huán)節(jié)需要自分運維運營以及監(jiān)視階段,如果是一個軟件供應(yīng)鏈中間環(huán)節(jié)的供應(yīng)商,還可以從開發(fā)階段中分如果軟件供應(yīng)商是在軟件研發(fā)后生成軟件成分清單,只能依賴現(xiàn)有的設(shè)計文檔、測試報告提取信息,借助人工的方式還原軟件成分,毫無疑問,這樣不僅效率低,也容易遺漏已更[10]NTIASBOMformatsandstandardswhitepaper.[Online.]Available:/files/ntia/publications/ntia_sbom_formats_and_standards_whitepaper_-_version_20191025.pdf031軟件供應(yīng)鏈安全技術(shù)白皮書首先是規(guī)劃階段(plan)。規(guī)劃階段,可以將軟件的設(shè)計、規(guī)劃闡明,加入SBOM文檔。上文我們提到,可以將采購環(huán)節(jié)分離出來,作為一個獨立的環(huán)節(jié)。此處采購的軟件可以是開SBOM“被動”生成的方法了,這里暫不來到開發(fā)階段,此階段包括初期編程開發(fā)以及后期編寫軟件補丁。在開發(fā)過程中,需要SCM(軟件配置管理管理)、VCS(版本控制系統(tǒng))等管理系統(tǒng),同時對于進階的測試環(huán)節(jié)對軟件的性能、穩(wěn)定性、可用性等衡量標(biāo)準(zhǔn)進行評測,DevSecOps中還會進行黑盒、內(nèi)外部滲透、交互式應(yīng)用安全測試(IAST)等安全測試。通過測試后,對軟件進行簽名認證,并將所用標(biāo)準(zhǔn)、證書信息寫入SBOM。至此,軟件生命周期中的開發(fā)周期暫軟件分發(fā)階段,應(yīng)完善SBOM信息,使其包括但不限于NTIA要求的最低標(biāo)準(zhǔn)信息(作者信息、提供商、產(chǎn)品名稱、版本號、組件信息的哈希值以及id)以及數(shù)字簽名;開源軟件最后,在維護/監(jiān)控階段,最理想的情況是將已知安全漏洞信息插入文檔,可以參見本值得一提的是,在現(xiàn)有SBOM三大標(biāo)準(zhǔn)之中,除了SWID支持語言不多,SPDX以及CycloneX在java/python/javascript/golang/Maven等語言中都有提供相應(yīng)的許可證庫以及如果不能獲得軟件提供商的一手軟件成分清單或相關(guān)資料,那么必要時需要自行分析軟032軟件供應(yīng)鏈安全關(guān)鍵技術(shù)●對象是開源程序時,軟件企業(yè)或最終用戶無法直接獲得軟件成分清單與更新服務(wù),需要自行維護。目前,企業(yè)用戶多采用SCA(OpenSourceSoftwareCompositionAnalysis)這類專業(yè)開源軟件成分分析與管理系統(tǒng),管理所引入的開源軟件的安全風(fēng)險。自動化的SCA工具對應(yīng)用程序的源代碼,包括模塊、框架、庫、容器、注冊表等工件進行自動化掃描,以識別和清點開源軟件的所有組件構(gòu)成和依賴關(guān)系,并識別已知的安全漏洞或者潛在的許可證授權(quán)問題。把這些風(fēng)險排查在應(yīng)用系統(tǒng)投產(chǎn)之在軟件供應(yīng)鏈中,無論是上游還是下游企業(yè),都建議建立自己的軟件成分清單,不論是通過數(shù)據(jù)庫獲取某一軟件成分清單,比對軟件成分清單信息判斷是否被篡改;還是通過已有軟件成分清單改進生成技術(shù),建立完善的軟件成分清單生成機制、存儲機制,都能對軟件安4.1.2軟件成分清單分析工具輯這三種功能;消費方面,分為瀏覽(人類可讀)、SBOM文件對比以及SBOM文件導(dǎo)入三當(dāng)然,一個分析工具可以是這三類,并包含有關(guān)于這個build的信息SBOM本等)形式提供信息,輔助決策、商業(yè)進程OM息的同時從一個文件類型轉(zhuǎn)變?yōu)榱硪粋€文件類型orgwpcontentuploadsLFLiveGeneratingSBOMspdf軟件供應(yīng)鏈安全技術(shù)白皮書0334.1.3開源許可證授權(quán)風(fēng)險管理對于軟件開發(fā)者來說,在軟件供應(yīng)鏈中使用開源軟件,面對的風(fēng)險不僅僅在于技術(shù)層面開源許可證,對使用開源項目中的軟件代碼、二進制等文件進行分發(fā)、修改和重用等行為進行合法定義、約束的條款,它規(guī)定了軟件開發(fā)者和軟件用戶之間應(yīng)當(dāng)行使的權(quán)利義務(wù)。企業(yè)向(缺乏賓語)公開自己產(chǎn)品的部分源代碼時,需要選擇合適的開源許可證保留自身開源軟件許可證,是合法地使用開源軟件的先決條件,特別是對于大型軟件系統(tǒng),許可證信其龐大的數(shù)量、繁多的種類,對開源許可證分析工作帶來了很多困難,引發(fā)了軟件產(chǎn)業(yè)對包含不同的開源許可證組件產(chǎn)生許可證兼容性沖突問題,商業(yè)軟件如何選擇許可證組合以減少隨著軟件物料清單(SBOM)概念的提出,GeorgiaM等人通過使用軟件成分分析標(biāo)準(zhǔn)的X通過在軟件成分清單中明確對開源許可證的要求,可以更簡單、有效的解決終端用戶評估許可證安全風(fēng)險。為了更好地保障軟件供應(yīng)鏈的安全,軟件許可證風(fēng)險也應(yīng)考慮在內(nèi),這就需要識別、管理許可證的能力。而管理許可證風(fēng)險的大前提是不變的—明確軟件都有哪些組4.1.4開源軟件成分管理可傳遞依賴關(guān)系引入的安全風(fēng)險在開源項目中尤為突出,一個代表就是2021年12月份出現(xiàn)的Log4j2漏洞(CVE-2021-44228)。Log4j2作為一個堪比標(biāo)準(zhǔn)庫的基礎(chǔ)日志庫,受到[12]/[13]GNU操作系統(tǒng)和自由軟件運動[14]KapitsakiGM,KramerF.OpenSourceLicenseViolationCheckforSPDXFiles[C]//InternationalConferenceonSoftwareReuse.Springer,Cham,2015:90-105[15]KapitsakiGM,KramerF,TselikasND.AutomatingthelicensecompatibilityprocessinopensourcesoftwarewithSPDX[J].JournalofSystems&Software,2016.034軟件供應(yīng)鏈安全關(guān)鍵技術(shù)無數(shù)開源Java組件直接或間接依賴。根據(jù)綠盟科技研究員分析[32],此次爆發(fā)的Log4j2漏洞影響范圍廣泛且危害嚴(yán)重,在各個場景領(lǐng)域皆應(yīng)獲得重點關(guān)注。分析這種龐大且復(fù)雜的關(guān)知識圖譜技術(shù)近幾年在工業(yè)界應(yīng)用也越來越廣泛。如網(wǎng)絡(luò)安全、醫(yī)療、法律、金融垂直領(lǐng)域都已經(jīng)有比較好的應(yīng)用案例。知識圖譜本質(zhì)上是一種大型的語義網(wǎng)絡(luò),它旨在描述客觀世界的概念實體事件及其之間的關(guān)系,以實體概念為節(jié)點,以關(guān)系為邊,提供一種從關(guān)系的參考CycloneDX提供的開源組件成分及其關(guān)系規(guī)范化的格式描述,可以通過關(guān)系圖描述通過知識圖譜可以很好的解決開源軟件復(fù)雜的依賴關(guān)系表示不清晰問題,讓開源軟件成035軟件供應(yīng)鏈安全技術(shù)白皮書1.知識圖譜的圖表示方法構(gòu)建開源軟件的成分深層關(guān)系(如依賴、引用、許可等);2.使用開源軟件相關(guān)的漏洞知識庫和其建立關(guān)系,利用知識圖譜的分層傳播路徑搜索算3.應(yīng)用圖算法分析知識圖譜(依賴關(guān)系圖)獲得最具風(fēng)險的關(guān)鍵依賴關(guān)系,推薦有效的圖4.3開源軟件知識圖譜本體模型在安全分析研究方面,開源軟件知識圖譜可以幫助安全人員對開源軟件進行全面的風(fēng)險1.基于開源組件屬性特征(如源代碼、包等文件的hash值)來判定組件是否存在被包裝2.利用不同開源組件的依賴關(guān)系,結(jié)合組件版本信息,可以在高危漏洞應(yīng)急響應(yīng)中快速識別受影響的其他組件,通過圖的聚合及子圖拆分等圖優(yōu)化算法能夠高效、持續(xù)的輸出風(fēng)險如下圖,展示了log4j-core@2.3組件存在的多個高危漏洞關(guān)系,如果在軟件中引用了存在高危漏洞的開源組件,無疑會給軟件產(chǎn)品帶來潛在的威脅,同樣,軟件供應(yīng)商的軟件產(chǎn)品036軟件供應(yīng)鏈安全關(guān)鍵技術(shù)圖4.4log4j組件的依賴圖譜4.1.5軟件成分清單輔助套件VEXVEX(vulnerabilityexploitabilityexchange,漏洞可利用性交流/交換)概念和格式是美幫助用戶獲得這些漏洞的狀態(tài)、信息,并借此評估這些漏洞的可利用性(輔助用戶判斷這些漏洞是否對軟件有影響—不影響軟件/已經(jīng)修復(fù)/調(diào)查中/影響軟件;以及如果受到影響,建議采取哪些補救措施)。部分情況下由于各種原因(例如,編譯器未加載受影響的代碼,或者軟件中其他地方存在一些內(nèi)聯(lián)保護),導(dǎo)致上游組件中的漏洞不會被“利用”,此時可要生成一份VEX文檔,需要三個步驟:組件標(biāo)識、漏洞標(biāo)識以及漏洞狀態(tài)(見下圖)。[16]/files/ntia/publications/draft_requirements_for_sharing_of_vulnerability_status_information_-_vex.pdf037軟件供應(yīng)鏈安全技術(shù)白皮書族標(biāo)識--作者作用/角色--完整性/簽名/…--漏洞(每一個標(biāo)識出的漏洞)-漏洞狀態(tài)(機器可讀)--影響的組件(可選)-NTIAVEXVEX檔的結(jié)構(gòu)和內(nèi)容,可以參考Cyclone在github上給出的示例文檔(json格式)[18]。VEX可以看作是SBOM的特殊需求,是SBOM所需(所要求)基本信息的延伸與擴展。描述,VEX可以與SBOM合并,也可以作為獨立的文檔存在)[19][20]這是因為SBOM對于給定的構(gòu)建通常是靜態(tài)的,但VEX在更改中可能是動態(tài)的(如漏洞當(dāng)前狀態(tài)可能隨著調(diào)查[17]/files/ntia/publications/framing_2021-04-29_002.pdf[18]/CycloneDX/sbom-examples/blob/master/VEX/vex.json[19]/files/ntia/publications/vex_one_summary.pdf[20]/capabilities/vex/038軟件供應(yīng)鏈安全關(guān)鍵技術(shù)SBOMCVE復(fù)的SBOM文檔,而這份多余的成本是可以通過VEX與SBOM的分割而避免的。因此,供應(yīng)商應(yīng)在實際應(yīng)用中根據(jù)具體情況,選擇是否將M建議標(biāo)準(zhǔn)。正如CSAF所定義的,VEX還可以提供豐富的信工作量”。供應(yīng)商可以輕松地傳達客戶因漏洞而面臨的風(fēng)險(或不存在風(fēng)險)。供應(yīng)商可以VEX檔,而不是生成一個長長PDF列表1000多個產(chǎn)品及其潛在的漏洞暴露。這大大減少了在漏洞恐慌時安撫客戶所需SaaSBOM為了實現(xiàn)數(shù)據(jù)的機密性、完整性、可用性所依賴的技術(shù)堆棧,表示方式則可以選擇SPDX或[21]/files/ntia/publications/framing_2021-04-29_002.pdf[22]/articles/38485039軟件供應(yīng)鏈安全技術(shù)白皮書RL4.2軟件供應(yīng)鏈安全檢測技術(shù)軟件供應(yīng)鏈安全檢測技術(shù)需要覆蓋整個軟件生命周期,主要涉及五類安全檢測技術(shù),分Z不同的檢測技術(shù)能夠解決軟件供應(yīng)鏈特定階段的安全問題,下表對五類技術(shù)作了簡要介紹以件中依件設(shè)計/開發(fā)開發(fā)/測試/測試/運營測試/運營開發(fā)/測試低高低極低(幾乎為0)低高高低中低高高中中程度需人工沒有誤報沒有誤報低低低低[23]/article/3632149/the-case-for-a-saas-bill-of-material.html[24]/capabilities/saasbom/[25]/CycloneDX/sbom-examples/blob/master/SaaSBOM/apigateway-microservices-datastores/bom.json軟件供應(yīng)鏈安全關(guān)鍵技術(shù)040件組成分析(SCA)在軟件供應(yīng)鏈中,開源軟件因其開放、共享、自由的特點,而被廣泛應(yīng)用。開源代碼的使用大幅提高了軟件研發(fā)的效率,降低了開發(fā)的成本。但是由于開源項目的質(zhì)量參差不齊,很容易存在安全漏洞,或者受到攻擊者的惡意篡改,項目維護者也可能未能對漏洞進行及時修復(fù),造成極大的安全隱患。當(dāng)今開源軟件數(shù)量呈指數(shù)增長,開源軟件之間存在復(fù)雜的依賴關(guān)系,導(dǎo)致無法單純通過人力對漏洞進行篩查。為了自動和高效地解決開源應(yīng)用威脅這一問題,軟件組成分析技術(shù)(SCA)應(yīng)運而生,這是目前對應(yīng)用程序組成分析、漏洞檢測最有效SCA是一種靜態(tài)的,白盒的檢測技術(shù),通過自動化流程,對軟件源代碼、二進制文件進SCA從理論上來說是一種通用的分析方法,可以對任何開發(fā)語言對象進行分析,Java、C/C++、Golang、Python、JavaScript等等,它關(guān)注的對象是構(gòu)成軟件的第三方工件,以及工件之間的依賴關(guān)系。SCA從分析過程來看,可以概括為源代碼/二進制分析、特征提取和 (1)源代碼/二進制分析SCA式上分,既可以是源代碼也可以是編譯出來的各種類型的二進常量字符串等等,不管目標(biāo)程序運行在x86平臺還是ARM平臺,不管是windows程序還是Linux程序,都是一樣的,簡而言之SCA是一種跨開發(fā)語言的應(yīng)用程序分析技術(shù)。二進制分ARJ(.arj)、XZ(.xz)、LZMA(.lz)、LZ4(.lz4)、Compress(.Z)、Pack200(.jar)RedHatRPM(.rpm)Debianpackage(.deb)Macinstance(.dmg,.pkg)Windowsinstallers(.exe,.msi,.cab)041軟件供應(yīng)鏈安全技術(shù)白皮書文件系統(tǒng)/電子盤a (2)特征提取與識別術(shù)。●包管理解析通過分析源代碼中包含的包管理配置文件,如Python項目中的requirements.txt、NPMpackagejson得到對應(yīng)的軟件組成。包管理解析的執(zhí)行效率和準(zhǔn)確率都很二進制文件等,就會產(chǎn)生漏報,如C語言本身是沒有包管理器的,直接在代碼中使用了開源組件的源碼,因此也就無法判斷出來使用了哪些組件。包管理文件也可能存在未定義組件版本的情況,此時無法定位實際使用的版本,也就無法確定該組件是否存在漏洞。商業(yè)軟件中●指紋識別將目標(biāo)文件進行特征值計算,將計算得到的特征值與組件特征數(shù)據(jù)庫進行比較,匹配組1.結(jié)構(gòu)化的指紋識別,通過分析一個目錄下的結(jié)構(gòu),來生成指紋做相似度對比,識別開,通過識別本地的文件的哈希值,文件的大小信息等,來識別開源指紋,來進行相似度比較,識別組件和第三方商業(yè)組件 (3)漏洞檢測將識別出的組件與組件漏洞庫進行比對,發(fā)現(xiàn)組件中存在的漏洞、許可證授權(quán)風(fēng)險,并042軟件供應(yīng)鏈安全關(guān)鍵技術(shù) SBOM包含軟件的所有組件構(gòu)成以及依賴關(guān)系,漏洞、許可證等關(guān)鍵信息,對于供應(yīng)鏈 用程序應(yīng)鏈組于以達與軟件、許全信息要完源許可易于使些行業(yè)件產(chǎn)品安部分添加在產(chǎn)品卸 tory洞識規(guī)性和使用后,變包和相關(guān)內(nèi)容的信息?!睘榱艘粋€國際的開放標(biāo)業(yè)參與立、富薩和東周期中助企業(yè) w rmatxml 作商,組件證書信息,創(chuàng)建息(依賴關(guān)系圖)能包含在包信息里),證書信關(guān)系,注釋信息(例包版包下載結(jié)束許許可注球唯識標(biāo)信息識并描043軟件供應(yīng)鏈安全技術(shù)白皮書sionfunctionsfunctionshfunctions近年來,由開源組件和第三方商業(yè)軟件引發(fā)的供應(yīng)鏈安全問題層出不窮,拿最近的Log4j和SolarWinds入侵事件來舉例,因其應(yīng)用廣泛,可利用性強,造成極大影響。SCA技術(shù)不需要運行程序,通過靜態(tài)的方式分析第三方軟件的組成,得到應(yīng)用程序的組件知識圖譜,能夠有效提升軟件供應(yīng)鏈的透明度,進而關(guān)聯(lián)出存在的已知漏洞清單,幫助用戶及(SAST)軟件供應(yīng)鏈從軟件生命周期角度可劃分為開發(fā)、交付、使用三大環(huán)節(jié),每個環(huán)節(jié)都可能會引入供應(yīng)鏈安全風(fēng)險,上游環(huán)節(jié)的安全問題會傳遞到下游環(huán)節(jié)。開發(fā)環(huán)節(jié)作為軟件供應(yīng)鏈的上游環(huán)節(jié),從該環(huán)節(jié)入手,及早發(fā)現(xiàn)和修復(fù)安全問題非常必要。早在2005年,美國總統(tǒng)信息技術(shù)咨詢委員會關(guān)于信息安全的年度報告中就曾指出:美國重要部門使用的軟件產(chǎn)品必須加強安全檢測,尤其是應(yīng)該進行軟件代碼層面的安全檢測。而在美國國土安全部(DHS)碼缺陷分類庫CWE(CommonWeaknessEnumeration),以統(tǒng)一分類和檢測領(lǐng)域開展了許多工作,包括:CERT發(fā)布了一系列安全編程(C/C++、Java等)標(biāo)準(zhǔn),靜態(tài)安全分析正是這樣一種針對開發(fā)過程中源代碼進行安全檢測的技術(shù),內(nèi)置多種缺陷檢測規(guī)則,將源代碼轉(zhuǎn)換為易于掃描的中間數(shù)據(jù)格式,使用缺陷檢測技術(shù)對其進行分析,匹配缺陷規(guī)則,從而發(fā)現(xiàn)源代碼中存在的缺陷,并提供修復(fù)建議,幫助用戶及早修復(fù),從而降軟件供應(yīng)鏈安全關(guān)鍵技術(shù)044 (1)語法分析技術(shù)語法分析指按具體編程語言的語法規(guī)則處理詞法,分析程序產(chǎn)生的結(jié)果并生成語法分析BNF即程序中是BNF要技術(shù)包括算符優(yōu)先分析法(自底向上)、遞歸下降分析法(自頂向下)和LR分析法(自左至右、自底向上)等。語法分析是編譯過程中的重要步驟,也是其他分析的基礎(chǔ)。 (2)類型分析技術(shù)類型分析主要指類型檢查。類型檢查的目的是分析程序中是否存在類型錯誤。類型錯誤通常指違反類型約束的操作,如讓兩個字符串相乘、數(shù)組的越界訪問等。類型檢查通常是靜態(tài)進行的,但也可以動態(tài)進行。編譯時進行的類型檢查是靜態(tài)檢查。對于一種編程語言,如果它的所有表達式的類型可以通過靜態(tài)分析確定下來,進而消除類型錯誤,那么這個語言是靜態(tài)類型語言(也是強類型語言)。利用靜態(tài)類型語言開發(fā)出的程序可以在運行程序之前消除許多錯誤,因此程序質(zhì)量的保障相對容易(但表達的靈活性相對弱)。 (3)控制流分析技術(shù)控制流分析的輸出是控制流圖,通過控制流圖可以得到關(guān)于程序結(jié)構(gòu)的一些描述,包括軟件供應(yīng)鏈安全技術(shù)白皮書045 (4)數(shù)據(jù)流分析技術(shù)數(shù)據(jù)流分析用于獲取有關(guān)數(shù)據(jù)如何在程序的執(zhí)行路徑上流動的信息。在程序的控制流圖046軟件供應(yīng)鏈安全關(guān)鍵技術(shù)數(shù)據(jù)流分析代碼示例圖如上所示,如參數(shù)w是存在漏洞的數(shù)據(jù),則數(shù)據(jù)流路徑BB0-同時,污染傳播分析也是數(shù)據(jù)流分析技術(shù)的一種應(yīng)用,在漏洞分析中,使用污點分析技術(shù)將所感興趣的數(shù)據(jù)(通常來自程序的外部輸入)標(biāo)記為污點數(shù)據(jù),然后通過跟蹤和污點數(shù)據(jù)相 (1)輸入驗證類[26]輸入驗證類缺陷指程序沒有對輸入數(shù)據(jù)進行有效驗證所導(dǎo)致的缺陷。常見的輸入驗證類針對輸入驗證類缺陷,需要對輸入進行驗證,驗證的內(nèi)容包括數(shù)據(jù)是否包含超出預(yù)期的\、\'、\"、.等,還需對危險字符進行轉(zhuǎn)義。也可以通過驗證行為凈化所有不可信的輸出,如 (2)資源管理類 (3)代碼質(zhì)量類代碼質(zhì)量類缺陷指由于代碼編寫不當(dāng)所導(dǎo)致的缺陷,低劣的代碼質(zhì)量會導(dǎo)致不可預(yù)測行為的發(fā)生。常見的代碼質(zhì)量類缺陷包括整數(shù)問題、空指針解引用、初始化問題、不當(dāng)?shù)难h(huán)對于代碼質(zhì)量類缺陷,需要針對性地進行解決,如使用整數(shù)時,要避免操作結(jié)果超出整047軟件供應(yīng)鏈安全技術(shù)白皮書靜態(tài)安全分析技術(shù)不需要運行程序,能夠覆蓋100%的代碼庫,但檢查結(jié)果可能存在漏(DAST)黑客大多針對運行中的系統(tǒng)或業(yè)務(wù)進行黑盒掃描,尋找可能存在的薄弱點進行攻擊。動態(tài)應(yīng)用安全測試(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度臨時保安服務(wù)合同-活動期間安全保衛(wèi)
- 2025年度知識產(chǎn)權(quán)質(zhì)押合同終止及質(zhì)權(quán)實現(xiàn)協(xié)議
- 產(chǎn)品發(fā)布營銷策略規(guī)劃
- 影視制作發(fā)行合作框架協(xié)議
- 智能能源管理系統(tǒng)建設(shè)投資協(xié)議
- 家具企業(yè)家具設(shè)計與制造預(yù)案
- 哈他瑜伽介紹課件:哈他瑜伽-身心平衡的藝術(shù)
- 小學(xué)生心理輔導(dǎo)觀后感
- 網(wǎng)絡(luò)購物平臺合作運營協(xié)議書
- 娛樂項目節(jié)目制作授權(quán)協(xié)議
- 透明度的測定SL87
- 消防設(shè)施定期檢查、檢測、維修保養(yǎng)記錄
- 論十大關(guān)系全文
- 涂裝工技能鑒定考試題庫匯總-下(多選、判斷題部分)
- 2021年山東能源集團西北礦業(yè)有限公司招聘筆試試題及答案解析
- 售后服務(wù)流程圖
- 建筑地基處理技術(shù)規(guī)范JGJ79-2012
- 印象主義、后印象主義課件
- 日常監(jiān)督檢查表
- 隊列訓(xùn)練教程ppt課件(PPT 86頁)
- 第三章-農(nóng)村公共管理組織課件
評論
0/150
提交評論