云原生架構(gòu)、持續(xù)集成和持續(xù)交付(CI/CD)、DevOps和站點(diǎn)可靠性工程(SRE)等實(shí)踐使企業(yè)能夠創(chuàng)新并加速軟件產(chǎn)品的交付。但是,它們也顛覆了傳統(tǒng)的軟件開發(fā)和維護(hù)生命周期(SDLC),并極大地改變了企業(yè)為成功保護(hù)應(yīng)用程序和業(yè)務(wù)服務(wù)所需要做的事情。
為了幫助組織確保應(yīng)用程序的安全交付,TrueFort公司開發(fā)了一種稱為“應(yīng)用程序安全行為分析(ASBA)”的云計(jì)算工作負(fù)載保護(hù)和監(jiān)視方法。應(yīng)用程序安全行為分析(ASBA)基于三個(gè)關(guān)鍵組件:實(shí)時(shí)應(yīng)用程序行為分析,持續(xù)集成和持續(xù)交付(CI/CD)安全監(jiān)視,以及運(yùn)行時(shí)保護(hù)。
實(shí)時(shí)應(yīng)用程序的行為分析
業(yè)務(wù)應(yīng)用程序通??梢酝ㄟ^其行為和與其他實(shí)體的關(guān)系的組合來表征。
例如,典型的零售電子商務(wù)應(yīng)用程序包括使用已知API調(diào)用的服務(wù)之間的通信,這些API調(diào)用來自客戶所在的時(shí)區(qū)以及與那些時(shí)區(qū)關(guān)聯(lián)的網(wǎng)絡(luò)。Web服務(wù)器、負(fù)載平衡器、緩存、文檔存儲(chǔ)和數(shù)據(jù)庫之間也存在同步互動(dòng)。
乍一看,企業(yè)資源計(jì)劃(ERP)系統(tǒng)可能看起來像一個(gè)電子商務(wù)應(yīng)用程序。它可能具有相互關(guān)聯(lián)的Web、應(yīng)用程序和數(shù)據(jù)庫服務(wù)器的行為,這些服務(wù)器也具有相關(guān)的行為,例如增加的數(shù)據(jù)庫活動(dòng)與增加的應(yīng)用程序服務(wù)器活動(dòng)鏈接。但是與電子商務(wù)不同的是,企業(yè)資源計(jì)劃(ERP)通常僅由LAN上的用戶訪問,其特點(diǎn)是比較繁忙,只有服務(wù)器端的時(shí)段與月度報(bào)告周期和批處理相關(guān)。
懷有惡意的內(nèi)部人員和外部攻擊者通常不知道或不在乎這些行為上的細(xì)微差別和威脅,他們認(rèn)為一旦突破了企業(yè)安全邊界,他們所做的任何事情就會(huì)被忽略。然而,他們的行業(yè)真的經(jīng)常被忽視。
TrueFort平臺(tái)通過全面剖析業(yè)務(wù)應(yīng)用程序的行為以建立“正常”活動(dòng)的基準(zhǔn)模型,識(shí)別出異常和潛在威脅,從而縮小這一差距。為此,TrueFort平臺(tái)將會(huì)監(jiān)視每個(gè)工作負(fù)載上的數(shù)百個(gè)參數(shù),其中包括它們的關(guān)系、依賴關(guān)系、流程以及時(shí)間波動(dòng),并將這些數(shù)據(jù)與來自其他工作負(fù)載的數(shù)據(jù)關(guān)聯(lián)起來。
捕獲的示例包括網(wǎng)絡(luò)連接、進(jìn)程詳細(xì)信息、服務(wù)帳戶、虛擬機(jī)/服務(wù)器/容器上已安裝的文件系統(tǒng),以及它們與其他基礎(chǔ)設(shè)施和應(yīng)用程序?qū)右约吧嫌魏拖掠螒?yīng)用程序的關(guān)系。
基于這種全面的可見性和已建立的正常基準(zhǔn),應(yīng)用程序安全行為分析(ASBA)可以發(fā)現(xiàn)重要異常情況,例如在前端應(yīng)用程序服務(wù)器處于空閑狀態(tài)時(shí),數(shù)據(jù)庫異常繁忙(例如Equifax公司在數(shù)據(jù)泄露期間發(fā)生的情況)。與正常基準(zhǔn)的偏離可能表示惡意的內(nèi)部人員或外部威脅參與者從異常位置和異常時(shí)間獲取了對(duì)網(wǎng)絡(luò)的訪問權(quán)限。應(yīng)用程序安全行為分析(ASBA)實(shí)時(shí)檢測(cè)此類事件,以便快速響應(yīng)、調(diào)查以及自動(dòng)修復(fù)。
安全開發(fā)生命周期(SDLC)和持續(xù)集成和持續(xù)交付(CI/CD)安全監(jiān)控
正在進(jìn)行數(shù)字化轉(zhuǎn)型的組織采用了新的開發(fā)方法。在這個(gè)過程中,他們往往發(fā)現(xiàn)自己面臨新的風(fēng)險(xiǎn),并打開了新的攻擊面。
首先,持續(xù)集成和持續(xù)交付(CI/CD)工具鏈已成為一個(gè)攻擊面。持續(xù)集成和持續(xù)交付(CI/CD)可以訪問企業(yè)的IP(代碼、數(shù)據(jù)、配置、憑據(jù)),并且沒有專用的安全包裝程序,但是必須保護(hù)它不受內(nèi)部威脅、外部攻擊者和進(jìn)程泄漏的影響。
盡管像Jenkins和Spinnaker這樣的持續(xù)集成(CI)工具非常有價(jià)值,并且通常用于自動(dòng)化開發(fā),其中包括工作流、質(zhì)量門、升級(jí)、缺陷跟蹤等,但此處的失敗或受到攻擊有可能對(duì)企業(yè)造成災(zāi)難性破壞。
例如,代碼推送、升級(jí)和恢復(fù)越來越自動(dòng)化,其恢復(fù)時(shí)間以分鐘或秒為單位。惡意內(nèi)部人員或外部人員對(duì)持續(xù)集成(CI)工具鏈的破壞可能會(huì)無限期地中斷軟件構(gòu)建活動(dòng),也可能阻止恢復(fù)失敗的服務(wù)。
在損害擴(kuò)散之前,應(yīng)用程序安全行為分析(ASBA)可以進(jìn)行分析、檢測(cè)、警告,并減輕工具鏈及其交付的業(yè)務(wù)流程中的危害。具體來說,應(yīng)用程序安全行為分析(ASBA)可以監(jiān)視多個(gè)元素,其中包括訪問源代碼存儲(chǔ)庫的人員或內(nèi)容、從Nexus提取的人員、對(duì)Jenkins工作流所做的更改等等。應(yīng)用程序安全行為分析(ASBA)還可以提供取證數(shù)據(jù),并最終阻止未經(jīng)授權(quán)的活動(dòng)。
其次,在開發(fā)過程中使用第三方代碼會(huì)帶來安全風(fēng)險(xiǎn),特別是隨著開源組件使用的增加。當(dāng)這些構(gòu)件和復(fù)雜的漏洞與掃描程序發(fā)現(xiàn)可利用的漏洞的相對(duì)無效相結(jié)合時(shí),安全風(fēng)險(xiǎn)將會(huì)顯著增加。
TrueFort平臺(tái)及其應(yīng)用程序安全行為分析(ASBA)方法可通過檢測(cè)行為異常來提供針對(duì)運(yùn)行時(shí)應(yīng)用程序保護(hù)的最后一道防線,并確保檢測(cè)行為異常與執(zhí)行攻擊的方法無關(guān),無論是第三方或自定義代碼中的漏洞還是其他原因。
第三,雖然產(chǎn)品團(tuán)隊(duì)通常采用測(cè)試驅(qū)動(dòng)開發(fā)(TDD)使軟件測(cè)試實(shí)現(xiàn)自動(dòng)化,但很少有產(chǎn)品具有足夠的安全驗(yàn)證。這包括評(píng)估工件(容器、WAR文件等)、代碼和API的實(shí)現(xiàn),以確保在將其發(fā)布之前它們是安全的。盡管代碼質(zhì)量和代碼分析可能會(huì)帶來安全性,但不能將其視為一個(gè)包羅萬象的東西。
應(yīng)用程序安全行為分析(ASBA)可以提供關(guān)鍵的反饋循環(huán),以增強(qiáng)驗(yàn)證階段的防御能力。
例如,在2019年7月8日,Ruby庫強(qiáng)密碼中報(bào)告了一個(gè)零日漏洞。這個(gè)零日漏洞在數(shù)據(jù)庫中沒有被識(shí)別,因此沒有這些漏洞源的靜態(tài)和動(dòng)態(tài)代碼分析工具不太可能檢測(cè)到問題。防火墻也受到同樣的限制。也就是說,防火墻通過阻止已知威脅而不是零日攻擊來保護(hù)外圍并防止數(shù)據(jù)泄漏。
相比之下,應(yīng)用程序安全行為分析(ASBA)會(huì)在POST活動(dòng)中檢測(cè)到異常統(tǒng)一資源定位系統(tǒng)(URL),并向其發(fā)出警報(bào),該URL只在數(shù)據(jù)庫遭到破壞后才發(fā)生。在此示例中,應(yīng)用程序安全行為分析(ASBA)通過降低風(fēng)險(xiǎn)、影響和可能性來增加驗(yàn)證階段的實(shí)力和深度。
測(cè)試階段(UAT、負(fù)載、A:B)也是開始使用應(yīng)用程序安全行為分析(ASBA)剖析正常行為的理想階段,因?yàn)閼?yīng)用程序在構(gòu)建后便立即起作用。通過觀察用戶接受、壓力測(cè)試等過程中的行為,可以構(gòu)建安全策略來檢測(cè)、預(yù)防和保護(hù)。例如,諸如Chaos Monkey之類的工作負(fù)載模擬和彈性工具會(huì)生成流量和有價(jià)值的數(shù)據(jù)集,可用于通知站點(diǎn)可靠性工程(SRE)、開發(fā)事件響應(yīng)流程,實(shí)施微細(xì)分策略以及使響應(yīng)工作流程自動(dòng)化。
運(yùn)行時(shí)進(jìn)行保護(hù)
在理想情況下,已部署的應(yīng)用程序?qū)⑽≡陂_發(fā)和測(cè)試過程中的所有安全經(jīng)驗(yàn)。這似乎顯而易見,但往往被部分或完全忽視。
在Devops圈子中經(jīng)常聽到“我們?cè)谏a(chǎn)中測(cè)試”這句話。實(shí)際上這是可行的,因?yàn)椴渴鸺軜?gòu)、操作、規(guī)模和生產(chǎn)中的其他因素是唯一的。而且,A:B測(cè)試以及Canary測(cè)試、部署和操作使這種獨(dú)特性更加復(fù)雜,所有這些產(chǎn)生了不同的用例。
應(yīng)用程序安全行為分析(ASBA)通過在反饋回路中提供見解來幫助優(yōu)化站點(diǎn)可靠性工程,實(shí)現(xiàn)服務(wù)水平目標(biāo),從而彌補(bǔ)測(cè)試與部署之間的鴻溝。
與傳統(tǒng)的應(yīng)用程序性能管理(APM)或日志分析解決方案不同,應(yīng)用程序安全行為分析的實(shí)時(shí)警報(bào)和取證審核功能可以提供可行的答案,并消除查詢非結(jié)構(gòu)化數(shù)據(jù)的線索的需要。這樣,應(yīng)用程序安全行為分析(ASBA)可以在整個(gè)安全開發(fā)生命周期(SDLC)中以及部署和運(yùn)行應(yīng)用程序時(shí)提供對(duì)威脅的可見性。