譯者 | 趙青窕
審校 | 孫淑娟
容器是一個軟件包,其中包含在任何操作系統和基礎架構上運行所需的所有依賴項,包括代碼、配置文件、庫和系統工具。每個容器都包含一個運行時環境,使應用程序能夠在各種計算環境之間遷移——例如,從物理機遷移到云。
容器提供了許多好處,但也帶來了重大的安全挑戰。容器存在一個新的攻擊面,需要不同的安全措施、響應策略和取證方法。容器事件響應是響應容器安全事件的標準化方法。
事件響應是一項安全功能,涉及檢測影響網絡資源和信息資產的安全事件,并采取適當的步驟來評估和補救。安全事件可以是惡意軟件感染(malware infection)、憑據泄露和數據庫泄露。容器事件響應有助于阻止、遏制、修復和防止針對容器化工作負載的安全威脅。
為什么容器安全如此重要
容器被廣泛用作DevOps流水線(DevOps pipelines)中的輕量級構建塊(lightweight building blocks),使容器安全成為現代 IT 安全策略的重要組成部分。同虛擬機 (VM) 一樣,容器包含運行應用程序所需的一切——代碼、程序運行時環境(runtime)、工具、庫、配置信息——無論環境如何,按照操作系統中的設計運行。與 VM 不同,它具有高度可移植性,啟動速度更快,并且消耗的資源少得多。
Docker 和 Kubernetes 等容器平臺包含一些基本的安全控制機制,但容器化應用程序開發通常包含可能易受攻擊的第三方軟件組件。此外,Docker 和 Kubernetes 默認情況下并不安全,因此確保安全配置至關重要,這在大規模情況下可能很復雜。
容器容易受到可以繞過主機隔離的惡意進程的攻擊。此外,容器基于可能被攻擊者篡改或可能包含舊的或易受攻擊的軟件組件的鏡像。當容器不安全時,它們可以在容器內運行其他未經授權的容器和應用程序,并且在極端情況下,可以允許攻擊者破壞主機和整個容器集群。
為什么取證在云原生環境中有所不同
一般來說,取證是信息安全的重要組成部分,尤其是事件響應。這是一個新興領域,現在有以DFIR(數字取證和事件響應)為中心的專業工具和安全認證。
當可疑事件發生時,安全分析必須執行快速取證并調查以了解發生了什么,確定事件是否代表真正的安全事件,并收集遏制和消除威脅所需的信息。
隨著開發人員高速部署代碼,執行取證調查變得更加困難。與可以保持數月不變的物理服務器或虛擬機不同,容器是輕量級的臨時計算任務,orchestrator可以隨時啟動和關閉。容器的壽命可以短至幾分鐘或幾秒鐘,通常以小時為單位。無服務器函數的生命周期要短得多——例如,AWS Lambda 函數每次執行最多只能運行 15 分鐘。
這些非常短的生命周期對安全性、可見性和取證具有深遠的影響。因為容器是臨時的,寫入容器文件系統的數據通常會在容器關閉時被刪除(除非它被顯式保存到另一個位置)。像 Kubernetes 這樣的工具會自動安排主機上的工作負載,并在主機之間動態移動工作負載,這意味著團隊通常無法提前決定應用程序將在哪個主機上運行。
為了在云原生環境中啟用取證,團隊需要能夠在高度動態的環境中捕獲相關日志數據的策略和技術,并能夠支持跨多個云和多達數千臺主機運行的臨時工作負載。
構建容器取證事件響應計劃
在制定容器事件響應計劃時,需要考慮三個主要重點領域。
預防措施
預防措施可以幫助減少容器上的攻擊面。例如,您永遠不應該在容器上提供 root 訪問權限,限制對 kubectl 和 Kubernetes API 的訪問,并確保 Kubernetes 運行的是最新版本并且集群具有強化配置。
利用 Kubernetes 中可用的安全工具非常重要,包括 Docker Statistics API,它可以幫助收集系統指標(system metrics)。系統指標對于需要了解系統大規模運行時容器負載如何影響系統的分析師很有用。
基于這些指標,DevOps 和安全團隊可以了解容器和 Pods 內部發生的情況。例如,他們可以確定敏感文件是否丟失或未知文件是否已添加到容器中,監控實時網絡流量,并在容器或應用程序級別識別異常行為。
數據保存和調查
如果發生事故,保留必要的證據以供進一步調查非常重要:
- 不要關閉似乎受到威脅的節點或容器。這使得無法確定根本原因。
- 利用快照技術對運行可疑受感染容器進行備份。
- 識別關鍵證據并獲得足夠的可見性以了解根本原因和影響。嘗試分析盡可能多的數據源。
事件響應計劃
使用以下最佳方式來確保您在容器受到攻擊時做好準備:
- 分配事件響應線索,在發生重大事件時充當關鍵決策者。
- 定義一個事件響應計劃,其中包含針對不同類型的安全事件要遵循的明確步驟。
- 定義發生違規時響應者應使用的溝通和升級渠道。
- 了解法律和合規義務,這可能需要在指定時間段內報告違規行為。
- 進行紅隊練習(red team exercises)和評估,以不斷改進您的安全防御并為應對真實事件做好準備。
總結
在本文中,我展示了容器安全和事件響應的基礎知識,解釋了容器取證的基礎知識,并為您的容器事件響應計劃提供了三個構建塊:
- 預防措施——您可以采取的措施,用以減少攻擊面并首先防止對容器的攻擊。
- 數據保存和調查——確保在發生攻擊時,您可以保存容器中的數據以進行調查和響應。
- 事件響應計劃——創建一個計劃來定義誰負責容器事件響應,當攻擊發生時他們應該采取什么步驟,以及如何測試計劃以確保其有效。
我希望這將有助于您提高組織應對針對云原生環境的威脅的能力。
譯者介紹
趙青窕,51CTO社區編輯,從事多年驅動開發。研究興趣包含安全OS和網絡安全領域,發表過網絡相關專利。
原文標題:??What To Do When Containers are Attacked: An Incident Response Plan??,作者:Sagar Nangare