使用 Distroless 技巧來縮小容器映像並提升雲端資安

本文探討可縮小容器映像大小的 Distroless 技巧以及這項技巧如何解決資安疑慮。此外也提出另一種替代 Distroless 的方法,既能縮小雲端原生應用程式受攻擊面以防範駭客攻擊,又能讓雲端資源最佳化。

自從  2013 年誕生以來,Docker 已徹底改變了開發人員使用容器的方式。而 Docker Hub 的出現,也成了開發人員分享容器映像的主要管道。為了不重新發明輪子,大多數開發人員在使用容器來部署應用程式時都會以 Docker Hub 提供的公開映像作為基礎。某些 Docker Hub 上最熱門的映像 (例如官方提供的機碼/數值儲存伺服器映像) 就是以 Debian 的官方映像作基礎。儘管這樣的作法看似不錯,但開發人員通常不會為了雲端資安而仔細檢查每一個映像的內容。

官方映像通常是由某個開發社群負責維護,雖然開發人員也會使用基本作業系統 (OS) 映像,但絕大多數應用程式映像都是建立在其他映像之上。這意味著,基礎映像所包含的任何漏洞和資安弱點,也會跟延續到應用程式映像當中。

本文詳細探討「Distroless」這個可提升容器映像資安 (以及其他好處) 的技巧,以及另一個可縮小容器映像大小和受攻擊面以避免雲端原生應用程式遭駭客攻擊的替代方案。

業界當前的作法


最近, 軟體成分清單 (SBOM) 突然成為資安界的一項熱門話題,SBOM 是一份有關某個容器或檔案系統內所有已安裝套件的清單,而 Syft 則是目前業界用來產生 SBOM 的標準工具。

我們使用 Syft 產生了一份 Debian 官方公開映像的套件清單:

圖 1:使用 Syft 產生 Debian 官方公開映像的套件清單 (請注意,圖中只顯示部分清單)。


如圖 1 所示,這個映像當中含有 96 個套件。此外,我們還可以用 Grype (同樣也是一個日漸受到關注的工具) 來分析 Syft 所產生的 SBOM,它可掃描映像當中是否存在著漏洞。

圖 2:使用 Grype 產生 Debian 官方公開映像套件漏洞清單 (請注意,圖中只顯示部分漏洞)。


使用 Debian 基礎映像的風險顯而易見:其內含的套件越多,受攻擊面就越大,此外也會占用更多磁碟空間與頻寬,這就是為何許多開發人員都捨棄 Debian 基礎映像而改用以 Alpine 建立的映像。對於新手來說,Alpine Linux 是一個以資安為導向的輕量化 Linux 發行版本,採用 musl libcBusyBox 為基礎。

從下圖就能看出 Alpine Linux 的優勢:

圖 3:Alpine 基礎映像含有的預設套件及漏洞數量都較少。


就目前來說,其含有的漏洞數量為零。

圖 4:Alpine Linux 是一個以資安為導向的輕量化 Linux 發行版本。


Alpine Linux 更優異的安全性確實是大好消息,而且 Alpine Linux 還會適時發布更新。

當前問題


如果您以為容器映像中的程式碼漏洞都來自於原始基礎映像,那就太簡化問題了,開發人員所撰寫的應用程式也會為容器帶來潛在漏洞。為了方便看到問題,我們暫時假設任何容器都可能執行到一個含有遠端程式碼執行 (RCE) 漏洞的應用程式。

假使開發人員使用的是 Debian 基礎容器映像,然後裡面包含了駭客可利用的「apt」套件管理員程式,駭客便有機可乘。Alpine 基礎官方映像也是如此,因為它裡面也有一個名為「apk」的套件管理員程式,以及將許多 UNIX 常用小工具 (如 wget) 整合成單一執行檔的 BusyBox。

駭客隨時都在尋找可利用的漏洞,因此我們要盡可能消除駭客的機會,不讓駭客的攻擊進入到下一階段。

從駭客的角度來看,如果他要攻擊暴露在外的容器並取得指令列介面的控制權,那麼套件管理員是他們必須克服的障礙。但這並非我們在發掘受攻擊面時唯一需要擔心的問題。還有許多 Linux 內建工具 (視採用的基礎映像而定) 可能被用於惡意用途,所以最好將這些工具從映像當中徹底移除。

一個解決方法就是詳細列出這所有工具,然後在建構映像時將其執行檔排除。不過,這樣的作法有兩個問題:其一是要列出這所有工具相當麻煩,其二是駭客還是會想盡辦法利用剩餘的工具。

