供應(yīng)鏈安全事件的頻頻爆發(fā),使得供應(yīng)鏈安全管理越來越被政府和企業(yè)重視。企業(yè)供應(yīng)鏈中可能導(dǎo)致安全風(fēng)險的因素非常復(fù)雜,如果沒有良好的供應(yīng)鏈安全管理和風(fēng)險控制,由于供應(yīng)鏈導(dǎo)致的安全風(fēng)險會急劇增加,企業(yè)甚至難以了解攻擊是如何發(fā)生,這樣就難以避免和防范下一次類似的攻擊。
供應(yīng)鏈系統(tǒng)安全概述
與企業(yè)信息安全管理類似,供應(yīng)鏈安全管理并不是純粹的IT問題,而是人、流程和知識的綜合因素。在供應(yīng)鏈龐雜的環(huán)境中,需要從攻擊者的角度進(jìn)行安全防御建設(shè)。與傳統(tǒng)的信息安全不同的是,供應(yīng)鏈安全涉及到物理世界與信息世界的交互,兩者之間并無間隙,且相互影響。
其中,供應(yīng)鏈系統(tǒng)安全涉及到的方面包括企業(yè)供應(yīng)鏈管理中的:
從與供應(yīng)商的商務(wù)關(guān)系到供應(yīng)商的技術(shù)管理和實踐,相關(guān)的風(fēng)險又依次包括:
第三方供應(yīng)商:供應(yīng)商企業(yè)健康狀況和企業(yè)實力
供應(yīng)商安全實踐:供應(yīng)商內(nèi)部安全管理和安全實踐
被攻陷的軟件、硬件:供應(yīng)商提供的產(chǎn)品可能被攻擊者掌握
軟件、硬件的安全漏洞:供應(yīng)商提供的產(chǎn)品本身存在安全漏洞
軟件、硬件的惡意代碼:供應(yīng)商提供的產(chǎn)品被植入了后門、木馬
第三方數(shù)據(jù)泄露或數(shù)據(jù)聚合:供應(yīng)商存儲的客戶數(shù)據(jù)泄露或供應(yīng)商通過數(shù)據(jù)分析獲取客戶機(jī)密/秘密
除此之外,還包括企業(yè)自身在技術(shù)活動中引入的第三方技術(shù),比如開發(fā)人員在編程中引用的第三方開源或商業(yè)組件、調(diào)用的SDK(Software Development Kit)、使用的開發(fā)工具或運(yùn)維工具(IDE、IDE插件、數(shù)據(jù)庫連接管理工具、服務(wù)器連接管理工具)等。
當(dāng)下很多企業(yè)在從事諸如駐場服務(wù)、駐場咨詢、現(xiàn)場交付等等活動的過程中,還會涉及到與供應(yīng)商或供應(yīng)商人員的身份認(rèn)證、授權(quán)、權(quán)限管理以及數(shù)據(jù)分享的問題,比如企業(yè)在財務(wù)審計中需要將財報信息同步給事務(wù)所人員、安全公司駐場為企業(yè)提供滲透測試服務(wù)、供應(yīng)商交付人員在企業(yè)辦公場所進(jìn)行產(chǎn)品交付、配置工作。
所以供應(yīng)鏈安全本質(zhì)上是企業(yè)管理自身管理范圍之外的一系列相關(guān)企業(yè)、產(chǎn)品、技術(shù)、人員、流程,并期望相關(guān)企業(yè)和人員具備不低于企業(yè)自身安全水平的安全成熟度。
從技術(shù)供應(yīng)的角度,企業(yè)供應(yīng)鏈系統(tǒng)安全的風(fēng)險來源如下圖:
供應(yīng)商管理和采購
當(dāng)前,每家企業(yè)都需要借助其他供應(yīng)商的能力完善自身的生產(chǎn)能力,在選擇供應(yīng)商和進(jìn)行采購活動之前,企業(yè)自身需要完善相關(guān)的供應(yīng)商管理制度或機(jī)制。
根據(jù)ISO27002(信息安全控制實用規(guī)則),涉及到供應(yīng)商安全的規(guī)范包括:
供應(yīng)商關(guān)系的信息安全:供應(yīng)商遵守的信息安全策略、供應(yīng)商協(xié)議的安全問題、信息和通信技術(shù)供應(yīng)鏈;
供應(yīng)商服務(wù)交付管理:監(jiān)視和評審、變更管理。
供應(yīng)商關(guān)系的信息安全是指企業(yè)應(yīng)當(dāng)與供應(yīng)商就供應(yīng)產(chǎn)品或服務(wù)過程中,供應(yīng)商人員應(yīng)當(dāng)遵守的最低安全要求和安全策略,確保供應(yīng)商對于企業(yè)信息資產(chǎn)的訪問是安全可控的,并明確雙方合作中安全風(fēng)險的處置原則和要求。供應(yīng)商服務(wù)交付管理是為保障供應(yīng)商的交付物保持一定的安全和質(zhì)量水準(zhǔn),并確保交付變更不會帶來新的安全風(fēng)險。
根據(jù)SOC2(美國注冊會計師協(xié)會開發(fā)的針對行業(yè)服務(wù)的審計標(biāo)準(zhǔn))的合規(guī)要求,企業(yè)在供應(yīng)商管理中需要具備:
在選擇和評估供應(yīng)商時,需要評估供應(yīng)商的商務(wù)信息和技術(shù)能力,商務(wù)信息包括:法人、注冊地、員工規(guī)模、注冊資本、股權(quán)結(jié)構(gòu)、融資信息、企業(yè)資質(zhì)、過去三年工商變更信息或工商處罰信息,技術(shù)能力包括:安全資質(zhì)、安全白皮書、安全實踐描述(基礎(chǔ)安全、數(shù)據(jù)安全、漏洞管理、人員管理等)、開發(fā)實踐描述(開發(fā)團(tuán)隊、開發(fā)流程等)。
商務(wù)信息可以通過被動調(diào)查的方式從諸如天眼查、企查查獲取供應(yīng)商的相關(guān)信息,技術(shù)能力可以通過問卷調(diào)查的方式由供應(yīng)商主動提供,調(diào)查的方式除供應(yīng)商自述之外,還可要求提供相關(guān)的系統(tǒng)截圖或代碼截圖證明相關(guān)的能力。
更進(jìn)一步,可以在供應(yīng)商的授權(quán)下,采用穿行測試、漏洞測試的方法,對于供應(yīng)商系統(tǒng)進(jìn)行安全審查和評估,范圍包括安全合規(guī)、安全要求、安全設(shè)計、安全漏洞,確保供應(yīng)商的提供的產(chǎn)品符合企業(yè)的安全要求。
供應(yīng)商評估的目的是為了讓企業(yè)了解供應(yīng)商的以下信息:
供應(yīng)商的軟件/硬件研發(fā)過程是否有文檔、可復(fù)制、可衡量;
產(chǎn)品研發(fā)過程中是否有緩解漏洞的措施和手段;
供應(yīng)商的漏洞管理能力是怎樣的,是否有發(fā)現(xiàn)、跟蹤、驗證、關(guān)閉漏洞能力;
供應(yīng)商的配置管理和質(zhì)量管理是怎樣的,如何確保不會因配置導(dǎo)致安全風(fēng)險,以及確保質(zhì)量符合要求;
惡意軟件/后門是如何檢測、防護(hù)、清理的;
數(shù)據(jù)管理生命周期中數(shù)據(jù)采集、存儲、使用、銷毀是如何的,包括保護(hù)、加密、留存、銷毀;
人員安全是如何實踐的,包括人員背景審查和審計、關(guān)鍵崗位保密協(xié)議和能力驗證等等;
產(chǎn)品發(fā)布過程是如何保障安全的,是否有發(fā)布審核、批準(zhǔn)和驗證流程。
在設(shè)定供應(yīng)商的準(zhǔn)入門檻,評估供應(yīng)商符合要求之后,相關(guān)的供應(yīng)商應(yīng)當(dāng)進(jìn)入企業(yè)的供應(yīng)商名單。在與供應(yīng)商進(jìn)行合同簽約過程中,依然要考慮合同內(nèi)容中的安全要求、責(zé)權(quán)信息,明確雙方的義務(wù)與權(quán)利,以及SLA中的產(chǎn)品、服務(wù)等級、質(zhì)量以及賠償方式和賠償內(nèi)容。
供應(yīng)商連續(xù)性管理
供應(yīng)鏈中相同的第三方產(chǎn)品或服務(wù)不應(yīng)當(dāng)只有當(dāng)前已采購的,還應(yīng)當(dāng)維護(hù)一定量的備用供應(yīng)商和后備產(chǎn)品服務(wù)。這需要企業(yè)在供應(yīng)鏈管理中考慮以下三點:
供應(yīng)商的合作等級:取決于供應(yīng)商的實力,比如鉆石級、白金級、白銀級;
供應(yīng)鏈的安全風(fēng)險等級:供應(yīng)商提供的產(chǎn)品或服務(wù)在保密性、完整性、可用性方面對企業(yè)造成的風(fēng)險級別;
安全風(fēng)險的緩解措施:包括企業(yè)自身的替代能力,和其他供應(yīng)商的替代能力;
企業(yè)自身供應(yīng)鏈風(fēng)險的評估內(nèi)容包括:
在風(fēng)險識別過程中,有很大的機(jī)會能夠發(fā)現(xiàn)企業(yè)內(nèi)部的重復(fù)采購或無效采購,尤其是沒有統(tǒng)一的采購部門,或采購部門沒有記錄和管理采購內(nèi)容的情況。在沒有統(tǒng)一采購部門的情況下,安全部門可以和財務(wù)部門進(jìn)行協(xié)作,安全部門的供應(yīng)鏈風(fēng)險評估結(jié)果與財務(wù)部門進(jìn)行同步,前者把握風(fēng)險關(guān),后者把控資金關(guān),避免無效采購或重復(fù)采購。
供應(yīng)商質(zhì)量管理
對于已經(jīng)合作的供應(yīng)商,企業(yè)應(yīng)當(dāng)每年進(jìn)行一次供應(yīng)商評估,定期評估可以讓企業(yè)掌握供應(yīng)商的企業(yè)風(fēng)險和產(chǎn)品/服務(wù)風(fēng)險,避免由于供應(yīng)商風(fēng)險造成的企業(yè)自身風(fēng)險。定期評估的內(nèi)容可參考上文供應(yīng)商管理和采購部分的內(nèi)容。
對于在產(chǎn)品使用和服務(wù)過程中出現(xiàn)的安全事件,企業(yè)應(yīng)當(dāng)進(jìn)行驗證、記錄、反饋,并督促供應(yīng)商整改,對于事件的嚴(yán)重等級按照風(fēng)險進(jìn)行劃分,并基于供應(yīng)商準(zhǔn)入門檻以及合同中的要求評估是否繼續(xù)采用該供應(yīng)商的產(chǎn)品或服務(wù)。對于發(fā)生嚴(yán)重事件并影響到企業(yè)安全的供應(yīng)商,或持續(xù)不符合供應(yīng)要求的供應(yīng)商,企業(yè)可以采用供應(yīng)商降級或解約的方式將供應(yīng)商從供應(yīng)商名單中剔除。
質(zhì)量不佳的供應(yīng)商不僅無法維持企業(yè)供應(yīng)鏈安全的質(zhì)量和要求,而且會消耗企業(yè)大量的管理成本、運(yùn)營成本與供應(yīng)商進(jìn)行反復(fù)溝通、整改、驗證工作,最終的結(jié)果可能依然不符合要求,勉強(qiáng)的合作讓企業(yè)的采購得不償失。
第三方技術(shù)管理
第三方技術(shù)指的是圍繞技術(shù)引用和實現(xiàn)的技術(shù)工具、接口和組件,由于更偏向技術(shù)應(yīng)用,因此往往不在企業(yè)的采購清單和計劃中,由部門或員工自行進(jìn)行選擇和使用。
技術(shù)工具
技術(shù)工具在企業(yè)采購中屬于小眾需求,或不被企業(yè)重視的采購需求,在國內(nèi)多數(shù)企業(yè)依靠員工自行解決相關(guān)的工具需要,除了供應(yīng)鏈的安全風(fēng)險,技術(shù)工具還會引起知識產(chǎn)權(quán)糾紛。對于技術(shù)工具帶來的供應(yīng)鏈風(fēng)險和影響,常見的方案有三種:
終端管控
企業(yè)通過采購終端管控系統(tǒng)來實現(xiàn)對于所有員工電腦終端的管理,需要在員工電腦端安裝管控軟件(員工無法自行卸載,需要管理員密碼),管控系統(tǒng)通常還帶有網(wǎng)絡(luò)準(zhǔn)入功能,與企業(yè)內(nèi)部的員工賬戶體系打通可以實現(xiàn)電腦終端的身份認(rèn)證,同時通過管理端可以檢查、限制甚至操作電腦終端的軟件運(yùn)行情況,從而可以對員工使用的應(yīng)用情況進(jìn)行統(tǒng)一檢查和管理。但該方案需要專門的崗位對終端管控系統(tǒng)進(jìn)行管理和運(yùn)營,人員的疏忽和運(yùn)營的疏忽都會造成該方案形同虛設(shè)。
軟件白名單
通過設(shè)立軟件白名單庫,結(jié)合企業(yè)內(nèi)網(wǎng)的限制(無法從外網(wǎng)下載軟件安裝包),可以實現(xiàn)軟件來源的限制,確保員工使用的軟件都是來自白名單庫。但白名單庫中軟件更新后,員工電腦的軟件遲遲未更新同樣會帶來風(fēng)險,因此也可以采取終端管控+軟件白名單的方式,保障軟件白名單庫提供安全可靠的軟件。
云桌面
目前越來越多企業(yè)開始采用云桌面的方式來徹底解決終端工具風(fēng)險的問題,即輕終端、重云端。企業(yè)員工通過身份驗證訪問云端桌面進(jìn)行日常辦公,包括研發(fā)工作,可以確保所有的軟件在云端都是可控且安全的,但缺陷是會由于網(wǎng)絡(luò)不穩(wěn)定或網(wǎng)絡(luò)延遲造成辦公效率降低。
技術(shù)接口
無論是企業(yè)自研的軟件,還是采購的第三方軟件或硬件,都可能會存在和需要調(diào)用第三方技術(shù)接口或使用第三方SDK的情況,由于接口或SDK可能是個人開發(fā),或接口服務(wù)提供,因此很難對供應(yīng)商進(jìn)行評估和管理。因此,企業(yè)應(yīng)當(dāng)對于技術(shù)接口和SDK的調(diào)用進(jìn)行梳理和安全評估,確保即便接口提供方出現(xiàn)的安全風(fēng)險,也在企業(yè)可承受范圍之內(nèi)。對于不得不用的接口調(diào)用,可以通過網(wǎng)絡(luò)邊界的流量限制和流量監(jiān)測確保接口不會被濫用。
技術(shù)組件
開發(fā)過程中必不可少的會用到不同開發(fā)語言的組件或庫,這些組件大多是由個人開發(fā)者開發(fā)并開源的,雖然方便了開發(fā)過程,加速了開發(fā)進(jìn)度,但個人維護(hù)的組件常常因為種種原因無法及時更新或升級,以至于一旦被人發(fā)現(xiàn)存在某種漏洞,使用組件的企業(yè)便需要快速響應(yīng)和處理。
因此SCA(Software Composition Analysis)工具應(yīng)運(yùn)而生,SCA是一類工具的統(tǒng)稱,可以通過分析源代碼識別其中引用的開源組件信息(名稱、版本、校驗值)、組件漏洞、開源協(xié)議等信息,從而幫助開發(fā)人員和安全人員快速對于企業(yè)代碼中的開源風(fēng)險進(jìn)行識別。全面、清晰、深入地掌握軟件成分和物料清單,有助于在出現(xiàn)新的安全漏洞時進(jìn)行快速響應(yīng)和排查。SCA工具從開發(fā)階段到部署階段都可以運(yùn)用。
軟件供應(yīng)鏈安全框架
供應(yīng)鏈安全問題是人、流程和知識的問題,而非純粹的技術(shù)問題。在解決軟件研發(fā)過程的供應(yīng)鏈安全問題時,需要貼合SDLC(軟件開發(fā)生命周期)考慮供應(yīng)鏈安全風(fēng)險。為此,Goolge提出了SLSA(Supply-chain Levels for Software Artifacts)框架,微軟提出了SCIM(Supply Chain Integrity Model)框架以及CNCF(云原生計算基金會)的軟件供應(yīng)鏈最佳實踐,三種框架都強(qiáng)調(diào)對于源代碼、第三方依賴、構(gòu)建系統(tǒng)、制品、發(fā)布、部署的安全性。
以SLSA框架為例,SLSA是一個標(biāo)準(zhǔn)清單和控制框架,用于緩解軟件項目中的代碼和軟件包的供應(yīng)鏈風(fēng)險。SLSA框架從三個方面評估軟件供應(yīng)鏈的安全等級,分別是源碼、構(gòu)建和依賴,并可劃分為4個級別:
Level 1:構(gòu)建過程是完全腳本化或自動化,且能夠基于結(jié)果識別來源源碼;
Level 2:使用有身份認(rèn)證能力的版本控制和托管服務(wù),確保構(gòu)建來源是可信的;
Level 3:源碼和構(gòu)建平臺符合可審計標(biāo)準(zhǔn),且有成品完整性保證;
Level 4:所有變更均有雙人評審,且有封閉的、可重復(fù)的構(gòu)建過程;
在SLSA框架中,應(yīng)用系統(tǒng)的發(fā)布流程會存在以下安全風(fēng)險:
以Level 4等級要求為例,在軟件構(gòu)建過程中企業(yè)需要實踐以下4點:
可驗證的版本控制
開發(fā)人員提交代碼變更需要多因子身份認(rèn)證(如用GPG簽名commit)及提交時間戳,必須采用類似GitLab或GitHub的版本控制系統(tǒng),確保能夠跟蹤每次變更、代碼分支/標(biāo)簽/Ref或提交人;
雙人評審
每一個進(jìn)入最終版本的提交都必須經(jīng)過至少一個其他合格的審查員的評審,確保代碼的正確性、安全性、需求吻合和代碼質(zhì)量等等;
安全的自動化構(gòu)建流程/環(huán)境
構(gòu)建流程應(yīng)當(dāng)是完全自動化的,且構(gòu)建環(huán)境應(yīng)該具有隔離性(構(gòu)建過程不受其他構(gòu)建影響)、封閉性(構(gòu)建過程應(yīng)包含所有依賴關(guān)系)、無參化(構(gòu)建結(jié)果只受源代碼影響)和短暫性(每次構(gòu)建都在專門的容器或虛擬機(jī)中進(jìn)行)。
可重復(fù)構(gòu)建的流程
相同的源代碼構(gòu)建每次構(gòu)建的結(jié)果總是相同的,并且構(gòu)建流程是可以驗證的。
不足的是,對于最終用戶而言,雖然可以使用哈希值進(jìn)行軟件包來源校驗,但無法確保軟件包的構(gòu)建來源是可靠的,僅僅通過校驗哈希值無法解決這個問題。因此,構(gòu)建安全的軟件供應(yīng)鏈構(gòu)建流程便尤為重要。
附、供應(yīng)鏈安全最佳實踐
英國國家網(wǎng)絡(luò)安全中心(NCSC)提出了供應(yīng)鏈安全管理準(zhǔn)則,分為4個部分的12條:
理解風(fēng)險(Understand the risks)
理解哪些需要被保護(hù)以及為什么;
知道你的供應(yīng)商是誰,并了解它們的安全狀況;
了解供應(yīng)鏈帶來的安全風(fēng)險;
建立控制(Establish Control)
和供應(yīng)商溝通你的安全需求
為供應(yīng)商設(shè)立和溝通最低安全要求
將安全考慮納入合同流程,并要求供應(yīng)商也如此
履行你作為供應(yīng)商和客戶的安全責(zé)任
在供應(yīng)鏈內(nèi)部提升安全意識
為供應(yīng)鏈提供安全事件支持
檢查安排(Check your arrangements)
建立保障措施確保供應(yīng)鏈管理能夠?qū)崿F(xiàn)
持續(xù)改進(jìn)(Continuous improvement)
鼓勵供應(yīng)鏈持續(xù)改進(jìn)和提升安全能力
與供應(yīng)商建立互信關(guān)系
更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<