軟件組成分析SCA何時能夠取代SAST和DAST?
Parasoft C++test幫助團(tuán)隊(duì)寫出更好的代碼,實(shí)施更有效的測試,以及持續(xù)地監(jiān)視以實(shí)現(xiàn)質(zhì)量目標(biāo)。 C++test 可以進(jìn)行靜態(tài)分析,全面代碼審查,運(yùn)行時錯誤檢測,并在單元測試和組件測試中集成覆蓋率分析。這些能夠在開發(fā)周期的開始階段,在開發(fā)桌面上自動完成。C++Test能夠在桌面的IDE環(huán)境或命令行的批處理下進(jìn)行回歸測試,為監(jiān)測和分析質(zhì)量趨勢提供數(shù)據(jù)。此外, C++test 與 Parasoft 的 Concerto 結(jié)合在一起, 提供基于 Web 交互式的儀表板,具有細(xì)分能力的 Concerto 使團(tuán)隊(duì)能夠通過 C++test 的結(jié)果以及其它關(guān)鍵進(jìn)度指標(biāo)來把握項(xiàng)目狀態(tài)和趨勢。
Parasoft C/C++test產(chǎn)品 購買Parasoft C/C++test
軟件組成分析SCA何時能夠取代SAST和DAST?這個問題沒有看起來的這么簡單。為了節(jié)省你的時間,我建議做更多有意義的事情,比如運(yùn)行靜態(tài)應(yīng)用程序安全測試(Static Application Security Testing,SAST)和動態(tài)應(yīng)用程序安全測試(Dynamic Application Security Testing,DAST),專注于強(qiáng)化代碼,而不是嘗試在應(yīng)用程序中測試安全性。
聽起來有點(diǎn)像標(biāo)題黨?或許吧。但是每次出現(xiàn)新技術(shù)或者技術(shù)出現(xiàn)新發(fā)展的時候,都會有人認(rèn)為技術(shù)迭代是必然的。因?yàn)檐浖M成分析(Software Composition Analysis, SCA)能夠解決軟件安全問題,節(jié)省開發(fā)和測試時間,甚至可以消除世界上的饑餓感。好吧,我表現(xiàn)得越來越像在說個人脫口秀,其實(shí)我只是想夸張地表達(dá)新技術(shù)在部分人中眼里的作用。但因此說SCA最終就能取代SAST,本質(zhì)上就像在說因?yàn)槟悴檎伊藙e人代碼中的bug,所以不再需要檢查自己代碼中的bug一樣。
什么是軟件組成分析(SCA)?
從理論上講,軟件組成分析與軟件材料清單(software bill-of-materials,目前幾乎不存在的東西)緊密聯(lián)系,并持續(xù)跟蹤應(yīng)用程序中使用的其他庫和組件。目前,這方面的工具大多只是掃描應(yīng)用程序中的開源組件,而不一定會和材料清單一起使用。(注:部分工具還可以執(zhí)行其他功能,例如從OOS項(xiàng)目中查找剪切片段,或者識別管理OOS許可證問題。雖然這兩者既有趣又重要,但是仍然不能完全替代SAST)檢查應(yīng)用程序中的組件是否存在已知bug是SCA的一項(xiàng)主要功能。其重要的地方在于你可以因此避免0DAY漏洞,也可以解決因?yàn)槟承┙M件找不到源而無法使用SAST技術(shù)分析的問題。
OWASP提供了用于供應(yīng)鏈安全的工具
首先我必須強(qiáng)調(diào),SCA是工具包中用于保護(hù)軟件安全系統(tǒng)的重要部分。開放Web應(yīng)用安全項(xiàng)目(the Open Web Application Security Project,OWASP)——一個主流的實(shí)用的安全組織,甚至將這一概念加入到當(dāng)今流行的OWASP十大最重要安全隱患的名單之中。這個項(xiàng)目就是A9-使用有已知漏洞的組件。當(dāng)然如果你沒有接觸過OWASP,我仍然建議你使用SCA。如果你還沒有針對CVE和NVD數(shù)據(jù)庫檢查應(yīng)用程序是否存在已知漏洞,同樣建議你使用SCA。這種技術(shù)可以跟蹤實(shí)際發(fā)生的攻擊以及可用的補(bǔ)救程序和其他補(bǔ)救措施。
OWASP甚至出了一個叫OWASP Dependency Check的工具,可以為你完成這項(xiàng)工作。跟OWASP提供的所有工具一樣,這個工具也是免費(fèi)的。Dependency-Check是一款分析軟件組成的應(yīng)用程序,可以識別項(xiàng)目依賴并檢查是否存在已知的、已公布的漏洞。
軟件供應(yīng)鏈安全是應(yīng)用程序安全的關(guān)鍵部分
不可否認(rèn),直到不久之前,軟件供應(yīng)鏈一直是人們忽略的主題。而現(xiàn)在,一些關(guān)鍵人物(其中部分來自軟件和供應(yīng)鏈保障論壇(Software and Supply Chain Assurance Forum,SSCA))呼吁大家關(guān)注應(yīng)用程序安全領(lǐng)域的這一弱點(diǎn),希望大家不僅專注于代碼,也要關(guān)注供應(yīng)鏈。實(shí)際上,由美國國防部(DoD)、國土安全部(DHS)、總務(wù)管理局(GSA)和美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)主辦的SSCA論壇以前稱為軟件保障論壇(SwA),為了提高對供應(yīng)鏈的關(guān)注,他們更改了論壇名稱。不過他們的目的是提高大家對供應(yīng)鏈的關(guān)注度,而并不是將對自己代碼的關(guān)注轉(zhuǎn)移到他人的代碼上。
這個軟件和供應(yīng)鏈保障論壇(SSCA)為政府、行業(yè)以及來自世界各地的學(xué)者提供了平臺。人們可以在論壇上分享他們相關(guān)的知識和經(jīng)驗(yàn),內(nèi)容包括軟件和工具鏈風(fēng)險、高效實(shí)踐和減災(zāi)戰(zhàn)略、工具和技術(shù)以及任何關(guān)于別人不知道的相關(guān)人員、流程或技術(shù)方面的主題。
實(shí)際上,SCA是一項(xiàng)測試實(shí)踐——確保能夠根據(jù)表單(例如已知的像NVD這樣的漏洞)檢查你的應(yīng)用程序,并確保修改通過。與之相對,SAST主要關(guān)注的不是測試功能,而是工程功能。SAST最基本的價值在于進(jìn)行事前測試之前發(fā)現(xiàn)缺陷或者漏洞。而它最大的價值在于從一開始引導(dǎo)你提高代碼的質(zhì)量,構(gòu)建沒有泄露問題的代碼。這是目前在應(yīng)用程序安全領(lǐng)域提前檢測出代碼質(zhì)量缺陷的唯一方法。如果想做得更完美,你仍然需要SCA,因?yàn)槟阋琅f會遇到關(guān)于應(yīng)用程序中所有組件以及與其他程序交互相關(guān)或者操作系統(tǒng)本身的問題。即使你SCA實(shí)踐得不錯,你依然需要SAST。因?yàn)槿绻阒粦?yīng)用了SCA,你可能只解決了別人代碼中的問題,但是沒有對自己的代碼做任何事情。SCA與SAST的目的是相輔相成,不能互相替的。
總而言之,SCA技術(shù)非常棒,我們確實(shí)需要它。我很高興它受到越來越多的關(guān)注。但是說它將代替DAST或者SAST,就好比說你有個錘子,就不需要螺絲或者起子了一樣。
【往期回顧】
Parasoft C / C ++ test 10.4.3版本發(fā)布!更強(qiáng)的單元測試框架
功能安全標(biāo)準(zhǔn)支持者Parasoft助您實(shí)現(xiàn)合規(guī)性,消除開發(fā)安全漏洞
靜態(tài)分析和編碼標(biāo)準(zhǔn)合規(guī)性助力自動駕駛汽車ISO 26262認(rèn)證成功
Parasoft加入汽車工業(yè)軟件可靠性協(xié)會,共同開發(fā)集成MISRA / AUTOSAR編碼準(zhǔn)則
看這里!行業(yè)專家給出的2020年的軟件測試預(yù)測
想要了解Parasoft、Parasoft SOAtest、Parasoft Virtualize更多信息或資源的朋友,請點(diǎn)擊這里~
與解決方案專家聯(lián)系,以了解如何在組織中部署Parasoft的自動化軟件測試解決方案。