《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 企業供應鏈安全的思考與實踐(二)

企業供應鏈安全的思考與實踐(二)

2022-10-25
來源:FreeBuf

第三方技術管理

第三方技術指的是圍繞技術引用和實現的技術工具、接口和組件,由于更偏向技術應用,因此往往不在企業的采購清單和計劃中,由部門或員工自行進行選擇和使用,如上期文章中提到的XCodeGhost事件。

技術工具

技術工具在企業采購中屬于小眾需求,或不被企業重視的采購需求,在國內多數企業依靠員工自行解決相關的工具需要,除了供應鏈的安全風險,技術工具還會引起知識產權糾紛,比如:企業收到某某產品公司發來的律師函,稱企業內部有使用盜版產品。隨著知識產權意識的提高以及相關法律風險的提高,越來越多企業開始統一采購技術工具或產品,比如IDA Pro、Burp Suite、XShell、Windows、Office等等。

對于技術工具帶來的供應鏈風險和影響,常見的方案有三種:

終端管控:企業通過采購終端管控系統來實現對于所有員工電腦終端的管理,需要在員工電腦端安裝管控軟件(員工無法自行卸載,需要管理員密碼),管控系統通常還帶有網絡準入功能,與企業內部的員工賬戶體系打通可以實現電腦終端的身份認證,同時通過管理端可以檢查、限制甚至操作電腦終端的軟件運行情況,從而可以對員工使用的應用情況進行統一檢查和管理,這也是企業統一采購辦公電腦的原因(不會因為人員入職和離職引入終端安全風險或造成終端管理密碼泄露,如果是個人電腦,則面臨離職后不知道管理員密碼,需要重裝系統才能卸載管控軟件的問題)。在面臨知識產權糾紛時,這種方式可以快速對涉及的應用進行排查,同時有利于終端設備統一管理。但該方案需要專門的崗位對終端管控系統進行管理和運營,人員的疏忽和運營的疏忽都會造成該方案形同虛設。

軟件白名單:通過設立軟件白名單庫,結合企業內網的限制(無法從外網下載軟件安裝包),可以實現軟件來源的限制,確保員工使用的軟件都是來自白名單庫。白名單庫提供日常辦公中不同崗位常用的軟件,且每款軟件都經過安全部門或相關部門的檢查和評估,確保每個軟件使用的是穩定版本和安全版本。但可能存在,白名單庫中軟件更新后,員工電腦的軟件遲遲未更新所帶來的風險,或者員工私自安裝其他版本軟件造成的安全風險,因此也可以采取終端管控+軟件白名單的方式,通過終端監控軟件的使用,通過軟件白名單庫提供安全可靠的軟件。

云桌面:目前越來越多企業開始采用云桌面的方式來徹底解決終端工具風險的問題,即輕終端、重云端。企業員工通過身份驗證訪問云端桌面進行日常辦公,包括研發工作,可以確保所有的軟件在云端都是可控且安全的,但缺陷是會由于網絡不穩定或網絡延遲造成辦公效率降低。

技術接口

無論是企業自研的軟件,還是采購的第三方軟件或硬件,都可能會存在和需要調用第三方技術接口或使用第三方SDK的情況,由于接口或SDK可能是個人開發,或接口服務提供,因此很難對供應商進行評估和管理。對于接口和SDK的安全評估除了安全檢測之外,無法更進一步對接口實現、處理、分析、存儲、傳輸做更多評估,比如:調用物流接口查詢快遞單號的物流信息,物流接口提供方可能泄露相關的快遞單號和物流信息;調用文檔格式轉換接口,接口提供方可能存儲原始文檔并泄露相關信息。因此,企業應當對于技術接口和SDK的調用進行梳理和安全評估,確保即便接口提供方出現的安全風險,也在企業可承受范圍之內。

對于不得不用的接口調用,可以通過網絡邊界的流量限制和流量監測確保接口不會被濫用。比如:限制網絡出口,或僅允許必要的接口出網,并監測接口調用記錄。上文中提到的SolarWinds事件發生后,采取的應急處理辦法就是限制Orion軟件(后門采用DGA算法生成與C2連接的域名)部署環境的出口,或限制出口訪問。

技術組件

