<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-12-13 10:51:47

    容器技術由于其快速啟動、較低資源開銷和輕量級資源隔離的特性,已經成為云環境中應用部署的規范。同時,容器輕量化的特點也使其在邊緣計算場景中得到了廣泛應用。然而,由于邊緣計算場景比云環境的可用網絡帶寬小,在邊緣計算場景使用傳統方式部署容器會因需要提前下載大量容器鏡像數據而造成帶寬占用過多和應用響應延遲低的問題。這是因為在生成標準容器鏡像時,用戶往往會引入許多不必要的數據,使鏡像體積遠大于實際需要。此外,鏡像使用層級結構以方便管理。這種分層結構的共享粒度較大、共享效果差,導致鏡像間存在大量冗余數據。為此,我們以減少容器部署過程中網絡資源的使用,并加速容器部署為目標,提出了一種面向邊緣計算的容器鏡像構建方法。該方法不再一次性下載完整鏡像,而是以文件為粒度根據容器運行情況實時地下載所需文件。此外,通過該方法構建出的新型鏡像對用戶透明,并且與現有框架的命令進行完全兼容。為實現上述特征,我們將傳統容器鏡像解耦為鏡像索引和鏡像文件兩部分。鏡像索引包含在一個單層標準鏡像中以方便其在現有架構下的傳輸。容器對鏡像的訪問被鏡像索引接收,并重定位到對應的鏡像文件。若請求的鏡像文件不在本地,新型鏡像能夠基于鏡像索引從遠程下載對應文件,從而避免在啟動前必須下載完整標注容器,減少了對網絡資源和存儲資源的消耗。此外,新型鏡像的共享粒度從原來的層級細化為文件級,使鏡像數據共享效果得到提升,從而去除了大量冗余數據。基于新型鏡像我們設計了面向邊緣計算的容器鏡像構建方法,使邊緣節點可以按需獲得容器運行所需數據,并通過節點上的數據緩存,進一步降低數據下載量。

    該成果“Edge Computing-oriented Construction Method for Container Mirror Image”已獲得美國專利授權,授權號US 11,341,181 B2, 授權時間2022年5月22日。

    背景和動機

    容器因其部署便捷、啟動迅速、響應快速等特點已經成為云環境中應用開發、運行以及維護的事實標準。在容器實例啟動前,需要將其對應的鏡像下載至本地。下載容器鏡像的時間平均占據76%的容器部署時間。一個標準容器鏡像包含了應用代碼、依賴項打包以及環境變量,從而可以使用戶無視系統和平臺的差異無縫地部署容器實例。容器鏡像采用了分層結構對鏡像文件進行組織管理。容器啟動時,節點使用聯合掛載技術將多個鏡像層合并掛載到一個目錄下,從而為容器實例提供完整統一的文件系統視圖,實現對鏡像內文件的訪問。容器鏡像的分層設計,使得鏡像層可以在不同鏡像之間共享,即多鏡像之間若存在相同的鏡像層依賴,則該鏡像層僅會被下載一次,從而避免重復下載、冗余存儲引入的不必要開銷。常用的容器系統框架為客戶端-倉庫模型,倉庫集中對容器鏡像進行管理,本地節點部署容器時,通過網絡從倉庫下載對應鏡像。

    容器輕量化的優點也使其被廣泛應用于邊緣場景。對比中心化的云計算,邊緣計算場景是指在靠近數據源的一側搭建集網絡、計算、存儲、應用能力為一體的計算節點,以就近提供處理少量數據的能力。然而,由于邊緣計算場景的資源往往是受限的,基于現有的標準容器鏡像部署容器實例會消耗大量網絡資源,并產生極高的應用服務時延。原因有以下三點:第一,鏡像以層為粒度進行構建,寫時復制,依賴升級等鏡像層數據部分更新操作會導致同一個鏡像內的鏡像層間存在大量的文件冗余。第二,鏡像分層結構數據共享粒度過粗,不同鏡像間的鏡像層往往因極小的差異而無法共享。第三,在容器運行過程中,大部分的容器鏡像數據不會被容器使用。當使用標準鏡像部署容器時,這些冗余數據和無用數據會大量下載。我們對業界流行的鏡像倉庫Docker Hub中的鏡像進行了觀察。我們發現Docker Hub中下載量前50的鏡像間文件冗余可達87%,且容器部署過程中僅有7%~33%的文件被訪問到。標準容器鏡像的上述不足會嚴重影響容器部署效率,并在一定程度阻礙容器技術在邊緣計算場景中的應用。因此,需要設計一種面向邊緣計算的容器鏡像構建方法。

    系統設計

    基于上述問題,本文提出了一種面向邊緣計算的容器鏡像構建方法。該方法將標準容器鏡像重構成支持文件級共享和加載的新型鏡像,并基于現有容器系統架構對新型容器鏡像進行存儲和傳輸。如圖1所示,面向邊緣計算的容器鏡像構建方法主要包含以下四個步驟:(1)標準容器鏡像的細粒度解耦;(2)基于索引的新型按需加載容器鏡像的生成;(3)本地容器的快速部署;(4)本地鏡像數據的文件級共享。

    圖1 面向邊緣計算的容器鏡像構建方法

    標準容器鏡像的細粒度解耦

    為了打破層級限制,實現細粒度的數據共享,我們將標準容器鏡像解耦為鏡像文件結構關系信息和鏡像文件兩部分。如圖2所示,鏡像文件結構關系信息被放置于一個單層的標準容器鏡像中,使其能夠在鏡像倉庫中存放,并能夠通過現有的傳統架構中的命令進行拉取和上傳。由于鏡像文件結構關系信息只包含元數據而不包含具體文件,該單層標準鏡像具有極小的體積。容器鏡像各層中的文件被取出并置于文件存儲系統中。在文件存儲系統中,這些文件以該文件的數據指紋命名,并通過刪除具有相同文件名的文件即可達到去重的目的。

    圖2 標準容器鏡像解耦與新型容器鏡像生成

    基于索引的新型按需加載容器鏡像的生成

    打破部署容器必須提前下載完整容器鏡像的限制,使容器能夠在運行過程中實時下載所需文件,我們設計了基于索引的新型按需加載容器鏡像。如圖2所示,我們利用文件結構關系信息實現了鏡像索引。索引功能通過在文件結構關系信息中添加文件的數據指紋實現,即將文件系統中的文件替換為文件的數據指紋。數據指紋的生成需要讀取完整文件并基于文件內容計算SHA256,對I/O資源和計算資源需求量高,因此對標準容器鏡像的解耦在倉庫端進行。

    本地容器的快速部署

    當本地節點需要部署一個容器,不再請求完整的標準容器鏡像,而是下載其對應的鏡像索引至本地節點。一方面,鏡像索引置于單層的標準鏡像中,鏡像索引可以存放于傳統的鏡像倉庫,并且節點可以使用通用的鏡像操作命令對其進行管理。另一方面,由于鏡像索引只包含元數據,其下載時間和所需帶寬都很小。包含鏡像索引的單層鏡像下載完成后,容器在運行過程中基于鏡像索引記錄的文件結構關系信息生成容器的文件系統視圖。當容器需要訪問一個鏡像文件,節點先基于文件結構關系信息找到對應文件的數據指紋,再通過數據指紋找到對應鏡像文件。在容器部署過程中,只有需要被訪問的鏡像文件才會被下載到本地,因此容器部署速度極快。

    本地鏡像數據的文件級共享

    不同容器部署過程中會涉及大量相同文件的訪問,特別是對于相同種類容器的不同鏡像版本,這些容器部署過程中的重復訪問數據超過70%。為此,我們在本地節點設計了文件共享池以進一步減少數據的下載量。由于在本地節點相同文件是共享的,需要避免對共享文件進行修改。為此,我們為每個容器創建一個獨立的文件域用于存放新文件和修改后的文件。本地為文件生成數據指紋作為該文件的文件名,并將文件的路徑和指紋合并入容器對應的鏡像索引。

    圖3 實驗結果

    系統評估

    我們從鏡像數據規模、鏡像數據傳輸量和容器部署時間三個方面對我們的構建方法進行了測評。如圖3所示,相比于標準容器鏡像,存放新型按需加載容器鏡像的倉庫數據量減少了54%。相比于標準容器鏡像的層級共享,新型容器鏡像的文件級共享和按需加載減少了84%的數據傳輸量。另外,我們提出的鏡像構建方法在帶寬受限的場景下(5Mbps)對容器部署過程的加速可達5倍。

    容器技術鏡像
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    容器安全技術面向容器環境,提供針對容器“構建-分發-運行”全生命周期的安全防護,對容器環境、容器平臺、容器編排引擎等場景提供全方位的安全防護體系,為云計算、虛擬化場景下的容器化業務和應用系統提供安全保障。
    邊緣計算場景中由于節點帶寬受限,采用現有架構部署傳統的標準容器鏡像效果不佳,為此我們提出了一種面向邊緣計算的容器鏡像構建方法。
    容器鏡像包含大量重復和無用數據,導致容器部署因需要下載大尺寸鏡像而耗時較長,影響服務質量。為此,提出了一種基于索引結構且與現有容器架構兼容的按需下載鏡像。實驗顯示,該鏡像格式相比傳統鏡像格式能夠將容器的部署速度提升5倍,倉庫規模縮小54%。
    “內網滲透的本質是信息收集”,這句話不僅適用于傳統內網,也同樣適用于云原生環境。在進入傳統內網的后滲透階段時,首先要做的工作便是對當前所處環境做詳細的信息收集,為下一步行動做鋪墊。如果收集到主機的系統版本和補丁信息,攻擊者可以通過對比分析出適用于當前環境的系統漏洞,有的放矢地攻擊,高效率的同時也盡可能減少了痕跡。 進入云原生時代后,后滲透增加了容器逃逸的階段。在《容器逃逸技術概覽》[1]中我們了
    主要介紹了容器技術的發展、以Docker為代表的容器技術生態以及容器技術的應用場景。
    開源代碼隨意使用開源代碼雖然使用方便,但會帶來許多安全威脅。容器鏡像加固對容器鏡像進行加固有助于限制潛在的安全風險并減少漏洞。企業要確保不斷地掃描它們,以查找其中可能潛入的安全漏洞。DAST通常在應用程序部署到試運行環境之后完成。確保容器環境的可觀察性安全運營團隊需要了解全局,以便盡早緩解威脅,這就是合作至關重要的原因。
    最近測容器安全,才發現部署的容器云平臺和容器應用幾乎在裸奔,每個鏡像容器都有各種各樣的漏洞,平臺本身也不少問題,真是不測不知道,一測嚇一跳。容器本身就是弱安全的,容易帶來越權逃逸等問題,同時容器應用研發人員對容器技術又缺乏了解,缺乏相應的安全意識和安全知識,這就帶來了比較嚴重的潛在的安全問題。
    7月9日,騰訊安全正式發布騰訊云容器安全服務產品TCSS,騰訊云容器安全服務為企業提供容器資產管理、鏡像安全、運行時入侵檢測等安全服務,保障容器鏡像生成、存儲到運行時的全生命周期,幫助企業構建容器安全防護體系。Tripwire 2019年對311位IT安全專業人員進行了調研,發現60%的組織都遭遇過容器安全事故,《報告》數據也顯示63%的用戶認為容器安全是緊迫需求。目前,TCSS資產管理模塊已支持9種資產信息統計。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类