「base64」就是一個很好的例子,這個工具存在於所有的容器基礎映像以及完整版的 Linux 發行版本。這是一個用來將資料編碼及解碼以方便傳輸的工具。我們發現專門攻擊雲端原生容器的駭客經常使用這個工具來解開他們下載的各種 base64 編碼檔案,因為他們知道目標系統一定有這個工具可用來解開檔案,以便進行後續攻擊。


圖 5:我們的分析工具顯示駭客將 Linux 內建工具用於攻擊當中。

另一個值得注意的問題是,許多雲端服務供應商 (CSP) 的服務也是在容器或微虛擬機器 (VM) 內執行,而它們使用的映像除了必要的套件之外,還安裝了其他套件。

當一個容器暴露在外,而其執行的應用程式遭到入侵,駭客就能使用容器內的工具來進行下一階段的攻擊,不論應用程式是在企業內或雲端內執行。

如何解決這項資安問題?


顯然,我們必須縮小受攻擊面。Google 提出了一種名為「Distroless 」的容器映像,這些映像只包含應用程式本身以及應用程式執行時所需要的元件。有別於標準的 Linux 發行版本,Distroless 容器內並無套件管理員、指令列介面或其他程式。

圖 6:使用 Syft 列出某個 Google 的 Distroless Debian 映像包含的套件,可看到數量很少。


圖 7:使用 Grype 來分析某個 Google 的 Distroless Debian 映像,可看到套件的漏洞為零。


圖 8 和 9 所顯示的 Amazon Web Service (AWS) 映像並不一定是他們服務所使用的映像,但卻是 AWS 提供給使用者打造其他映像的基礎映像。

圖 8:使用 Syft 分析 AWS 提供給使用者打造其他映像的基礎映像,可看到裡面有不少套件。


圖 9:使用 Grype 分析 AWS 提供給使用者打造其他映像的基礎映像,可看到裡面有不少套件以及少許的漏洞。


圖 10:使用 Syft 分析某個 AWS 節點的基礎映像,可看到許多預先安裝的套件。


圖 11:使用 Grype 分析某個 AWS 節點的基礎映像,可看到許多預先安裝的套件和少許的高嚴重性漏洞。


以上方法可讓我們解決目前看到的兩大資安問題:首先,我們能大幅減少映像包含的套件數量,只保留應用程式執行時所必要的套件。這麼做可以縮小受攻擊面,減少駭客可利用的機會。其次,可大幅減少漏洞的數量,在大多數情況下甚至可降至零。如此一來,應用程式在部署時就更加安全。

Distroless 的替代方案


當我們在開始研究這項問題時,我們發現 Distroless 的作法是盡可能讓容器變得更輕量化、也更快。但許多時候,我們發現容器映像其實並無任何非必要工具或函式庫,有些甚至使用了 空白映像 (scratch image), 只包含幾個基礎檔案系統,其他的必須在後面掛載。

所以,我們想在此提出一個 Distroless 的替代方案,那就是採用多階段的建構方法並搭配一個空白映像,裡面只包含應用程式執行時所必要的函式庫。

這樣的作法非常適合無伺服器 (serverless) 功能,因為無伺服器功能的核心概念就是將應用程式拆解成多個較小的功能,透過這些無伺服器功能來處理資料。換句話說,每個功能都是只為單一目的而生。雖然這是原本的目的,但在真實世界裡,使用者不一定這麼應用。

若使用容器映像來建構,要讓功能可以執行,容器必須包含兩項元素:其一是程式語言解譯器,其二是 CSP 應用程式開發介面 (API) 的執行檔。根據我們的測試結果顯示,我們不僅可大幅縮小容器大小,更可降低 CSP 容器映像的受攻擊面與漏洞數量。

結論


Distroless 容器映像概念的出現已有好一段時間,但目前仍未成為主流。隨著容器資安相關研究逐漸累積,我們將繼續發揮我們的專業能力來研究容器資安對雲端基礎架構的影響。我們的研究已證明了 Distroless 容器映像的發展潛力,以及它如何讓資源最佳化,並解決資安疑慮。不過,有鑑於 Distroless 的一些缺點,我們也提出了另一種替代方案,那就是使用多重階段建構方式,從空白映像開始,裡面僅包含應用程式執行所必要的函式庫。只要實作得當,這樣的方法既可解決漏洞管理的問題,又可縮小受攻擊面,降低雲端原生應用程式遭駭客攻擊的機會。  

這種使用空白映像的多重階段建構方法,具備以下優點可幫助開發人員改善雲端資安:

  • 適合無伺服器 (serverless) 功能,因為無伺服器功能的核心概念就是將應用程式拆解成多個較小的功能,透過這些無伺服器功能來處理資料。
  • 不僅可大幅縮小容器大小,更可降低 CSP 容器映像的受攻擊面與漏洞數量。