開發過程中必不可少的會用到不同開發語言的組件或庫,這些組件大多是由個人開發者開發并開源的,雖然方便了開發過程,加速了開發進度,但個人維護的組件常常因為種種原因無法及時更新或升級,以至于一旦被人發現存在某種漏洞,使用組件的企業便需要快速響應和處理,如上文中提到的Log4j的例子。

因此SCA(Software Composition Analysis)工具應運而生,SCA是一類工具的統稱,可以通過分析源代碼識別其中引用的開源組件信息(名稱、版本、校驗值)、組件漏洞、開源協議等信息,從而幫助開發人員和安全人員快速對于企業代碼中的開源風險進行識別,本質上是對源代碼庖丁解牛,現如今的SCA工具能夠根據源代碼、二進制文件、鏡像文件生成SBOM(Software Bill Of Materials)清單,更全面和深入地分析軟件構成,比如供應商信息、作者信息、間接引入的組件信息等等,就像食品袋上的配料表,對于軟件構成一目了然。上文中提到的Log4j組件漏洞被曝出后,國內的SCA廠商也很快跟進更新了組件漏洞數據,客戶可以在短時間內快速排查涉及相關組件的項目、代碼以及對應的部門,而在之前安全部門在應急響應中最花費時間的是排查漏洞涉及的項目、部門和人員,而負責項目的研發人員自身也未必全面了解組件的構成情況,因而容易有漏網之魚。

全面、清晰、深入地掌握軟件成分和物料清單,有助于在出現新的安全漏洞時進行快速響應和排查,實際開發過程中,企業常常需要花很長時間排查漏洞影響的組件涉及的業務、部門、項目、代碼、人員,并協同相關人員進行漏洞修復或組件升級,而實際上開發人員自己也不見得能夠全面了解軟件的構成,尤其是組件引用的組件或更深層次的組件。

SCA工具從開發階段到部署階段都可以運用,典型的應用場景如下圖:

微信圖片_20221025124250.jpg

企業私服安全管控:私服倉庫中的組件安全是開源治理中重要一個環節,只有從源頭來杜絕安全問題才能從后期的開源治理中有更好的收獲。SCA工具支持多種類型的私服防火墻功能,根據配置的安全策略,實現對私服引入外部組件的實時檢測,一旦發現存在風險的組件被引入則執行阻斷,做到私服倉庫中組件的安全可控。

研發流程:研發人員在編碼過程中,可以從企業私服倉庫調用安全組件,也支持從中央倉庫調用開源組件,編碼完成后,代碼提交至軟件版本庫,之后通過Jenkins構建持續集成,并將軟件制品存入制品庫中,等待上線發布。

SCA開源組件檢測:安全人員可以使用SCA工具對軟件版本庫中的源碼和Jenkins構建中生成的二進制文件和容器鏡像對軟件成分進行檢測,發現漏洞組件和不合規組件后,告知開發人員修復至與當前版本差異最小的無漏洞版本。

新漏洞預警:SCA工具通過不斷更新組件漏洞信息獲取新的組件漏洞情報,發現新漏洞后可以及時預警,定位影響的組件、項目等信息,幫助企業在最短時間內掌握信息系統中的開源組件資產和漏洞情報信息。

軟件供應鏈框架

上文提到,供應鏈安全問題是人、流程和知識的問題,而非純粹的技術問題。在解決軟件研發過程的供應鏈安全問題時,需要貼合SDLC(軟件開發生命周期)考慮供應鏈安全風險。為此,Goolge提出了SLSA(Supply-chain Levels for Software Artifacts)框架,微軟提出了SCIM(Supply Chain Integrity Model)框架以及CNCF(云原生計算基金會)的軟件供應鏈最佳實踐,三種框架都強調對于源代碼、第三方依賴、構建系統、制品、發布、部署的安全性。

以SLSA框架為例,SLSA是一個標準清單和控制框架,用于緩解軟件項目中的代碼和軟件包的供應鏈風險。SLSA框架從三個方面評估軟件供應鏈的安全等級,分別是源碼、構建和依賴,等級分為4個級別:

· Level 1:構建過程是完全腳本化或自動化,且能夠基于結果識別來源源碼;

· Level 2:使用有身份認證能力的版本控制和托管服務,確保構建來源是可信的;

