一體式云原生安全防護體系的建設路徑
摘要:本文綜合分析了相關背景與云原生安全面臨的挑戰,從云原生計算環境等主要領域深入分析了安全風險的來源,介紹了典型開源安全工具,提出業內首個云原生應用保護平臺模型,并分層對模型中的安全能力進行了詳細介紹,為行業用戶深入實踐云原生技術、構筑完善的云原生安全能力提供參考。
0 引言
云計算是信息技術發展和服務模式創新的集中體現,是信息化發展的重要變革和必然趨勢。隨著企業數字化轉型的逐步深入,如何深化用云進一步提升云計算使用效能成為現階段云計算發展的重點。云原生以其高效穩定、快速
2.2 主動的入侵和情報監控
響應的特點極大地釋放了云計算效能,成為企業數字業務應用創新的原動力,有效推動了國民經濟的高質量發展。云原生技術架構充分利用了云計算彈性、敏捷、資源池和服務化特性,在改變云端應用的設計、開發、部署和運行模式的同時,也帶來了新的安全需求和挑戰。傳統基于邊界的防護模型已不能完全滿足云原生的安全需求,需要設計全新的云原生安全防護模式,基于動態工作負載,實現云原生技術架構和規模應用的全面防護。
1 背景與形勢分析
1.1云原生技術在生產環境采納率急速升高
云原生的理念經過幾年發展,不斷豐富、落地、實踐,云原生已經渡過了概念普及階段,進入了快速發展期。云原生技術以其高效穩定、快速響應的特點驅動引領企業的業務發展,成為企業數字業務應用創新的原動力。過去幾年中,以容器、微服務、DevOps、Serverless為代表的云原生技術正在被廣泛采納,2020年43.9%的國內用戶已在生產環境中采納容器技術,超過七成的國內用戶已經或計劃使用微服務架構進行業務開發部署等 ,這使得用戶對云原生技術的認知和使用進入新的階段,技術生態也在快速的更迭。
1.2 顛覆性技術架構變革帶來全新安全隱患
云原生技術架構充分利用了云計算彈性、敏捷、資源池和服務化特性,在改變云端應用的設計、開發、部署和運行模式的同時,也帶來了新的安全要求和挑戰。以容器、Serverless為載體的云原生應用實例極大地縮短了應用生命周期;微服務化拆分帶來應用間交互式端口的指數級增長以及組件間組合設計復雜度的陡升;多服務實例共享操作系統帶來了單個漏洞的集群化擴散;獨立的研發運營流程增加了軟件全生命周期各個環節的潛在風險。云原生的特有屬性帶來了架構防護、訪問控制、供應鏈、研發運營等領域全新的安全隱患和安全防護需求。
1.3 傳統的邊界防護模型難以應對云原生安全風險
云原生關注快速開發和部署,這種特性要求進行防護模式的轉變,從基于邊界的防護模式遷移到更接近基于資源屬性和元數據的動態工作負載的防護模式,從而有效識別并保護工作負載,以滿足云原生技術架構的獨特屬性和應用程序的規模需求,同時適應不斷變化的新型安全風險。安全防護模型的轉變要求在應用程序生命周期中采用更高的自動化程度,并通過架構設計(例如零信任架構)來確保安全方案實施落地;在云原生系統建設初期,需要進行安全左移設計,將安全投資更多地放到開發安全,包括安全編碼、供應鏈(軟件庫、開源軟件等)安全、鏡像及鏡像倉庫安全等。進入云原生時代,物理安全邊界逐漸模糊并變成了無處不在的云原生安全體系,從外到內,無論可視化、運維和安全管理,還是南北向和東西向網絡、容器基礎架構、微服務應用模式、身份安全、數據安全等,都給安全市場帶來了更豐富的產品維度,衍生出更多元的發展機遇。
2 云原生架構下的典型安全風險及解決方案
云原生架構的安全風險包含云原生基礎設施自身的安全風險,以及上層應用云原生化改造后新增和擴大的安全風險,其中最突出的是云原生計算環境環境的安全風險,包括了容器網絡安全、組件安全、容器鏡像安全及鏡像倉庫安全等。
2.1容器化部署成為云原生計算環境風險輸入源
網絡管控層面,網絡的細粒度劃分增加了訪問控制和分離管控難度,訪問控制粒度過粗引入了權限放大的風險導致越權攻擊。網絡分離管控不合理增加了橫向攻擊的風險導致威脅擴展;編排組件層面,云原生編排組件存在漏洞及管控風險增加入侵概率,工具自身漏洞導致非法提權和逃逸攻擊。編排組件不安全配置引起賬戶管理問題導致系統入侵,編排工具組件眾多、各組件配置復雜,配置復雜度的提升增加了不安全配置的概率;容器鏡像層面,鏡像構建部署過程不規范引入自身風險。容器化環境的常見風險之一就是用于創建容器的鏡像版本存在漏洞,從而導致所部署的容器存在漏洞。同時,鏡像來源不可信也可能引發惡意鏡像注入,攻擊者可將含有惡意程序的鏡像上傳至公共鏡像庫,誘導用戶下載并在生產環境中部署運行,產安全問題。運行時層面,容器特性增加云原生運行時逃逸風險和威脅范圍。逃逸風險對于容器化的云原生場景是一個不可避免的風險面,特別是在多業務系統、多租戶環境下,風險更高,直接危害了底層宿主機和整個云計算系統的安全。造成容器逃逸的因素主要有容器 環境配置不當、危險掛載、程序漏洞、宿主機內核漏洞等。
2.2開源社區提供了基礎的單點防護工具
云原生計算基金會(CNCF)托管的安全項目中已初步具備了對容器鏡像、身份認證、基線掃描等風險的單點防護能力,典型的工具如下:
2.2.1 Clair
Clair的目標是能夠從一個更加透明的維度去看待基于容器化的基礎框架的安全性。通過對鏡像的分層文件系統進行掃描,發現漏洞并進行預警,使用數據是基于Common Vulnerabilities and Exposures數據庫(簡稱CVE), 各Linux發行版一般都有自己的CVE源,而Clair則是與其進行匹配以判斷漏洞的存在與否。
2.2.2 dexdex
是一個基于OpenID Connect的身份服務組件,用來進行用戶認證和授權,并提供基于多種標準的身份服務和認證解決方案。dex的設計采用了安全和加密的最佳
實踐來最小化攻擊者獲得系統訪問權限的風險,dex的架構劃分也可以減輕任何單個攻擊可能帶來的損害。例如,dex缺省使用token生命周期管理,并自動輪換簽名密鑰。由于密鑰本身是加密的,攻擊者需要在短時間內同時侵入數據庫和一個dex 工作節點才能得到 token。
2.2.3 kube-bench
kube-bench是針對Kubernetes的安全檢測工具,根據CIS的安全性最佳實踐檢查Kubernetes是否安全。kube-bench 可以運行在本地或 Kubernetes 集群環境中,根據執行的測試結果推薦一些可用于master或worker節點的安全配置。kube-bench通過運行符合CIS Benchmark的測試來實現,并獲得總結性的信息以及相關的修正建議。例如,如果kube-apiserver上關閉了身份認證,給出的建議中會解釋如何啟用身份認證,進行了相關修正操作之后,可以再次運行這個工具進行檢測,直到完全符合安全標準。
2.2.4 Falco
Falco 是一個云原生運行時安全系統,可與容器和原始 Linux 主機一起使用。它由 Sysdig 開發,是 CNCF 的一個沙箱項目。Falco 的工作方式是查看文件更改、網絡活動、進程表和其他數據是否存在可疑行為,然后通過可插拔后端服務發送警報。通過內核模塊或擴展的 BPF 探測器在主機的系統調用級別檢查事件。Falco 包含一組豐富的規則,編輯這些規則以標記特定的異常行為,并為正常的計算機操作創建白名單規則。
2.2.5 Open Policy Agent
在應用開發中,應用程序往往需要跟據特定策略的決策結果來判斷后續執行何種操作。比如,權限校驗就是策略決策的一種典型場景,它需要判斷哪些用戶對哪些資源能夠執行哪些操作。這些策略可能隨著時間需要不斷的動態更新。當前策略決策的邏輯往往硬編碼實現在軟件的業務邏輯中,當需要更新策略規則集時,還需要修改應用代碼、重新部署應用,非常不靈活。Open Policy Agent,簡稱OPA, 為這類策略決策需求提供了統一的框架與服務,將策略決策從軟件業務邏輯中解耦剝離,將策略定義、決策過程抽象為通用模型,實現為一個通用策略引擎,以便適用于廣泛的業務場景。
3 全生命周期全要素覆蓋,構建云原生安全一體式防護體系
云原生作為下一代云計算已經成為業界趨勢,但云原生技術棧的延展突破了傳統的安全防護框架,初期的云原生安全產品大多從云原生安全的一個維度切入,導致云環境下安全孤島和整體復雜性增加,缺乏端到端的可觀測性,云原生安全保護需要一種從開發到運行時全生命周期的一體化防護方案。
Gartner提出了云原生應用保護平臺(CNAPP)模型,模型包含制品安全、云基礎設施安全和運行時安全等內容,旨在整合工具和安全平臺,將安全性和合規性視為跨運營和安全團隊的連續統一體,從而提高云原生的安全性和工作負載可見性。
中國信息通信研究院也牽頭編制了《云原生應用保護平臺(CNAPP)能力要求》標準,標準中定義了制品安全、運行時安全和基礎設施安全領域的多種云原生安全功能,同時具備研發與運營階段全流程的信息雙向反饋和一體化管控能力,實現價值流動,助力企業構架高效便捷的云原生安全防護體系。