◉原文出處:Enhancing Cloud Security by Reducing Container Images Through Distroless Techniques 作者:Alfredo Oliveira 與 Raphael Bottino

生物辨識將可能成為元宇宙的資安罩門

趨勢科技研究點出暗藏在便利的登入技術中所存在的資安風險


【2022 年 10月 27日台北訊】 全球網路資安領導廠商趨勢科技 (東京證券交易所股票代碼:4704) 近日發布一份最新報告,警告生物特徵資料外洩問題可能會為社群、線上遊戲及元宇宙等各種數位情境帶來嚴重的認證風險。

「一朝外洩,一輩子蒙受其害:社群媒體生物特徵資料如何影響未來生活」(Leaked Today, Exploited for Life: How Social Media Biometric Patterns Affect Your Future) 完整報告

趨勢科技基礎架構策略副總裁 Bill Malik 指出:「生物辨識技術被某些人推崇為比密碼辨識還安全且更容易使用的替代方案。然而,在我們身上的生物特徵卻不像密碼那樣可以輕易變更,因此若萬一遭到外洩,將有很大的可能對使用者帶來深遠影響。未來,盜用他人的元宇宙使用者個人檔案,便會如同今日可盜用並完全掌控他人的個人電腦一樣。」

繼續閱讀

即將在iOS 16和macOS Ventura推出的Apple Passkeys是什麼?

Apple正在將Passkeys 引入iOS 16和macOS Ventura,這是一項新的安全功能,被稱為現代化的安全登入網路作法。它使用加密密鑰對來建立透過iCloud鑰匙圈同步的通行密鑰(passkey)。讓它能夠用在不同的Apple裝置上,如iPhone、iPad和Mac。

蘋果推出無密碼登錄技術是FIDO聯盟願景(即減少世界對密碼的依賴)的產物。Apple Passkeys符合FIDO聯盟標準,這代表它很快就能跟Google和Microsoft等其他作業系統相容使用。

繼續閱讀

地下組織如何使用被盜身份和 Deepfake 深偽技術?

越來越多的深偽技術(Deepfake)攻擊正顯著地在改變威脅環境。這些移花接木影片將變臉詐騙攻擊和身份驗證繞過等攻擊提升到了新的境界。它們可能盜用名人圖像改造影片,用來投放汽車廣告、宣傳“理財投資機會”,甚至冒充知名人士時進行視訊通話。

在2020年,趨勢科技與歐洲刑警組織和聯合國區域犯罪和司法研究院(UNICRI)的聯合報告裡概述了人工智慧技術的惡意使用,並預測了網路犯罪分子對深偽技術的濫用。而我們的預測也很快變成了現實 – 我們已經可以看到相關攻擊的出現。

越來越多的深偽技術攻擊正顯著地改變針對企業、金融機構、名人、政治人物甚至普通民眾的威脅環境。深偽技術的使用將變臉詐騙攻擊或稱為商務電子郵件入侵 (Business Email Compromise, BEC)和身份驗證繞過等攻擊提升到了新的境界。

這些攻擊成功的先決條件和原因如下:

  • 所有技術都已經到位。深偽技術的原始碼是公開的,任何想使用的人都可以拿到。
  • 公開可用影像的數量足以讓駭客利用深偽技術製作出數百萬個假身份。
  • 犯罪集團是此類技術的早期應用者,並且會定期討論用深偽技術來提高現有洗錢和貨幣化計劃的有效性。
  • 我們看到了新攻擊場景使用深偽技術的趨勢(如社交工程(social engineering )陷阱攻擊),深偽技術成為關鍵的技術推動力。

讓我們來看看近年來此一新興趨勢是如何發展和演變。

👉 趨勢科技在Computex 展出多項 AI資安相關技術 – Connecting AI Security, 6/4~6/7
⟫了解更多
繼續閱讀

四分之一曾遭勒索病毒襲擊的醫療機構營運被迫全面停擺

趨勢科技研究指出供應鏈是資安風險的主要來源

【2022 年 10月 25日台北訊】 全球網路資安領導廠商趨勢科技 (東京證券交易所股票代碼:4704) 指出,曾經遭到勒索病毒襲擊的全球醫療機構 (Global Healthcare Organizations, HCOs) 當中有 86% 都出現過營運中斷的情況。

了解更多詳情 

根據這份研究指出,全球大部分 (57%) 的醫療機構都坦承曾在過去三年當中遭到勒索病毒襲擊。在這些機構當中,有 25% 表示被迫全面停擺,另有 60% 表示有部分業務流程受到衝擊。大部分的受訪機構平均都在幾天內 (56%) 或幾週內 (24%) 恢復正常運作。

繼續閱讀