作者:新思科技軟件質(zhì)量與安全部門技術(shù)布道師Tim Mackey
當(dāng)今世界,軟件與我們的聯(lián)系越來越密切。軟件給我們帶來便利的同時(shí)也使我們面臨軟件安全問題,如果軟件出現(xiàn)質(zhì)量和安全問題,那么造成的風(fēng)險(xiǎn)影響就會越來越大。因此,選擇智能全面的軟件安全解決方案來提高軟件質(zhì)量和安全性至關(guān)重要。
交互式應(yīng)用安全測試(IAST)和軟件組件分析(SCA)是應(yīng)用程序安全測試中兩款強(qiáng)大、但相對來說比較新的技術(shù)。使用動態(tài)測試(即運(yùn)行時(shí)測試)技術(shù)可以發(fā)現(xiàn)正在運(yùn)行的Web應(yīng)用的漏洞。IAST解決方案旨在幫助企業(yè)識別和管理與這些漏洞有關(guān)的安全風(fēng)險(xiǎn)。
SCA是市場分析師創(chuàng)造的一個(gè)術(shù)語,描述了自動識別代碼庫中開源組件的過程。一旦識別出組件,就可以對比已知的安全問題,判斷組件是否存在這些隱患,了解在一個(gè)應(yīng)用里面是否存在組件的不同版本。另外,SCA還可以幫助識別組件的年份,確定是否需要維護(hù)。除了安全方面的問題,SCA還可以發(fā)現(xiàn)開源代碼中的許可證合規(guī)性問題。
IAST和SCA結(jié)合的必要性
根據(jù)2018年Verizon數(shù)據(jù)泄露調(diào)查報(bào)告,Web應(yīng)用程序攻擊仍然是數(shù)據(jù)泄露最常見的載體。Web應(yīng)用程序是黑客試圖訪問敏感IP/數(shù)據(jù)和個(gè)人數(shù)據(jù)(比如用戶名和密碼、信用卡賬號和患者信息)的首選攻擊界面。企業(yè)需要確保他們開發(fā)的web應(yīng)用程序是安全的,最好是在投產(chǎn)之前就已經(jīng)確保安全性,并且當(dāng)關(guān)鍵漏洞被發(fā)現(xiàn)時(shí),開發(fā)者可以快速將其修復(fù)。
Web應(yīng)用程序很少僅由專有代碼組成。事實(shí)上,相反來說,開源代碼組件在商業(yè)和內(nèi)部應(yīng)用程序中無處不在。新思科技開源研究和創(chuàng)新中心發(fā)布的2018年開源安全和風(fēng)險(xiǎn)分析報(bào)告(OSSRA)顯示在1,100個(gè)被掃描的應(yīng)用程序中有96%存在開源組件,每個(gè)應(yīng)用程序中平均有257個(gè)組件。因?yàn)槠髽I(yè)通常不知道他們使用多少甚至使用什么開源組件,當(dāng)開源組件的漏洞被發(fā)現(xiàn)時(shí),他們可能不知不覺中已經(jīng)成為攻擊者的目標(biāo)。OSSRA報(bào)告顯示,78% 被檢查的代碼庫中至少包含一個(gè)漏洞,每個(gè)代碼庫平均包含 64個(gè)漏洞。
雖然開發(fā)和安全團(tuán)隊(duì)經(jīng)常使用靜態(tài)應(yīng)用安全測試工具(SAST)和軟件組件分析解決方案(SCA)來識別web應(yīng)用程序中的安全缺陷和漏洞,但只有通過動態(tài)測試才能檢測正在運(yùn)行的應(yīng)用程序中的許多漏洞,從而推動了動態(tài)應(yīng)用安全測試工具(DAST)的發(fā)展。盡管與傳統(tǒng)的DAST和滲透測試工具有相似之處,IAST在軟件開發(fā)生命周期(SDLC)早期發(fā)現(xiàn)漏洞的能力要優(yōu)于前兩者,在修復(fù)漏洞時(shí)更容易、更快速且成本更低。隨著時(shí)間的推移,IAST很有可能會取代DAST。這有兩方面的原因:第一,IAST在軟件開發(fā)生命周期早期反饋漏洞信息并迅速提供補(bǔ)救指南方面具有強(qiáng)大優(yōu)勢;第二,它還可以更輕松地集成到CI/CD和DevOps工作流程中。
往軟件開發(fā)生命周期左端推移
IAST通常用在軟件開發(fā)生命周期的測試和質(zhì)量保證(QA)階段。采用IAST可以有效地將測試往軟件開發(fā)生命周期左端推移,盡早發(fā)現(xiàn)問題并且降低補(bǔ)救成本,減少產(chǎn)品發(fā)布延遲。當(dāng)重新編譯更改的代碼并重新測試正在運(yùn)行的應(yīng)用程序時(shí),最新一代的IAST工具能即刻反饋結(jié)果。
IAST從應(yīng)用程序內(nèi)部進(jìn)行分析,可以訪問應(yīng)用程序代碼、運(yùn)行時(shí)控制和數(shù)據(jù)流信息、內(nèi)存和堆棧追蹤信息、網(wǎng)絡(luò)請求和響應(yīng)、庫、框架和其它組件(通過與SCA工具集成)。該分析不僅可以使開發(fā)人員查明已識別漏洞的來源,而且可以快速解決問題。
IAST工具需要具備哪些功能?
我們要依據(jù)哪些標(biāo)準(zhǔn)來挑選一款I(lǐng)AST工具?它可以執(zhí)行應(yīng)用程序代碼審查。而且這些應(yīng)用程序是以你現(xiàn)在使用的編程語言編寫的;它還需要與軟件使用的底層框架兼容;還有一點(diǎn)很重要,它必須可以輕松、快速地進(jìn)行部署,并與CI/CD工作流程無縫集成;此外,我們希望IAST工具還可以與任何類型的測試方法兼容,包括 現(xiàn)有的自動化測試、手動QA/開發(fā)測試、自動網(wǎng)絡(luò)爬蟲、單元測試等等。
有效的IAST工具可以為DevOps團(tuán)隊(duì)提供識別安全漏洞的能力,并且可以告知該漏洞是否會被利用?,F(xiàn)在任何IAST工具都應(yīng)該包括web APIs,使DevOps能夠?qū)y試集成到持續(xù)集成構(gòu)建中。這些構(gòu)建過程會使用到Jenkins等持續(xù)集成工具。
隨著軟件中開源代碼使用的普及,有效的IAST工具需要了解所測試的應(yīng)用程序的開源組件。SCA工具負(fù)責(zé)分析開源組件。
了解在指定的應(yīng)用程序中的開源漏洞是否會被利用,需要了解易受攻擊的組件是否存在、漏洞的利用如何運(yùn)作、以及應(yīng)用程序如何利用該組件。只有高效的IAST和SCA工具組合才能有效識別該級別的軟件風(fēng)險(xiǎn)并指導(dǎo)開發(fā)人員解決問題。集成的IAST和SCA解決方案可以幫助開發(fā)團(tuán)隊(duì)構(gòu)建更安全的軟件、最大限度地降低風(fēng)險(xiǎn),同時(shí)最大限度的加快開發(fā)速度和產(chǎn)量,并且提高軟件的質(zhì)量。
-
軟件開發(fā)
+關(guān)注
關(guān)注
0文章
624瀏覽量
27389 -
新思科技
+關(guān)注
關(guān)注
5文章
806瀏覽量
50388 -
ASCA
+關(guān)注
關(guān)注
0文章
2瀏覽量
12088
發(fā)布評論請先 登錄
相關(guān)推薦
評論