項目背景:近年來,云計算、AI人工智能、大數據等信息技術的不斷發展、各行各業的信息電子化的步伐不斷加快、信息化的水平不斷提高,網絡安全的風險不斷累積,金融證券行業面臨著越來越多的威脅挑戰。特別是近年以來,開源生態的不斷完善與發展,越來越多的企業引入了開源。對于金融證券行業而言,開源生態共建與安全威脅也呈現了“共生共存”的狀態。同時,某某證券正在進行數字化轉型能力建設,眾多業務都在從傳統開發到敏捷式開發轉變,迭代速度的加快與發版周期的縮短帶來了一系列安全問題:
漏洞難以發現:在開發過程中缺乏安全知識、代碼規范等,導致開發出的系統或者容器存在SQL注入、密碼重置、XSS、XXE、命令執行等漏洞難以被發現,可能對整個應用系統框架乃至整個公司造成不可估量的影響。
缺乏安全工具:DevOps平臺以CI/CD流水線為基礎,無論上線前,還是上線后,整個流程中缺乏SAST、IAST、PTE、SCA、RASP等安全工具,同時安全部門也希望引入相關安全工具,完善整個安全體系。
整體安全缺失:公司內安全部門更側重人工滲透,根據以往測試結果來看,應用安全和組件安全漏洞檢測結果已經表現極為突出,需要針對這個現狀進行改善。
管理規范落地艱難:目前制定的安全流程規范停留在紙面,難以執行,研發過程難以監控、度量、改進,同時漏洞修復工作推動也是困難重重。
DSO體系搭建概念空洞:現有的業務系統,并結合已有流程、安全人員賦能,還不足以保證業務系統安全運營。
項目方案:
- 總體架構
圖1 某某證券DevSecOps開發安全一體化管控項目框架
該證券公司DevSecOps開發安全一體化管控項目分為源頭治理階段、研發過程治理階段、上線運營治理階段。
源頭治理階段主要針對供應商提供的合作開發或者直接提供的產品進行管控。依托二進制SCA能力及軟件采購規范、SBOM要求、供應商管理規范、風險控制模型等管理制度,配合軟件SBOM審查、組件/許可風險審查、供應鏈安全審查等工作實現軟件源頭引入安全。
研發過程治理階段,針對SDLC的開發、測試與交付環節,通過引入SAST(靜態應用安全測試)、SCA(軟件成分分析)、IAST(交互式應用安全測試)等安全掃描工具提升左移代碼安全掃描的能力,通過工具與CI/CD自動化流程的對接配合質量門禁管理實現自動的發版質量控制,進而融入devops,建立標準的devsecops體系。
ASOC平臺的引入可以有效支持實現漏洞數據的統一分析及整體關聯全程治理。首先,通過對接安全工具鏈、OA、電子郵箱、即時通訊,對各安全場景進行工作流編排定制和統一管理,配合統一的質量紅線控制,實現對安全活動過程透明化、管理自動化管理。其次,整合SCA、SAST、IAST等檢測結果,進行互相風險驗證和整合關聯,實現業務部門聚焦真實風險,降低漏洞管理工作量,提升驗證修復效率。
- 主要能力與關鍵技術特點
- 供應商開源安全管控
圖2 供應商開源安全管控效果圖
對于供應商提供的合作開發的產品,可以通過源碼或者二進制檢測對其中的軟件成分進行分析,發現其中的安全漏洞風險和許可證合規風險。上線后通過運行時監控,隨時對開源組件進行監控管理。
對于供應商直接提供的產品,要求對方在交付時除提供安裝包外,還需提供相應的SBOM清單。通過二進制SCA對安裝包掃描生成SBOM,并于供應商提供的SBOM清單做一致性比對審查差異,實現源頭管控。
- 研發過程的入口管控,數字供應鏈防火墻
圖3 入口管理與數字供應鏈防火墻
針對研發過程管控,首先要針對入口進行管控。就好比針對水庫進行水污染治理一定要先從進水口的污染封堵開始,后續的治理才有意義。通過建立私服庫、數字供應鏈防火墻可以實現這一目標:本地倉庫在拉取中央倉庫時需要經過供應鏈防火墻,對有風險的組件拉取行為進行阻斷,禁止進入內網;開發側進行本地引入組件本地開發時,經過防火墻對有風險未及時清退的組件進行攔截;安全管理人員根據企業實際情況和使用阻斷記錄等信息,對防火墻策略進行及時調整。
- 研發過程管控之DevSecOps落地
圖4 devsecops實施圖
上圖說明如下:
通過私服制品倉庫的建立、數字供應鏈防火墻與門禁規則配合,嚴格控制第三方和開源組件的來源;研發人員需要安裝SCA與SAST工具提供的IDEA、VisualStatio等IDE插件,在編碼過程中經常使用插件進行代碼質量掃描,此時的修復成本是最低的;針對代碼倉庫提供發版觸發SCA與SAST工具進行掃描,通過質量門禁進行發版質量管控與阻斷。同時針對代碼倉庫進行定時全量回掃,嚴格保障代碼倉庫的清潔;測試階段通過引入IAST工具實現安全測試左移,在測試人員進行功能測試、性能測試的同時完成低侵入自動化滲透測試。由于IAST可以精確定位到漏洞的具體位置到代碼行和相關參數,并且提供相應的修改建議和代碼示例,可以幫助研發人員更早期發現安全漏洞,更低成本地解決安全漏洞,降低因安全問題導致返工的概率;建立安全編碼規范和安全測試標準:建立編碼規范、對安全人員進行安全培訓、引用相對安全的開發框架。建立統一的測試標準(測試項),盡可能覆蓋各種類型的安全漏洞;通過ASOC進行總體調度,將開發安全、漏洞管理、開源組件安全、供應鏈安全進行統一管理,實現漏洞數據的統一分析及整體關聯全程治理。
- 構建供應鏈上完整的SBOM信息
圖5 構建供應鏈上完整的SBOM信息
通過明確識別和詳細記錄軟件組件及其相互關系以提升軟件透明度,可以增強軟件供應鏈的安全可控能力。
- 數字供應鏈安全情報的支撐
圖6 構建供應鏈上完整的SBOM信息
依托懸鏡數字供應鏈安全情報預警平臺能力,建立開源風險情報響應機制,應用漏洞事件預警、供應鏈投毒事件、開源許可糾紛事件等開源組件風險情報,實時預警企業行業內安全事件,提前響應及防護。
單獨的漏洞信息實際很難被應用,只有圍繞漏洞所能導致的真實風險來提供漏洞情報,才是抵御漏洞威脅的突破口。懸鏡數字供應鏈安全情報預警平臺聚合全面的多維度漏洞信息,通過漏洞復現、標簽標定、補丁驗證、POC/Exp測試等一系列流程,形成精準可靠的漏洞情報,實時賦能在相關產品上。
項目亮點:
智能代碼疫苗技術:本項目的實踐應用基于智能代碼疫苗技術。智能代碼疫苗技術作為數字供應鏈安全的核心關鍵技術,旨將智能風險檢測和積極防御邏輯注入到運行時的數字應用中,如同疫苗一般與應用載體融為一體,突破性地實現對潛在風險的自發現和對未知威脅的自免疫。基于智能情境感知的代碼疫苗單探針技術,統一融合了IAST(交互式應用安全測試)、SCA(軟件成分分析)、RASP(運行時應用自保護)、DRA(數據風險治理)、API分析、APM監控(應用性能管理)等能力,僅需一次部署解決應用面臨的組件漏洞、敏感數據泄漏、運行異常、0Day攻擊等風險,減輕多探針運維壓力的同時,為應用植入“疫苗”,實現并推動應用與安全的共生。
基于DSDX SBOM格式做統一安全評估標準:本項目是率先支持DSDX(國內首個自研SBOM軟件物料清單格式)的DevSecOps開發安全一體化管控項目。作為DevSecOps敏捷安全的落地治理條件之一,DSDX能夠統一軟件信息接口,對采購軟件和自研軟件風險評判進行標準統一。關于SBOM信息數據的組成,可通過安全檢測工具鏈接實現,因此通過引入的懸鏡源鑒SCA工具和懸鏡SAST工具,支持管理過程中必要的技術控制卡點和SBOM輸出。
基于大數據的VPT漏洞關聯分析和漏洞自動化編排:本項目采用自動化的安全編排方法,靈活調用并獲取各類型應用安全檢測工具的檢測結果,將各階段的檢測結果進行統一歸化、關聯、操作并統一分析,多維度對漏洞優先級進行劃分,實現了安全度量指標化及統一威脅可見,有效解決不同檢測工具檢測的漏洞數據難以統一評估、管理、分析的問題;同時對接效能平臺,自動推送漏送信息和接收漏洞處理結果,輕松地設置跨團隊的工作流,跟蹤漏洞處理狀態,方便閉環安全風險、大幅提高處理風險效率。
項目效果:本項目滿足了銀保監會和證監會等行業監管機構針對開發安全管理規范、重要信息系統上線前執行程序和源代碼安全審查的建設要求,在響應國家政策號召的同時,實現了企業開發安全管理能力水位的提升。
本項目通過將SAST(靜態應用安全測試)、SCA(軟件成分分析)、IAST(交互式應用安全測試)能力無縫嵌入到DevOps全流程中,同時經過ASOC平臺自動化編排及統一管理,實現全生命周期漏洞閉環管理,研發和測試人員在完成應用功能測試的同時即可透明實現深度業務安全測試,有效覆蓋95%以上的中高危漏洞,包括各種復雜的Web漏洞、第三方開源組件漏洞及業務邏輯漏洞等,高效實現應用上線前的安全審查,防止應用帶病上線,從而有效避免了應用發布后因漏洞風險造成業務中斷等直接經濟損失。
本項目基于自動化安全工具,不增加現有團隊的工作量、不改變工作流程,漏洞修復周期縮短50%,并幫助安全人員將漏洞檢測及修復工作前置左移,從軟件開發源頭發現安全問題,大幅減少上線運營后的修復成本,顯著提升開發人員的安全編碼水平和工作效率,幫助人員工作效能實現最大化。
本項目通過二進制文件檢測、CI/CD流水線檢測、系統運行時檢測、倉庫掃描檢測、第三方平臺接入數據同步、手動導入等,完整覆蓋公司所有開源與第三方組件,以及成品軟件資產信息,在供應鏈使用排查、0day漏洞爆發應急處置、監管單位要求信息報送方面實現最快速高效工作方式。