GCP 中的事件響應 (IR) 簡介
在雲端環境中,安全事件的範圍可以從配置錯誤的存儲桶到大規模的憑據竊取。對於 專業雲端安全工程師 (PSE) 來說,事件響應 (Incident Response) 是檢測、遏制和從這些事件中恢復的過程。鑑識 (Forensics) 則是一門專門的學科,旨在從雲端環境中收集證據,以了解攻破是如何發生、是誰幹的以及洩漏了什麼。
GCP 提供了特定的工具來「凍結」環境,以便在不驚動攻擊者或丟失易失性數據的情況下進行分析。
白話文解釋
1. 犯罪現場封鎖線 (鑑識快照)
當犯罪發生時,警察做的第一件事就是拉起黃色封鎖線,以按原樣保護現場。在 GCP 中,為磁碟創建 鑑識快照 (Forensic Snapshot) 就是那條黃色封鎖線。它創建了磁碟上所有內容的時點副本,以便您稍後尋找證據(惡意軟體、日誌、已刪除的文件)。
2. 黑盒子記錄器 (Cloud Audit Logs)
將 Cloud Audit Logs 想像成飛機上的「黑盒子」。它記錄了飛行員的每一次操作(API 調用)。如果飛機墜毀(安全事件),您可以檢查黑盒子,查看是誰更改了防火牆規則或誰下載了敏感數據集。
3. 安全監控攝影機 (封包鏡像)
想像一台監控攝影機看著建築物的走廊。它不會阻止人們走動,但會記錄他們的每一個動作。封包鏡像 (Packet Mirroring) 就是您 VPC 網絡的監控攝影機。它複製所有網絡流量並將其發送到 IDS 或收集器進行分析,讓您確切地看到攻擊者正在發送什麼數據。
GCP 中的事件響應生命週期
Google Cloud 遵循 NIST IR 框架:
- 準備 (Preparation): 加固環境、設置日誌記錄並創建 IR 劇本。
- 檢測與分析 (Detection & Analysis): 通過 SCC、Cloud Monitoring 或審計日誌識別事件。
- 遏制、根除與恢復 (Containment, Eradication, & Recovery): 隔離受影響的資源、移除威脅並恢復服務。
- 事件後活動 (Post-Incident Activity): 分析根本原因並改進防禦。
鑑識 (Forensics) 是應用調查和分析技術,以適合在法庭上呈現的方式,從特定計算設備中收集和保存證據。
鑑識數據收集
當實例受到攻破時,您必須立即收集證據。
1. Compute Engine 磁碟快照
- 方法: 創建持久性磁碟的標準快照。
- 最佳實踐: 在關閉 VM 之前 創建快照。關閉 VM 可能會觸發攻擊者留下的「自殺腳本 (Kill scripts)」,從而刪除證據。
- 存儲: 將快照導出到專用的、鎖定的「鑑識專案 (Forensics Project)」,以確保監管鏈 (Chain of custody)。
2. 導出磁碟進行離線分析
- 您可以將磁碟快照作為
.tar.gz鏡像導出到 Cloud Storage。 - 這允許您下載鏡像並在本地工作站上使用傳統鑑識工具(如
Sleuth Kit或EnCase)進行分析。
3. GKE 鑑識
- 容器快照: 使用
kubectl cp從正在運行的容器中提取日誌或文件。 - 節點分析: 由於 GKE 運行在 Compute Engine 上,您可以對底層 GKE 節點磁碟進行快照,以尋找容器逃逸 (Container escape) 的痕跡。
使用封包鏡像進行網絡鑑識
為了調查網絡層級的數據外洩或橫向移動:
- 封包鏡像 從特定的 VM 實例或整個子網克隆流量。
- 它將鏡像流量發送到一個 負載平衡器,該負載平衡器位於一組檢查 VM(運行 Zeek, Suricata 或 Wireshark 等工具)之前。
封包鏡像捕獲 整個封包,包括負載 (Payload)(除非已加密)。它比 VPC 流日誌 (VPC Flow Logs) 詳細得多。
響應受攻破的服務帳戶
服務帳戶金鑰被盜是高優先級事件。
- 識別: 使用 Cloud Audit Logs 查看哪些 IP 正在使用該服務帳戶金鑰。
- 遏制: 立即在 IAM 控制台中禁用該服務帳戶。
- 根除: 刪除任何洩漏的 JSON 金鑰。如果仍需要該帳戶,請輪換金鑰。
- 審計: 尋找「身份轉向 (Identity pivoting)」——攻擊者是否利用該服務帳戶創建了其他用戶或更改了權限?
使用 Cloud Functions 進行自動化修復
PSE 應針對常見事件自動執行響應。
- 流程: SCC 發現 → Pub/Sub → Cloud Function。
- 範例: 如果 SCC 檢測到「公開存儲桶 (Public Bucket)」,則可以觸發 Cloud Function 自動從存儲桶的 IAM 政策中移除
allUsers成員。
始終先在沙盒環境中測試自動化修復,以避免對合法用戶造成「意外的服務中斷」。
PSE 考題若要求對 SCC findings 做 近即時自動修復 (near-real-time auto-remediation),標準答案就是經典管線:SCC Finding → Pub/Sub notification → Cloud Function。不要選 Cloud Scheduler 輪詢或人工審核——SCC 會把 findings 發佈到 Pub/Sub topic,讓 Cloud Function 在偵測後幾秒內就能撤銷 allUsers、停用 service account 或隔離 VM。
使用 Chronicle 進行安全分析
對於大規模事件,請使用 Chronicle。
- 搜尋: 在幾秒鐘內搜尋數 PB 的日誌,以查找 IP 地址或文件哈希。
- 時間軸: Chronicle 會創建攻擊者在多個 GCP 專案和服務中行為的可視化時間軸。
- 情報: 它會自動將您的日誌與已知的威脅情報源進行比對。
事件響應劇本 (IR Playbooks)
IR 劇本 是針對特定場景的分步指南。
- 場景:VM 上的勒索軟體。
- 對磁碟進行快照。
- 隔離 VM(移除所有網絡標籤/防火牆規則)。
- 識別入口點(審計日誌)。
- 從已知的良好備份中恢復。
溝通與報告
在發生攻破期間,溝通至關重要。
- 溝通管道: 使用專用的、帶外 (Out-of-band) 的溝通管道(例如獨立的 Slack 工作區),以防您的主要公司電子郵件也受到攻破。
- 報告: 任何 IR 的最後一步都是 事後總結 (Post-Mortem)。記錄發生了什麼、為什麼發生以及如何預防。
不要使用受攻破的環境來溝通事件(例如,不要從可能已受攻破的 Workspace 帳戶發送電子郵件)。
鑑識快照監管鏈 (Chain of custody) 三步驟:(1) 在關閉 VM 之前 對 persistent disk 拍快照(VM 關機會觸發攻擊者埋下的「kill scripts」清除證據);(2) 將快照以 .tar.gz 形式匯出到 獨立、受限的 Forensics Project 的 Cloud Storage;(3) 在 GCS bucket 上鎖上 Object Retention Locks,讓攻擊者與內部人員都無法刪除證據。任何一步漏掉,法律上的證據效力就會破功。
PSE 安全最佳實踐
- IR 團隊的最小權限: 給予您的 IR 團隊特定的「鑑識」角色,允許他們進行快照但不能刪除資源。
- 啟用審計日誌: 沒有日誌就無法進行鑑識。確保啟用了 管理活動 (Admin Activity) 和 數據訪問 (Data Access) 日誌。
- 不可變存儲: 將鑑識證據存儲在具有 對象保留鎖 (Object Retention Locks) 的 GCS 存儲桶中,以防止攻擊者刪除其犯罪證據。
- 練習: 定期進行「桌面演習 (Tabletop Exercises)」,確保每個人都清楚自己在 IR 劇本中的角色。
PSE 考試場景
場景 1:為法律行動保存證據
「一家公司懷疑內部員工正在從特定的 Compute Engine 實例中竊取數據。他們需要以一種對法律調查有效的方式保存證據。他們應該怎麼做?」 解答: 為該實例創建 磁碟快照。立即將該快照導出到一個 獨立、受限的 GCP 專案,並在 Cloud Storage 存儲桶上設置 保留政策 (Retention Policy),以確保數據不能被修改或刪除。
場景 2:調查網絡攻破
「攻擊者攻破了一台 Web 服務器,並利用它掃描其他內部服務器。您需要確切查看他們通過網絡發送的命令。VPC 流日誌提供的信息不夠詳細。解決方案是什麼?」 解答: 在受攻破 VM 的子網上啟用 封包鏡像 (Packet Mirroring)。將流量鏡像到一組運行 Wireshark 或 Zeek 等工具的檢查實例,以執行深度封包檢測 (DPI)。
總結清單
- 列出事件響應生命週期的四個階段。
- 解釋在關閉 VM 之前拍攝快照的好處。
- 區分 VPC 流日誌與封包鏡像。
- 描述如何隔離受攻破的服務帳戶。
- 了解 Chronicle 在長期事件調查中的角色。