9月25日,由CNCF大使、開(kāi)源意見(jiàn)領(lǐng)袖共同發(fā)起的,國(guó)內(nèi)最大的獨(dú)立第三方云原生終端用戶和泛開(kāi)發(fā)者社區(qū)——云原生社區(qū),在騰訊大廈成功舉辦深圳站首屆MeetUp。
本屆MeetUp聚焦云原生,火線安全洞態(tài)產(chǎn)品負(fù)責(zé)人董志勇分享了“使用IAST構(gòu)建高效的DevSecOps流程”,從IAST的時(shí)代需要到IAST含義,從洞態(tài)IAST的功能與實(shí)現(xiàn)原理到洞態(tài)IAST與DevOps的高效融合均做了詳細(xì)介紹。
01 IAST的時(shí)代需要
#安全測(cè)試是應(yīng)用開(kāi)發(fā)的必要環(huán)節(jié)
自2016年以來(lái),隨著《中華人民共和國(guó)網(wǎng)絡(luò)安全法》、《中華人民共和國(guó)數(shù)據(jù)安全法》、《中華人民共和國(guó)個(gè)人信息保護(hù)法》等相關(guān)法律相繼頒布并施行,企業(yè)安全運(yùn)行能力要求不斷提高。
此外,網(wǎng)絡(luò)攻擊頻發(fā)也引起網(wǎng)絡(luò)界的關(guān)注。被勒索軟件勒索、數(shù)據(jù)泄露、服務(wù)器被入侵等在近年來(lái)出現(xiàn)的網(wǎng)絡(luò)安全問(wèn)題中占據(jù)極大比例,這些都是應(yīng)用本身安全性不足所導(dǎo)致的。
安全測(cè)試成為應(yīng)用開(kāi)發(fā)的必要環(huán)節(jié)。
#IAST是安全測(cè)試的最優(yōu)選擇
在瀑布開(kāi)發(fā)與敏捷開(kāi)發(fā)時(shí)代,應(yīng)用迭代速度相對(duì)較慢,企業(yè)安全團(tuán)隊(duì)人員數(shù)量足夠cover住應(yīng)用開(kāi)發(fā)上線的測(cè)試頻率。
但隨著開(kāi)發(fā)流程理念的更新,DevOps逐漸出現(xiàn)并成為主流。DevOps在“提高企業(yè)生產(chǎn)效率、實(shí)現(xiàn)應(yīng)用迭代大加速“的同時(shí),也帶來(lái)了“安全測(cè)試任務(wù)密度變大,待上線應(yīng)用的數(shù)量與安全測(cè)試人員數(shù)量嚴(yán)重不對(duì)等”的問(wèn)題。原有的安全測(cè)試手段已不合時(shí)宜,高效可靠的自動(dòng)化檢測(cè)成為安全團(tuán)隊(duì)的不二之選。
雖然SAST和DAST也可以承擔(dān)自動(dòng)化檢測(cè)的角色,但二者都具有致命的缺點(diǎn)。相比之下,IAST則是不偏科,且各方面都突出的優(yōu)等生。目前來(lái)說(shuō),IAST才是自動(dòng)化安全檢測(cè)的最優(yōu)選擇。
02 洞態(tài)IAST
IAST全稱為 “交互式應(yīng)用程序安全測(cè)試” ,通過(guò)利用Agent來(lái)監(jiān)控應(yīng)用程序運(yùn)行時(shí)的函數(shù)執(zhí)行情況,采集相關(guān)數(shù)據(jù),與服務(wù)端進(jìn)行實(shí)時(shí)交互,從而高效、準(zhǔn)確地識(shí)別出應(yīng)用程序中的漏洞。同時(shí)可準(zhǔn)確定位到漏洞所在的文件、行數(shù)、方法及參數(shù),方便開(kāi)發(fā)團(tuán)隊(duì)及時(shí)修復(fù)漏洞。
洞態(tài)IAST由火線安全于9月1日正式開(kāi)源發(fā)布,是全球第一款開(kāi)源IAST產(chǎn)品。憑借高效的檢測(cè)效率、極高的檢出率、極低的誤報(bào)率、極少的臟數(shù)據(jù)以及極詳細(xì)的漏洞詳細(xì),洞態(tài)IAST在發(fā)布之際便受到了諸多廠商的關(guān)注。
#檢測(cè)原理
作為一款創(chuàng)新的漏洞檢測(cè)產(chǎn)品,洞態(tài)IAST的技術(shù)優(yōu)勢(shì)十分顯著。 洞態(tài)完全基于“值匹配算法“和”污點(diǎn)跟蹤算法”對(duì)漏洞進(jìn)行檢測(cè)。這種算法檢測(cè)準(zhǔn)確率高,無(wú)需采集和重放流量,可以適配各種場(chǎng)景下的漏洞檢測(cè)(如:API網(wǎng)關(guān)、分布式、微服務(wù)等架構(gòu)下的后端服務(wù)漏洞檢測(cè)),還不會(huì)產(chǎn)生臟數(shù)據(jù),干擾正常的開(kāi)發(fā)測(cè)試流程。
對(duì)于檢測(cè)發(fā)現(xiàn)的漏洞,洞態(tài)根據(jù)外部可控?cái)?shù)據(jù)的傳播過(guò)程,完整的還原漏洞觸發(fā)流程,幫助DevOps團(tuán)隊(duì)快速理解漏洞、定位漏洞,更好的解決漏洞。通過(guò)賦能研發(fā)人員,提高漏洞修復(fù)的效率。
和業(yè)內(nèi)同類產(chǎn)品“重Agent端、輕服務(wù)端”的架構(gòu)不同,洞態(tài)的Agent端僅用于實(shí)現(xiàn)數(shù)據(jù)監(jiān)聽(tīng),漏洞檢測(cè)全部在服務(wù)端完成。這種方法的好處是Agent端代碼和邏輯簡(jiǎn)單,單點(diǎn)故障率更低也極少需要升級(jí),降低了維護(hù)成本。另外,傳統(tǒng)IAST產(chǎn)品對(duì)于未檢測(cè)的漏洞都在Agent端直接丟棄,產(chǎn)品出現(xiàn)新的檢測(cè)策略后,需要重新發(fā)起應(yīng)用的測(cè)試,而洞態(tài)IAST將檢測(cè)數(shù)據(jù)保存在服務(wù)端,可以輕松在服務(wù)端進(jìn)行回歸測(cè)試。
#洞態(tài)功能優(yōu)勢(shì)
● 支持多種漏洞檢測(cè)
● 依賴組件的供應(yīng)鏈風(fēng)險(xiǎn)檢查
洞態(tài)IAST支持應(yīng)用程序內(nèi)部所依賴組件的供應(yīng)鏈風(fēng)險(xiǎn)檢查,一是支持對(duì)應(yīng)用程序內(nèi)部所使用的第三方組件進(jìn)行梳理:當(dāng)某個(gè)組件爆發(fā)漏洞時(shí),可以利用這個(gè)組件,快速反查出企業(yè)內(nèi)部運(yùn)用此組件的應(yīng)用和服務(wù)器。快速響應(yīng),避免企業(yè)內(nèi)部程序受到外部攻擊;
二是針對(duì)已經(jīng)爆發(fā)的漏洞:依靠?jī)?nèi)部漏洞庫(kù),企業(yè)安全人員便可以知曉使用的組件是不是有風(fēng)險(xiǎn),從而及時(shí)升級(jí)組件,避免漏洞風(fēng)險(xiǎn)的出現(xiàn)。
●支持各種業(yè)務(wù)場(chǎng)景
傳統(tǒng)Web應(yīng)用;
前后端分離場(chǎng)景下的漏洞檢測(cè);
驗(yàn)證碼場(chǎng)景下的漏洞檢測(cè);
數(shù)據(jù)包加密場(chǎng)景;
防重放簽名等場(chǎng)景;
分布式架構(gòu)下的漏洞檢測(cè);
微服務(wù)架構(gòu)下的漏洞檢測(cè);
●API Sitemap
類Swagger的API Sitemap,方便各部門(mén)人員查看;
提供測(cè)試覆蓋率,精確的反饋出未測(cè)試到的接口;
準(zhǔn)確的參數(shù)名稱及數(shù)據(jù)類型,可用于直接發(fā)送HTTP請(qǐng)求,提高接口覆蓋率;
●統(tǒng)一數(shù)據(jù)格式,實(shí)現(xiàn)離線檢測(cè)
洞態(tài)IAST將探針上報(bào)的數(shù)據(jù)格式進(jìn)行了統(tǒng)一,通過(guò)利用不同語(yǔ)言返回的數(shù)據(jù),構(gòu)建數(shù)據(jù)底座。基于數(shù)據(jù)底座,對(duì)數(shù)據(jù)進(jìn)行分析,實(shí)現(xiàn)漏洞的離線檢測(cè)。
●支持檢測(cè)策略自定義
企業(yè)安全人員可通過(guò)自定義策略,快速檢測(cè)對(duì)應(yīng)漏洞,并可通過(guò)增加策略類型實(shí)現(xiàn)檢測(cè)類型的補(bǔ)充(針對(duì)新發(fā)現(xiàn)的漏洞)。
03 洞態(tài)IAST+DevOps
# IAST+Kubernetes
應(yīng)用運(yùn)行時(shí),無(wú)狀態(tài)地安裝于應(yīng)用程序的探針集群便會(huì)采集對(duì)應(yīng)的數(shù)據(jù),并發(fā)送到OPENAPI。當(dāng)探針集群數(shù)量過(guò)大時(shí),基于探針集群數(shù)量,橫向擴(kuò)展OPENAPI服務(wù)數(shù)量。此時(shí),OPENAPI足夠cover探針集群的流量,后續(xù)的存儲(chǔ)集群與分析引擎也將支持彈性擴(kuò)容,并做安全風(fēng)險(xiǎn)檢測(cè)。
#Agent+Docker
通過(guò)構(gòu)建DongTai的基礎(chǔ)鏡像,實(shí)現(xiàn)自動(dòng)安裝探針。
#Agent+Kubernetes
基于數(shù)據(jù)底座,通過(guò)sidecar方式配置DongTai的容器,自動(dòng)化安裝探針。
#洞態(tài)IAST+DevOps
DevOps中有各種各樣的工具,洞態(tài)IAST所有的數(shù)據(jù)都可通過(guò)OpenAPI接口進(jìn)行操作,快速與CI/CD集成,實(shí)現(xiàn)探針的下載、部署、獲取風(fēng)險(xiǎn)等。
洞態(tài)IAST是火線安全于2021年9月1日發(fā)布的全球第一款開(kāi)源專業(yè)IAST產(chǎn)品,企業(yè)可根據(jù)需要調(diào)配,以適應(yīng)自身業(yè)務(wù)和使用場(chǎng)景,我們也期待大家參與洞態(tài)IAST開(kāi)源項(xiàng)目。