<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    從重大漏洞應急看云原生架構下的安全建設與安全運營(下)

    VSole2022-01-25 10:52:51


    前言:

    前一篇文章從重大漏洞應急看云原生架構下的安全建設與安全運營(上)中,我們簡要分析了對于重大安全漏洞,在云原生架構下該如何快速進行應急和修復,以及云原生架構對于這種安全應急所帶來的挑戰和優勢。事件過后我們需要痛定思痛,系統的來思考下,面對云原生架構如何進行有效的安全建設和安全運營,使得我們在安全事件的處置上可以做到游刃有余。

    騰訊云容器服務TKE目前擁有國內最大規模的Kubernetes集群,運行了包括游戲、支付、直播、金融等多個應用場景。而集群的穩定運行離不開安全能力的保駕護航,騰訊云容器安全服務TCSS掌握了業內最前沿的云原生安全視角,為TKE的安全治理提供持續指導并沉淀了豐富的思考和最佳實踐。

    本文將結合我們的安全建設和安全運營實踐,系統的分享我們對于云原生架構下安全建設和安全運營的思考。

    2、云原生架構下的安全建設與安全運營

    安全運營是目標,安全能力是手段。安全能力的建設與安全運營有著緊密的關系,安全能力建設是安全運營的基礎,巧婦難為無米之炊,更好的安全能力建設可以使安全運營更加順暢,同樣安全運營也能給安全能力建設提供更好的輸入和反饋,使安全檢測和防護能力更加精準。

    云原生架構下的安全能力建設和運營,其實是一個很大的命題,限于篇幅本文不會完全覆蓋。本文主要圍繞log4j2漏洞這個典型場景,從安全運營的視角,分析安全能力建設的必選項。

    2.1傳統的安全能力建設必不可少

    首先需要說明的是,不管是我們現在講的容器安全,還是云原生安全,都是一個相對狹義的概念,通常只包含了云原生架構下特有安全風險的檢測與防護。從安全風險角度來看,我們也一直強調,云原生架構下的安全風險是一個增量,因此在整體的安全建設上,一定是個縱深防御的體系,不是某個產品單打獨斗所能完成的。

    例如南北向流量出入口的WAF、防火墻、抗D等,假如我們的云原生是建立在IaaS基礎之上的,那么VPC、甚至是underlay層面的網絡分級分域的隔離和入侵檢測,這些都是云原生安全建設的基礎。

    在這次log4j2漏洞的應急處置中,我們也發現,即使是容器環境,通過升級WAF規則、更新防火墻出站策略等方式,也能在第一時間實現一定程度的漏洞緩解和阻斷。

    騰訊云在2021年11月發布的《騰訊云容器安全白皮書》中,也提出了層次化的容器安全體系框架,其中很重要的一部分就是基礎安全,這里的基礎安全就是包括了原有的數據中心安全以及云安全建設所覆蓋的內容。

    2.2安全運營驅動安全能力建設

    對于體系化的安全建設和安全運營,一些技術組織以及標準化組織,也提出過相關的標準框架,這些框架對于我們在安全建設上,都有著重要的指導和參考意義,這里我們以NIST提出的網絡安全框架 為例來作為我們云原生安全建設的參考。

     

    參考NIST網絡安全框架,我們同樣將云原生安全建設劃分為五個并行并且連續的步驟,分別是識別、防護、檢測、響應和恢復。

    2.2.1安全識別

    (1)集群資產識別

    安全識別最主要是體現在資產識別上。這里的資產既包括cluster、node、namespace、pod、service、container等Kubernetes資源層面的資產,同樣還包括鏡像倉庫、容器鏡像等維度的應用資產信息。

    云原生架構下,除了基本的資產識別盤點之外,還需要能夠發現這些資產之間潛在的資源和業務之間的邏輯關系。這樣一旦檢測到某個鏡像包含新的漏洞,或者檢測到相應的入侵行為,需要能夠快速進行所有資產和人員的自動化關聯定位,發現影響范圍,以及定位安全責任人,進而快速進行處置。

    (2)自建容器識別

    除了對于標準集群層面的資產具備上述識別能力外,對于研發系統等相對復雜的環境同樣需要有一定的適配能力。例如,在研發環境中,除了標準集群層面的資產外,還會出現自建的資產,例如用戶用Docker run等命令直接拉起運行的容器。

    (3)業務風險識別

    從安全運營角度看,安全識別還體現在業務風險識別上。我們需要對集群、應用進行清晰的安全風險級別劃分,對于高風險應用,需要采用更高級別的安全策略。例如,對于核心業務系統,要有嚴格的網絡隔離以及訪問控制機制,對于直接暴露出去的服務,在容器維度要有更加嚴格的權限控制等。

    2.2.2安全防護

    具備資產以及業務風險信息后,接下來就需要依賴基本的安全防護能力,實現對已知威脅的安全防護。這里的安全防護主要包括兩個方面:

    (1)系統加固

    ?  配置檢測與修復

    系統加固可謂是個老生常談的話題了,尤其是配置檢查與安全配置加固,但是在云原生架構下,這一點是尤為重要的。因為從容器的設計理念來看,其與操作系統共享內核,給了容器用戶更大的可操作空間,因此,配置的安全與否將在很大程度上影響著整個系統的安全性。

    從前文的容器環境主要入侵路徑可以看出,通過主機攻擊容器是其中重要的一種路徑,例如通過Docker Remote API。因此安全能力需要包括全面的配置檢查。

    配置加固雖然說起來是個老問題,但是在云原生環境中,真正實現完整的安全能力還是比較復雜,這既包括Kubernetes、Docker、Istio等基礎平臺與組件的加固,還包括鏡像內應用軟件的配置加固,這個做起來就更復雜一些。我們在這里就不再展開。

    從安全運營角度看,我們需要能夠根據配置檢查得到的信息,將基本的配置進行安全性加固。同時一個重要的點就是,安全配置與業務穩定運行之間的平衡,一方面需要保證充分實現了安全性,另一方面就是不會對業務的可用性和穩定性造成影響。這就需要在配置加固的同時,結合業務特性與安全配置要求,靈活對配置策略進行調整,這將會是一個持續的修正和完善的過程。

    ?  漏洞檢測與修復

    已知漏洞修復同樣是個古老的話題,包括主機層面的漏洞和鏡像的漏洞,對于檢測出來的漏洞,需要根據漏洞的威脅等級以及利用難易程度等信息,確定是否需要修復以及修復的優先級。

    ?  鏡像安全評估與修復

    容器鏡像作為云原生應用的源頭,除了漏洞之外,還需要進行更多維度的安全性評估。例如至少需要包含以下幾個方面:鏡像內敏感信息的檢測,確保不會發生敏感信息泄露;鏡像中病毒木馬等惡意文件檢測,這主要針對不確定來源的公開鏡像;鏡像構建的合規性檢測,比如COPY和ADD的使用區別等。

    除了針對上述鏡像風險的檢測和修復之外,在安全運營上還需要考慮對僵尸鏡像清理,這既包括對鏡像倉庫的清理,也包括對集群node節點的清理,這對于減小攻擊面有著重要的作用。

    同時,針對不同鏡像需要支持自定義的檢測規則,不同的組織用戶或者不同類型業務的鏡像,對安全的要求是不一樣的,因此在鏡像的安全評估上,除了基于一套通用的檢測評價規則之外,還需要支持用戶的自定義規則,這樣可以結合前文的業務風險識別,針對不同的鏡像,靈活采用不同的安全規則。

    ?  風險管理

    在運營管理上,針對上述提及的配置、漏洞等風險信息,需要有一套完善的閉環風險管理流程,確保完全實現了風險的識別、修復以及確認。

    (2)安全防護

    除了系統加固外,在安全防護階段,還應該在不同層面,針對已知可能發生的入侵風險,通過相關的防護能力和防護策略進行攻擊的預防。

    ?  準入控制

    準入控制顧名思義就是在云原生應用的全生命周期流程中,根據安全的要求,在不同的階段進行控制和阻斷,進而實現安全性的目標,這也是DevSecOps的一項基本要求。云原生架構憑借其靈活的資源管理與自動化的應用編排,給安全性的控制提供了充分的便利。準入控制的價值,一方面體現在安全風險的預防上,另一方面,一旦log4j等重大0day爆發后,可以通過準入控制,快速控制影響面,防止風險新增。

    從生命周期流程看,準入控制需要分別從研發(dev)和運行時(ops)兩個階段來實施。研發階段的準入主要指在CI、入庫等階段,進行漏洞、敏感信息之類的安全風險的檢測,只有符合安全要求后,才允許進入流水線的下一個階段。這里的準入條件通常需要涵蓋前文講的各種加固內容。

    運行時的準入控制,則主要體現在應用被部署運行的階段,只有符合安全要求的容器/pod,才允許被拉起運行,這里的準入條件通常包括對資源限制的檢測、對syscall/capability等權限限制的檢測等。

    同樣,從運營的角度看,準入控制規則除了標準默認的之外,還需要能夠根據應用進行靈活則調整和完善。

    ?  運行時攔截

    云原生架構下的容器內,承載的是微服務應用,因此理論上是不應該具備高權限指令的執行,這一點我們在準入控制雖然做了一定程度的預防。這里我們基于運行時安全能力,還需要實現對容器內高危操作的攔截,例如高危命令、高危系統調用等,在不同維度實現安全的縱深防御。

    ?  網絡隔離

    橫向擴展是攻擊者在實現第一步攻擊之后的操作,也可以稱為后滲透階段。在云原生網絡的設計中,通常默認是不具備任何網絡隔離能力的,因此,需要設置并實現一套完善的網絡隔離機制,實現不同業務之間的網絡隔離。

    云原生架構下的網絡組織形態,區別于傳統的基于主機或者虛擬機的網絡,在Kubernetes中,網絡的最小單位是Pod,而Pod中承載的是業務容器。因此,在實現網絡隔離的時候,傳統的基于IP、端口的網絡策略將不再適用,我們需要基于label、service等資源,實現不同粒度的網絡隔離。

    ?  防護策略管理

    在運營過程中,如何設置準入控制、操作攔截、網絡隔離等策略,這是一個令人頭疼的問題,因為無論是安全管理員、運維管理員,甚至是開發人員,都很難完全講得清楚這些規則該如何配置,才能實現相對最安全的狀態。

    這是云原生架構下安全運營的一個挑戰,同時云原生架構本身也提供應對這種挑戰的優勢。前文提到云原生架構的一個重要特性就是不可變的基礎設施,這就意味著,我們可以通過白名單、行為模型等方式,基于業務特性以及歷史運行數據,自動化的學習生成一套安全基線,這個安全基線將成為各種防護策略配置的重要參考。

    2.2.3安全檢測

    安全永遠是一個攻防博弈的過程,而防守方往往處于相對劣勢的地位,甚至可以說沒有攻不破的系統。

    在云原生架構下,業務變得越來越開放和復雜,攻擊者的手段越來越多樣化,前文所述的防御攔截措施,總是難以應對所有的威脅,有些高級定向攻擊或者是像針對log4j2這種0day漏洞的攻擊,總是可以輕易的繞過各種防御手段,讓安全威脅防不勝防。

    因此,在完成了上述所有的防御攔截措施之后,還需要持續的對云原生系統進行運行時監測以及安全檢測。基于云原生架構的特性,這里將安全檢測分為兩個維度來進行。

    1)系統維度的威脅檢測

    主要針對容器內的行為來進行,比如容器內進程異常的檢測、文件異常的檢測、用戶異常的檢測等,通過這些細粒度的異常檢測,發現諸如提權、挖礦等攻擊行為。

    網絡維度的威脅檢測。主要面向的是后滲透階段的橫向移動,雖然我們在防護階段已經設置了嚴格的訪問控制策略,但是在網絡可達范圍內的橫向移動攻擊,仍然會帶來重要的安全威脅。網絡威脅檢測主要分為兩個方面:一方面是從網絡行為的角度,基于Flow實現網絡流量尤其是東西向流量的異常檢測,這對于端口探測、APT攻擊,甚至是新型的網絡威脅或者高級的網絡威脅等檢測將會起到重要的幫助(NDR);另一方面就是從數據包的角度,分析容器之間網絡的數據包異常,實現容器網絡的入侵檢測(NIDS)。

    2)應用維度的威脅檢測

    同樣面向是后滲透階段的橫向移動,云原生時代應用的微服務架構使得容器間的網絡通信會存在大量的API調用,確保所有這些API之間調用都是安全的,對于云原生應用的安全有著重要的意義。例如,在已攻陷的容器中,通過API的方式獲取其他服務的數據、或者是通過構造惡意的參數實現對關聯服務的攻擊。因此,需要在應用的維度實現對API調用異常的檢測,比如調用行為、調用路徑、調用參數等。

    2.2.4安全響應

    安全響應主要是針對前一個步驟的安全檢測告警所做出的處置措施。在云原生架構下的安全響應,尤其是網絡安全層面的安全響應,我們更傾向于使用旁路檢測?響應處置這樣的操作步驟,而不是像傳統網絡安全中串聯接入IPS、WAF這種直接阻斷式的檢測響應,這樣的設計主要是從業務性能的角度出發。

    威脅的響應主要也是包括兩個方面:

    (1)處置

    通過網絡隔離、暫停容器、停止異常進程、銷毀容器等方式,實現對告警的響應處置。這里有一個前提,就是在安全能力的建設過程中,鑒于容器的短生命周期特性,需要實現完善的日志和追蹤記錄,以便實現處置后的溯源取證。

    處置的過程中,對于某些確定性異常,可以通過一鍵阻斷、一鍵隔離等方式,實現處置操作的自動化,以降低運營成本。

    (2)溯源

    根據容器的告警、日志、追蹤等數據以及數據間的關聯分析,實現對告警的溯源分析,明確攻擊鏈路,確定入侵原因。

    2.2.5安全修復

    在安全修復階段主要包括兩個方面的內容:一方面就是針對入侵原因,對相關風險進行加固性修復;另一方面,就是從加固、防護、檢測等步驟,分別更新相關的安全策略,實現運營反饋。

    3.總結

    Log4j2漏洞已經過去了一個多月,相信很多該打的補丁都已經修復完畢,這次突發的應急事件,是否讓我們需要重新思考云原生架構下的安全建設和安全運營。漏洞或者入侵很難預測,不知道下一次什么時候還會發生,痛定思痛,到那時我們能否可以從容應對。

    希望本文的思考能給云原生安全建設帶來一些思路和幫助,如有任何建議或疑問,歡迎文末留言。

    容器技術應用架構
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    主要介紹了容器技術的發展、以Docker為代表的容器技術生態以及容器技術應用場景。
    與個人消費者移動應用相比,企業移動應用的顯著特點是業務本身的敏感性,特別是企業敏感程度較高的辦公類、生產類、銷售類應用,其業務更需要嚴格保護。由于企業移動業務的重要性和特殊性,其面臨的安全風險將比公眾移動網絡更加突出和嚴峻,一旦遭受攻擊其影響和后果將非常嚴重。
    CCF TF(技術前線委員會,Tech Frontier Committee)是中國計算機學會(CCF)為企
    近六成的企業表示,容器及其編排系統自身的安全已成為最突出的云原生安全隱患。報告顯示,仍有約兩成用戶目前無任何針對云原生技術的防護能力。企業人員架構層面,僅有12.04%的受訪者表示,所在企業有單獨的信息安全部門來處理云原生安全問題。云計算安全責任共擔模型發生勒索、挖礦、數據泄露等安全事件,最終蒙受財務和聲譽損失的是云服務客戶。這不僅有助于真正降低云安全事件發生的概率,更有助于產生經濟損失后的定責。
    開源代碼隨意使用開源代碼雖然使用方便,但會帶來許多安全威脅。容器鏡像加固對容器鏡像進行加固有助于限制潛在的安全風險并減少漏洞。企業要確保不斷地掃描它們,以查找其中可能潛入的安全漏洞。DAST通常在應用程序部署到試運行環境之后完成。確保容器環境的可觀察性安全運營團隊需要了解全局,以便盡早緩解威脅,這就是合作至關重要的原因。
    零信任安全代表了新一代網絡安全防護理念,并非指某種單一的安全技術或產品,其目標是為了降低資源訪問過程中的安全風險,防止在未經授權情況下的資源訪問,其關鍵是打破信任和網絡位置的默認綁定關系。
    7月9日,騰訊安全正式發布騰訊云容器安全服務產品TCSS,騰訊云容器安全服務為企業提供容器資產管理、鏡像安全、運行時入侵檢測等安全服務,保障容器從鏡像生成、存儲到運行時的全生命周期,幫助企業構建容器安全防護體系。Tripwire 2019年對311位IT安全專業人員進行了調研,發現60%的組織都遭遇過容器安全事故,《報告》數據也顯示63%的用戶認為容器安全是緊迫需求。目前,TCSS資產管理模塊已支持9種資產信息統計。
    TEE 是一個隔離的處理環境,代碼和數據在執行期間受到保護,其內存區域與處理器的其他部分分離,并提供機密性和完整性屬性。其目標是確保一個任務按照預期執行,保證初始狀態和運行時的機密性和完整性。TrustZone 技術的優勢在于它可以保護數據的安全與完整,避免數據受到惡意攻擊。在使用 TrustZone 的平臺上,通常由安全世界的受信任的特權內核來維持此類應用程序的生命。KNOX 是一款旨在為企業數據保護提供強有力保障的國防級移動安全平臺。
    當前,以數字經濟為代表的新經濟成為經濟增長新引擎,數據作為核心生產要素成為了基礎戰略資源,數據安全的基礎保障作用也日益凸顯。伴隨而來的數據安全風險與日俱增,數據泄露、數據濫用等安全事件頻發,為個人隱私、企業商業秘密、國家重要數據等帶來了嚴重的安全隱患。近年來,國家對數據安全與個人信息保護進行了前瞻性戰略部署,開展了系統性的頂層設計。《中華人民共和國數據安全法》于2021年9月1日正式施行,《中華人
    隨著大數據、物聯網、云計算、5G等關鍵技術的不斷突破發展,企業大量的數據慢慢遷移到云端,業務上云也已成為潮流和趨勢,“云原生”(CloudNative)作為一種新的應用程序開發和部署的方法,可以提高應用程序的可靠性、彈性和可擴展性,同時降低開發和運維的成本,采用云原生的開發和部署模式正逐漸成為行業發展的趨勢。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类