觀點 | 開源組件漏洞治理實踐與思考
文 / 中國人壽保險股份有限公司 趙佳萌 路向宇 吉達勇 郭永沖
隨著互聯網的蓬勃發展,開源技術廣泛應用于金融科技領域,發揮其先進性、開放性等優勢推動了科技創新和數字化轉型,但隨之而來的安全風險也日益凸顯,當前開源組件漏洞治理困難主要集中在兩個方面:一是缺乏管控機制,存量問題長期滯留無法快速縮減;二是缺乏預警及跟蹤手段,增量問題不斷蔓延無法有效控制。中國人壽研發中心結合科技產品引用開源組件實際情況,聚焦突出問題,緊盯關鍵節點,按照“主動管控、消化存量、控制增量”的工作思路推進開源組件漏洞治理工作。目前,開源組件漏洞占比大幅降低,科技產品安全性得到保障,總體治理工作取得較好成果。
開源組件漏洞治理目標與思路
1.目標
通過開源組件漏洞治理,及時發現并解決安全風險,促進漏洞組件占比指標值顯著下降,提升產品開發團隊安全意識,推進科技產品使用可靠的開源組件,保障科技產品安全性。
2.思路
主動管控:一是聯合質量管理部門、產品開發團隊、安全測試團隊,形成常態化的開源組件安全性提升工作機制,建立開源組件漏洞治理工作指標;二是引入自動化開源組件漏洞檢測工具,保障機制有效落地。
消化存量:提升安全意識,按季度滾動開展存量漏洞檢查及整改工作。
控制增量:建立漏洞預警及跟蹤策略,及時發現增量組件漏洞并跟蹤解決。對每個版本開展開源組件漏洞掃描,推動產品開發團隊及時解決組件風險。
主動管控形成機制
1.建立常態化的開源組件安全性提升工作機制
開源組件漏洞治理非一次性任務,隨業務的發展、新技術的開拓、攻防的博弈等種種原因,治理工作任重而道遠,切實可行的工作機制成為開源組件漏洞治理的關鍵。
為保障工作順利開展,質量管理部門、產品開發團隊、安全測試團隊共同制定了涵蓋“事前、事中、事后”的工作機制:發版前,及時掃描代碼倉庫并預警;發版中,對每個版本開展組件漏洞掃描;發版后,對產品未能及時解決的、隨技術發展而變得不安全的組件進行追蹤整改。
同時,為保障工作切實落地,我們建立了科技產品開源組件臺賬,制定了常態化開源組件安全性提升工作機制,提出了開源組件安全性評估指標。主要指標包括“科技產品使用的存在安全漏洞的開源組件占比”,具體計算方式如下。

2.引入開源組件漏洞檢測能力
工欲善其事,必先利其器。為提升開源組件檢查、統計效率,我們引入了開源組件漏洞檢測工具,并集成到已有的研發安全管理系統(SECMS,Security Management System)中,打造集開源組件漏洞掃描、靜態代碼掃描、動態安全掃描、交互式安全測試能力一體的較為完整的安全測試工具鏈,有效檢測外部開源組件、內部應用程序存在的安全風險。
在SECMS集成新的開源組件掃描工具的過程中,有兩點需要特別關注。一是統一的權限控制,通過對接我司現有的統一身份認證系統實現。二是開源組件漏洞數據更新,隨時間的推移,以往安全的開源組件也可能被爆出漏洞,開源組件漏洞庫需按需更新,確保增量開源組件漏洞被及時發現。
在開源組件漏洞能力集成到SECMS后,我們可以將此能力對外開放。一是定義自動化檢測接口供產品開發團隊在研發流程中調用,實現基于研發流水線的自動化開源組件漏洞檢測。二是將開源檢測能力面向中國人壽各級分公司開放,協助分公司提升其應用的安全水平。
滾動消化存量問題
為推動存量問題快速解決,研發中心信息安全工作小組高度重視,確定了按季度滾動解決存量漏洞的方案,各產品開發團隊嚴格執行整改計劃,質量管理部門和安全測試團隊定期跟進,取得了較好成效。
參照總體治理目標及要求,質量管理部門按季度完成科技產品開源組件安全性評估指標的計算并按指標值對科技產品進行排名后發布。季度指標發布后,由安全測試團隊面向指標值較高的產品開發團隊重點推進,通過溝通會形式進行指標說明、整改建議、整改計劃確認(含整改組件及整改時點),待整改時限后對整改結果完成復核,逐步降低科技產品使用存在已知漏洞的組件安全風險。

圖1 開源組件漏洞整改策略(按季度滾動推進)
及時防控增量問題
為了及時防范增量問題,提出了增量開源組件漏洞預警及跟蹤策略。具體為兩種情況:一是科技產品新引入的組件存在漏洞,此種情況要求產品開發團隊通過升級或修復漏洞的方式就地解決;二是由于攻擊技術的升級,以往安全的組件也可能出現漏洞,此類情況由安全測試團隊根據組件臺賬生成問題整改清單,根據問題優先級確定處理時限,并自動將新增組件漏洞預警消息推送給對應產品負責人,使產品開發團隊及時掌握新增組件漏洞情況并統籌規劃整改工作。
治理成果
通過實施“主動管控形成機制”、“滾動消化存量問題”、“及時防范增量問題”的具體工作舉措,整改開始后首個季度總體“漏洞組件占比”環比下降5%,其中部分科技產品在安全測試團隊專項支持下“漏洞組件占比”環比下降15%以上。經過半年時間,指標值降低到一個較低的區間,治理工作效果顯著。
未來規劃與思考
在質量管理部門、產品開發團隊、安全測試團隊共同協作下,開源組件漏洞得到有效抑制。開源組件漏洞治理工作取得了階段性進展,但在管控力度、數據資產、技術能力等方面還有待提升,后續計劃在以下三個方面深入研究并加強投入,擴大開源組件漏洞治理工作成效及價值。
1.把好入口關,阻斷不安全組件下載
在開源組件引入之初就把好安全關是至關重要的。現在產品開發團隊一般通過中心組件倉庫來獲取開源組件,因此要加強組件的入庫檢查。當前,已實現開源組件漏洞檢測能力對接組件私服倉庫,后續將根據檢測結果自動阻斷不安全開源組件下載到組件倉庫。
2.豐富組件臺賬信息,提升應急處置效率
開源組件臺賬信息對漏洞治理工作意義重大。針對外部披露開源組件漏洞情況,基于組件臺賬可迅速梳理受此組件漏洞影響的科技產品清單。如2021年6月,國外安全研究人員披露Apache Dubbo多個高危漏洞,通過開源組件臺賬快速定位受影響產品,通過告警、排查、處置環節,相關產品均在兩天內修復完畢。后續將不斷豐富開源組件漏洞臺賬信息,重點加強整改措施指導,并推進應急處置能力建設,使突發漏洞應急處置過程更加高效。
3.加強開源組件分析,賦能科技產品選型
對同類別開源組件進行多維度評估,包括組件處理效率、組件更新頻率、漏洞頻率、漏洞修復時限等評估項,通過多方評審綜合評定最優選型方案。推薦組件可基于產品研發流水線自動化定向推薦,為科技產品提供引用或替換的更優選型推薦。
我司開源組件漏洞治理工作仍處在探索階段,未來將在實踐過程中持續優化工作方法,開拓出一條適用于金融保險公司特色的開源組件安全保障道路。