近年來(lái),軟件供應(yīng)鏈安全事件層出不窮,,所制造的危害程度愈加嚴(yán)重,,作為數(shù)字化社會(huì)發(fā)展的基本要素之一,軟件安全也開始與社會(huì)安全密切相關(guān),,無(wú)論是對(duì)開發(fā)者還是使用者,,都開始對(duì)軟件以及軟件供應(yīng)鏈安全給予重視,關(guān)于如何有效緩解此類安全問(wèn)題,,業(yè)內(nèi)普遍認(rèn)為應(yīng)采用安全左移的思路——將安全嵌入至整個(gè)軟件開發(fā)生命周期中,,事實(shí)也證明這一方式的確有效,,在面向軟件供應(yīng)鏈安全方面,國(guó)內(nèi)也有多家廠商推出了相關(guān)解決方案,,本期《軟件供應(yīng)鏈安全解決方案》的主角則是一家長(zhǎng)期專注于該安全領(lǐng)域的專業(yè)廠商——酷德啄木鳥,。
據(jù)了解,酷德啄木鳥成立于2013年,,在9年的發(fā)展歷程之中,,他們一直專注于軟件源代碼信息安全領(lǐng)域,有著豐富的技術(shù)積累和實(shí)戰(zhàn)經(jīng)驗(yàn),??岬伦哪绝B總經(jīng)理?xiàng)钆R慶告訴我們,在2016年以前,,他們一直都在潛心于靜態(tài)檢測(cè)工具的自主研發(fā)工作,,旗下CodePecker源代碼缺陷分析系統(tǒng)更是國(guó)內(nèi)第一款完全自主知識(shí)產(chǎn)權(quán)的商用源代碼檢測(cè)產(chǎn)品。隨著軟件開發(fā)安全趨勢(shì)的不斷變化,,酷德啄木鳥目前基于靜態(tài)檢測(cè)技術(shù)的核心能力,,在對(duì)已有產(chǎn)品、服務(wù)不斷迭代升級(jí)的同時(shí),,也不斷完善和豐富產(chǎn)品布局,,推出了更多相關(guān)領(lǐng)域的安全產(chǎn)品,如去年11月,,他們發(fā)布了可為用戶提供包括軟件成分組成及統(tǒng)計(jì)分析,、軟件依賴組件合規(guī)檢測(cè)、軟件依賴組件漏洞識(shí)別以及軟件成分分析項(xiàng)目管理等多重安全管理功能的SCA軟件成分分析系統(tǒng),。
總體而言,,相較于國(guó)內(nèi)諸多該領(lǐng)域的新興廠商,酷德啄木鳥在DevSecOps全系工具鏈的產(chǎn)品布局方面已經(jīng)趨于完備,,除了前面所以到的CodePecker源代碼缺陷分析系統(tǒng)(SAST)和SCA軟件成分分析系統(tǒng)之外,,還有包括交互式測(cè)試系統(tǒng)CodePecker Finder(IAST)、動(dòng)態(tài)檢測(cè)工具(DAST),、應(yīng)用自保護(hù)系統(tǒng)(RASP),,實(shí)現(xiàn)為用戶提供完善且覆蓋完整開發(fā)生命周期的安全解決方案。
軟件供應(yīng)鏈安全解決方案
需覆蓋“查別人”與“查自己”兩大場(chǎng)景
在談到軟件供應(yīng)鏈安全的客戶需求層面這一話題時(shí),,楊臨慶表示,,“如果從應(yīng)用場(chǎng)景的角度去看,我們認(rèn)為可以簡(jiǎn)單直觀的劃分為兩類,,一是‘查別人’,,二是‘查自己’,那么與之相對(duì)應(yīng)的客戶需求都是軟件供應(yīng)鏈安全解決方案所應(yīng)該覆蓋和滿足的?!?/p>
● 查別人,,指的是軟件由企業(yè)交給外部團(tuán)隊(duì)或其他企業(yè)來(lái)進(jìn)行開發(fā),該類用戶群體最大的痛點(diǎn)是希望能夠在軟件交付環(huán)節(jié)真正實(shí)現(xiàn)安全性驗(yàn)收,,能夠充分保障圍繞該軟件的相關(guān)業(yè)務(wù)能夠持續(xù)安全穩(wěn)定運(yùn)行,。
● 查自己,指的是軟件有企業(yè)內(nèi)部研發(fā),、開發(fā)部門或團(tuán)隊(duì)進(jìn)行,,此類用戶群體的需求則主要側(cè)重于在將安全引入到完整的軟件開發(fā)周期中。
值得一提的是,,相對(duì)于更多專注于IAST,、RASP相關(guān)技術(shù)的新興廠商,酷德啄木鳥得益于自身長(zhǎng)期在SAST領(lǐng)域的技術(shù)積累,,從而在覆蓋“查別人”這一需求層面具備強(qiáng)大優(yōu)勢(shì),。盡管IAST在性能、漏報(bào)率,、以及誤報(bào)率方面具有較強(qiáng)優(yōu)勢(shì),,但考慮其依賴于在開發(fā)、測(cè)試過(guò)程中插樁以收集相關(guān)安全信息并發(fā)現(xiàn)安全問(wèn)題,,那么在“查別人”的場(chǎng)景下,,由于軟件開發(fā)過(guò)程是在第三方環(huán)境下完成,因此在滿足這類場(chǎng)景需求時(shí)就會(huì)存在一定不足,。
楊臨慶認(rèn)為,,“無(wú)論是企業(yè)自主研發(fā)(查自己)還是外包研發(fā)(查別人)的場(chǎng)景,對(duì)SAST的需求仍然比較廣泛,。”
SAST+SCA構(gòu)成酷德啄木鳥
軟件供應(yīng)鏈安全解決方案兩大核心能力
談到酷德啄木鳥針對(duì)軟件供應(yīng)鏈安全的解決方案時(shí),,楊臨慶表示,,從技術(shù)上來(lái)看,整個(gè)解決方案是建立在以SAST技術(shù)為核心的CodePecker源代碼缺陷分析系統(tǒng),,以及SCA軟件成分分析系統(tǒng)的基礎(chǔ)之上,,前者是酷德啄木鳥成立以來(lái)一直持續(xù)打造的產(chǎn)品,而后者雖然自發(fā)布至今不足一年,,但也是他們此前長(zhǎng)期深入研發(fā)所得,。
//CodePecker源代碼缺陷分析系統(tǒng)
據(jù)了解,基于B/S架構(gòu)研發(fā)的CodePecker源代碼缺陷分析系統(tǒng)自發(fā)布至今,,當(dāng)前已進(jìn)化到7.0版本,,是一款面向軟件開發(fā)生命周期管理的企業(yè)級(jí)安全解決方案,其主要功能包括檢測(cè)項(xiàng)目管理、源代碼缺陷分析,、自動(dòng)化檢測(cè),、全流程缺陷管理、源代碼安全評(píng)級(jí),、缺陷查詢定位,、缺陷審計(jì)、代碼缺陷統(tǒng)計(jì)分析,、檢測(cè)規(guī)則配置管理,、檢測(cè)報(bào)告、函數(shù)白名單配置,、檢測(cè)目標(biāo)基線設(shè)置,、Bug管理系統(tǒng)集成、代碼庫(kù)集成,、缺陷知識(shí)庫(kù)等,。
在檢測(cè)能力方面,CodePecker源代碼缺陷分析系統(tǒng)可支持對(duì)Java/JSP,、C,、C++、C#,、PHP,、Python、Objective-C,、HTML,、JavaScript、SQL等主流編程語(yǔ)言開發(fā)的軟件源代碼安全缺陷的檢測(cè),。同時(shí),,主要的語(yǔ)言檢測(cè)并不依賴具體的編譯器和開發(fā)環(huán)境,真正做到無(wú)需預(yù)編譯可直接分析源代碼,。另外,,該系統(tǒng)還具備對(duì)百萬(wàn)行級(jí)別源代碼進(jìn)行分析的能力。
在對(duì)源代碼安全缺陷和質(zhì)量缺陷的檢測(cè),。檢測(cè)結(jié)果涵蓋包括代碼注入,、跨站腳本、緩沖區(qū)溢出,、配置錯(cuò)誤,、API誤用、拒絕服務(wù),、未驗(yàn)證的用戶輸入,、弱加密問(wèn)題,、信息泄露、危險(xiǎn)函數(shù)等在內(nèi)的1000多個(gè)缺陷類型,。
楊臨慶表示,,CodePecker在對(duì)目標(biāo)軟件代碼進(jìn)行語(yǔ)法、語(yǔ)義分析的技術(shù)上,,輔以數(shù)據(jù)流分析,、控制流分析、配置分析等特有的缺陷分析算法等高級(jí)靜態(tài)分析手段,,CodePecker對(duì)目標(biāo)系統(tǒng)進(jìn)行檢測(cè)時(shí),,能提供過(guò)程內(nèi)(Intra-procedure)、過(guò)程間(Inter-procedure)等各種層次的分析,,能夠高效地檢測(cè)出軟件源代碼中的可能導(dǎo)致嚴(yán)重缺陷漏洞和系統(tǒng)運(yùn)行異常的安全缺陷,。
由此可見,CodePecker源代碼缺陷分析系統(tǒng)在檢測(cè)能力方面,,具有覆蓋編程語(yǔ)言廣,、覆蓋缺陷類型全、檢測(cè)效率高等特點(diǎn),。在檢測(cè)項(xiàng)目管理方面,,可支持以項(xiàng)目組形式進(jìn)行代碼審計(jì)項(xiàng)目管理,并支持從發(fā)現(xiàn),、分配到最終解決缺陷的全生命周期管理,。在應(yīng)用場(chǎng)景端可完全覆蓋包括外包項(xiàng)目及內(nèi)部項(xiàng)目的源代碼安全檢查、DevSecOps能力引入落地以及多工具整合等,,令用戶可以根據(jù)自己的實(shí)際需要來(lái)進(jìn)行和完成軟件開發(fā)及交付的安全建設(shè),。
//CodePecker軟件成分分析系統(tǒng)
作為軟件供應(yīng)鏈安全解決方案中不可缺少的一部分,酷德啄木鳥的CodePecker軟件成分分析系統(tǒng)通過(guò)分析目標(biāo)軟件包含的一些信息和特征來(lái)實(shí)現(xiàn)對(duì)該軟件的識(shí)別,、管理,、追蹤的技術(shù),能夠高效地檢測(cè)出軟件中的組件分布信息,,識(shí)別有風(fēng)險(xiǎn)的安全風(fēng)險(xiǎn),,并準(zhǔn)確定位告警,從而有效的幫助開發(fā)人員消除應(yīng)用中的漏洞,、協(xié)議違禁、減少安全隱患,。
據(jù)楊臨慶介紹,,該系統(tǒng)也同樣基于公司的優(yōu)勢(shì)能力——靜態(tài)組件分析技術(shù)研發(fā)而來(lái),雖然發(fā)布至今也不過(guò)才一年的時(shí)間,,但已是一款成熟產(chǎn)品,,目前也已經(jīng)迭代到3.0版本,,其能力主要體現(xiàn)在以下幾點(diǎn):
01 開源組件識(shí)別能力:由于擁有完善的知識(shí)庫(kù)體系,在漏洞庫(kù)方面,,其內(nèi)置 CVE,、CNNVD、CNVD,、多社區(qū)漏洞庫(kù),,支持多漏洞庫(kù)聯(lián)合查找;在組件庫(kù)方面,,其可覆蓋超過(guò)300萬(wàn)條的開源組件信息,,超過(guò)4000萬(wàn)的組件版本信息;在協(xié)議庫(kù)方面,,其可支持400+條協(xié)議檢查,。另外,在介質(zhì)分析方面,,該系統(tǒng)對(duì)包括二進(jìn)制,、源代碼、BOM等均可提供支持,。
02 組件風(fēng)險(xiǎn)識(shí)別能力:根據(jù)組件特征識(shí)別組件是否存在既有安全風(fēng)險(xiǎn),,并提供修復(fù)建議,保障應(yīng)用基礎(chǔ)安全,。
03 組件合規(guī)風(fēng)險(xiǎn)識(shí)別能力:識(shí)別應(yīng)用中不兼容的License,,避免知識(shí)產(chǎn)權(quán)風(fēng)險(xiǎn)。
04 引擎支持JAVA,、C,、C++、Python,、Golang等主流編程語(yǔ)言代碼片段進(jìn)行識(shí)別,,結(jié)合開源代碼數(shù)據(jù)庫(kù),能夠識(shí)別代碼中的開源代碼成分結(jié)合,,并分析這些開源代碼可能帶來(lái)的安全問(wèn)題和授權(quán)風(fēng)險(xiǎn),。
05 支持代碼上傳、客戶端識(shí)別,、特征識(shí)別等多種分析方式,;支持系統(tǒng)組件資產(chǎn)管理,提供詳盡的系統(tǒng)組件構(gòu)成信息,。
總體而言,,國(guó)內(nèi)市場(chǎng)上的SCA產(chǎn)品當(dāng)前已經(jīng)比較豐富,酷德啄木鳥的SCA軟件成分分析系統(tǒng)的優(yōu)勢(shì)主要受益于該公司在靜態(tài)組件分析技術(shù)領(lǐng)域的深厚積累,,在準(zhǔn)確性,、掃描效率,、覆蓋范圍等方面具備較強(qiáng)優(yōu)勢(shì),同時(shí),,該系統(tǒng)還具備豐富的API接口,,利于實(shí)現(xiàn)對(duì)其他系統(tǒng)的無(wú)縫集成,并可提供多種使用方式,,在兼容性以及易用性等方面,,也有不俗表現(xiàn)。
在這兩款核心產(chǎn)品的基礎(chǔ)上,,針對(duì)“查別人”和“查自己”這兩大應(yīng)用場(chǎng)景及相關(guān)需求,,酷德啄木鳥也推出了相應(yīng)的解決方案。
面向“查別人”場(chǎng)景的安全解決方案
該解決方案的產(chǎn)品主要包含CodePecker源代碼缺陷分析系統(tǒng),、CodePecker軟件成分分析系統(tǒng)以及代碼管理系統(tǒng),。
前兩款產(chǎn)品已了解過(guò),我們此處主要了解一下代碼管理系統(tǒng),。在“查別人”場(chǎng)景下,,由于開發(fā)工作均由外包團(tuán)隊(duì)完成,因此這類用戶群體普遍缺少代碼管理工具,,為配合靜態(tài)測(cè)試,,往往需要安裝一套GitLab或相關(guān)類似工具,然后將代碼上傳上去后再進(jìn)行測(cè)試,。這種方法雖然沒(méi)有什么太大的問(wèn)題,,但對(duì)無(wú)開發(fā)團(tuán)隊(duì)的用戶而言,GitLab這種工具還是顯得過(guò)重,,很多功能等其實(shí)并不需要,。
因此,酷德啄木鳥推出了輕量化的代碼管理系統(tǒng),,除了基礎(chǔ)的代碼加密存儲(chǔ)以及版本管理功能之外,,當(dāng)版本發(fā)生變更時(shí),該系統(tǒng)會(huì)主動(dòng)對(duì)接CodePecker源代碼缺陷分析系統(tǒng)以及CodePecker軟件成分分析系統(tǒng)進(jìn)行測(cè)試,,并且在掃描測(cè)試,、出具測(cè)試報(bào)告等方面全部實(shí)現(xiàn)了自動(dòng)化。在軟件開發(fā)供應(yīng)商根據(jù)測(cè)試報(bào)告結(jié)果進(jìn)行修正,,并將更新后的代碼傳入該系統(tǒng)后,,系統(tǒng)可自動(dòng)對(duì)其更新后的版本進(jìn)行復(fù)測(cè),無(wú)問(wèn)題后即可驗(yàn)收入庫(kù),。
面向“查自己”場(chǎng)景的安全解決方案
該解決方案除CodePecker源代碼缺陷分析系統(tǒng),、CodePecker軟件成分分析系統(tǒng)之外,還包含CodePecker Finder交互式測(cè)試系統(tǒng)(IAST)以及應(yīng)用自保護(hù)系統(tǒng)(RASP),。
這一套解決方案的能力就比較好理解,,CodePecker Finder交互式測(cè)試系統(tǒng)的加入,可以更好地與CodePecker源代碼缺陷分析系統(tǒng)形成優(yōu)勢(shì)互補(bǔ),,在客戶側(cè)形成以DAST為主,、IAST為輔的工具組合,應(yīng)用自保護(hù)系統(tǒng)(RASP)則與之聯(lián)動(dòng),,當(dāng)軟件應(yīng)用遭受攻擊時(shí),,先行提供防護(hù)能力,為最終的徹底修復(fù)提供一定的時(shí)間窗口,。
需要指出的是,,單獨(dú)依靠DAST或IAST工具,也無(wú)法保障能夠百分百的保證所有風(fēng)險(xiǎn)都能檢測(cè)出來(lái),,RASP工具也并不能保障軟件應(yīng)用的風(fēng)險(xiǎn)得到徹底的根治,,因此必須要依靠各個(gè)產(chǎn)品的整合聯(lián)動(dòng)。楊臨慶表示,,當(dāng)RASP在軟件應(yīng)用遭受攻擊啟動(dòng)防護(hù)時(shí),,如果導(dǎo)致該攻擊的問(wèn)題是此前測(cè)試階段未檢測(cè)出來(lái)的,那么相關(guān)的問(wèn)題代碼便可以依靠整體解決方案的聯(lián)動(dòng)能力,,自動(dòng)與CodePecker源代碼缺陷分析系統(tǒng)匹配,、查找并展現(xiàn)出來(lái),以利于后期徹底修復(fù),。
在軟件供應(yīng)鏈安全建設(shè)中,,必須要結(jié)合自身實(shí)際情況來(lái)進(jìn)行合理規(guī)劃,酷德啄木鳥根據(jù)“查別人”及“查自己”的兩大主流應(yīng)用場(chǎng)景,,通過(guò)將自身旗下產(chǎn)品進(jìn)行組合,、聯(lián)動(dòng),最終形成了兩套面向不同用戶群體的解決方案,,在滿足用戶需求的同時(shí),,在解決問(wèn)題的能力方面也更具針對(duì)性,對(duì)于企業(yè)用戶在軟件供應(yīng)鏈安全建設(shè)方面在能力,、效率,、效果以及成本控制等多方面都有著不俗表現(xiàn)。
企業(yè)用戶對(duì)軟件供應(yīng)鏈安全意識(shí)不斷提升
安全還需進(jìn)一步左移
楊臨慶表示,,自己能充分感受到2017年以來(lái),,國(guó)內(nèi)對(duì)代碼安全的重視程度在不斷提升,用戶對(duì)于相關(guān)技術(shù),、工具等等以及所能帶來(lái)的好處,、對(duì)開源組件風(fēng)險(xiǎn)以及商業(yè)版本授權(quán)相關(guān)的安全意識(shí)都在顯著提高,這對(duì)我國(guó)開發(fā)安全或軟件供應(yīng)鏈安全的整體促進(jìn)非常有益,,但同時(shí)也應(yīng)看到仍有一些問(wèn)題尚待解決,。
在他看來(lái),,所謂安全左移,目前更多的也只是將安全嵌入到開發(fā)階段之中,,但從整體安全角度看,,還應(yīng)再進(jìn)一步左移。這里具體是指軟件進(jìn)入開發(fā)階段之前的規(guī)劃階段,,在選擇框架時(shí)就應(yīng)確定與之相應(yīng)的一些商業(yè)版本信息,、漏洞信息、維護(hù)信息等,,以盡可能的保證在進(jìn)入開發(fā)階段之前即可大幅減少甚至規(guī)避有風(fēng)險(xiǎn)的框架,、組件,更進(jìn)一步地降低開發(fā)階段的安全風(fēng)險(xiǎn),?!霸谡麄€(gè)軟件開發(fā)生命周期中,安全介入得越早,,對(duì)于后期過(guò)程中的保障也會(huì)更好,,這也是我們未來(lái)會(huì)投入的一個(gè)方向之一?!睏钆R慶表示,,后期會(huì)進(jìn)一步增強(qiáng)與應(yīng)用DevOps的廠商合作,以能夠在其構(gòu)建DevOps的過(guò)程中就能將相關(guān)的安全工具,、產(chǎn)品融入,,以更好保障用戶的整體軟件供應(yīng)鏈安全。
除此之外,,他還談到了酷德啄木鳥會(huì)在未來(lái)關(guān)注的兩個(gè)方面,,一是面向用戶群體中仍大量存在的老硬件要給予足夠的支撐。一些客戶由于自身的客觀情況,,短時(shí)間內(nèi)無(wú)法全面替換成新的設(shè)備,,尤其是其中還有一些軟件直接固化在硬件之中的老產(chǎn)品,目前業(yè)內(nèi)尚無(wú)法很好的解決它們自身所存在的安全問(wèn)題,,因此,,酷德啄木鳥已經(jīng)著手規(guī)劃相關(guān)產(chǎn)品功能,以滿足此類用戶所需,;二是開發(fā)安全及軟件供應(yīng)鏈安全等相關(guān)產(chǎn)品,、解決方案需要加強(qiáng)與信創(chuàng)相關(guān)軟硬件兼容能力,要做到X86+Windows系統(tǒng)與Arm+國(guó)產(chǎn)化操作系統(tǒng)并行,,隨著信創(chuàng)產(chǎn)業(yè)的不斷發(fā)展,,未來(lái)相信會(huì)有不少用戶群體將逐步融入到信創(chuàng)體系中去,由此也會(huì)在需求側(cè)產(chǎn)生變化,因此從長(zhǎng)遠(yuǎn)趨勢(shì)來(lái)看,,加強(qiáng)與信創(chuàng)的適配和聯(lián)動(dòng),,將是未來(lái)包括軟件供應(yīng)鏈安全在內(nèi)的諸多安全解決方案都應(yīng)重點(diǎn)關(guān)注的方向之一。
更多信息可以來(lái)這里獲取==>>電子技術(shù)應(yīng)用-AET<<