· Level 3:源碼和構建平臺符合可審計標準,且有成品完整性保證;

· Level 4:所有變更均有雙人評審,且有封閉的、可重復的構建過程。

典型的軟件發布流程如下:

微信圖片_20221025124254.jpg

開發者提交代碼變更到源碼控制管理倉庫(SCM),提交動作觸發構建流程,構建服務接收源代碼并進行編譯,之后編譯打包的軟件包分發到最終用戶進行使用,或者進入到私服倉庫作為其他項目的依賴包使用。

在SLSA框架中,上圖中的發布流程對應的安全風險如下:

微信圖片_20221025124256.jpg

以Level 4為例,在軟件構建過程中需要實踐以下4點:

可驗證的版本控制:開發人員提交代碼變更需要多因子身份認證(如用GPG簽名commit)及提交時間戳,必須采用類似GitLab或GitHub的版本控制系統,確保能夠跟蹤每次變更、代碼分支/標簽/Ref或提交人;

雙人評審:每一個進入最終版本的提交都必須經過至少一個其他合格的審查員的評審,確保代碼的正確性、安全性、需求吻合和代碼質量等等;

安全的自動化構建流程/環境:構建流程應當是完全自動化的,且構建環境應該具有隔離性(構建過程不受其他構建影響)、封閉性(構建過程應包含所有依賴關系)、無參化(構建結果只受源代碼影響)和短暫性(每次構建都在專門的容器或虛擬機中進行)。

可重復構建的流程:相同的源代碼構建每次構建的結果總是相同的,并且構建流程是可以驗證的。

不足的是,對于最終用戶而言,雖然可以使用哈希值對軟件包來源進行校驗,但無法確保軟件包的構建來源是可靠的,僅僅通過校驗哈希值無法解決這個問題。因此,構建安全的軟件供應鏈構建流程便尤為重要。

附供應鏈安全最佳實踐

英國國家網絡安全中心(NCSC)提出了供應鏈安全管理準則,分為4個部分的12條:

· 理解風險(Understand the risks)

理解哪些需要被保護以及為什么;

知道你的供應商是誰,并了解它們的安全狀況;

了解供應鏈帶來的安全風險;

· 建立控制(Establish Control)

和供應商溝通你的安全需求

為供應商設立和溝通最低安全要求

將安全考慮納入合同流程,并要求供應商也如此

履行你作為供應商和客戶的安全責任

在供應鏈內部提升安全意識

為供應鏈提供安全事件支持

· 檢查安排(Check your arrangements)

建立保障措施確保供應鏈管理能夠實現

· 持續改進(Continuous improvement)

鼓勵供應鏈持續改進和提升安全能力

與供應商建立互信關系



更多信息可以來這里獲取==>>電子技術應用-AET<<

二維碼.png

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产在线a | 视频一区二区欧美日韩在线 | 成人国产精品999视频 | 久久亚洲国产高清 | 搜索毛片 | 性欧美疯狂猛交69hd | 影音先锋2020色资源网 | 97欧美精品激情在线观看最新 | 天天色天天搞 | 日韩不卡一区二区 | 九九热在线播放 | 一个人免费观看的www视频 | 国产九九免费视频网站 | 伊人久久大香线焦在观看 | 午夜影视网| 日韩欧美一区黑人vs日本人 | 成年人免费在线观看 | 处videossex第一次hd | 青青草国产青春综合久久 | 夜夜操夜夜骑 | 乡村乱妇一级毛片 | 亚洲国产成人精品一区91 | 又长又深又硬又黄又猛又爽 | 亚洲国产日韩欧美 | 777777777妇女亚洲 | 日韩高清在线观看 | 好吊日在线视频 | 国内日本精品视频在线观看 | 天天射日| 午夜伦理片免费观看在线 | 日韩专区中文字幕 | 成年免费大片黄在线观看com | 97久久人人爽人人爽人人 | 国产一区在线免费观看 | 国产成人精品一区二三区2022 | 欧美一级手机免费观看片 | 中文字幕亚洲综合久久202 | 国产97色在线 | 免费 | 欧美一级鲁丝片 | 国产精品成人久久久 | 日韩精品免费在线观看 |