近年來,由于網(wǎng)絡(luò)邊界愈發(fā)模糊、新型攻擊手段層出不窮,應(yīng)用安全的重要性也愈加突顯,越來越不容忽視。
在今年的RSAC上,應(yīng)用安全無疑是最熱門的方向之一:《RSAC 2020趨勢報(bào)告》中指出的十大趨勢中,有兩項(xiàng)和應(yīng)用安全直接相關(guān):“實(shí)現(xiàn)產(chǎn)品的設(shè)計(jì)、開發(fā)和運(yùn)營安全”、“聚焦軟件工程安全”;而今年創(chuàng)新沙盒比賽的十強(qiáng)名單中,竟然有五家都在做應(yīng)用安全的相關(guān)方向。
但是,當(dāng)我們翻開這些報(bào)告和公司簡介,映入眼簾的都是“Product Security”、“DevSecOps”、“Code Security”、“WAF”、“Fuzzing”這些老生常談的詞匯。那么,有關(guān)應(yīng)用安全的真正趨勢、真正熱點(diǎn)是什么呢?
筆者在仔細(xì)拜讀了趨勢報(bào)告、創(chuàng)新沙盒產(chǎn)品的簡介和部分會(huì)議報(bào)告之后,結(jié)合自己在應(yīng)用安全領(lǐng)域的認(rèn)知,為大家總結(jié)了如下幾個(gè)主要的應(yīng)用安全技術(shù)新風(fēng)向:
一、開源安全
在《RSAC 2020趨勢報(bào)告》的第二個(gè)趨勢“實(shí)現(xiàn)產(chǎn)品的設(shè)計(jì)、開發(fā)和運(yùn)營安全”中提到:因?yàn)樵诮衲晔盏降纳暾堉校P(guān)于安全產(chǎn)品開發(fā)的議題遠(yuǎn)超以往,因此RSAC針對(duì)產(chǎn)品安全、開源安全進(jìn)行了特別的關(guān)注。有許多議題在開源代碼的使用、維護(hù)、測試、認(rèn)證等方面,描述機(jī)構(gòu)面臨的挑戰(zhàn),并提出了最佳安全實(shí)踐。
要知道,“實(shí)現(xiàn)產(chǎn)品的設(shè)計(jì)、開發(fā)和運(yùn)營安全”是除了會(huì)議主題“Human Element”之外的最主要趨勢,也就是真正的“民心所向”。開源安全,又作為其中尤為重要的一個(gè)細(xì)分領(lǐng)域,在該趨勢報(bào)告中被多次提及。
早在2017年,F(xiàn)orrester Research的一份研究就表明,為了加速應(yīng)用的開發(fā),開發(fā)人員常使用開源組件作為應(yīng)用基礎(chǔ),這導(dǎo)致80%-90%的代碼來自于開源組件。奇安信代碼安全實(shí)驗(yàn)室的研究發(fā)現(xiàn),88%的軟件開發(fā)項(xiàng)目因使用開源軟件引入了安全漏洞,平均每個(gè)軟件開發(fā)項(xiàng)目中存在44個(gè)已知開源軟件安全漏洞。由此可見,隨著開源組件在現(xiàn)代軟件中使用比率的持續(xù)增長,以及日益嚴(yán)峻的組件安全問題,開源(或第三方)組件的發(fā)現(xiàn)和管理已經(jīng)成為AST解決方案中關(guān)鍵性甚至強(qiáng)制性的功能之一。
關(guān)于如何應(yīng)對(duì),Gartner則在其應(yīng)用安全測試領(lǐng)域的報(bào)告中一再指出,雖然SCA技術(shù)跟傳統(tǒng)的應(yīng)用安全測試技術(shù)不太一樣,但應(yīng)當(dāng)是應(yīng)用安全計(jì)劃中應(yīng)對(duì)開源安全的、必不可少的一環(huán)。
什么是SCA技術(shù)呢?
軟件成分分析(SCA)技術(shù)是指通過對(duì)軟件的組成進(jìn)行分析,識(shí)別出軟件中使用的開源和第三方組件(如底層庫、框架等等),從而進(jìn)一步發(fā)現(xiàn)開源安全風(fēng)險(xiǎn)和第三方組件的漏洞。通常,SCA的檢測目標(biāo)可以是源代碼、字節(jié)碼、二進(jìn)制文件、可執(zhí)行文件等的一種或幾種。除了在安全測試階段采用SCA技術(shù)對(duì)軟件進(jìn)行分析以外,SCA技術(shù)還可以集成到MSVC、Eclipse等IDE或SVN、Git等版本控制系統(tǒng),從而實(shí)現(xiàn)對(duì)開發(fā)者使用開源組件的控制。
二、應(yīng)用安全編排與關(guān)聯(lián)
在《RSAC 2020趨勢報(bào)告》的第五個(gè)趨勢“聚焦軟件工程安全”中指出:以DevSecOps為中心的議題在持續(xù)增長和成熟,議題圍繞著風(fēng)險(xiǎn)管理、治理、合規(guī)性、流程、框架等各個(gè)方面展開了討論。
一方面,由于敏捷開發(fā)和DevOps的開發(fā)技術(shù)趨勢,對(duì)于應(yīng)用安全產(chǎn)品的自動(dòng)化、工具化、時(shí)間控制的要求越來越高;另一方面,在 DevSecOps 的流程中,如何有效地使用各種應(yīng)用安全產(chǎn)品,并將其結(jié)果進(jìn)行關(guān)聯(lián)。
今年創(chuàng)新沙盒十強(qiáng)中的BluBracket、ForAllSecure,以及去年創(chuàng)新沙盒十強(qiáng)中的ShiftLeft,都宣稱能夠更好地幫助企業(yè)落地DevSecOps。
我們看一下這些產(chǎn)品的共性:
1. 和研發(fā)工具鏈進(jìn)行集成:
與研發(fā)工具鏈的集成是DevSecOps趨勢下,應(yīng)用安全產(chǎn)品必須具備的基本屬性之一。譬如ForAllSecure的主打產(chǎn)品Mayhem,做為一款Fuzzing工具竟然可以和Travis、Jenkins以及Gitlab、Github等進(jìn)行集成。
2. 追求低誤報(bào)率:
誤報(bào)意味著需要人工介入進(jìn)行審核,這樣必然會(huì)打破整個(gè)自動(dòng)化的構(gòu)建流程。因此,為了順應(yīng)DevSecOps的需求,應(yīng)用安全產(chǎn)品必須不斷降低其誤報(bào)率。以BluBracket為例,宣稱其檢測無誤報(bào)。
3. 關(guān)注檢測速度:
更快的檢測,意味著更快的產(chǎn)品發(fā)布節(jié)奏。在ShiftLeft的宣傳中,50萬行的代碼檢測僅需10分鐘。
對(duì)于此,Gartner將這種技術(shù)從各種產(chǎn)品中抽取出來,稱之為應(yīng)用安全編排與關(guān)聯(lián)(Application Security Orchestration and Correlation,簡稱ASOC):ASOC工具通過自動(dòng)化工作流來簡化軟件漏洞的測試和修復(fù)。首先是安全測試自動(dòng)化,其次將來自多個(gè)源(SAST、DAST、IAST、SCA、漏洞評(píng)估等)的數(shù)據(jù)提取到數(shù)據(jù)庫中,再通過關(guān)聯(lián)和分析檢測結(jié)果,以實(shí)現(xiàn)修補(bǔ)措施的統(tǒng)一和優(yōu)先級(jí)排序。
隨著DevSecOps越來越被廣大企業(yè)所接受,ASOC在兩個(gè)關(guān)鍵領(lǐng)域所提供的便利將越來越明顯:一是對(duì)應(yīng)用程序安全測試計(jì)劃的簡化,以帶來在管理工作流方面的效率提升;二是為最關(guān)鍵的安全風(fēng)險(xiǎn)進(jìn)行優(yōu)先級(jí)排序,進(jìn)而解決資源稀缺的問題。
三、應(yīng)用內(nèi)保護(hù)
在今年的創(chuàng)新沙盒十強(qiáng)中,同時(shí)有兩家從事WAF產(chǎn)品研發(fā)的公司入選,一家是美國的Tala Security,另一家是源自法國的初創(chuàng)公司Sqreen。
如果只是傳統(tǒng)的WAF,肯定無法能夠進(jìn)入創(chuàng)新沙盒十強(qiáng)。那我們來看下,這兩家產(chǎn)品,都有什么新穎的技術(shù)特色?
Tala Security的主打產(chǎn)品是“Client-side Web Application Firewall”,通過自動(dòng)化部署和動(dòng)態(tài)調(diào)整瀏覽器的本地控件(例如CSP、SRI、HSTS等安全策略)來防御跨站腳本、點(diǎn)擊劫持等攻擊。使用Tala WAF,并不需要更改應(yīng)用程序代碼,從而將對(duì)性能的影響降到最低。
Sqreen產(chǎn)品平臺(tái)主要包括RASP以及In-App WAF兩個(gè)核心模塊。Sqreen宣稱其可以防御OWASP Top10攻擊(例如注入攻擊,XSS攻擊等),0-day攻擊,數(shù)據(jù)泄漏等攻擊。可以創(chuàng)建應(yīng)對(duì)高級(jí)業(yè)務(wù)邏輯威脅的安全自動(dòng)化處置策略。
不難看出,這兩款產(chǎn)品實(shí)際上都使用應(yīng)用內(nèi)保護(hù)(In-APP Protection)這一種與傳統(tǒng)WAF不同的技術(shù)。那什么是應(yīng)用內(nèi)保護(hù)呢?
In-APP Protection是指在應(yīng)用程序內(nèi)(不同于網(wǎng)絡(luò)側(cè)或操作系統(tǒng)側(cè))實(shí)施的解決方案,以使應(yīng)用程序更能抵抗惡意數(shù)據(jù)泄露,入侵,篡改等攻擊。企業(yè)使用In-APP Protection可以保護(hù)其基于軟件的資產(chǎn),并保護(hù)自己和客戶免受欺詐性攻擊。
In-APP Protection目前主要用于保護(hù)面向消費(fèi)者的移動(dòng)應(yīng)用,尤其是對(duì)于那些運(yùn)行于不受信任環(huán)境的應(yīng)用程序。
當(dāng)然,由于具體技術(shù)路線的不同,In-APP Protection技術(shù)可能還是需要開發(fā)人員的介入。因此,In-APP Protection技術(shù)的真正推廣,也需要開發(fā)者對(duì)于這類防護(hù)技術(shù)的認(rèn)知不斷提升。
四、泛代碼安全
代碼作為構(gòu)建各種應(yīng)用、系統(tǒng)的基礎(chǔ)組件,其安全問題是軟件安全的根源性問題。因此,AST領(lǐng)域中有多類技術(shù)都可以應(yīng)用在代碼安全保障中,例如靜態(tài)應(yīng)用安全測試技術(shù)(SAST)技術(shù)、動(dòng)態(tài)應(yīng)用安全測試技術(shù)(DAST)技術(shù)、軟件成分分析(SCA)技術(shù)等。
而在今年的RSAC中,代碼安全的概念得到了進(jìn)一步的延伸。正如RSAC創(chuàng)新沙盒公司BluBracket的網(wǎng)站上所述:一方面,代碼是公司最重要的資產(chǎn)和核心競爭力,必須給予保護(hù);另一方面,鮮為人知的是,代碼也已成為企業(yè)的一個(gè)大攻擊面,尤其是考慮到現(xiàn)在軟件開發(fā)方式的開放性和協(xié)作性。
源代碼的安全管理往往是企業(yè)容易忽略的點(diǎn),譬如近兩年頻發(fā)的、由于GitHub代碼泄露而導(dǎo)致的一系列安全事件。跟傳統(tǒng)的SAST相比,BluBracket的創(chuàng)新之處就在于將代碼泄露和管控不當(dāng)納入其產(chǎn)品的解決方案之中。其產(chǎn)品CodeInsight,主要對(duì)代碼進(jìn)行發(fā)現(xiàn)、分類、持續(xù)跟蹤以及開源庫的檢測。
而在傳統(tǒng)的SAST領(lǐng)域,BluBracket的CodeSecure則采取相對(duì)較為輕量級(jí)的解決方案,重點(diǎn)只是尋找一些敏感信息如令牌、密碼、用戶隱私信息的泄露。因此其檢測速度較快、誤報(bào)率較低,也順應(yīng)了DevSecOps的要求。
相對(duì)于前兩年在SAST領(lǐng)域火爆的基于人工智能的誤報(bào)、噪音篩除,我們可以看到,代碼安全并沒有繼續(xù)沿著技術(shù)深度去發(fā)展,而是往廣義的“泛代碼安全”去發(fā)展。
來源:互聯(lián)網(wǎng)安全內(nèi)參