近幾年,伴隨云計(jì)算、容器技術(shù)以及 DevOps 的普及,DevSecOps 作為糅合了開發(fā)、安全及運(yùn)營(yíng)理念的全新方法,其關(guān)注熱度持續(xù)上升,并在全球范圍內(nèi)得到廣泛應(yīng)用。目前 IAST 被部分業(yè)內(nèi)人士看作一種“更適合 DevSecOps 流程 構(gòu)建”的應(yīng)用程序安全檢測(cè)技術(shù),受到行業(yè)的更多關(guān)注。
那么 IAST 是否真的更適合 DevSecOps 流程構(gòu)建?它能夠提供哪些核心能力和關(guān)鍵技術(shù),以及有哪些局限性?
要了解 IAST 是否真的更適合 DevSecOps 流程構(gòu)建,首先要弄明白 DevSecOps 到底是什么。根據(jù) Gartner 定義,DevSecOps(即 Development、Security 和 Operations)是指在不減少敏捷度和開發(fā)者效率,或在不要求開發(fā)者離開現(xiàn)有工具鏈的情況下,將安全盡可能無縫、無感知地集成進(jìn) IT 和 DevOps 開發(fā)中。
DevSecOps 有三個(gè)核心點(diǎn):一是便于集成,安全工具可以很方便的與現(xiàn)有的 IT 或 DevOps 流程對(duì)接和打通,這也是實(shí)現(xiàn) DevSecOps 的前提條件;二是無感知,要求安全工具對(duì)已有的 DevOps 流程不能產(chǎn)生任何的影響和干擾;三是在研發(fā)階段解決安全問題,而不是像傳統(tǒng)開發(fā)流程一樣,在軟件上線后由安全人員檢測(cè)問題,再反饋給研發(fā)人員來解決問題。問題越早的檢測(cè)和修復(fù),企業(yè)的整體修復(fù)成本就越低,這也是 DevSecOps 的核心目的之一。目前來看,DevSecOps 在落地時(shí)遇到的主要痛點(diǎn)和難點(diǎn)也體現(xiàn)在這三個(gè)點(diǎn)上。那么,更適合 DevSecOps 流程構(gòu)建的 IAST 到底是什么?有哪些特點(diǎn)?
IAST 是交互式應(yīng)用程序安全測(cè)試(Interactive Application Security Testing),是一種新的應(yīng)用程序安全測(cè)試方案,通過在服務(wù)端部署 Agent ,收集、監(jiān)控應(yīng)用程序運(yùn)行時(shí)的函數(shù)執(zhí)行、數(shù)據(jù)傳輸?shù)刃畔?,然后根?jù)污點(diǎn)跟蹤算法、值傳遞算法等一系列算法進(jìn)行漏洞的識(shí)別。
IAST 是一種應(yīng)用程序運(yùn)行時(shí)的漏洞檢測(cè)技術(shù),所以它具備了 DAST 中檢測(cè)結(jié)果準(zhǔn)確的特征;此外,IAST 采集到數(shù)據(jù)在方法內(nèi)部的流動(dòng)后,通過污點(diǎn)跟蹤算法來進(jìn)行漏洞檢測(cè),用算法來進(jìn)行漏洞檢測(cè),所以檢測(cè)結(jié)果也具備了 SAST中全面性的特征。
同時(shí)因?yàn)?IAST 安裝在應(yīng)用程序內(nèi)部,安全人員可以拿到類似于源碼級(jí)漏洞報(bào)告,這種漏洞結(jié)果對(duì)于開發(fā)人員很友好,可以方便開發(fā)人員進(jìn)行漏洞修復(fù)。綜合來看,IAST 具有高檢出率、低誤報(bào)率、檢測(cè)報(bào)告詳細(xì)便于排查等一系列優(yōu)勢(shì),可以很好地在 DevSecOps 流程中解決痛點(diǎn)和難點(diǎn)。
如何用 IAST 來構(gòu)建 DevSecOps ,或者說是構(gòu)建 DevSecOps 流程時(shí),IAST 必須具備哪些功能才能支撐這個(gè)流程的構(gòu)建。大概有三點(diǎn)。第一點(diǎn),IAST 必須柔和地嵌入 DevOps 流程,即十分便利地與 CI/CD 流程對(duì)接,包括與 Jenkins 、Gitlab 等工具打通等;第二點(diǎn),當(dāng)IAST 和 DevOps 流程對(duì)接時(shí),需要做版本的控制,支持在 Agent 端直接指定項(xiàng)目名稱和版本,進(jìn)行后續(xù)的版本跟蹤,以及版本的漏洞對(duì)比等;第三點(diǎn),IAST可通過漏洞復(fù)測(cè)與回歸測(cè)試,驗(yàn)證此前發(fā)現(xiàn)的漏洞是否依舊存在。
那么,IAST 的核心能力有哪些?其在具體的場(chǎng)景應(yīng)用中又會(huì)存在哪些局限性?IAST 本質(zhì)是做漏洞檢測(cè),其核心能力主要包括四點(diǎn):一是實(shí)時(shí)的漏洞檢測(cè),保證不影響 DevOps 的原有效率;二是第三方組件的梳理和漏洞檢測(cè),保證應(yīng)用避免供應(yīng)鏈的攻擊;三是靈活的漏洞檢測(cè)邏輯,讓用戶在使用內(nèi)置檢測(cè)邏輯的同時(shí),很方便地配置出具有業(yè)務(wù)屬性的特定檢測(cè)邏輯,來做業(yè)務(wù)層面的漏洞檢測(cè);四是極低的運(yùn)營(yíng)成本,IAST 在企業(yè)內(nèi)部使用時(shí),一定是需要持續(xù)運(yùn)營(yíng)的,當(dāng)出現(xiàn)了 IAST 沒有覆蓋到的漏洞情況時(shí),可以用最低的成本來完善檢測(cè)策略和檢測(cè)邏輯,保證漏洞的檢出。
IAST 的局限性主要體現(xiàn)在 IAST 的內(nèi)置漏洞策略有限、且無業(yè)務(wù)屬性,無法保證檢測(cè)所有的安全風(fēng)險(xiǎn);推薦在上線前通過白盒、灰盒、黑盒、人工滲透測(cè)試一起來檢測(cè)漏洞,然后將 IAST 沒有覆蓋到的漏洞策略補(bǔ)充進(jìn)來;上線后可通過外部的眾測(cè)、SRC 運(yùn)營(yíng)等手段,更全面地發(fā)現(xiàn)安全風(fēng)險(xiǎn),同時(shí)將漏洞策略補(bǔ)充到 IAST 中,做后續(xù)的自動(dòng)化測(cè)試。
更多信息可以來這里獲取==>>電子技術(shù)應(yīng)用-AET<<