近日,根據(jù)根據(jù)WhiteHat Security的一項(xiàng)新研究,在制造業(yè)、公共服務(wù)、醫(yī)療保健、零售、教育和公用事業(yè)等行業(yè)中使用的應(yīng)用程序中,至少有50%包含一個(gè)或多個(gè)嚴(yán)重的可利用漏洞。
而根據(jù)AppSec Stats Flash今年啟動(dòng)的應(yīng)用安全調(diào)查報(bào)告,制造業(yè)的應(yīng)用安全“暴露窗口”風(fēng)險(xiǎn)最大,該行業(yè)近70%的應(yīng)用程序至少具有一個(gè)嚴(yán)重的可利用漏洞。
WhiteHat在過去三個(gè)月中記錄的前五大類漏洞分別是信息泄漏、會(huì)話到期、跨站點(diǎn)腳本、傳輸層保護(hù)不足和內(nèi)容欺騙。報(bào)告的作者指出:“發(fā)現(xiàn)和利用上述漏洞所需的工作和技能門檻很低,很容易受到攻擊。”
與此同時(shí),行業(yè)用戶緩解關(guān)鍵漏洞的平均時(shí)間偏長(zhǎng)。報(bào)告發(fā)現(xiàn),所有行業(yè)的平均漏洞緩解時(shí)間為189天。不過令人欣慰的是,過去12個(gè)月的平均天數(shù)呈下降趨勢(shì)(同比減少了5天)。漏洞緩解表現(xiàn)最糟糕的三個(gè)行業(yè)——教育、公共管理和房地產(chǎn),緩解關(guān)鍵漏洞平均用時(shí)都超過了一年之久。
應(yīng)用安全人才需求激增
應(yīng)用程序開發(fā)安全已經(jīng)成為網(wǎng)絡(luò)安全未來發(fā)展的關(guān)鍵所在。一項(xiàng)最新的行業(yè)研究表明,開發(fā)安全已經(jīng)成為增長(zhǎng)最快的網(wǎng)絡(luò)安全技能。預(yù)計(jì)未來五年開發(fā)安全技能的需求將增長(zhǎng)164%。五年內(nèi),開發(fā)安全人才的職位缺口將從2020年的29635人擴(kuò)大到48601人。
上述調(diào)查發(fā)現(xiàn)提出了重要的問題:什么是應(yīng)用程序開發(fā)安全性?是什么在推動(dòng)“安全左移”和開發(fā)安全需求的快速增長(zhǎng)?
什么是應(yīng)用開發(fā)安全
首先,開發(fā)安全是通過查找和修復(fù)漏洞來增強(qiáng)應(yīng)用程序的防御能力。顧名思義,此過程通常發(fā)生在應(yīng)用程序投入生產(chǎn)環(huán)境之前的開發(fā)階段。但也可能在所有者部署了這些應(yīng)用程序之后發(fā)生。
測(cè)試應(yīng)用程序開發(fā)安全性的方法有很多,統(tǒng)稱為應(yīng)用程序安全性測(cè)試(AST),主要有以下三大類:
靜態(tài)應(yīng)用程序安全性測(cè)試(SAST):在這種類型的Web應(yīng)用程序安全性測(cè)試中,安全專家對(duì)應(yīng)用程序的體系結(jié)構(gòu)有一些了解。他們可以利用這些知識(shí)來報(bào)告源代碼中的弱點(diǎn)。
動(dòng)態(tài)應(yīng)用程序安全測(cè)試(DAST):與SAST相反,DAST假定測(cè)試人員不了解應(yīng)用程序的代碼。其目的是在特定應(yīng)用程序的運(yùn)行狀態(tài)中查找潛在的缺陷。
交互式應(yīng)用程序安全性測(cè)試(IAST):此方法將SAST和DAST結(jié)合在一起,成為一種混合方法。
根據(jù)Verocode發(fā)布的《2020年軟件安全現(xiàn)狀報(bào)告》,結(jié)合使用多種掃描類型(包括靜態(tài)分析(SAST)、動(dòng)態(tài)分析(DAST)和軟件組成分析(SCA))的團(tuán)隊(duì)可以提高修復(fù)率。那些同時(shí)使用SAST和DAST的人可以把漏洞修復(fù)工作縮短24天。而在SDLC中進(jìn)行自動(dòng)化安全測(cè)試比非自動(dòng)化測(cè)試發(fā)現(xiàn)半數(shù)漏洞的速度要快17.5天。
總之,用于軟件安全測(cè)試的(自動(dòng)化)工具需要與研發(fā)團(tuán)隊(duì)現(xiàn)有的研發(fā)流程和安全實(shí)踐匹配融合,并具備與研發(fā)管理平臺(tái)融合的能力。
為什么需要應(yīng)用程序開發(fā)安全性?
對(duì)應(yīng)用程序開發(fā)安全性的需求不斷增長(zhǎng)反映了兩個(gè)持續(xù)的趨勢(shì)。
世界正變得越來越移動(dòng)化。企業(yè)和其他組織對(duì)其用戶進(jìn)行了投資,使他們能夠通過各種設(shè)備上的移動(dòng)應(yīng)用程序與他們的服務(wù)進(jìn)行交互。在此過程中,他們需要具備相應(yīng)開發(fā)安全技能的人員來保護(hù)這些移動(dòng)應(yīng)用程序,以確保為其越來越多的用戶提供一致且安全的移動(dòng)性能。
應(yīng)用程序漏洞削弱了開發(fā)者和用戶之間的信任??傮w而言,漏洞在移動(dòng)應(yīng)用程序中很常見。一項(xiàng)針對(duì)2020年iOS和Android應(yīng)用的研究發(fā)現(xiàn),近四分之三的移動(dòng)應(yīng)用程序都沒有通過基本的安全測(cè)試。在接受調(diào)查的這些應(yīng)用中,超過五分之四(83%)至少有一個(gè)漏洞,有91%的iOS應(yīng)用和95%的Android應(yīng)用都報(bào)告了漏洞。
沒有開發(fā)安全就沒有業(yè)務(wù)安全
軟件漏洞對(duì)企業(yè)構(gòu)成重大威脅。弱的服務(wù)器端控制、不安全的數(shù)據(jù)存儲(chǔ)、破解的密碼以及其他問題為外部攻擊者竊取信息打開了方便之門。潛在的客戶可能會(huì)因?yàn)閼?yīng)用程序開發(fā)安全性問題而選擇不與容易遭受數(shù)據(jù)泄露的實(shí)體打交道。
最后,客戶和業(yè)務(wù)合作伙伴可能比監(jiān)管部門和消費(fèi)者更加關(guān)注供應(yīng)鏈合作方的應(yīng)用開發(fā)安全問題。企業(yè)應(yīng)當(dāng)在遭受攻擊之前就告訴客戶,他們使用了哪些應(yīng)用程序和工具來編寫安全代碼。在某些情況下,客戶對(duì)開發(fā)安全施加對(duì)壓力比監(jiān)管機(jī)構(gòu)和合規(guī)審計(jì)員更大。這表明開發(fā)安全已成為一種關(guān)鍵的業(yè)務(wù)方法,企業(yè)可以通過這種方法與客戶一起開展業(yè)務(wù),同時(shí)保持保持緊密互信的伙伴關(guān)系,而不是數(shù)據(jù)泄露事件披露之后。
開發(fā)人員的最佳做法
正如工作場(chǎng)所所需的安全防御技能始終在變化一樣,開發(fā)安全的技能本身也在變化。開發(fā)人員工具鏈內(nèi)置的軟件組件分析工具以及有限的防御測(cè)試,可能會(huì)在未來幾年內(nèi)取代舊的AST方法。行業(yè)專家預(yù)測(cè),到2022年,自動(dòng)化解決方案將能夠修復(fù)SAST工具發(fā)現(xiàn)的10%的漏洞。
這些預(yù)測(cè)揭示了應(yīng)用程序開發(fā)安全發(fā)展方向的趨勢(shì)。但是,這些趨勢(shì)與當(dāng)下開發(fā)人員的安全開發(fā)最佳實(shí)踐并不沖突。例如,開發(fā)人員應(yīng)當(dāng)意識(shí)到,他們幾乎不需要從頭開始編寫自己的代碼。他們不能寄希望于“右側(cè)的”安全防護(hù)。相反,開發(fā)人員可以使用安全框架來推動(dòng)其代碼開發(fā)流程,他們還應(yīng)確保使用的是最新版本的第三方代碼或庫。
開發(fā)人員還應(yīng)該注重團(tuán)隊(duì)合作的力量,與安全架構(gòu)師和運(yùn)營團(tuán)隊(duì)通力合作實(shí)施威脅建模。此過程不僅有助于發(fā)現(xiàn)和分類潛在威脅,還可以促進(jìn)溝通和相互理解,這是建設(shè)DevSecOps文化的基礎(chǔ)工作。