牟艷琳 顧佳林 羅君 裴明煜 李燕
摘要:隨著中臺建設(shè)愈發(fā)完善,能力標(biāo)準(zhǔn)化治理工作也受到更多地重視。中臺安全作為能力標(biāo)準(zhǔn)化的強(qiáng)大保障,應(yīng)成為中臺能力標(biāo)準(zhǔn)化治理工作的首要任務(wù)。同時,隨著開源組件使用率的飆升,開源風(fēng)險管理也成為一個不容忽視的課題。本文將重點研究開源漏洞檢測技術(shù)在能力標(biāo)準(zhǔn)化治理工作中的實踐應(yīng)用成效。
關(guān)鍵詞:能力標(biāo)準(zhǔn)化;中臺安全;開源安全;靜態(tài)測試分析;漏洞檢測
中臺作為一個靈活快速的成本中心,通過統(tǒng)一的標(biāo)準(zhǔn)將后端技術(shù)能力整合為可以隨需調(diào)用的“中間件”。相較于傳統(tǒng)的“前臺+后臺”模式,中臺能夠減少相同能力的重復(fù)開發(fā),提高效率的同時節(jié)省大量重復(fù)造輪子的成本。
在2021年10月,中央發(fā)布了《國家標(biāo)準(zhǔn)化發(fā)展綱要》,指出“標(biāo)準(zhǔn)是經(jīng)濟(jì)活動和社會發(fā)展的技術(shù)支撐,也是國家基礎(chǔ)性制度的重要方面”。為積極響應(yīng)這項標(biāo)準(zhǔn)化工作要求,中臺需要在能力治理等方面持續(xù)開展標(biāo)準(zhǔn)化工作,為中臺的價值應(yīng)用和價值開放提供規(guī)范和流程指引。安全作為中臺標(biāo)準(zhǔn)化的堅實基礎(chǔ),是技術(shù)研發(fā)的長期課題。
隨著中臺能力規(guī)模的擴(kuò)大和使用覆蓋率的提高,能力本身的安全愈加重要。同時,開源組件作為當(dāng)前主流開發(fā)元素,其漏洞風(fēng)險、合規(guī)風(fēng)險等安全問題也變得更加突出。因此,需要針對開源安全制定標(biāo)準(zhǔn),并不斷研究和優(yōu)化安全應(yīng)用技術(shù),提升能力安全管理水平。
一、SAST漏洞檢測技術(shù)在能力標(biāo)準(zhǔn)化治理中的應(yīng)用研究
此次研究的主要工作流程包含能力安全標(biāo)準(zhǔn)的制定、開源漏洞檢測技術(shù)的學(xué)習(xí)研究、技術(shù)應(yīng)用實踐工作的實施、應(yīng)用成效結(jié)果分析及結(jié)論輸出,詳細(xì)內(nèi)容如下。
(一)開源安全標(biāo)準(zhǔn)制定
能力安全管理貫穿了能力設(shè)計、研發(fā)、測試、發(fā)布、運營所有階段。作為研發(fā)安全方面的重點工作,對開源組件的使用應(yīng)符合以下標(biāo)準(zhǔn):
①規(guī)范開源組件引入流程,要做好開源組件漏洞檢測、漏洞修復(fù)及風(fēng)險管理。
②對開源組件許可證及協(xié)議進(jìn)行安全審查。
③對開源組件可傳染性、兼容性和安全性進(jìn)行審計。
其中標(biāo)準(zhǔn)1中“做好開源組件漏洞檢測”的要求可以通過開源漏洞檢測技術(shù)來完成。
(二)漏洞檢測技術(shù)介紹
1.開源漏洞檢測技術(shù)類型
漏洞作為開源組件當(dāng)前面臨的最大風(fēng)險,已經(jīng)成為各大廠商優(yōu)先解決的開源風(fēng)險問題。漏洞的識別、處理等技術(shù)是目前的重要研究方向,目前有三類開源較成熟的漏洞風(fēng)險檢測工具,詳情如下:
(1)SAST(靜態(tài)分析測試)
SAST是一種白盒測試技術(shù),在開發(fā)階段對源代碼進(jìn)行安全測試,發(fā)現(xiàn)安全漏洞。SAST通過分析應(yīng)用程序的源代碼或二進(jìn)制文件的語法、結(jié)構(gòu)、過程、接口等來發(fā)現(xiàn)程序代碼中存在的安全漏洞。
(2)DAST(動態(tài)分析測試)
DAST是目前應(yīng)用最廣泛、使用最簡單的一種Web應(yīng)用安全測試方法,是一種黑盒測試技術(shù)。DAST通過從外部查看應(yīng)用,檢查其運行狀態(tài),并觀察其對工具模擬攻擊的響應(yīng)來判斷應(yīng)用是否容易受到攻擊,以及是否容易受到真正的惡意攻擊。DAST的典型工具包括AMVS和AppScan。
(3)IAST(交互式應(yīng)用安全測試)
IAST (Interactive Application Security Testing)是灰盒測試技術(shù),在整個開發(fā)生命周期中可以不間斷地監(jiān)測應(yīng)用中的漏洞。它能夠通過在開發(fā)和測試過程中使用工具實時提供報警[1]。
2.靜態(tài)分析關(guān)鍵技術(shù)說明
靜態(tài)分析方法在處理中臺安全業(yè)務(wù)場景復(fù)雜且參與方眾多的情況下具有靈活分配分析資源和信息采集較為完整的優(yōu)點。與動態(tài)分析相比,靜態(tài)分析的最大優(yōu)勢在于不對軟件系統(tǒng)進(jìn)行任何侵入性操作,不帶來額外的風(fēng)險和資源占用,并且不會影響系統(tǒng)的正常運行,對各個廠商和軟件系統(tǒng)更加友好。以下是靜態(tài)測試分析(SAST)的關(guān)鍵技術(shù)介紹:
①外部組件信息轉(zhuǎn)換為軟件物料清單:需獲取組件的類型、發(fā)布組織、所屬包、組件名字、版本信息等。
②從NVD、CNVD網(wǎng)站獲取漏洞信息,并對漏洞數(shù)據(jù)進(jìn)行清洗、保存。主要對CPE信息進(jìn)行提取,與組件信息進(jìn)行比對,從而獲取相應(yīng)的漏洞信息。
通用平臺枚舉(CPE)是一種標(biāo)準(zhǔn)化方法,用于描述和識別企業(yè)計算資產(chǎn)中存在的應(yīng)用程序、操作系統(tǒng)和硬件設(shè)備。通過使用CPE名稱識別已安裝產(chǎn)品的信息,可以幫助制定有關(guān)資產(chǎn)的完全或部分自動化決策。例如,通過識別XYZ Visualizer Enterprise Suite的存在,漏洞管理工具可以檢查系統(tǒng)中是否存在已知軟件漏洞,配置管理工具可以驗證軟件是否按照組織策略進(jìn)行了安全配置。CPE名稱用作標(biāo)準(zhǔn)化信息源,以便在不同工具之間實施和驗證IT管理策略。
當(dāng)前的CPE版本為2.3。 CPE 2.3通過基于堆棧的模型中的一組規(guī)范來定義,其中功能基于在堆棧中指定為較低級別、更簡單、更窄的元素。這種設(shè)計為創(chuàng)新提供了機(jī)會,因為可以通過組合所需的元素來定義新功能,并且可以更好地劃分和管理變更的影響。
CPE 2.3堆棧圖:從下到上依次是命名、名稱匹配、適用性和字典。
CPE的內(nèi)容格式如下:
cpe:/
其中,part表示目標(biāo)類型,允許的值有a(應(yīng)用程序)、h(硬件平臺)、o(操作系統(tǒng));vendor表示供應(yīng)商;product表示產(chǎn)品名稱;version表示版本號;update表示更新包;edition表示版本;language表示語言項。
(三)技術(shù)應(yīng)用實踐流程
能力研發(fā)作為軟件供應(yīng)鏈的源頭環(huán)節(jié),是解決開源安全的重點環(huán)節(jié),無疑是最高效的安全管理方式,從供應(yīng)鏈源頭把控開源安全風(fēng)險。在研發(fā)過程中,定期上傳已完成部分的代碼包,并利用靜態(tài)分析技術(shù)提取代碼包中的組件信息,同時與爬取到的漏洞信息進(jìn)行匹配,識別研發(fā)過程中所使用的開源組件的漏洞風(fēng)險。通過了解所用組件的漏洞等級,避免使用存在高危漏洞的組件。同時,實時爬取最新的漏洞情報,更新組件漏洞信息,以掌握組件風(fēng)險變化情況,并及時調(diào)整組件的使用。以下為靜態(tài)漏洞檢測的實施的詳細(xì)步驟:
①廠商上傳代碼包,解析代碼包以獲取組件的名稱、版本等信息;
②爬取公開的漏洞信息,并對漏洞信息進(jìn)行存儲和管理;
③將組件信息與漏洞庫進(jìn)行比對,以了解組件的風(fēng)險程度;
④實時更新漏洞信息,并與組件進(jìn)行比對,及時發(fā)現(xiàn)漏洞風(fēng)險;
⑤將組件和漏洞信息實時更新到軟件供應(yīng)鏈的SBOM中,以進(jìn)行統(tǒng)一管理。
(四)實踐應(yīng)用成效簡析
1.提升能力標(biāo)準(zhǔn)化治理工作開展效率
相較于人工對各能力研發(fā)階段的漏洞檢測報告進(jìn)行檢核再進(jìn)行檢測以核對數(shù)據(jù)真實性的方式,各廠商使用同一工具進(jìn)行檢測,能力標(biāo)準(zhǔn)化治理運營管理人員可根據(jù)檢測記錄直接判斷各廠商是否完成檢測并可直接查看檢測結(jié)果,不僅保證評估標(biāo)準(zhǔn)的一致性,還可提高檢測效率。
據(jù)調(diào)研,單一漏洞檢測報告收集溝通需要5—10分鐘,查看需要5—10分鐘,檢測后核對數(shù)據(jù)需要1~2分鐘;使用同一工具檢測后,可節(jié)省報告收集時間5—10分鐘、檢測后數(shù)據(jù)核對時間1~2分鐘,共計提效約55%。
2.降低系統(tǒng)資源消耗,節(jié)約人力成本
通過使用自動化開源漏洞檢測工具獲取開源組件漏洞檢測結(jié)果,識別風(fēng)險開源組件,并將安全開源組件納入制品庫。在能力研發(fā)階段,統(tǒng)一使用制品庫中的組件,并及時更新漏洞庫并與制品庫進(jìn)行比對,以保證組件的安全性。
通過以上方式,可以直接免去各廠商在能力研發(fā)過程中的漏洞檢測環(huán)節(jié)。根據(jù)實踐結(jié)果,靜態(tài)解析及漏洞比對一個代碼包的時間為1~2分鐘,每項能力的代碼包數(shù)量在十幾到幾百個不等。以最少的代碼包數(shù)量15個為例,每項能力的系統(tǒng)檢測時間可節(jié)省約0.5小時。
同時,省去了廠商人工上傳代碼包、反復(fù)修改所使用的組件以及運營管理人員的檢核過程,每個能力可節(jié)省約1—2人天的人力成本。
二、結(jié)束語
隨著漏洞檢測技術(shù)手段逐漸增多且日趨成熟,結(jié)合本次研究中靜態(tài)分析技術(shù)的應(yīng)用成果,可以持續(xù)研究其他漏洞檢測技術(shù)在中臺能力標(biāo)準(zhǔn)化治理中的可用性,提高業(yè)務(wù)場景的覆蓋率。我們可以研究動靜分析相結(jié)合的可行性,以提高漏洞檢測的準(zhǔn)確率,并降低誤報率。還可以推動廠商的參與度,提升漏洞檢測技術(shù)在能力標(biāo)準(zhǔn)化統(tǒng)一管理中的應(yīng)用效果。同時,后續(xù)可針對每一能力標(biāo)準(zhǔn)研究半自動化及智能工具,整體提升能力標(biāo)準(zhǔn)化治理效率,降低能力治理成本。
作者單位:牟艷琳 顧佳林 羅君 裴明煜 中國移動通信集團(tuán)有限公司信息安全管理與運行中心
參考文獻(xiàn)
[1] 什么是軟件供應(yīng)鏈安全?鵬信科技,微信公眾號, 2022-12-02 11:30.
李燕 卓望信息技術(shù)(北京)有限公司
牟艷琳(1988.02-),女,漢族,山東煙臺,研究生,工程師,研究方向:網(wǎng)絡(luò)與信息安全。