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