圖1 云原生應用保護平臺(CNAPP)能力架構圖
3.1 融合應用云安全防護模型夯實基礎設施安全
云基礎設施安全主要從基礎設施及代碼(IaC)安全、權限管理(CIEM)、云安全態勢管理(CSPM)和云原生安全態勢管理(KSPM)四個層面進行安全能力的構建。基礎設施及代碼(IaC)安全層面,通過將虛擬機、網絡、負載均衡、數據庫等應用轉化機器可讀的定義文件,實現基礎設施管理與持續集成持續交付(CI/CD)工作流的融合,能夠解決原有IT基礎設施管理的成本過高、可擴展性和可用性不足、監控和性能可見性不夠以及配置不一致等問題,IaC安全應具備多種常見類型的IaC文件安全檢測、風險掃描、可視化展示并提供風險描述及安全加固建議等能力;權限管理層面,由于云原生應用的短暫性,用戶身份憑證需要具備頻繁輪換的能力,和限制受損憑證影響范圍的能力,以適應對高速云原生應用的需求。為了進一步有效地保護環境以及駐留在其中的數據,需要具備對用戶、設備、應用服務的聯合身份管理技術,對應用和工作負載做到相互認證彼此通信,實現在多云環境中最小特權原則,以減少過多的權限、訪問權限和云基礎架構權利;云安全態勢管理(CSPM)層面,現代IaaS和PaaS工作負載的復雜性和規模繼續呈指數級增長,為了防止配置錯誤導致整體工作負載風險,應具備對云資產的安全管理能力,如云資產管理、安全基線檢測、云主機風險評估、安全策略管理;云原生安全態勢管理(KSPM)層面,KSPM是一套用于自動化地強化K8s集群的安全性和合規性的工具,KSPM相較于云安全姿態管理(CSPM),CSPM處置企業的所有云基礎設施,而KSPM則關注K8s的安全性。完整的KSPM應具備資產管理、安全基線檢測、組件風險評估以及安全策略管理等方面的能力。
3.2 全流程安全左移打造云原生制品安全
云原生制品安全主要從代碼安全、鏡像安全、安全檢測(包括交互式應用安全檢測和動態應用安全檢測)和制品環境安全四個層面進行安全能力構建。代碼安全方面,重點考慮靜態安全測試和軟件成分分析,通過分析應用程序代碼進行安全漏洞的檢測并管理導入或使用的開源組件,在開發階段對應用程序的安全性進行全面檢測,從而發現安全漏洞,確定應用程序是否易受攻擊;鏡像安全方面,需具備鏡像安全掃描能力和可信鏡像管理能力,幫助用戶提前發現容器鏡像中存在的漏洞、惡意代碼、敏感文件等所面臨的威脅及其存在的脆弱性并進一步開展修復工作,從而有效降低生產環境的安全風險;安全測試方面,需盡可能構建多樣化互補的安全自動化測試能力,讓應用中存在的安全漏洞、不安全方案盡可能在上線前暴露出來并及時修復,以顯著降低應用研發迭代過程中的安全問題修復成本以線上安全風險,重點能力包括動態應用安全測試、交互式應用安全測試;制品環境安全方面,重點圍繞鏡像倉庫、代碼庫以及持續集成持續交付環境等環境的安全能力建設展開。鏡像倉安全應具備倉庫自身安全、鏡像拉取安全以及鏡像安全掃描等方面的能力,代碼倉庫安全應具備倉庫自身安全以及源代碼掃描等方面的能力,并具備持續集成持續交付環境以及制品安全加固的能力。
3.3 關注應用全生命周期防護打造云原生運行時安全
云原生運行時安全主要從Web應用和API保護(WAAP)、網絡微隔離和云工作負載保護(CWPP)三個層面進行安全能力的構建。云原生應用大多通過Web和API方式對外提供服務,隨著云原生架構下微服務的增多,API數量激增,微服務間的網絡流量多為東西向流量,無法通過傳統邊界防御的方式檢測。Web應用和API保護(WAAP)層面,核心安全能力應包括Web應用防火墻、API保護、Bot防護和DDoS攻擊防護,多角度全方位地擴展云上應用安全防護范圍和安全深度;網絡微隔離層面,需要具備流量識別、流量隔離和統計分析能力,能夠識別云原生網絡流量基本信息及異常行為,對不同的流量特征進行精準隔離,對不同維度的流量日志的統計分析與可視化,以及自動化產生隔離策略實現對網絡流量的閉環管理;云工作負載保護(CWPP)層面,主要圍繞主機運行時安全和容器運行時安全展開。主機運行時應具備資產清點、風險發現、入侵檢測與響應處置等方面的能力,為物理計算機,虛擬機(VM),容器和無服務器工作負載提供統一的可見性和控制力。在運行時CWPP應該保護工作負載免受攻擊,通常包括系統完整性保護、應用程序控制防護、內存保護、行為監視、基于主機的入侵預防、可選的反惡意軟件保護和容器運行時的入侵檢測與響應、處置等方面的能力。
3.4 建立雙向反饋通道強化云原生安全體系
云原生應用保護平臺應具備雙向反饋能力和環境適配能力。雙向反饋層面,具備與DevOps工作流中各階段的安全檢查工具進行集成的能力,實現檢查結果統一管理,并能夠將檢查結果與開發構建、測試運行和生產運行各階段的數據進行關聯分析,比如問題鏡像是否在運行、運行容器中有漏洞軟件包是否為在組件庫中的位置。同時應具備在DevOps工作流中提供控制能力、安全風險分析能力和控制策略設置能力,也應具備安全問題修復全流程的跟蹤管理能力,能夠分發修復任務并跟蹤問題修復的全流程,實現應用開發與運營全生命周期的安全管理;環境適配層面,云原生應用保護平臺應具備一定的環境適配能力,包括邊緣、多云、混合云等云環境適配、CICD環境適配和異構兼容、信創兼容的物理節點適配。
4 結束語
伴隨企業技術架構全面轉型云原生,業務應用云原生化建設趨勢越發明顯,云原生安全風險日益凸顯。云原生安全作為云原生技術與安全融合的新興領域,正在成為企業和用戶關注的焦點。
中國信息通信研究院發布的云原生應用保護平臺模型,作為業內首個系統性的云原生安全防護體系模型,將為服務商安全產品演進和用戶能力建設提供重要參考。未來,中國信通院還將深耕云原生安全技術領域,在云原生安全運營和托管服務、邊緣云安全等領域持續完善標準體系建設,深化云原生安全平臺建設,為用戶提供安全自檢和攻防演練等公共服務能力,幫助企業定位云原生系統安全問題,驗證安全防護能力。