調查並因應威脅

這份文件提供非正式的指引,協助您調查 Google Cloud 環境中疑似惡意行為的發現結果,這些行為可能來自惡意行為者。本文也提供其他資源,協助您瞭解 Security Command Center 發現項目。按照這些步驟操作,有助於瞭解潛在攻擊期間發生的情況,並為受影響的資源制定可能的因應措施。

我們無法保證本頁面的技術可有效防範您先前、目前或未來面臨的任何威脅。請參閱「修正威脅」一文,瞭解 Security Command Center 為何不提供官方威脅修正指南。

事前準備

您必須具備適當的 Identity and Access Management (IAM) 角色,才能查看或編輯調查結果和記錄,以及修改 Google Cloud 資源。如果在 Security Command Center 中遇到存取錯誤,請向管理員尋求協助,並參閱「存取權控管」一文瞭解角色。如要解決資源錯誤,請參閱受影響產品的說明文件。

瞭解威脅發現項目

Event Threat Detection 會將 Cloud Logging 記錄串流中的事件與已知的入侵指標 (IoC) 比對,藉此產生安全性發現項目。IoC 由 Google 內部安全防護機制來源開發,可識別潛在漏洞和攻擊。Event Threat Detection 也會偵測記錄串流中已知的敵對策略、技術和程序,以及偵測貴機構或專案過去行為的偏差情形,藉此偵測威脅。如果您在機構層級啟用 Security Command Center Premium 級,Event Threat Detection 也能掃描 Google Workspace 記錄。

Container Threat Detection 會收集及分析容器訪客核心中觀察到的低階行為,藉此產生發現項目。

發現項目會寫入 Security Command Center。如果您在機構層級啟用 Security Command Center 進階級,也可以設定將發現項目寫入 Cloud Logging。

查看結果

如要在 Google Cloud 控制台中查看威脅調查結果,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 Security Command Center「發現項目」頁面。

    前往「發現項目」

  2. 視需要選取 Google Cloud 專案、資料夾或機構。

  3. 在「快速篩選器」部分中,按一下適當的篩選器,即可在「發現項目查詢結果」表格中顯示所需發現項目。舉例來說,如果您在「來源顯示名稱」子區段中選取「Event Threat Detection」或「Container Threat Detection」,結果中只會顯示所選服務的發現項目。

    表格會填入所選來源的發現項目。

  4. 如要查看特定發現項目的詳細資料,請按一下 Category 下方的發現項目名稱。發現項目詳細資料窗格會展開,顯示發現項目詳細資料的摘要。

  5. 如要查看發現項目的 JSON 定義,請按一下「JSON」JSON分頁標籤。

調查結果會提供事件中涉及的資源名稱和數字 ID,以及環境變數和資產屬性。您可以利用這項資訊快速找出受影響的資源,並判斷可能的事件影響範圍。

為協助您進行調查,威脅發現結果也包含下列外部資源的連結:

  • MITRE ATT&CK 架構項目。這個架構說明針對雲端資源的攻擊技術,並提供補救指引。
  • VirusTotal: Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。如果有的話,「VirusTotal 指標」欄位會提供 VirusTotal 的連結,協助您進一步調查潛在的安全性問題。

    VirusTotal 是另外計費的服務,有不同的用量限制和功能。你有責任瞭解並遵守 VirusTotal 的 API 使用政策,以及支付任何相關費用。詳情請參閱 VirusTotal 說明文件

以下各節概述對威脅發現結果的可能回應。

停用威脅發現項目

解決觸發威脅發現的問題後,Security Command Center 不會自動將發現項目的狀態設為 INACTIVE。除非您手動將 state 屬性設為 INACTIVE,否則威脅發現項目的狀態會維持 ACTIVE

如果是誤判,建議您將發現項目的狀態保留為 ACTIVE,然後將發現項目設為靜音。

如果持續或重複出現誤判,請建立忽略規則。 設定靜音規則可減少需要管理的發現項目數,方便您在發生實際威脅時輕鬆辨識。

如果是真正的威脅,請先消除威脅,並徹底調查偵測到的威脅、入侵程度,以及任何其他相關的發現和問題,再將發現的狀態設為 INACTIVE

如要忽略發現項目或變更其狀態,請參閱下列主題:

Event Threat Detection 回應

如要進一步瞭解 Event Threat Detection,請參閱這篇文章

本節不包含Event Threat Detection 自訂模組產生的發現項目回應,因為貴機構會為這些偵測器定義建議的動作。

Active Scan: Log4j Vulnerable to RCE

支援的 Log4j 漏洞掃描器會在 HTTP 參數、網址和文字欄位中插入模糊處理的 JNDI 查詢,並回呼至掃描器控管的網域。如果發現未混淆處理的網域 DNS 查詢,就會產生這項發現項目。只有在 JNDI 查閱成功時,才會發生這類查詢,表示 Log4j 存在有效漏洞。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看發現項目詳細資料」一文的說明,開啟 Active Scan: Log4j Vulnerable to RCE 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容
    • 受影響的資源,尤其是下列欄位:
      • 資源完整名稱:易受 Log4j RCE 攻擊的 Compute Engine 執行個體的完整資源名稱
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • properties
      • scannerDomain:掃描器使用的網域,屬於 JNDI 查閱程序的一部分。這會顯示偵測到安全漏洞的掃描器。
      • sourceIp:用於發出 DNS 查詢的 IP 位址
      • vpcName:執行個體上進行 DNS 查詢的網路名稱。

步驟 2:檢查記錄

  1. 在 Google Cloud 控制台中,按一下步驟 1「Cloud Logging URI」欄位中的連結,前往 Logs Explorer
  2. 在隨即載入的頁面中,檢查 httpRequest 欄位是否有字串權杖 (例如 ${jndi:ldap://),這可能表示有人試圖進行攻擊。

    如需搜尋的字串範例和查詢範例,請參閱「CVE-2021-44228:偵測 Log4Shell 弱點」一文。

步驟 3:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: Exploitation of Remote Services
  2. 如要查看相關發現項目,請在發現項目詳細資料的「摘要」分頁中,點選「相關發現項目」列的「相關發現項目」連結。 相關發現項目是指類型相同,且屬於相同執行個體和網路的發現項目。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 4:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

Brute Force: SSH

偵測到主機上的 SSH 暴力攻擊成功。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Brute Force: SSH 發現項目。
  2. 在調查結果詳細資料面板的「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,尤其是下列欄位:

      • 呼叫端 IP:發動攻擊的 IP 位址。
      • 使用者名稱:登入的帳戶。
    • 受影響的資源

    • 相關連結,尤其是下列欄位:

      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
  3. 按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • sourceProperties
      • evidence
        • sourceLogId:專案 ID 和時間戳記,用於識別記錄項目
        • projectId:包含發現項目的專案
      • properties
        • attempts
        • Attempts:嘗試登入次數
          • username:登入的帳戶
          • vmName:虛擬機器的名稱
          • authResult:SSH 驗證結果

步驟 2:檢查權限和設定

  1. 前往 Google Cloud 控制台的「資訊主頁」

    前往資訊主頁

  2. 選取 projectId 中指定的專案。

  3. 前往「資源」資訊卡,然後點選「Compute Engine」

  4. 按一下與 vmName 中名稱和區域相符的 VM 執行個體。查看執行個體詳細資料,包括網路和存取權設定。

  5. 在導覽窗格中,依序點選「VPC Network」(虛擬私有雲網路) 和「Firewall」(防火牆)。 移除或停用通訊埠 22 上過於寬鬆的防火牆規則。

步驟 3:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」(記錄檔探索工具),方法是點選「Cloud Logging URI」(Cloud Logging URI) 中的連結。
  2. 在載入的頁面中,使用下列篩選器,找出與「摘要」分頁中「主體電子郵件」列所列 IP 位址相關的虛擬私有雲流量記錄:
    • logName="projects/projectId/logs/syslog"
    • labels."compute.googleapis.com/resource_name"="vmName"

步驟 4:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 有效帳戶:本機帳戶
  2. 如要查看相關發現項目,請在發現項目詳細資料的「摘要」分頁中,點選「相關發現項目」列的「相關發現項目」連結。 相關發現項目是指類型相同,且屬於相同執行個體和網路的發現項目。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與專案擁有者聯絡,瞭解暴力破解嘗試是否成功。
  • 調查可能遭入侵的執行個體,並移除發現的任何惡意軟體。如要協助偵測及移除,請使用端點偵測及回應解決方案。
  • 建議停用 VM 的 SSH 存取權。如要瞭解如何停用 SSH 金鑰,請參閱限制虛擬機使用 SSH 金鑰。這個步驟可能會中斷 VM 的授權存取權,因此請先考量貴機構的需求,再繼續操作。
  • 請只使用 授權金鑰進行 SSH 驗證。
  • 您可以更新防火牆規則或使用 Google Cloud Armor,封鎖惡意 IP 位址。您可以在 Security Command Center 的「整合式服務」頁面啟用 Google Cloud Armor。視資訊量而定,Google Cloud Armor 的費用可能相當高昂。詳情請參閱 Google Cloud Armor 定價指南

Credential Access: CloudDB Failed login from Anonymizing Proxy IP

偵測到有人從已知的去識別化 IP 位址登入資料庫執行個體失敗。 這些匿名化地址是 Tor 節點。這可能表示攻擊者試圖未經授權存取執行個體。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的指示,開啟 Credential Access: CloudDB Failed login from Anonymizing Proxy IP 發現項目。
  2. 在調查結果詳細資料面板的「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,尤其是下列欄位:
    • 指標 IP 位址:去識別化 IP 位址。
    • 資料庫顯示名稱:受影響的 Cloud SQL PostgreSQL、MySQL 或 AlloyDB 執行個體中的資料庫名稱。
    • 資料庫使用者名稱:使用者。
    • 專案完整名稱:包含 Cloud SQL 執行個體的 Google Cloud 專案。

步驟 2:研究攻擊和回應方法

  1. 查看這類發現的 MITRE ATT&CK 架構項目: 存取憑證
  2. 如要判斷是否需要採取其他補救措施,請將調查結果與 MITRE 研究結合。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

Credential Access: Failed Attempt to Approve Kubernetes Certificate Signing Request (CSR)

有人嘗試手動核准憑證簽署要求 (CSR),但該動作失敗。建立叢集驗證憑證是攻擊者常用的手法,可藉此持續存取遭入侵的叢集。憑證的相關聯權限取決於憑證包含的主體,但可能具有高度權限。詳情請參閱這項快訊的記錄訊息。

  1. 查看 Cloud Logging 稽核記錄和其他快訊,透過與 CSR 相關的事件,判斷是否有任何 CSR approved且已核發,以及主體是否預期會執行 CSR 相關動作。
  2. 判斷 Cloud Logging 稽核記錄中,是否有主體進行惡意活動的其他跡象。例如:
    • 嘗試核准 CSR 的主體是否與建立 CSR 的主體不同?
    • 主體是否曾嘗試要求、建立、核准或刪除其他 CSR?
  3. 如果 CSR 意外獲核准,或經判定屬於惡意行動,叢集必須輪換憑證,使憑證失效。請參閱相關指南,瞭解如何輪換叢集憑證。

Credential Access: Manually Approved Kubernetes Certificate Signing Request (CSR)

有人手動核准憑證簽署要求 (CSR)。攻擊者通常會建立叢集驗證用的憑證,以便持續存取遭入侵的叢集。憑證的相關聯權限取決於憑證包含的主體,但可能屬於高權限。詳情請參閱這項快訊的記錄訊息。

  1. 查看 Cloud Logging 稽核記錄和其他快訊,透過與這個 CSR 相關的其他事件,判斷主體是否預期會執行 CSR 相關動作。
  2. 判斷 Cloud Logging 稽核記錄中,是否有主體進行惡意活動的其他跡象。例如:
    • 核准 CSR 的主體是否與建立 CSR 的主體不同?
    • CSR 是否指定了內建簽署者,但由於不符合簽署者的條件,最終仍須手動核准?
    • 主體是否曾嘗試要求、建立、核准或刪除其他 CSR?
  3. 如果 CSR 意外獲核准,或經判定屬於惡意行動,叢集必須輪換憑證,使憑證失效。請參閱相關指南,瞭解如何輪換叢集憑證。

Credential Access: Secrets Accessed in Kubernetes Namespace

偵測 Pod 的 default Kubernetes 服務帳戶是否用於存取叢集中的 Secret 物件。除非您使用 Role 物件或 ClusterRole 物件明確授予存取權,否則 default Kubernetes 服務帳戶不應有權存取 Secret 物件。

Defense Evasion: Breakglass Workload Deployment Created

Breakglass Workload Deployment Created 會檢查 Cloud 稽核記錄,確認是否有工作負載部署作業使用急用權限旗標覆寫二進位授權控管機制。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Defense Evasion: Breakglass Workload Deployment Created 發現項目。系統會開啟調查結果詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:執行修改的帳戶。
      • 「方法名稱」:呼叫的方法。
      • Kubernetes Pod:Pod 名稱和命名空間。
    • 受影響的資源,尤其是下列欄位:
      • 資源顯示名稱:部署作業發生的 GKE 命名空間。
    • 相關連結
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。

步驟 2:檢查記錄

  1. 在 Google Cloud 控制台的「發現項目詳細資料」分頁中,按一下「Cloud Logging URI」欄位中的連結,前往 Logs Explorer
  2. 檢查 protoPayload.resourceName 欄位中的值,找出特定憑證簽署要求。
  3. 使用下列篩選器,檢查主體執行的其他動作:

    • resource.labels.cluster_name="CLUSTER_NAME"
    • protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"

      更改下列內容:

    • CLUSTER_NAME:您在調查結果詳細資料的「資源顯示名稱」欄位中記下的值。

    • PRINCIPAL_EMAIL:您在調查結果詳細資料的「主要電子郵件」欄位中記錄的值。

步驟 3:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 規避防禦措施:緊急部署工作負載
  2. 如要查看相關發現項目,請在發現項目詳細資料的「摘要」分頁中,點選「相關發現項目」列的「相關發現項目」連結。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

Defense Evasion: Breakglass Workload Deployment Updated

檢查 Cloud 稽核記錄,查看是否有任何工作負載更新使用急用權限旗標覆寫二進位授權控管機制,藉此偵測 Breakglass Workload Deployment Updated

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Defense Evasion: Breakglass Workload Deployment Updated 發現項目。系統會開啟調查結果詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:執行修改的帳戶。
      • 「方法名稱」:呼叫的方法。
      • Kubernetes Pod:Pod 名稱和命名空間。
    • 受影響的資源,尤其是下列欄位:
      • 資源顯示名稱:發生更新的 GKE 命名空間。
    • 相關連結
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。

步驟 2:檢查記錄

  1. 在 Google Cloud 控制台的「發現項目詳細資料」分頁中,按一下「Cloud Logging URI」欄位中的連結,前往 Logs Explorer
  2. 檢查 protoPayload.resourceName 欄位中的值,找出特定憑證簽署要求。
  3. 使用下列篩選器,檢查主體執行的其他動作:

    • resource.labels.cluster_name="CLUSTER_NAME"
    • protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"

      更改下列內容:

    • CLUSTER_NAME:您在調查結果詳細資料的「資源顯示名稱」欄位中記下的值。

    • PRINCIPAL_EMAIL:您在調查結果詳細資料的「主要電子郵件」欄位中記錄的值。

步驟 3:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 規避防禦措施:緊急部署工作負載
  2. 如要查看相關發現項目,請在發現項目詳細資料的「摘要」分頁中,點選「相關發現項目」列的「相關發現項目」連結。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

Defense Evasion: GCS Bucket IP Filtering Modified

Event Threat Detection 會檢查稽核記錄,偵測 Cloud Storage bucket 的 IP 篩選設定是否已更新。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟發現項目。Defense Evasion: GCS Bucket IP Filtering Modified系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 說明:偵測資訊
      • 主體:成功執行動作的使用者或服務帳戶
    • 受影響的資源
      • 資源顯示名稱:設定更新所在的 bucket。
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件。
      • 記錄 URI:開啟記錄檔探索工具的連結。

步驟 2:研究攻擊和回應方法

請與「Principal subject」(主體主旨) 欄位中的服務帳戶或使用者帳戶擁有者聯絡。確認正當擁有者是否執行了該項操作。

Defense Evasion: Manually Deleted Certificate Signing Request (CSR)

有人手動刪除了憑證簽署要求 (CSR)。垃圾收集控制器會自動移除 CSR,但惡意行為者可能會手動刪除 CSR,以規避偵測。如果遭刪除的 CSR 是用於已核准及核發的憑證,惡意行為人現在就多了一種驗證方法,可存取叢集。憑證相關聯的權限取決於憑證包含的主體,但可能屬於高權限。Kubernetes 不支援憑證撤銷。詳情請參閱這項快訊的記錄訊息。

  1. 查看 Cloud Logging 稽核記錄和其他快訊,透過與這個 CSR 相關的其他事件,判斷 CSR 是否approved,以及主體是否預期會建立 CSR。
  2. 判斷 Cloud Logging 稽核記錄中,是否有主體進行惡意活動的其他跡象。例如:
    • 刪除 CSR 的主體是否與建立或核准 CSR 的主體不同?
    • 主體是否曾嘗試要求、建立、核准或刪除其他 CSR?
  3. 如果 CSR 意外獲核准,或經判定屬於惡意行動,叢集必須輪換憑證,使憑證失效。請參閱相關指南,瞭解如何輪換叢集憑證。

Defense Evasion: Modify VPC Service Control

這個發現項目不適用於專案層級的啟用作業。

系統會檢查稽核記錄,偵測 VPC Service Controls 範圍的變更,這些變更可能會導致該範圍提供的保護措施減少。以下是幾個範例:

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看發現項目」一文的指示,開啟 Defense Evasion: Modify VPC Service Control 發現項目。系統會開啟調查結果詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,尤其是下列欄位:
      • 主體電子郵件地址:執行修改的帳戶。
    • 受影響的資源,尤其是下列欄位:
      • 資源完整名稱:已修改的 VPC Service Controls 範圍名稱。
    • 相關連結
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
  3. 按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • sourceProperties
      • properties
        • name:已修改的 VPC Service Controls 範圍名稱
        • policyLink:控管範圍的存取權政策連結
        • delta:變更,即 REMOVEADD,導致周邊防護範圍縮小
        • restricted_resources:遵守這個範圍限制的專案。移除專案會降低保護力
        • restricted_services:受這個範圍限制而無法執行的服務。如果移除受限制的服務,保護力就會降低
        • allowed_services:允許在該邊界限制下執行的服務。新增允許的服務會降低保護力
        • access_levels:設定的存取層級,允許存取範圍內的資源。新增更多存取層級會降低保護力

步驟 2:檢查記錄

  1. 在「發現項目詳細資料」面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「記錄檔探索工具」
  2. 使用下列篩選器,找出與 VPC Service Controls 變更相關的管理員活動記錄:
    • protoPayload.methodName:"AccessContextManager.UpdateServicePerimeter"
    • protoPayload.methodName:"AccessContextManager.ReplaceServicePerimeters"

步驟 3:研究攻擊和回應方法

  1. 請參閱這類發現的 MITRE ATT&CK 架構項目: 規避防禦措施:修改驗證程序
  2. 如要查看相關發現項目,請在發現項目詳細資料的「摘要」分頁中,點選「相關發現項目」列的「相關發現項目」連結。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 4:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與 VPC Service Controls 政策和範圍的擁有者聯絡。
  • 在調查完成前,建議您還原周邊裝置的變更。
  • 在調查完成前,請考慮撤銷修改安全範圍的主體所擁有的 Access Context Manager 角色
  • 調查降低保護力度的原因。舉例來說,如果啟用「BigQuery Data Transfer Service API」或將其新增為允許的服務,請檢查是誰開始使用該服務,以及他們移轉的內容。

Defense Evasion: Potential Kubernetes Pod Masquerading

有人部署的 Pod 命名慣例與 GKE 為一般叢集作業建立的預設工作負載相似。這項技術稱為「偽裝」。詳情請參閱這項快訊的記錄訊息。

  1. 確認 Pod 具正當性。
  2. 判斷 Cloud Logging 稽核記錄中,是否有 Pod 或主體進行惡意活動的其他跡象。
  3. 如果主體並非服務帳戶 (IAM 或 Kubernetes),請與帳戶擁有者聯絡,確認正當擁有者是否執行了這項操作。
  4. 如果主體為服務帳戶 (IAM 或 Kubernetes),請找出執行操作的帳戶,以便判斷正當性。
  5. 請移除不正當的 Pod,以及工作負載所使用且讓 Pod 得以建立的任何相關聯 RBAC 繫結和服務帳戶。

Defense Evasion: Project HTTP Policy Block Disabled

Event Threat Detection 會檢查稽核記錄,偵測是否已更新 constraints/storage.secureHttpTransport 政策,停用 HTTP 政策封鎖。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟發現項目。Defense Evasion: Project HTTP Policy Block Disabled系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 說明:偵測資訊
      • 主體:成功執行動作的使用者或服務帳戶
    • 受影響的資源
      • 資源顯示名稱:政策更新的專案/資料夾/機構。
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件。
      • 記錄 URI:開啟記錄檔探索工具的連結。

步驟 2:研究攻擊和回應方法

請與「Principal subject」(主體主旨) 欄位中的服務帳戶或使用者帳戶擁有者聯絡。確認是否由合法擁有者執行停用限制/storage.secureHttpTransport 政策的操作。

Defensive Evasion: Static Pod Created

有人在 GKE 叢集中建立靜態 Pod。 靜態 Pod 會直接在節點上執行,並略過 Kubernetes API 伺服器,因此更難監控及控制。攻擊者可能會利用這點規避偵測或維持持續性。

  1. 查看靜態 Pod 的資訊清單檔案及其用途。確認是否正當且必要。
  2. 評估是否能透過 Kubernetes API 伺服器管理的常規 Pod,實現靜態 Pod 的功能。
  3. 如果需要靜態 Pod,請確保該 Pod 遵循安全性最佳做法,並具備最低權限。
  4. 監控靜態 Pod 的活動及其對叢集的影響。

Discovery: Can get sensitive Kubernetes object check

可能有惡意的行為人試圖使用 kubectl auth can-i get 指令,判斷可以查詢 GKE 中的哪些機密物件。具體來說,攻擊者執行了下列任一指令:

  • kubectl auth can-i get '*'
  • kubectl auth can-i get secrets
  • kubectl auth can-i get clusterroles/cluster-admin

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Discovery: Can get sensitive Kubernetes object check 發現項目。
  2. 在「摘要」分頁的發現項目詳細資料中,記下下列欄位的值:

    • 在「偵測到的內容」下方:
      • Kubernetes 存取權審查:根據 SelfSubjectAccessReview k8s 資源,要求存取權審查資訊。
      • 主體電子郵件地址:發出呼叫的帳戶。
    • 在「受影響的資源」下方:
      • 資源顯示名稱:發生動作的 Kubernetes 叢集。
    • 在「相關連結」下方:
      • Cloud Logging URI:記錄檔項目的連結。

步驟 2:檢查記錄

  1. 在「發現詳細資料」面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「記錄檔探索工具」
  2. 在載入的頁面上,使用下列篩選器檢查主體執行的其他動作:

    • resource.labels.cluster_name="CLUSTER_NAME"
    • protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"

      更改下列內容:

    • CLUSTER_NAME:您在調查結果詳細資料的「資源顯示名稱」欄位中記下的值。

    • PRINCIPAL_EMAIL:您在調查結果詳細資料的「主要電子郵件」欄位中記錄的值。

步驟 3:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 探索
  2. 確認所查詢物件的機密程度,並判斷記錄中是否有其他跡象,表明主體進行了惡意活動。
  3. 發現項目詳細資料,如果「主體電子郵件地址」列載明的帳戶並非服務帳戶,請與帳戶擁有者聯絡,確認正當擁有者是否執行了這項操作。

    如果主體電子郵件地址為服務帳戶 (IAM 或 Kubernetes),請找出存取權檢查來源來判斷正當性。

  4. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

Evasion: Access from Anonymizing Proxy

檢查 Cloud 稽核記錄,找出源自與 Tor 網路相關聯 IP 位址的 Google Cloud 服務修改項目,即可偵測到來自匿名 Proxy 的異常存取活動。

如要回應這些發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的指示,開啟 Evasion: Access from Anonymizing Proxy 發現項目。系統會開啟發現項目詳細資料面板,並顯示「摘要」分頁。
  2. 在發現項目詳細資料面板的「摘要」分頁中,查看下列區段列出的值:

    • 偵測到的內容,特別是下列欄位:
      • 主要電子郵件地址:進行變更的帳戶 (可能是遭盜用的帳戶)。
      • IP:進行變更的 Proxy IP 位址。
    • 受影響的資源
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
  3. (選用) 按一下「JSON」JSON分頁標籤,即可查看其他發現欄位。

步驟 2:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: Proxy: Multi-hop Proxy
  2. 請與「principalEmail」欄位中的帳戶擁有者聯絡。確認該動作是否由合法擁有者執行。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

Execution: Cryptomining Docker Image

偵測是否透過新增可進行加密貨幣挖礦的已知不良 Docker 映像檔,建立或修訂 Cloud Run 服務或工作。

如要回應這項發現,請按照下列步驟操作:

  1. 檢查容器映像檔,判斷是否為預期行為。
  2. 刪除遭入侵的容器,並換成新容器。

Execution: GKE launch excessively capable container

有人在安全性環境提升的 GKE 叢集中,部署具備下列一或多項功能的容器:

  • CAP_SYS_MODULE
  • CAP_SYS_RAWIO
  • CAP_SYS_PTRACE
  • CAP_SYS_BOOT
  • CAP_DAC_READ_SEARCH
  • CAP_NET_ADMIN
  • CAP_BPF

這些功能先前曾用於從容器逸出,因此應謹慎佈建。

  1. 查看 Pod 定義中的容器安全情境。找出任何對功能而言並非絕對必要的權限。
  2. 盡可能移除或減少過多的功能。遵循最低權限原則。

Execution: Kubernetes Pod Created with Potential Reverse Shell Arguments

有人建立的 Pod 包含通常與反向 Shell 相關聯的指令或引數。攻擊者會使用反向 Shell 擴大或維持對叢集的初始存取權,並執行任意指令。詳情請參閱這項快訊的記錄訊息。

  1. 確認 Pod 有正當理由指定這些指令和引數。
  2. 判斷 Cloud Logging 稽核記錄中,是否有 Pod 或主體進行惡意活動的其他跡象。
  3. 如果主體並非服務帳戶 (IAM 或 Kubernetes),請與帳戶擁有者聯絡,確認正當擁有者是否執行了這項操作。
  4. 如果主體為服務帳戶 (IAM 或 Kubernetes),請判斷導致服務帳戶執行這項操作的原因是否正當。
  5. 請移除不正當的 Pod,以及工作負載所使用且讓 Pod 得以建立的任何相關聯 RBAC 繫結和服務帳戶。

Execution: Suspicious Exec or Attach to a System Pod

有人使用 execattach 指令,在 kube-system 命名空間中執行的容器上取得殼層或執行指令。有時會基於正當的偵錯目的使用這些方法。不過,kube-system namespace 是專為 Kubernetes 建立的系統物件而設計,因此應檢查非預期的指令執行或殼層建立作業。詳情請參閱這項快訊的記錄訊息。

  1. 查看 Cloud Logging 中的稽核記錄,判斷主體是否預期會執行這項活動。
  2. 判斷記錄中是否有其他跡象,表明主體進行了惡意活動。

請參閱相關指南,瞭解如何針對授予這項存取權的 RBAC 角色和叢集角色,採用最小權限原則。

Execution: Workload triggered in sensitive namespace

有人在 kube-systemkube-public 命名空間中部署工作負載 (例如 Pod 或 Deployment)。這些命名空間對 GKE 叢集運作至關重要,未經授權的工作負載可能會影響叢集穩定性或安全性。

  1. 找出已部署的工作負載及其用途。
  2. 如果工作負載未經授權,請刪除並調查部署來源。

Exfiltration: BigQuery Data Exfiltration

Exfiltration: BigQuery Data Exfiltration 傳回的結果包含兩種可能的子規則之一。每項子規則的嚴重程度不同:

  • 子規則 exfil_to_external_table,嚴重程度 = HIGH
    • 資源儲存在您的機構或專案外部。
  • 子規則 vpc_perimeter_violation,嚴重程度 = LOW
    • VPC Service Controls 封鎖了複製作業,或嘗試存取 BigQuery 資源。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Exfiltration: BigQuery Data Exfiltration 發現項目。
  2. 在發現項目詳細資料面板的「摘要」分頁中,查看下列區段列出的值:

    • 偵測到的內容
      • 嚴重性:子規則 exfil_to_external_table 的嚴重性為 HIGH,子規則 vpc_perimeter_violation 的嚴重性為 LOW
      • 主要電子郵件地址:用來外洩資料的帳戶。
      • 外洩來源:資料外洩的資料表詳細資料。
      • 資料竊取目標:遭竊資料儲存位置的詳細資料。
    • 受影響的資源
      • 資源完整名稱:資料外洩的專案、資料夾或機構的完整資源名稱。
    • 相關連結
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
  3. 按一下「來源屬性」分頁標籤,然後查看顯示的欄位,特別是:

    • detectionCategory
      • subRuleNameexfil_to_external_tablevpc_perimeter_violation
    • evidence
      • sourceLogId
        • projectId:包含來源 BigQuery 資料集的 Google Cloud 專案。
    • properties
      • dataExfiltrationAttempt
        • jobLink:外洩資料的 BigQuery 工作連結。
        • query:在 BigQuery 資料集上執行的 SQL 查詢。
  4. 如要查看完整的 JSON 屬性清單,請按一下「JSON」JSON分頁標籤。

步驟 2:檢查權限和設定

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「IAM」頁面

  2. 如有需要,請在發現項目 JSON 的 projectId 欄位中選取列出的專案。

  3. 在隨即顯示的頁面中,於「篩選器」方塊中輸入「主要電子郵件」中列出的電子郵件地址,然後查看指派給該帳戶的權限。

步驟 3:檢查記錄

  1. 在「發現詳細資料」面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「記錄檔探索工具」
  2. 使用下列篩選器,找出與 BigQuery 工作相關的管理員活動記錄:

    • protoPayload.methodName="Jobservice.insert"
    • protoPayload.methodName="google.cloud.bigquery.v2.JobService.InsertJob"

步驟 4:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 透過網路服務外洩資料:外洩至雲端儲存空間
  2. 如要查看相關發現項目,請在發現項目詳細資料的「摘要」分頁中,點選「相關發現項目」列的「相關發現項目」連結。 相關發現是指同一執行個體和網路上的相同發現類型。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

Exfiltration: BigQuery Data Extraction

系統會檢查稽核記錄,偵測 BigQuery 資料外洩事件,包括以下兩種情況:

  • 資源儲存至貴機構外部的 Cloud Storage bucket。
  • 資源會儲存至貴機構擁有的公開存取 Cloud Storage bucket。

如果在專案層級啟用 Security Command Center Premium 方案,只有在父項機構啟用 Standard 方案時,才能使用這項發現項目。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Exfiltration: BigQuery Data Extraction 發現項目。發現項目的詳細資料面板會開啟「摘要」分頁。
  2. 在發現項目詳細資料面板的「摘要」分頁中,查看下列區段列出的值:

    • 偵測到的內容
      • 主要電子郵件地址:用來外洩資料的帳戶。
      • 外洩來源:資料外洩的資料表詳細資料。
      • 資料竊取目標:遭竊資料儲存位置的詳細資料。
    • 受影響的資源
      • 資源全名:遭外洩資料的 BigQuery 資源名稱。
      • 專案完整名稱:包含來源 BigQuery 資料集的 Google Cloud 專案。
    • 相關連結
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
  3. 在調查結果詳細資料面板中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • sourceProperties
      • evidence
        • sourceLogId
        • projectId:包含來源 BigQuery 資料集的 Google Cloud 專案。
      • properties
        • extractionAttempt
        • jobLink:外洩資料的 BigQuery 工作連結

步驟 2:檢查權限和設定

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「IAM」頁面

  2. 如有需要,請選取在發現項目 JSON (來自步驟 1) 的 projectId 欄位中列出的專案。

  3. 在隨即顯示的頁面中,於「篩選條件」方塊中輸入「主要電子郵件」中列出的電子郵件地址 (來自步驟 1),然後查看指派給該帳戶的權限。

步驟 3:檢查記錄

  1. 在「發現項目詳細資料」面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「記錄檔探索工具」
  2. 使用下列篩選器,找出與 BigQuery 工作相關的管理員活動記錄:
    • protoPayload.methodName="Jobservice.insert"
    • protoPayload.methodName="google.cloud.bigquery.v2.JobService.InsertJob"

步驟 4:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 透過網路服務外洩資料:外洩至雲端儲存空間
  2. 按一下發現項目詳細資料「摘要」分頁中「相關發現項目」列的連結,即可查看相關發現項目。相關發現是指同一執行個體和網路上的相同發現類型。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

Exfiltration: BigQuery Data to Google Drive

系統會檢查稽核記錄,偵測 BigQuery 的資料外洩情形,包括:

  • 資源會儲存至 Google 雲端硬碟資料夾。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文中的指示,開啟 Exfiltration: BigQuery Data to Google Drive 發現項目。
  2. 在調查結果詳細資料面板的「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,包括:
      • 主要電子郵件地址:用來外洩資料的帳戶。
      • 外洩來源:資料外洩的 BigQuery 表格詳細資料。
      • 資料竊取目標:Google 雲端硬碟中目的地的詳細資料。
    • 受影響的資源,包括:
      • 資源完整名稱:遭外洩資料的 BigQuery 資源名稱。
      • 專案完整名稱:包含來源 BigQuery 資料集的 Google Cloud 專案。
    • 相關連結,包括:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
  3. 如要瞭解更多資訊,請按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • sourceProperties
      • evidence
        • sourceLogId
        • projectId:包含來源 BigQuery 資料集的 Google Cloud 專案。
      • properties
        • extractionAttempt
        • jobLink:外洩資料的 BigQuery 工作連結

步驟 2:檢查權限和設定

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「IAM」頁面

  2. 如有需要,請選取在發現項目 JSON (來自步驟 1) 的 projectId 欄位中列出的專案。

  3. 在隨即顯示的頁面中,於「篩選條件」方塊中輸入 access.principalEmail 列出的電子郵件地址 (來自步驟 1),然後查看指派給該帳戶的權限。

步驟 3:檢查記錄

  1. 在「發現項目詳細資料」面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「記錄檔探索工具」
  2. 使用下列篩選器,找出與 BigQuery 工作相關的管理員活動記錄:
    • protoPayload.methodName="Jobservice.insert"
    • protoPayload.methodName="google.cloud.bigquery.v2.JobService.InsertJob"

步驟 4:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 透過網路服務外洩資料:外洩至雲端儲存空間
  2. 如要查看相關發現項目,請在發現項目詳細資料的「摘要」分頁中,點選「相關發現項目」列的「相關發現項目」連結。 相關發現是指同一執行個體和網路上的相同發現類型。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

Exfiltration: Cloud SQL Data Exfiltration

系統會檢查稽核記錄,判斷是否發生下列兩種情況,藉此偵測 Cloud SQL 資料外洩:

  • 即時執行個體資料匯出至機構外部的 Cloud Storage bucket。
  • 即時執行個體資料匯出至貴機構擁有的公開 Cloud Storage bucket。

支援所有 Cloud SQL 執行個體類型。

如果在專案層級啟用 Security Command Center Premium 方案,只有在父項機構啟用 Standard 方案時,才能使用這項發現項目。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看發現項目」一文的指示,開啟 Exfiltration: Cloud SQL Data Exfiltration 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主要電子郵件地址:用來外洩資料的帳戶。
      • 資料外洩來源:資料外洩的 Cloud SQL 執行個體詳細資料。
      • 外洩目標:資料匯出至 Cloud Storage 值區的詳細資料。
    • 受影響的資源,尤其是下列欄位:
      • 資源完整名稱:遭資料外洩的 Cloud SQL 資源名稱。
      • 專案完整名稱:包含來源 Cloud SQL 資料的 Google Cloud 專案。
    • 相關連結,包括:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
  3. 按一下「JSON」JSON分頁標籤。

  4. 在調查結果的 JSON 中,請注意下列欄位:

    • sourceProperties
      • evidence
      • sourceLogId
        • projectId:包含來源 Cloud SQL 執行個體的專案。 Google Cloud
      • properties
      • bucketAccess:Cloud Storage 值區是否可公開存取,或是否屬於機構外部
      • exportScope:匯出多少資料,例如整個執行個體、一或多個資料庫、一或多個資料表,或查詢指定的子集

步驟 2:檢查權限和設定

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「IAM」頁面

  2. 如有需要,請選取在發現項目 JSON 的 projectId 欄位中列出的執行個體專案 (來自步驟 1)。

  3. 在隨即顯示的頁面中,於「篩選器」方塊中,輸入調查結果詳細資料「摘要」分頁中「主要電子郵件」列所列的電子郵件地址 (請參閱步驟 1)。查看帳戶獲派的權限。

步驟 3:檢查記錄

  1. 在 Google Cloud 控制台中,按一下「Cloud Logging URI」中的連結 (來自步驟 1),前往「Logs Explorer」(記錄檔探索工具)。 「記錄檔探索工具」頁面會顯示與相關 Cloud SQL 執行個體有關的所有記錄。

步驟 4:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 透過網路服務外洩資料:外洩至雲端儲存空間
  2. 按一下「相關發現項目」列中的連結,即可查看相關發現項目 (如步驟 1 所述)。相關發現項目在同一個 Cloud SQL 執行個體上具有相同的發現項目類型。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭外洩資料的專案擁有者聯絡。
  • 在調查完成前,請考慮撤銷 access.principalEmail 的權限。
  • 如要防止資料外洩,請在受影響的 Cloud SQL 執行個體中新增限制性 IAM 政策。
  • 如要限制 Cloud SQL Admin API 的存取權和匯出作業,請使用 VPC Service Controls
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議

Exfiltration: Cloud SQL Over-Privileged Grant

偵測何時將 PostgreSQL 資料庫的所有權限 (或資料庫中的所有函式或程序) 授予一或多位資料庫使用者。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟Exfiltration: Cloud SQL Over-Privileged Grant 結果。
  2. 在調查結果詳細資料面板的「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 資料庫顯示名稱:受影響的 Cloud SQL PostgreSQL 執行個體中的資料庫名稱。
      • 資料庫使用者名稱:授予過多權限的 PostgreSQL 使用者。
      • 資料庫查詢:執行 PostgreSQL 查詢,授予權限。
      • 資料庫權限擁有者:擁有過於廣泛權限的權限擁有者。
    • 受影響的資源,尤其是下列欄位:
      • 資源完整名稱:受影響的 Cloud SQL PostgreSQL 執行個體資源名稱。
      • 父項完整名稱:Cloud SQL PostgreSQL 執行個體的資源名稱。
      • 專案完整名稱:包含 Cloud SQL PostgreSQL 執行個體的專案。 Google Cloud
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
  3. 如要查看調查結果的完整 JSON,請按一下「JSON」JSON分頁標籤。

步驟 2:查看資料庫權限

  1. 連線至 PostgreSQL 資料庫
  2. 列出並顯示下列項目的存取權限
    • 資料庫。使用 \l\list 中繼指令,然後檢查為「資料庫顯示名稱」 (來自步驟 1) 列出的資料庫指派的權限。
    • 函式或程序。使用 \df 中繼指令,並檢查在「資料庫顯示名稱」 (來自步驟 1) 中列出的資料庫內,函式或程序有哪些權限。

步驟 3:檢查記錄

  1. 在 Google Cloud 控制台中,按一下「Cloud Logging URI」中的連結 (來自步驟 1),前往「Logs Explorer」(記錄檔探索工具)。 「記錄檔探索工具」頁面會顯示與相關 Cloud SQL 執行個體的所有記錄。
  2. 在「記錄檔探索工具」中,使用下列篩選條件檢查 PostgreSQL pgaudit 記錄,其中會記錄對資料庫執行的查詢:
    • protoPayload.request.database="var class="edit">database"

步驟 4:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 透過網路服務進行資料外洩
  2. 如要判斷是否需要採取其他補救措施,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與具有過度授權的執行個體擁有者聯絡。
  • 在調查完成前,請考慮撤銷「資料庫受讓人」中列出的所有受讓人權限。
  • 如要限制資料庫存取權 (來自步驟 1 的「資料庫顯示名稱」),請從受讓人 (來自步驟 1 的「資料庫受讓人」) 撤銷不必要的權限。

Exfiltration: Cloud SQL Restore Backup to External Organization

系統會檢查稽核記錄,判斷備份資料是否已還原至組織或專案外的 Cloud SQL 執行個體,藉此偵測 Cloud SQL 備份資料外洩事件。支援所有 Cloud SQL 執行個體和備份類型。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的指示,開啟 Exfiltration: Cloud SQL Restore Backup to External Organization 發現項目。
  2. 在調查結果詳細資料面板的「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主要電子郵件地址:用來外洩資料的帳戶。
      • 外洩來源:備份檔的建立來源 Cloud SQL 執行個體詳細資料。
      • 外洩目標:備份資料還原至 Cloud SQL 執行個體的詳細資料。
    • 受影響的資源,尤其是下列欄位:
      • 資源完整名稱:還原的備份資源名稱。
      • 專案完整名稱:包含備份來源 Cloud SQL 執行個體的 Google Cloud 專案。
  3. 相關連結,尤其是下列欄位:

    • Cloud Logging URI:記錄檔項目的連結。
    • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
    • 相關發現項目:任何相關發現項目的連結。
  4. 按一下「JSON」JSON分頁標籤。

  5. 請注意 JSON 中的下列欄位。

    • resource
      • parent_name:備份來源 Cloud SQL 執行個體的資源名稱
    • evidence
      • sourceLogId
        • projectId:包含來源 BigQuery 資料集的 Google Cloud 專案。
    • properties
      • restoreToExternalInstance
        • backupId:已還原的備份執行作業 ID

步驟 2:檢查權限和設定

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「IAM」頁面

  2. 如有必要,請選取在發現項目 JSON 的 projectId 欄位中列出的執行個體專案 (來自步驟 1)。

  3. 在隨即顯示的頁面中,於「篩選條件」方塊中輸入「主要電子郵件」中列出的電子郵件地址 (來自步驟 1),然後查看指派給該帳戶的權限。

步驟 3:檢查記錄

  1. 在 Google Cloud 控制台中,按一下「Cloud Logging URI」中的連結 (來自步驟 1),前往「Logs Explorer」(記錄檔探索工具)。 「記錄檔探索工具」頁面會顯示與相關 Cloud SQL 執行個體的所有記錄。

步驟 4:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 透過網路服務外洩資料:外洩至雲端儲存空間
  2. 按一下「相關發現項目」列中的連結,即可查看相關發現項目。(來自步驟 1)。相關發現項目在同一個 Cloud SQL 執行個體上具有相同的發現項目類型。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭外洩資料的專案擁有者聯絡。
  • 在調查完成前,請考慮撤銷發現項目詳細資料「摘要」分頁中「主體電子郵件」列所列主體的權限。
  • 如要防止資料外洩,請在受影響的 Cloud SQL 執行個體中新增限制性 IAM 政策。
  • 如要限制 Cloud SQL Admin API 的存取權,請使用 VPC Service Controls
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議

Impact: Cryptomining Commands

偵測已知加密貨幣挖礦指令是否傳遞至 Cloud Run 工作,做為工作執行時執行的進入點。

如要回應這項發現,請按照下列步驟操作:

  1. 檢查工作、指令和容器,判斷這是否為預期行為。
  2. 刪除遭入侵的工作和容器。

Impact: Deleted Google Cloud Backup and DR Backup

Event Threat Detection 會檢查稽核記錄,偵測備份保存庫中儲存的備份是否已遭刪除。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟發現項目。Impact: Deleted Google Cloud Backup and DR Backup系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 說明:偵測資訊。
      • 主體:成功執行動作的使用者或服務帳戶。
    • 受影響的資源
      • 資源顯示名稱:備份頻率降低的專案。
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件。
      • 記錄 URI:開啟記錄檔探索工具的連結。

步驟 2:研究攻擊和回應方法

與「主體主旨」欄位中的服務帳戶擁有者聯絡,確認對方是否執行了這項操作。

Impact: Deleted Google Cloud Backup and DR host

Event Threat Detection 會檢查稽核記錄,偵測是否刪除執行受備份和災難復原服務保護應用程式的主機。刪除主機後,與主機相關聯的應用程式就無法備份。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟發現項目。Impact: Deleted Google Cloud Backup and DR host系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 應用程式名稱:連線至 Backup and DR 的資料庫或 VM 名稱
      • 主機名稱:連線至 Backup and DR 的主機名稱
      • 主要主體:成功執行動作的使用者
    • 受影響的資源
      • 資源顯示名稱:主機遭刪除的專案
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件
      • Logging URI:開啟「Logs Explorer」(記錄檔探索工具) 的連結

步驟 2:研究攻擊和回應方法

與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。

步驟 3:實作回應

以下回應計畫可能適合這項發現。請仔細評估調查中收集到的資訊,判斷解決發現事項的最佳方式。

  1. 在執行動作的專案中,前往管理控制台。
  2. 確認刪除的主機已不在 Backup and DR 主機清單中。
  3. 選取「新增主機」選項,重新新增已刪除的主機。

Impact: Deleted Google Cloud Backup and DR plan association

Event Threat Detection 會檢查稽核記錄,偵測方案關聯是否已刪除。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟發現項目。Impact: Deleted Google Cloud Backup and DR plan association系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 說明:偵測資訊。
      • 主體:成功執行動作的使用者或服務帳戶。
    • 受影響的資源
      • 資源顯示名稱:備份頻率降低的專案。
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件。
      • 記錄 URI:開啟記錄檔探索工具的連結。

步驟 2:研究攻擊和回應方法

與「主體主旨」欄位中的服務帳戶擁有者聯絡,確認對方是否執行了這項操作。

Impact: Deleted Google Cloud Backup and DR Vault

Event Threat Detection 會檢查稽核記錄,偵測備份保存庫是否已刪除。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟發現項目。Impact: Google Cloud Backup and DR reduced backup frequency系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 說明:偵測資訊。
      • 主體:成功執行動作的使用者或服務帳戶。
    • 受影響的資源
      • 資源顯示名稱:備份頻率降低的專案。
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件。
      • 記錄 URI:開啟記錄檔探索工具的連結。

步驟 2:研究攻擊和回應方法

聯絡「Principal subject」(主體) 欄位中的服務帳戶擁有者。 確認正當擁有者是否執行了該項操作。

Impact: GKE kube-dns modification detected

有人修改了 GKE 叢集中的 kube-dns 設定。 GKE kube-dns 是叢集網路的重要元件,設定錯誤可能會導致安全漏洞。

  1. 檢查叢集的 kube-dns 設定,找出任何可疑變更。

Impact: Google Cloud Backup and DR delete policy

系統會檢查稽核記錄,偵測政策是否遭到刪除。政策會定義備份方式和儲存位置。

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟發現項目。Impact: Google Cloud Backup and DR delete policy系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 政策名稱:單一政策的名稱,可定義備份頻率、排程和保留時間
      • 主要主體:成功執行動作的使用者
    • 受影響的資源
      • 資源顯示名稱:刪除政策的專案
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件
      • 記錄 URI:開啟記錄檔探索工具的連結。

步驟 2:研究攻擊和回應方法

與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。確認正當擁有者是否執行了該項操作。

步驟 3:實作回應

以下回應計畫可能適合這項發現。請仔細評估調查期間收集到的資訊,判斷解決問題的最佳方式。 1. 在執行動作的專案中,前往管理控制台。 2. 在「應用程式管理工具」分頁中,選取受影響的應用程式,然後查看套用至該應用程式的「政策」設定。

Impact: Google Cloud Backup and DR delete profile

我們會檢查稽核記錄,偵測商家檔案是否遭到刪除。設定檔會定義用來儲存備份的儲存空間集區。

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟 Impact: Google Cloud Backup and DR delete profile 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 設定檔名稱:指定應用程式和 VM 資料備份的儲存空間目標
      • 主要主體:成功執行動作的使用者
    • 受影響的資源
      • 資源顯示名稱:個人資料遭刪除的專案
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件
      • Logging URI:開啟「Logs Explorer」(記錄檔探索工具) 的連結

步驟 2:研究攻擊和回應方法

與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。確認正當擁有者是否執行了該項操作。

步驟 3:實作回應

以下回應計畫可能適合這項發現。請仔細評估調查期間收集到的資訊,判斷解決問題的最佳方式。 1. 在執行動作的專案中,前往管理控制台。 2. 在「備份計畫」分頁中,選取「設定檔」即可查看所有設定檔的清單。 3. 檢查設定檔,確認所有必要設定檔都已到位。 4. 如果誤刪設定檔,請選取「建立設定檔」,為 Backup and DR 裝置定義儲存空間目標。

Impact: Google Cloud Backup and DR delete template

Security Command Center 會檢查稽核記錄,偵測範本是否遭到異常刪除。範本是備份的基本設定,可套用至多個應用程式。

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟發現項目。Impact: Google Cloud Backup and DR delete template系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 範本名稱:一組政策的名稱,用於定義備份頻率、排程和保留時間
      • 主要主體:成功執行動作的使用者
    • 受影響的資源
      • 資源顯示名稱:範本遭刪除的專案
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件
      • Logging URI:開啟「Logs Explorer」(記錄檔探索工具) 的連結

步驟 2:研究攻擊和回應方法

與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。

步驟 3:實作回應

以下回應計畫可能適合這項發現。請仔細評估調查中收集到的資訊,判斷解決結果的最佳方式。

  1. 在採取動作的專案中,前往管理控制台。
  2. 在「應用程式管理員」分頁中,找出不再受保護的受影響應用程式,並逐一查看備份政策。
  3. 如要重新新增範本,請前往「備份方案」分頁,選取「範本」,然後選取「建立範本」選項。

Impact: Google Cloud Backup and DR delete storage pool

我們會檢查稽核記錄,偵測儲存空間集區是否遭到刪除。儲存集區會將 Cloud Storage 值區與 Backup and DR 建立關聯。

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟 Impact: Google Cloud Backup and DR delete storage pool 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 儲存空間集區名稱:儲存備份資料的儲存空間值區名稱
      • 主要主體:成功執行動作的使用者
    • 受影響的資源
      • 資源顯示名稱:儲存集區遭刪除的專案
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件
      • Logging URI:開啟「Logs Explorer」(記錄檔探索工具) 的連結

步驟 2:研究攻擊和回應方法

與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。確認正當擁有者是否執行了該項操作。

步驟 3:實作回應

以下回應計畫可能適合這項發現。請仔細評估調查期間收集到的資訊,判斷解決問題的最佳方式。 1. 在執行動作的專案中,前往管理控制台。 2. 在「管理」分頁中,選取「儲存空間集區」,即可查看所有儲存空間集區的清單。 3. 檢查儲存空間集區與備份裝置的關聯。 4. 如果現用裝置沒有相關聯的儲存空間集區,請選取「新增 OnVault 集區」重新新增。

Impact: Google Cloud Backup and DR expire all images

有潛在惡意行為者要求刪除與應用程式相關聯的所有備份圖片。

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟 Impact: Google Cloud Backup and DR expire all images 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 政策名稱:單一政策的名稱,定義備份頻率、排程和保留時間
      • 範本名稱:一組政策的名稱,用於定義備份頻率、排程和保留時間
      • 設定檔名稱:指定應用程式和 VM 資料備份的儲存空間目標
      • 主要主體:成功執行動作的使用者
    • 受影響的資源
      • 資源顯示名稱:刪除備份映像檔的專案
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件
      • 記錄 URI:開啟記錄檔探索工具的連結。

步驟 2:研究攻擊和回應方法

與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。確認正當擁有者是否執行了該項操作。

步驟 3:實作回應

以下回應計畫可能適合這項發現。請仔細評估調查期間收集到的資訊,判斷解決問題的最佳方式。 1. 在執行動作的專案中,前往管理控制台。 2. 前往「監控」分頁,然後選取「工作」,查看刪除備份工作的狀態。 3. 如果刪除工作未獲授權,請前往 IAM 權限,查看有權存取備份資料的使用者。

Impact: Google Cloud Backup and DR expire image

有惡意人士要求刪除備份圖片。

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟 Inhibit System Recovery: Google Cloud Backup and DR expire image 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 政策名稱:單一政策的名稱,定義備份頻率、排程和保留時間
      • 範本名稱:一組政策的名稱,用於定義備份頻率、排程和保留時間
      • 設定檔名稱:指定應用程式和 VM 資料備份的儲存空間目標
      • 主要主體:成功執行動作的使用者
    • 受影響的資源
      • 資源顯示名稱:備份映像檔遭刪除的專案
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件
      • Logging URI:開啟「Logs Explorer」(記錄檔探索工具) 的連結

步驟 2:研究攻擊和回應方法

與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。確認正當擁有者是否執行了該項操作。

步驟 3:實作回應

以下回應計畫可能適合這項發現。請仔細評估調查期間收集到的資訊,判斷解決問題的最佳方式。 1. 在執行動作的專案中,前往管理控制台。 2. 前往「監控」分頁,然後選取「工作」,查看刪除備份工作的狀態。 3. 如果刪除工作未獲授權,請前往 IAM 權限,查看有權存取備份資料的使用者。

Impact: Google Cloud Backup and DR reduced backup expiration

Event Threat Detection 會檢查稽核記錄,偵測 Backup and DR Service 裝置上的備份到期日是否已縮短。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟發現項目。Impact: Google Cloud Backup and DR reduced backup expiration系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 說明:偵測資訊
      • 主體:成功執行動作的使用者或服務帳戶
    • 受影響的資源
      • 資源顯示名稱:備份到期日縮短的專案。
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件。
      • 記錄 URI:開啟記錄檔探索工具的連結。

步驟 2:研究攻擊和回應方法

聯絡「Principal subject」(主體) 欄位中的服務帳戶擁有者。 確認正當擁有者是否執行了該項操作。

步驟 3:實作回應

以下回應計畫可能適合這項發現。請仔細評估調查中收集到的資訊,判斷解決結果的最佳方式。

  1. 在執行動作的專案中,前往管理控制台。
  2. 在「應用程式管理員」分頁中,找出備份到期時間縮短的受影響應用程式,並確認主體是否有意縮短到期時間。
  3. 如要啟動應用程式的新備份作業,請選取「管理備份設定」,建立隨選備份或排定新的備份作業。

Impact: Google Cloud Backup and DR reduced backup frequency

Event Threat Detection 會檢查稽核記錄,偵測備份方案是否已修改,以降低備份頻率。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟發現項目。Impact: Google Cloud Backup and DR reduced backup frequency系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 說明:偵測資訊
      • 主體:成功執行動作的使用者或服務帳戶
    • 受影響的資源
      • 資源顯示名稱:備份頻率降低的專案。
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件。
      • 記錄 URI:開啟記錄檔探索工具的連結。

步驟 2:研究攻擊和回應方法

聯絡「Principal subject」(主體) 欄位中的服務帳戶擁有者。 確認正當擁有者是否執行了該項操作。

步驟 3:實作回應

以下回應計畫可能適合這項發現。請仔細評估調查中收集到的資訊,判斷解決結果的最佳方式。

  1. 在執行動作的專案中,前往管理控制台。
  2. 在「應用程式管理員」分頁中,找出備份頻率降低的受影響應用程式,並確認這項變更是主體有意為之。
  3. 如要啟動應用程式的新備份作業,請選取「管理備份設定」,建立隨選備份或排定新的備份作業。

Impact: Google Cloud Backup and DR remove appliance

我們會檢查稽核記錄,偵測備份和復原設備是否遭到移除。備份與復原設備是備份作業的重要環節。

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟 Inhibit System Recovery: Google Cloud Backup and DR remove appliance 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 設備名稱:連線至 Backup and DR 的資料庫或 VM 名稱
      • 主要主體:成功執行動作的使用者
    • 受影響的資源
      • 資源顯示名稱:刪除設備的專案
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件
      • Logging URI:開啟「Logs Explorer」(記錄檔探索工具) 的連結

步驟 2:研究攻擊和回應方法

與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。確認正當擁有者是否執行了該項操作。

步驟 3:實作回應

以下回應計畫可能適合這項發現。請仔細評估調查期間收集到的資訊,判斷解決問題的最佳方式。 1. 在執行動作的專案中,前往管理控制台。 2. 在「應用程式管理員」分頁中,找出不再受保護的受影響應用程式,並查看每個應用程式的備份政策。 3. 如要建立新設備,並重新為未受保護的應用程式套用保護措施,請前往 Google Cloud 控制台中的備份和災難復原服務,然後選取「部署其他備份或復原設備」選項。 4. 在「儲存空間」選單中,為每個新設備設定儲存空間目標。設定設備後,建立應用程式設定檔時,系統會顯示該設備選項。

Impact: Google Cloud Backup and DR remove plan

Security Command Center 會檢查稽核記錄,偵測用於對應用程式套用備份政策的備份和災難復原服務備份方案是否遭到異常刪除。

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟發現項目。Impact: Google Cloud Backup and DR remove plan系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「摘要」分頁中,查看下列各節的資訊:
    • 偵測到的內容,特別是下列欄位:
      • 應用程式名稱:連線至 Backup and DR 的資料庫或 VM 名稱
      • 設定檔名稱:指定應用程式和 VM 資料備份的儲存空間目標
      • 範本名稱:一組政策的名稱,用於定義備份頻率、排程和保留時間
    • 受影響的資源
      • 資源顯示名稱:刪除方案的專案
    • 相關連結,尤其是下列欄位:
      • MITRE ATTACK 方法:連結至 MITRE ATT&CK 文件
      • Logging URI:開啟「Logs Explorer」(記錄檔探索工具) 的連結

步驟 2:研究攻擊和回應方法

與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。

步驟 3:實作回應

以下回應計畫可能適合這項發現。請仔細評估調查中收集到的資訊,判斷解決結果的最佳方式。

  1. 在執行動作的專案中,前往管理控制台。
  2. 在「應用程式管理員」分頁中,找出不再受保護的受影響應用程式,並逐一查看備份政策。

Impact: Suspicious Kubernetes Container Names - Cryptocurrency Mining

有人部署的 Pod 命名慣例與常見的加密貨幣挖礦程式類似。這可能是攻擊者在取得叢集的初始存取權後,嘗試使用叢集資源進行加密貨幣挖礦。詳情請參閱這項快訊的記錄訊息。

  1. 確認 Pod 具正當性。
  2. 判斷 Cloud Logging 稽核記錄中,是否有 Pod 或主體進行惡意活動的其他跡象。
  3. 如果主體並非服務帳戶 (IAM 或 Kubernetes),請與帳戶擁有者聯絡,確認正當擁有者是否執行了這項操作。
  4. 如果主體為服務帳戶 (IAM 或 Kubernetes),請找出執行操作的帳戶,以便判斷正當性。
  5. 請移除不正當的 Pod,以及工作負載所使用且讓 Pod 得以建立的任何相關聯 RBAC 繫結和服務帳戶。

Initial Access: Anonymous GKE resource created from the internet

偵測潛在惡意行為者是否使用下列 Kubernetes 預設使用者或使用者群組,在叢集中建立新的 Kubernetes 資源:

  • system:anonymous
  • system:authenticated
  • system:unauthenticated

這些使用者和群組實際上是匿名。叢集中的角色型存取權控管 (RBAC) 繫結,授予該使用者在叢集中建立這些資源的權限。

檢查建立的資源和相關聯的 RBAC 繫結,確保繫結是必要的。如果繫結並非必要,請移除。詳情請參閱這項發現的記錄訊息。

如要解決這項發現,請參閱「避免預設角色和群組」。

Initial Access: CloudDB Successful login from Anonymizing Proxy IP

偵測到有人從已知的去識別化 IP 位址成功登入資料庫執行個體。這些匿名化位址是 Tor 節點。 這可能表示攻擊者已取得執行個體的初始存取權。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的指示,開啟 Initial Access: CloudDB Successful login from Anonymizing Proxy IP 發現項目。
  2. 在調查結果詳細資料面板的「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,尤其是下列欄位:
    • 指標 IP 位址:去識別化 IP 位址。
    • 資料庫顯示名稱:受影響的 Cloud SQL PostgreSQL、MySQL 或 AlloyDB 執行個體中的資料庫名稱。
    • 資料庫使用者名稱:使用者。
    • 專案完整名稱:包含 Cloud SQL 執行個體的 Google Cloud 專案。

步驟 2:研究攻擊和回應方法

  1. 請參閱這類發現的 MITRE ATT&CK 架構項目:初始存取
  2. 如要判斷是否需要採取其他補救措施,請將調查結果與 MITRE 研究結合。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

Initial Access: Database Superuser Writes to User Tables

偵測 Cloud SQL 資料庫超級使用者帳戶 (PostgreSQL 的 postgres 和 MySQL 的 root) 何時寫入使用者資料表。超級使用者 (具備非常廣泛存取權的角色) 一般不應寫入使用者資料表。平時應使用存取權較受限的使用者帳戶。如果超級使用者寫入使用者資料表,可能表示攻擊者已提升權限或竊取了預設資料庫使用者的身分,然後修改資料。也可能表示做法正常,但並不安全。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的指示,開啟 Initial Access: Database Superuser Writes to User Tables 發現項目。
  2. 在調查結果詳細資料面板的「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 資料庫顯示名稱:受影響的 Cloud SQL PostgreSQL 或 MySQL 執行個體中的資料庫名稱。
      • 資料庫使用者名稱:超級使用者。
      • 資料庫查詢:寫入使用者資料表時執行的 SQL 查詢。
    • 受影響的資源,尤其是下列欄位:
      • 資源完整名稱:受影響的 Cloud SQL 執行個體資源名稱。
      • 父項完整名稱:Cloud SQL 執行個體的資源名稱。
      • 專案完整名稱:包含 Cloud SQL 執行個體的 Google Cloud 專案。
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
  3. 如要查看調查結果的完整 JSON,請按一下「JSON」JSON分頁標籤。

步驟 2:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」,方法是點選 cloudLoggingQueryURI 中的連結 (如步驟 1 所示)。「記錄檔探索工具」頁面會顯示與相關 Cloud SQL 執行個體的所有記錄。
  2. 使用下列篩選條件,檢查 PostgreSQL pgaudit 記錄或 MySQL 適用的 Cloud SQL 稽核記錄,其中包含超級使用者執行的查詢:
    • protoPayload.request.user="SUPERUSER"

步驟 3:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 透過網路服務進行資料外洩
  2. 如要判斷是否需要採取其他補救措施,請將調查結果與 MITRE 研究結合。

步驟 4:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

Initial Access: Dormant Service Account Action

偵測閒置使用者代管服務帳戶觸發動作的事件。如果服務帳戶閒置超過 180 天,就會視為休眠帳戶。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Initial Access: Dormant Service Account Action 發現項目。
  2. 在「摘要」分頁的發現項目詳細資料中,記下下列欄位的值。

    「偵測到的內容」下方會顯示以下資訊:

    • 主體電子郵件地址:執行動作的休眠服務帳戶
    • 服務名稱:服務帳戶存取的 Google Cloud 服務 API 名稱
    • 方法名稱:呼叫的方法

步驟 2:研究攻擊和回應方法

  1. 使用服務帳戶工具 (例如活動分析器),調查休眠服務帳戶的活動。
  2. 與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用服務帳戶進行驗證的應用程式會失去存取權。繼續操作前,安全團隊應找出所有受影響的應用程式,並與應用程式擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Google Cloud 支援團隊的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議

Initial Access: Dormant Service Account Activity in AI Service

偵測休眠的使用者代管服務帳戶在 AI 服務中觸發動作的事件。在此情況下,如果服務帳戶閒置超過 180 天,就會視為休眠帳戶。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Initial Access: Dormant Service Account Activity in AI Service 發現項目。
  2. 在「摘要」分頁的發現項目詳細資料中,記下下列欄位的值。

    「偵測到的內容」下方會顯示以下資訊:

    • 主體電子郵件地址:執行動作的休眠服務帳戶
    • 方法名稱:呼叫的方法
    • AI 資源:可能受影響的 AI 資源,例如 Vertex AI 資源和 AI 模型。

步驟 2:研究攻擊和回應方法

  1. 使用服務帳戶工具 (例如活動分析器),調查休眠服務帳戶的活動。
  2. 與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用服務帳戶進行驗證的應用程式會失去存取權。繼續操作前,安全團隊應找出所有受影響的應用程式,並與應用程式擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Cloud Customer Care 的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議

Initial Access: Dormant Service Account Key Created

偵測是否建立閒置的使用者代管服務帳戶金鑰。如果服務帳戶閒置超過 180 天,就會視為休眠帳戶。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟Initial Access: Dormant Service Account Key Created 結果。
  2. 在「摘要」分頁的發現項目詳細資料中,記下下列欄位的值。

    「偵測到的內容」下方會顯示以下資訊:

    • 主體電子郵件地址:建立服務帳戶金鑰的使用者

    在「受影響的資源」下方:

    • 資源顯示名稱:新建立的休眠服務帳戶金鑰
    • 完整專案名稱:該閒置服務帳戶所在的專案

步驟 2:研究攻擊和回應方法

  1. 使用服務帳戶工具 (例如活動分析器),調查休眠服務帳戶的活動。
  2. 與「Principal email」(主體電子郵件地址) 欄位的擁有者聯絡。 確認正當擁有者是否執行了該項操作。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 如果主體電子郵件地址遭到入侵,請移除該擁有者的存取權。
  • 在「服務帳戶」頁面中,使新建立的服務帳戶金鑰失效。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用服務帳戶進行驗證的應用程式會失去存取權。繼續操作前,安全團隊應找出所有受影響的應用程式,並與應用程式擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Cloud Customer Care 的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正權限過多的角色,請使用 IAM 建議

Initial Access: Excessive Permission Denied Actions

偵測主體在多種方法和服務中,重複觸發「權限遭拒」錯誤的事件。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟Initial Access: Excessive Permission Denied Actions 結果。
  2. 在「摘要」分頁的發現項目詳細資料中,記下下列欄位的值。

    「偵測到的內容」下方會顯示以下資訊:

    • 主體電子郵件地址:觸發多項權限遭拒錯誤的主體
    • 服務名稱:發生上次權限遭拒錯誤的 Google Cloud 服務 API 名稱
    • 方法名稱:發生最後一次權限遭拒錯誤時呼叫的方法
  3. 在「Source Properties」(來源屬性) 分頁的 JSON 中,記下下列欄位的值:

    • properties.failedActions:發生的權限遭拒錯誤。 每個項目都會顯示服務名稱、方法名稱、失敗嘗試次數,以及上次發生錯誤的時間。最多顯示 10 筆記錄。

步驟 2:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」(記錄檔探索工具),方法是點選「Cloud Logging URI」(Cloud Logging URI) 中的連結。
  2. 在 Google Cloud 控制台工具列中選取專案。
  3. 在隨即載入的頁面中,使用下列篩選器找出相關記錄:

    • protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"
    • protoPayload.status.code=7

    PRINCIPAL_EMAIL 換成您在調查結果詳細資料的「Principal email」欄位中記下的值。

步驟 3:研究攻擊和回應方法

  1. 查看這類調查結果的 MITRE ATT&CK 架構項目: 有效帳戶:雲端帳戶
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 4:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請聯絡「Principal email」(主體電子郵件地址) 欄位中的帳戶擁有者。確認正當擁有者是否執行了該項操作。
  • 刪除該帳戶建立的專案資源,例如不熟悉的 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者等。
  • 與擁有該帳戶的專案擁有者聯絡,並視情況刪除或停用該帳戶。

Initial Access: GKE NodePort service created

有人建立了 NodePort 服務。NodePort 服務會直接在節點的 IP 位址和靜態通訊埠上公開 Pod,讓叢集外部可以存取 Pod。這可能會造成重大安全風險,因為攻擊者可能會利用公開服務中的安全漏洞,存取叢集或機密資料。

  1. 查看服務設定,判斷服務用途。
  2. 建議您限制網路政策,確保服務安全無虞。

Initial Access: GKE resource modified anonymously from the internet

偵測潛在惡意行為者是否使用下列 Kubernetes 預設使用者或使用者群組,修改叢集中的 Kubernetes 資源:

  • system:anonymous
  • system:authenticated
  • system:unauthenticated

這些使用者和群組實際上是匿名。叢集中的角色型存取權控管 (RBAC) 繫結授予該使用者在叢集中修改這些資源的權限。

檢查修改後的資源和相關聯的 RBAC 繫結,確保繫結是必要的。如果繫結並非必要,請移除。詳情請參閱這項發現的記錄訊息。

如要解決這項發現,請參閱「避免預設角色和群組」。

Initial Access: Leaked Service Account Key Used

偵測事件,其中外洩的服務帳戶金鑰用於驗證動作。在此情況下,外洩的服務帳戶金鑰是指發布在公開網際網路上的金鑰。舉例來說,服務帳戶金鑰經常會誤發布至公開的 GitHub 存放區。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟Initial Access: Leaked Service Account Key Used 結果。
  2. 在「摘要」分頁的發現項目詳細資料中,記下下列欄位的值。

    「偵測到的內容」下方會顯示以下資訊:

    • 主體電子郵件地址:用於這項動作的服務帳戶
    • 服務名稱:服務帳戶存取的 Google Cloud 服務 API 名稱
    • 方法名稱:動作的方法名稱
    • 服務帳戶金鑰名稱:用於驗證這項動作的外洩服務帳戶金鑰
    • 說明:偵測到的內容說明,包括在公開網路上找到服務帳戶金鑰的位置

    在「受影響的資源」下方:

    • 資源顯示名稱:與動作相關的資源

步驟 2:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」(記錄檔探索工具),方法是點選「Cloud Logging URI」(Cloud Logging URI) 中的連結。
  2. 在 Google Cloud 控制台工具列中,選取專案或機構。
  3. 在隨即載入的頁面中,使用下列篩選器找出相關記錄:

    • protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"
    • protoPayload.authenticationInfo.serviceAccountKeyName="SERVICE_ACCOUNT_KEY_NAME"

    PRINCIPAL_EMAIL 換成您在調查結果詳細資料的「Principal email」欄位中記下的值。請將 SERVICE_ACCOUNT_KEY_NAME 替換為您在調查結果詳細資料的「服務帳戶金鑰名稱」欄位中記下的值。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 「Service Accounts」(服務帳戶) 頁面中,立即撤銷服務帳戶金鑰。
  • 移除張貼服務帳戶金鑰的網頁或 GitHub 存放區。
  • 建議刪除遭入侵的服務帳戶
  • 輪替並刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用服務帳戶進行驗證的應用程式會失去存取權。刪除前,安全團隊應找出所有受影響的應用程式,並與應用程式擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Cloud Customer Care 的任何通知。

Initial Access: Log4j Compromise Attempt

系統偵測到標頭或網址參數中的 Java Naming and Directory Interface (JNDI) 查閱時,就會產生這項發現項目。這些查詢可能表示有人嘗試利用 Log4Shell 漏洞。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看發現項目詳細資料」一文的說明,開啟 Initial Access: Log4j Compromise Attempt 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容
    • 受影響的資源
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
    • 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。
    • 請注意 JSON 中的下列欄位。

    • properties

      • loadBalancerName:接收 JNDI 查閱的負載平衡器名稱
      • requestUrl:HTTP 要求的請求網址。如果存在,這會包含 JNDI 查閱。
      • requestUserAgent:傳送 HTTP 要求的 User-Agent。 如果存在,這會包含 JNDI 查閱。
      • refererUrl:傳送 HTTP 要求的網頁網址。如果存在,這會包含 JNDI 查詢。

步驟 2:檢查記錄

  1. 在 Google Cloud 控制台中,按一下步驟 1「Cloud Logging URI」欄位中的連結,前往 Logs Explorer
  2. 在隨即載入的頁面中,檢查 httpRequest 欄位是否有字串權杖 (例如 ${jndi:ldap://),這可能表示有人試圖進行攻擊。

    如需搜尋的字串範例和查詢範例,請參閱「CVE-2021-44228:偵測 Log4Shell 弱點」一文。

步驟 3:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: Exploit Public-Facing Application
  2. 如要查看相關發現項目,請在發現項目詳細資料的「摘要」分頁中,點選「相關發現項目」列的「相關發現項目」連結。相關發現項目是指類型相同,且屬於相同執行個體和網路的發現項目。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 4:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

Initial Access: Successful API call made from a TOR proxy IP

您已從與 Tor 網路相關聯的 IP 位址,對 GKE 叢集發出成功的 API 呼叫。Tor 提供匿名性,攻擊者通常會利用這點隱藏身分。

  1. 調查 API 呼叫的性質和存取的資源。
  2. 請檢查網路政策和防火牆規則,封鎖來自 Tor 代理伺服器 IP 位址的存取要求。

Lateral Movement: Modified Boot Disk Attached to Instance

系統會檢查稽核記錄,偵測 Compute Engine 執行個體資源之間是否有可疑的磁碟移動情形。您已將可能經過修改的開機磁碟連接至 Compute Engine。

步驟 1:查看調查結果詳細資料

  1. 如「查看發現項目」一文所述,開啟 Lateral Movement: Modify Boot Disk Attaching to Instance 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
  2. 在「Summary」(摘要) 分頁中,請記下下列欄位的值。

    「偵測到的內容」下方會顯示以下資訊:

    • 主體電子郵件地址:執行動作的服務帳戶
    • 服務名稱:服務帳戶存取的 Google Cloud 服務的 API 名稱
    • 方法名稱:呼叫的方法

步驟 2:研究攻擊和回應方法

  1. 使用服務帳戶工具 (例如活動分析器),調查相關聯服務帳戶的活動。
  2. 與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 考慮為 Compute Engine VM 執行個體使用安全啟動
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用服務帳戶進行驗證的應用程式會失去存取權。繼續操作前,安全團隊應找出所有受影響的應用程式,並與應用程式擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Google Cloud 支援團隊的任何通知。

Leaked credentials

這個發現項目不適用於專案層級的啟用作業。

如果 Google Cloud 服務帳戶憑證 意外在網路上洩漏或遭盜用,就會產生這項發現。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看發現項目詳細資料」一文的說明,開啟 account_has_leaked_credentials 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

  • 偵測到的內容
  • 受影響的資源
  1. 按一下「來源資源」分頁標籤,並注意下列欄位:

    • Compromised_account:可能遭盜用的服務帳戶
    • Project_identifier:包含可能外洩帳戶憑證的專案
    • URL:GitHub 存放區的連結
  2. 如要查看調查結果的完整 JSON,請按一下「JSON」JSON分頁標籤。

步驟 2:檢查專案和服務帳戶權限

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「IAM」頁面

  2. 如有需要,請選取 Project_identifier 中列出的專案。

  3. 在隨即顯示的頁面中,於「篩選條件」方塊中輸入 Compromised_account 列出的帳戶名稱,並檢查已指派的權限。

  4. 前往 Google Cloud 控制台的「Service Accounts」(服務帳戶) 頁面。

    前往「Service Accounts」(服務帳戶)

  5. 在隨即顯示的頁面中,於「篩選器」方塊中輸入遭入侵服務帳戶的名稱,並檢查服務帳戶的金鑰和金鑰建立日期。

步驟 3:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中選取專案。

  3. 在隨即載入的頁面中,使用下列篩選器檢查新或更新 IAM 資源的活動記錄:

    • proto_payload.method_name="google.iam.admin.v1.CreateServiceAccount"
    • protoPayload.methodName="SetIamPolicy"
    • resource.type="gce_instance" AND log_name="projects/Project_identifier/logs/cloudaudit.googleapis.com%2Factivity"
    • protoPayload.methodName="InsertProjectOwnershipInvite"
    • protoPayload.authenticationInfo.principalEmail="Compromised_account"

步驟 4:研究攻擊和回應方法

  1. 查看這類調查結果的 MITRE ATT&CK 架構項目: 有效帳戶:雲端帳戶
  2. 按一下 relatedFindingURI 中的連結,即可查看相關發現項目。 相關發現項目是指類型相同,且屬於相同執行個體和網路的發現項目。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 聯絡憑證外洩的專案擁有者。
  • 請考慮刪除遭入侵的服務帳戶,並輪替及刪除遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用服務帳戶進行驗證的資源會失去存取權。請先與資源擁有者合作,確保業務持續運作,再由安全團隊找出所有受影響的資源。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆「 Google Cloud 支援」的通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議
  • 開啟URL連結並刪除外洩的憑證。收集遭入侵帳戶的詳細資訊,並聯絡擁有者。

Malware

系統會檢查虛擬私有雲端流程記錄和 Cloud DNS 記錄,找出與已知命令與控制網域和 IP 位址的連線,藉此偵測惡意軟體。目前,Event Threat Detection 提供一般惡意軟體偵測 (Malware: Bad IPMalware: Bad Domain),以及專門偵測 Log4j 相關惡意軟體的偵測器 (Log4j Malware: Bad IPLog4j Malware: Bad Domain)。

下列步驟說明如何調查及回應 IP 相關的發現項目。網域相關發現的補救步驟類似。

步驟 1:查看調查結果詳細資料

  1. 開啟相關的惡意軟體發現結果。下列步驟會使用「查看發現項目」一節中指示的 Malware: Bad IP 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 指標網域:針對 Bad domain 發現項目,這是觸發該項目的網域。
      • 指標 IP:針對 Bad IP 發現項目,觸發該發現項目的 IP 位址。
      • 來源 IP:針對 Bad IP 發現項目,這是已知的惡意軟體指令和控制 IP 位址。
      • 來源通訊埠:針對 Bad IP 發現項目,這是連線的來源通訊埠。
      • 目的地 IP:針對 Bad IP 發現項目,這是指惡意軟體的目標 IP 位址。
      • 目的地通訊埠:針對 Bad IP 發現項目,連線的目的地通訊埠。
      • 通訊協定:針對 Bad IP 發現項目,與連線相關聯的 IANA 通訊協定編號。
    • 受影響的資源,尤其是下列欄位:
      • 資源完整名稱:受影響的 Compute Engine 執行個體的完整資源名稱。
      • 專案全名:包含該發現項目的專案完整資源名稱。
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
      • VirusTotal 指標:連結至 VirusTotal 分析頁面。
      • 流量分析工具:連結至 Network Intelligence Center 的流量分析工具功能。只有在啟用虛擬私有雲流程記錄時,才會顯示這個欄位。
    1. 按一下「JSON」JSON分頁標籤,並注意下列欄位:

      • evidence
      • sourceLogId
        • projectID:偵測到問題的專案 ID。
      • properties
      • InstanceDetails:Compute Engine 執行個體的資源位址。

步驟 2:檢查權限和設定

  1. 前往 Google Cloud 控制台的「資訊主頁」頁面。

    前往資訊主頁

  2. 在「摘要」分頁的「專案完整名稱」列中,選取指定的專案。

  3. 前往「資源」資訊卡,然後點選「Compute Engine」

  4. 按一下與「Resource full name」(資源完整名稱) 中名稱和區域相符的 VM 執行個體。查看執行個體詳細資料,包括網路和存取權設定。

  5. 在導覽窗格中,依序點選「VPC Network」(虛擬私有雲網路) 和「Firewall」(防火牆)。 移除或停用過於寬鬆的防火牆規則。

步驟 3:檢查記錄

  1. 在「發現項目詳細資料」面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「記錄檔探索工具」
  2. 在載入的頁面上,使用下列篩選器,在「來源 IP」中找出與 IP 位址相關的虛擬私有雲流程記錄:

    • logName="projects/projectId/logs/compute.googleapis.com%2Fvpc_flows" AND (jsonPayload.connection.src_ip="SOURCE_IP" OR jsonPayload.connection.dest_ip="destIP")

      更改下列內容:

      • PROJECT_ID,然後選取 projectId 中列出的專案。
      • SOURCE_IP,並與調查結果詳細資料「摘要」分頁中「來源 IP」列出的 IP 位址進行比較。

步驟 4:檢查 Flow Analyzer

您必須啟用虛擬私有雲流量記錄,才能執行下列程序。

  1. 確認您已升級記錄檔 bucket,以便使用 Log Analytics。 如需操作說明,請參閱「升級 bucket 以使用記錄檔分析工具」。升級不會產生額外費用。
  2. 前往 Google Cloud 控制台的「Flow Analyzer」頁面:

    前往 Flow Analyzer

    您也可以透過「發現詳細資料」窗格「摘要」分頁標籤的「相關連結」部分,存取 Flow Analyzer。

  3. 如要進一步調查與 Event Threat Detection 發現項目相關的資訊,請使用動作列中的時間範圍挑選器變更時間範圍。時間範圍應反映發現項目首次回報的時間。 舉例來說,如果是在過去 2 小時內回報的發現項目,您可以將時間範圍設為「過去 6 小時」。這樣可確保「流程分析器」中的時間範圍包含發現結果的報告時間。

  4. 篩選「流程分析器」,顯示與惡意 IP 發現項目相關聯的 IP 位址適當結果:

    1. 在「Query」(查詢) 區段的「Source」(來源) 列中,從「Filter」(篩選器) 選單選取「IP」
    2. 在「Value」(值) 欄位中,輸入與發現項目相關聯的 IP 位址,然後按一下「Run New Query」(執行新查詢)

      如果流量分析器未顯示任何 IP 位址的結果,請清除「來源」列中的篩選器,然後在「目的地」列中套用相同篩選器,再次執行查詢。

  5. 分析結果。如要查看特定流程的額外資訊,請按一下「所有資料流程」表格中的「詳細資料」,開啟「流程詳細資料」窗格。

步驟 5:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目:動態解析命令與控制
  2. 如要查看相關發現項目,請在發現項目詳細資料的「摘要」分頁中,點選「相關發現項目」列的「相關發現項目」連結。 相關發現項目是指類型相同,且屬於相同執行個體和網路的發現項目。
  3. 點選 VirusTotal 指標中的連結,在 VirusTotal 上檢查遭標記的網址和網域。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。
  4. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 6:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與含有惡意軟體的專案擁有者聯絡。
  • 調查可能遭入侵的執行個體,並移除發現的任何惡意軟體。如要協助偵測及移除,請使用端點偵測及回應解決方案。
  • 如要追蹤允許插入惡意軟體的活動和安全漏洞,請檢查與遭入侵執行個體相關聯的稽核記錄和系統記錄。
  • 如有必要,請停止遭入侵的執行個體,並換成新的執行個體。
  • 您可以更新防火牆規則或使用 Google Cloud Armor,封鎖惡意 IP 位址。您可以在 Security Command Center 的「整合式服務」頁面啟用 Google Cloud Armor。視資料量而定,Google Cloud Armor 費用可能相當高昂。詳情請參閱 Google Cloud Armor 定價指南
  • 如要控管 VM 映像檔的存取權和使用權,請使用受防護的 VM信任的映像檔 IAM 政策。

Malware: Cryptomining Bad IP

系統會檢查虛擬私有雲流程記錄檔和 Cloud DNS 記錄檔,找出連往已知指令與控制網域和 IP 位址的連線,藉此偵測惡意軟體。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Malware: Cryptomining Bad IP 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 來源 IP:疑似用於加密貨幣挖礦的 IP 位址。
      • 來源通訊埠:連線的來源通訊埠 (如有)。
      • 目的地 IP:目標 IP 位址。
      • 目的地通訊埠:連線的目的地通訊埠 (如有)。
      • 通訊協定:與連線相關聯的 IANA 通訊協定。
    • 受影響的資源
    • 相關連結,包括下列欄位:
      • 記錄 URI:記錄項目連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
      • 流量分析工具:連結至 Network Intelligence Center 的流量分析工具功能。只有在啟用虛擬私有雲流程記錄時,才會顯示這個欄位。
  3. 在調查結果的詳細資料檢視畫面中,按一下「來源屬性」分頁標籤。

  4. 展開「properties」,並記下下列欄位中的專案和執行個體值:

    • instanceDetails:請記下專案 ID 和 Compute Engine 執行個體的名稱。專案 ID 和執行個體名稱會顯示在下列範例中:

      /projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
  5. 如要查看調查結果的完整 JSON,請按一下「JSON」JSON分頁標籤。

步驟 2:檢查權限和設定

  1. 前往 Google Cloud 控制台的「資訊主頁」頁面。

    前往資訊主頁

  2. 選取 properties_project_id 中指定的專案。

  3. 前往「資源」資訊卡,然後點選「Compute Engine」

  4. 按一下與 properties_sourceInstance 相符的 VM 執行個體。調查可能遭入侵的執行個體是否含有惡意軟體。

  5. 在導覽窗格中,依序點選「VPC Network」(虛擬私有雲網路) 和「Firewall」(防火牆)。 移除或停用過於寬鬆的防火牆規則。

步驟 3:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中選取專案。

  3. 在隨即載入的頁面中,使用下列篩選條件找出與 Properties_ip_0 相關的虛擬私有雲流量記錄:

    • logName="projects/properties_project_id/logs/compute.googleapis.com%2Fvpc_flows"
    • (jsonPayload.connection.src_ip="Properties_ip_0" OR jsonPayload.connection.dest_ip="Properties_ip_0")

步驟 4:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 資源劫持
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與含有惡意軟體的專案擁有者聯絡。
  • 調查可能遭入侵的執行個體,並移除發現的任何惡意軟體。如要協助偵測及移除,請使用端點偵測及回應解決方案。
  • 如有必要,請停止遭入侵的執行個體,並換成新的執行個體。
  • 您可以更新防火牆規則或使用 Google Cloud Armor,封鎖惡意 IP 位址。您可以在 Security Command Center 的「整合式服務」頁面啟用 Google Cloud Armor。視資料量而定,Google Cloud Armor 費用可能相當高昂。詳情請參閱 Google Cloud Armor 定價指南

Persistence: GKE Webhook Configuration Detected

系統在 GKE 叢集中偵測到 Webhook 設定。 Webhook 可以攔截及修改 Kubernetes API 要求,這可能會讓攻擊者在叢集中持續存在或操控資源。

  1. 找出 Webhook 設定的用途和來源。確認該要求來自可信來源,且具有正當目的。
  2. 查看 Webhook 設定,瞭解其範圍和攔截的要求類型。
  3. 監控 Webhook 活動,查看是否有任何可疑或未經授權的動作。
  4. 如果不需要 Webhook,或其行為令人擔憂,請考慮移除或停用。

Persistence: IAM Anomalous Grant

系統會檢查稽核記錄,偵測是否新增可疑的 IAM 角色授予項目。

以下是異常授予的權限範例:

  • 從 Google Cloud 控制台邀請外部使用者 (例如 gmail.com 使用者) 擔任專案擁有者
  • 授予敏感權限的服務帳戶
  • 授予機密權限的自訂角色
  • 從機構或專案外部新增的服務帳戶

IAM Anomalous Grant 發現項目獨特之處在於包含子規則,可提供每個發現項目例項的具體資訊。這項發現項目的嚴重性分類取決於子規則。每項子規則可能需要不同的回應。

以下列出所有可能的子規則及其嚴重程度:

  • external_service_account_added_to_policy
    • HIGH,如果授予的是高度機密角色,或是在機構層級授予中等機密角色,詳情請參閱「高度敏感角色」。
    • MEDIUM (如果已授予中等機密程度的角色)。詳情請參閱「中等敏感度角色」。
  • external_member_invited_to_policyHIGH
  • external_member_added_to_policy
    • HIGH,如果授予的是高度機密角色,或是在機構層級授予中等機密角色,詳情請參閱「高度敏感角色」。
    • MEDIUM (如果已授予中等機密程度的角色)。詳情請參閱「中等敏感度角色」。
  • custom_role_given_sensitive_permissionsMEDIUM
  • service_account_granted_sensitive_role_to_memberHIGH
  • policy_modified_by_default_compute_service_accountHIGH

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Persistence: IAM Anomalous Grant 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:獲派角色的使用者或服務帳戶的電子郵件地址。
    • 受影響的資源

    • 相關連結,尤其是下列欄位:

      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
      • VirusTotal 指標:連結至 VirusTotal 分析頁面。
  3. 按一下「JSON」JSON分頁標籤。畫面上會顯示調查結果的完整 JSON。

  4. 在調查結果的 JSON 中,請注意下列欄位:

    • detectionCategory
      • subRuleName:提供發生異常授權的類型相關詳細資訊。子規則會決定這項發現項目的嚴重性分類。
    • evidence
      • sourceLogId
      • projectId:包含發現項目的專案 ID。
    • properties
      • sensitiveRoleGrant
        • bindingDeltas
        • Action:使用者採取的動作。
        • :指派給使用者的角色。Role
        • member:獲派角色的使用者電子郵件地址。

步驟 2:檢查記錄

  1. 在「發現項目詳細資料」面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「記錄檔探索工具」
  2. 在隨即載入的頁面中,使用下列篩選器尋找新的或更新的 IAM 資源:
    • protoPayload.methodName="SetIamPolicy"
    • protoPayload.methodName="google.iam.admin.v1.UpdateRole"
    • protoPayload.methodName="google.iam.admin.v1.CreateRole"

步驟 3:研究攻擊和回應方法

  1. 查看這類調查結果的 MITRE ATT&CK 架構項目: 有效帳戶:雲端帳戶
  2. 如要查看相關發現項目,請在發現項目詳細資料的「摘要」分頁中,按一下「相關發現項目」列的連結。 相關發現項目是指相同發現項目類型,以及相同執行個體和網路。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 4:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵帳戶的專案擁有者聯絡。
  • 刪除遭入侵的服務帳戶,並輪替及刪除遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用服務帳戶進行驗證的資源會失去存取權。
  • 刪除未經授權帳戶建立的專案資源,例如不熟悉的 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。
  • 如要限制新增 gmail.com 使用者,請使用機構政策
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議

Persistence: New AI API Method

系統在機構、資料夾或專案中,偵測到疑似惡意行為者對 AI 服務進行異常管理員活動。異常活動可能是下列任一情況:

  • 機構、資料夾或專案中的主體有新活動
  • 一段時間內未曾出現的活動,且是由機構、資料夾或專案中的主體執行

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Persistence: New AI API Method 發現項目。
  2. 在「Summary」(摘要) 分頁的調查結果詳細資料中,請注意下列欄位的值:

    • 在「偵測到的內容」下方:
      • 主體電子郵件地址:發出呼叫的帳戶
      • 方法名稱:呼叫的方法
      • AI 資源:可能受影響的 AI 資源,例如 Vertex AI 資源和 AI 模型。
    • 在「受影響的資源」下方:
      • 資源顯示名稱:受影響資源的名稱,可能與機構、資料夾或專案的名稱相同
      • 資源路徑:活動發生的資源階層位置

步驟 2:研究攻擊和回應方法

  1. 查看這類發現的 MITRE ATT&CK 架構項目:持續性
  2. 調查該項操作是否經過機構、資料夾或專案授權,以及是否由帳戶的合法擁有者執行。「資源路徑」欄位會顯示機構、資料夾或專案,「主體電子郵件」列則會顯示帳戶。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

Persistence: New API Method

系統在組織、資料夾或專案中,偵測到潛在惡意人士的異常管理員活動。異常活動可以是下列任一情況:

  • 機構、資料夾或專案中的主體有新活動
  • 機構、資料夾或專案中的主體已有一段時間未執行的活動

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Persistence: New API Method 發現項目。
  2. 在「Summary」(摘要) 分頁的調查結果詳細資料中,請注意下列欄位的值:

    • 在「偵測到的內容」下方:
      • 主體電子郵件地址:發出呼叫的帳戶
      • 服務名稱:動作中使用的 Google Cloud 服務 API 名稱
      • 方法名稱:呼叫的方法
    • 在「受影響的資源」下方:
      • 資源顯示名稱:受影響資源的名稱,可能與機構、資料夾或專案的名稱相同
      • 資源路徑:活動發生的資源階層位置

步驟 2:研究攻擊和回應方法

  1. 查看這類發現的 MITRE ATT&CK 架構項目:持續性
  2. 調查該項操作是否經過機構、資料夾或專案授權,以及是否由帳戶的合法擁有者執行。組織、資料夾或專案會顯示在「資源路徑」列,帳戶則會顯示在「主體電子郵件」列。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

Persistence: New Geography

這個發現項目不適用於專案層級的啟用作業。

IAM 使用者或服務帳戶是根據要求 IP 位址的地理位置,從異常位置存取 Google Cloud。

步驟 1:查看調查結果詳細資料

  1. 按照本頁稍早「查看發現項目詳細資料」一節的說明,開啟Persistence: New Geography發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

  • 偵測到的內容,特別是下列欄位:
    • 主要電子郵件地址:可能遭盜用的使用者帳戶。
  • 受影響的資源,尤其是下列欄位:
    • 專案完整名稱:含有可能遭入侵使用者帳戶的專案。
  • 相關連結,尤其是下列欄位:
    • Cloud Logging URI:記錄檔項目的連結。
    • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
    • 相關發現項目:任何相關發現項目的連結。
  1. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。
  2. 在 JSON 中,請注意下列 sourceProperties 欄位:

    • affectedResources
      • gcpResourceName:受影響的資源
    • evidence
      • sourceLogId
      • projectId:包含發現項目的專案 ID。
    • properties
      • anomalousLocation
      • anomalousLocation:使用者的預估目前位置。
      • callerIp:外部 IP 位址。
      • notSeenInLast:用於建立正常行為基準的時間範圍。
      • typicalGeolocations:使用者通常存取Google Cloud 資源的位置。

步驟 2:查看專案和帳戶權限

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「IAM」頁面

  2. 如有需要,請在發現項目 JSON 的 projectID 欄位中選取列出的專案。

  3. 在隨即顯示的頁面中,於「篩選器」方塊中輸入「主體電子郵件」中列出的帳戶名稱,並檢查已授予的角色。

步驟 3:檢查記錄

  1. 在「發現項目詳細資料」面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「記錄檔探索工具」
  2. 必要時,請選取專案。
  3. 在隨即載入的頁面中,使用下列篩選器檢查新或更新 IAM 資源的活動記錄:
    • protoPayload.methodName="SetIamPolicy"
    • protoPayload.methodName="google.iam.admin.v1.UpdateRole"
    • protoPayload.methodName="google.iam.admin.v1.CreateRole"
    • protoPayload.authenticationInfo.principalEmail="principalEmail"

步驟 4:研究攻擊和回應方法

  1. 查看這類調查結果的 MITRE ATT&CK 架構項目: 有效帳戶:雲端帳戶
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵帳戶的專案擁有者聯絡。
  • 檢查「anomalousLocation」、「typicalGeolocations」和「notSeenInLast」欄位,確認存取權是否異常,以及帳戶是否遭到入侵。
  • 刪除未經授權帳戶建立的專案資源,例如不熟悉的 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。
  • 如要限制僅有特定區域才可建立新資源,請參閱「限制資源位置」。
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議

Persistence: New Geography for AI Service

這個發現項目不適用於專案層級的啟用作業。

根據要求 IP 位址的地理位置,IAM 使用者或服務帳戶是從異常位置存取 Google CloudAI 服務。

步驟 1:查看調查結果詳細資料

  1. 按照本頁稍早「查看發現項目詳細資料」一節的說明,開啟Persistence: New Geography for AI Service發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

  • 偵測到的內容,特別是下列欄位:
    • 主要電子郵件地址:可能遭盜用的使用者帳戶。
    • AI 資源:可能受影響的 AI 資源,例如 Vertex AI 資源和 AI 模型。
  • 受影響的資源,尤其是下列欄位:
    • 專案完整名稱:含有可能遭入侵使用者帳戶的專案。
  • 相關連結,尤其是下列欄位:
    • Cloud Logging URI:記錄檔項目的連結。
    • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
    • 相關發現項目:任何相關發現項目的連結。
  1. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。
  2. 在 JSON 中,請注意下列 sourceProperties 欄位:

    • affectedResources
      • gcpResourceName:受影響的資源
    • evidence
      • sourceLogId
      • projectId:包含發現項目的專案 ID。
    • properties
      • anomalousLocation
      • anomalousLocation:使用者的預估目前位置。
      • callerIp:外部 IP 位址。
      • notSeenInLast:用於建立正常行為基準的時間範圍。
      • typicalGeolocations:使用者通常存取Google Cloud 資源的位置。
    • aiModel
      • name:受影響的 AI Model
    • vertexAi
      • datasets:受影響的 Vertex AI 資料集
      • pipelines:受影響的 Vertex AI 訓練管道

步驟 2:查看專案和帳戶權限

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「IAM」頁面

  2. 如有需要,請在發現項目 JSON 的 projectID 欄位中選取列出的專案。

  3. 在隨即顯示的頁面中,於「篩選器」方塊中輸入「主體電子郵件」中列出的帳戶名稱,並檢查已授予的角色。

步驟 3:檢查記錄

  1. 在「發現項目詳細資料」面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「記錄檔探索工具」
  2. 必要時,請選取專案。
  3. 在隨即載入的頁面中,使用下列篩選器檢查新或更新 IAM 資源的活動記錄:
    • protoPayload.methodName="SetIamPolicy"
    • protoPayload.methodName="google.iam.admin.v1.UpdateRole"
    • protoPayload.methodName="google.iam.admin.v1.CreateRole"
    • protoPayload.authenticationInfo.principalEmail="principalEmail"

步驟 4:研究攻擊和回應方法

  1. 查看這類調查結果的 MITRE ATT&CK 架構項目: 有效帳戶:雲端帳戶
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵帳戶的專案擁有者聯絡。
  • 檢查「anomalousLocation」、「typicalGeolocations」和「notSeenInLast」欄位,確認存取權是否異常,以及帳戶是否遭到入侵。
  • 刪除未經授權帳戶建立的專案資源,例如不熟悉的 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。
  • 如要限制僅有特定區域才可建立新資源,請參閱「限制資源位置」。
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議

Persistence: New User Agent

這個發現項目不適用於專案層級的啟用作業。

IAM 服務帳戶正在存取 Google Cloud 使用可疑軟體,異常使用者代理程式即為證據。

步驟 1:查看調查結果詳細資料

  1. 按照本頁稍早「查看調查結果詳細資料」一節的說明,開啟 Persistence: New User Agent 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:可能遭入侵的服務帳戶。
    • 受影響的資源,尤其是下列欄位:
      • 專案全名:含有可能遭入侵服務帳戶的專案。
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
    1. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。
    2. 請注意 JSON 中的下列欄位。
    • projectId:包含可能遭入侵服務帳戶的專案。
    • callerUserAgent:異常使用者代理程式。
    • anomalousSoftwareClassification:軟體類型。
    • notSeenInLast:用於建立正常行為基準的時間範圍。

步驟 2:查看專案和帳戶權限

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「IAM」頁面

  2. 如有需要,請選取 projectId 中列出的專案。

  3. 在隨即顯示的頁面中,於「篩選條件」方塊輸入「摘要」分頁「主要電子郵件」列中列出的帳戶名稱,並檢查已授予的角色。

  4. 前往 Google Cloud 控制台的「Service Accounts」(服務帳戶) 頁面。

    前往「Service Accounts」(服務帳戶)

  5. 在隨即顯示的頁面中,於「篩選器」方塊中輸入帳戶名稱,該名稱會列在調查結果詳細資料「摘要」分頁的「主要電子郵件」列中。

  6. 檢查服務帳戶的金鑰和金鑰建立日期。

步驟 3:檢查記錄

  1. 在「發現項目詳細資料」面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「記錄檔探索工具」
  2. 必要時,請選取專案。
  3. 在隨即載入的頁面中,使用下列篩選器檢查新或更新 IAM 資源的活動記錄:
    • proto_payload.method_name="google.iam.admin.v1.CreateServiceAccount"
    • protoPayload.methodName="SetIamPolicy"
    • protoPayload.methodName="google.iam.admin.v1.UpdateRole"
    • protoPayload.methodName="google.iam.admin.v1.CreateRole"
    • protoPayload.authenticationInfo.principalEmail="principalEmail"

步驟 4:研究攻擊和回應方法

  1. 查看這類調查結果的 MITRE ATT&CK 架構項目: 有效帳戶:雲端帳戶
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵帳戶的專案擁有者聯絡。
  • 查看 anomalousSoftwareClassificationcallerUserAgentbehaviorPeriod 欄位,確認存取權是否異常,以及帳戶是否遭到入侵。
  • 刪除未經授權帳戶建立的專案資源,例如不熟悉的 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。
  • 如要限制僅有特定區域才可建立新資源,請參閱「限制資源位置」。
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議

Persistence: Service Account Created in sensitive namespace

有人在機密命名空間中建立服務帳戶。kube-systemkube-public 命名空間對 GKE 叢集運作至關重要,未經授權的服務帳戶可能會影響叢集穩定性和安全性。1. 如果服務帳戶未經授權,請刪除該帳戶並調查建立方式。

Persistence: Unmanaged Account Granted Sensitive Role

偵測到將敏感角色授予非受管帳戶的事件。非受管帳戶無法由系統管理員控管,舉例來說,如果對應的員工已離職,管理員就無法刪除帳戶。因此,將敏感角色授予非代管帳戶,可能會為機構帶來安全風險。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Persistence: Unmanaged Account Granted Sensitive Role 發現項目。
  2. 在「摘要」分頁的發現項目詳細資料中,記下下列欄位的值。

    「偵測到的內容」下方會顯示以下資訊:

    • 主體電子郵件:執行授權動作的使用者
    • 違規存取權授予。主體名稱:獲得授權的非受管帳戶
    • 違規存取權授予。授予的角色:授予的敏感角色

步驟 2:研究攻擊和回應方法

  1. 與「Principal email」(主體電子郵件地址) 欄位的擁有者聯絡。 確認正當擁有者是否執行了該項操作。
  2. 與「Offending access grants.Principal name」(違規存取授權。主體名稱) 欄位的擁有者確認,瞭解未受管理帳戶的來源。

步驟 3:檢查記錄

  1. 在調查結果詳細資料面板的「摘要」分頁標籤中,按一下「相關連結」下方的「Cloud Logging URI」連結,開啟「記錄檔探索工具」。

步驟 4:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 如果主體電子郵件地址遭到入侵,請移除該擁有者的存取權。
  • 從非代管帳戶移除新授予的機密角色。
  • 建議使用轉移工具將非受管帳戶轉換為受管理帳戶, 並將該帳戶移至系統管理員的控管範圍。

Privilege Escalation: AlloyDB Database Superuser Writes to User Tables

偵測 PostgreSQL 適用的 AlloyDB 資料庫超級使用者帳戶 (postgres) 何時寫入使用者資料表。超級使用者 (存取權非常廣泛的角色) 一般不應寫入使用者資料表。平時應使用存取權較受限的使用者帳戶。如果超級使用者寫入使用者資料表,可能表示攻擊者已提升權限或竊取了預設資料庫使用者的身分,然後修改資料。也可能表示做法正常,但並不安全。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的指示,開啟 Privilege Escalation: AlloyDB Database Superuser Writes to User Tables 發現項目。
  2. 在調查結果詳細資料面板的「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 資料庫顯示名稱:受影響的 PostgreSQL 適用的 AlloyDB 執行個體中的資料庫名稱。
      • 資料庫使用者名稱:超級使用者。
      • 資料庫查詢:寫入使用者資料表時執行的 SQL 查詢。
    • 受影響的資源,尤其是下列欄位:
      • 資源完整名稱:受影響的 PostgreSQL 適用的 AlloyDB 執行個體資源名稱。
      • 父項完整名稱:PostgreSQL 適用的 AlloyDB 執行個體的資源名稱。
      • 專案完整名稱:包含 AlloyDB for PostgreSQL 執行個體的專案。 Google Cloud
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
  3. 如要查看調查結果的完整 JSON,請按一下「JSON」JSON分頁標籤。

步驟 2:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」,方法是點選 cloudLoggingQueryURI 中的連結 (如步驟 1 所示)。「記錄檔探索器」頁面會顯示與相關 PostgreSQL 適用的 AlloyDB 執行個體有關的所有記錄。
  2. 使用下列篩選條件,檢查 PostgreSQL pgaudit 記錄檔 (內含超級使用者執行的查詢):
    • protoPayload.request.user="postgres"

步驟 3:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 透過網路服務進行資料外洩
  2. 如要判斷是否需要採取其他補救措施,請將調查結果與 MITRE 研究結合。

步驟 4:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

Privilege Escalation: AlloyDB Over-Privileged Grant

偵測何時將 AlloyDB for PostgreSQL 資料庫的所有權限 (或資料庫中的所有函式或程序) 授予一或多個資料庫使用者。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟Privilege Escalation: AlloyDB Over-Privileged Grant 結果。
  2. 在調查結果詳細資料面板的「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 資料庫顯示名稱:受影響的 PostgreSQL 適用的 AlloyDB 執行個體中的資料庫名稱。
      • 資料庫使用者名稱:授予過多權限的 PostgreSQL 使用者。
      • 資料庫查詢:執行 PostgreSQL 查詢,授予權限。
      • 資料庫權限擁有者:擁有過於廣泛權限的權限擁有者。
    • 受影響的資源,尤其是下列欄位:
      • 資源完整名稱:受影響的 PostgreSQL 適用的 AlloyDB 執行個體資源名稱。
      • 父項完整名稱:PostgreSQL 適用的 AlloyDB 執行個體的資源名稱。
      • 專案完整名稱:包含 AlloyDB for PostgreSQL 執行個體的專案。 Google Cloud
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
  3. 如要查看調查結果的完整 JSON,請按一下「JSON」JSON分頁標籤。

步驟 2:查看資料庫權限

  1. 連線至 PostgreSQL 適用的 AlloyDB 執行個體
  2. 列出並顯示下列項目的存取權限
    • 資料庫。使用 \l\list 中繼指令,然後檢查為「資料庫顯示名稱」 (來自步驟 1) 列出的資料庫指派的權限。
    • 函式或程序。使用 \df 中繼指令,並檢查在「資料庫顯示名稱」 (來自步驟 1) 中列出的資料庫內,函式或程序有哪些權限。

步驟 3:檢查記錄

  1. 在 Google Cloud 控制台中,按一下「Cloud Logging URI」中的連結 (來自步驟 1),前往「Logs Explorer」(記錄檔探索工具)。 「記錄檔探索工具」頁面會顯示與相關 Cloud SQL 執行個體的所有記錄。
  2. 在「記錄檔探索工具」中,使用下列篩選條件檢查 PostgreSQL pgaudit 記錄,其中會記錄對資料庫執行的查詢:
    • protoPayload.request.database="var class="edit">database"

步驟 4:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 透過網路服務進行資料外洩
  2. 如要判斷是否需要採取其他補救措施,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與具有過度授權的執行個體擁有者聯絡。
  • 在調查完成前,請考慮撤銷「資料庫受讓人」中列出的所有受讓人權限。
  • 如要限制資料庫存取權 (來自步驟 1 的「資料庫顯示名稱」),請從受讓人 (來自步驟 1 的「資料庫受讓人」) 撤銷不必要的權限。

Privilege Escalation: Anomalous Impersonation of Service Account for Admin Activity

Anomalous Impersonation of Service Account 是透過檢查管理員活動稽核記錄檔偵測而來,可判斷服務帳戶模擬要求是否發生任何異常情況。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Privilege Escalation: Anomalous Impersonation of Service Account for Admin Activity 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:模擬要求中的最終服務帳戶,用於存取 Google Cloud。
      • 服務名稱:參與模擬要求之 Google Cloud 服務的 API 名稱。
      • 「方法名稱」:呼叫的方法。
      • 服務帳戶委派資訊:委派鏈中的服務帳戶詳細資料,清單底部的主體是模擬要求的呼叫者。
    • 受影響的資源,尤其是下列欄位:
      • 完整資源名稱:叢集名稱。
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。

步驟 2:研究攻擊和回應方法

  1. 與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。
  2. 調查委派鏈中的主體,確認要求是否異常,以及是否有任何帳戶遭到入侵。
  3. 在「服務帳戶委派資訊」清單中,與模擬呼叫端的擁有者聯絡。確認是否由合法擁有者執行這項操作。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用該服務帳戶進行驗證的資源會失去存取權。繼續操作前,安全團隊應先找出所有受影響的資源,並與資源擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Google Cloud 支援團隊的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議工具

Privilege Escalation: Anomalous Impersonation of Service Account for AI Admin Activity

當 AI 服務的管理員活動稽核記錄顯示服務帳戶模擬要求發生異常時,系統就會偵測到 Anomalous Impersonation of Service Account

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Privilege Escalation: Anomalous Impersonation of Service Account for AI Admin Activity 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:模擬要求中的最終服務帳戶,用於存取 Google Cloud。
      • 「方法名稱」:呼叫的方法。
      • 服務帳戶委派資訊:委派鏈中的服務帳戶詳細資料。清單底部的委託人是模擬要求呼叫者。
      • AI 資源:可能受影響的 AI 資源,例如 Vertex AI 資源和 AI 模型。
    • 受影響的資源,尤其是下列欄位:
      • 完整資源名稱:叢集名稱。
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。

步驟 2:研究攻擊和回應方法

  1. 與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。
  2. 調查委派鏈中的主體,確認要求是否異常,以及是否有任何帳戶遭到入侵。
  3. 在「服務帳戶委派資訊」清單中,與模擬呼叫端的擁有者聯絡。確認是否由合法擁有者執行這項操作。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用該服務帳戶進行驗證的資源會失去存取權。繼續操作前,安全團隊應先找出所有受影響的資源,並與資源擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Cloud Customer Care 的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議工具

Privilege Escalation: Anomalous Multistep Service Account Delegation for Admin Activity

Anomalous Multistep Service Account Delegation 是透過檢查管理員活動稽核記錄檔偵測而來,可查看服務帳戶模擬要求是否發生任何異常情況。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的指示,開啟 Privilege Escalation: Anomalous Multistep Service Account Delegation for Admin Activity 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:模擬要求中的最終服務帳戶,用於存取 Google Cloud。
      • 服務名稱:參與模擬要求之 Google Cloud 服務的 API 名稱。
      • 「方法名稱」:呼叫的方法。
      • 服務帳戶委派資訊:委派鏈中的服務帳戶詳細資料,清單底部的主體是模擬要求的呼叫者。
    • 受影響的資源
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。

步驟 2:研究攻擊和回應方法

  1. 與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。
  2. 調查委派鏈中的主體,確認要求是否異常,以及是否有任何帳戶遭到入侵。
  3. 在「服務帳戶委派資訊」清單中,與模擬呼叫端的擁有者聯絡。確認是否由合法擁有者執行這項操作。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用該服務帳戶進行驗證的資源會失去存取權。繼續操作前,安全團隊應先找出所有受影響的資源,並與資源擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Google Cloud 支援團隊的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議工具

Privilege Escalation: Anomalous Multistep Service Account Delegation for AI Admin Activity

當 AI 服務的管理員活動稽核記錄顯示服務帳戶模擬要求發生異常時,系統就會偵測到 Anomalous Multistep Service Account Delegation

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的指示,開啟 Privilege Escalation: Anomalous Multistep Service Account Delegation for AI Admin Activity 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:模擬要求中的最終服務帳戶,用於存取 Google Cloud。
      • 「方法名稱」:呼叫的方法。
      • 服務帳戶委派資訊:委派鏈中服務帳戶的詳細資料。清單底部的主體是模擬要求呼叫端。
      • AI 資源:可能受影響的 AI 資源,例如 Vertex AI 資源和 AI 模型。
    • 受影響的資源
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。

步驟 2:研究攻擊和回應方法

  1. 與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。
  2. 調查委派鏈中的主體,確認要求是否異常,以及是否有任何帳戶遭到入侵。
  3. 在「服務帳戶委派資訊」清單中,與模擬呼叫端的擁有者聯絡。確認是否由合法擁有者執行這項操作。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用該服務帳戶進行驗證的資源會失去存取權。繼續操作前,安全團隊應先找出所有受影響的資源,並與資源擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Cloud Customer Care 的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議工具

Privilege Escalation: Anomalous Multistep Service Account Delegation for AI Data Access

當 AI 服務的管理員活動稽核記錄顯示服務帳戶模擬要求發生異常時,系統就會偵測到 Anomalous Multistep Service Account Delegation

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Privilege Escalation: Anomalous Multistep Service Account Delegation for AI Data Access 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:模擬要求中的最終服務帳戶,用於存取 Google Cloud
      • 方法名稱:呼叫的方法
      • 服務帳戶委派資訊:委派鏈中服務帳戶的詳細資料。清單底部的主體是模擬要求呼叫端
      • AI 資源:可能受影響的 AI 資源,例如 Vertex AI 資源和 AI 模型。
    • 受影響的資源
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。

步驟 2:研究攻擊和回應方法

  1. 與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。
  2. 調查委派鏈中的主體,確認要求是否異常,以及是否有任何帳戶遭到入侵。
  3. 在「服務帳戶委派資訊」清單中,與模擬呼叫端的擁有者聯絡。確認是否由合法擁有者執行這項操作。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用該服務帳戶進行驗證的資源會失去存取權。繼續操作前,安全團隊應先找出所有受影響的資源,並與資源擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Cloud Customer Care 的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議工具

Privilege Escalation: Anomalous Multistep Service Account Delegation for Data Access

Anomalous Multistep Service Account Delegation:檢查資料存取稽核記錄,查看服務帳戶模擬要求是否發生任何異常情況。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Privilege Escalation: Anomalous Multistep Service Account Delegation for Data Access 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:模擬要求中的最終服務帳戶,用於存取 Google Cloud
      • 服務名稱:參與模擬要求之 Google Cloud 服務的 API 名稱
      • 方法名稱:呼叫的方法
      • 服務帳戶委派資訊:委派鏈中的服務帳戶詳細資料,清單底部的主體是模擬要求的呼叫者
    • 受影響的資源
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。

步驟 2:研究攻擊和回應方法

  1. 與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。
  2. 調查委派鏈中的主體,確認要求是否異常,以及是否有任何帳戶遭到入侵。
  3. 在「服務帳戶委派資訊」清單中,與模擬呼叫端的擁有者聯絡。確認是否由合法擁有者執行這項操作。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用該服務帳戶進行驗證的資源會失去存取權。繼續操作前,安全團隊應先找出所有受影響的資源,並與資源擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Google Cloud 支援團隊的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議工具

Privilege Escalation: Anomalous Service Account Impersonator for Admin Activity

Anomalous Service Account Impersonator 是透過檢查管理員活動稽核記錄檔偵測而來,可判斷服務帳戶模擬要求是否發生任何異常情況。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Privilege Escalation: Anomalous Service Account Impersonator for Admin Activity 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,尤其是下列欄位:

      • 主體電子郵件地址:用於存取 Google Cloud 的模擬要求中的最終服務帳戶
      • 服務名稱:涉及模擬要求之 Google Cloud 服務的 API 名稱
      • 方法名稱:呼叫的方法
      • 服務帳戶委派資訊:委派鏈中的服務帳戶詳細資料,清單底部的主體是模擬要求的呼叫者
    • 受影響的資源

    • 相關連結,尤其是下列欄位:

      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。

步驟 2:研究攻擊和回應方法

  1. 與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。
  2. 調查委派鏈中的主體,確認要求是否異常,以及是否有任何帳戶遭到入侵。
  3. 在「服務帳戶委派資訊」清單中,與模擬呼叫端的擁有者聯絡。確認是否由合法擁有者執行這項操作。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用該服務帳戶進行驗證的資源會失去存取權。繼續操作前,安全團隊應先找出所有受影響的資源,並與資源擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Google Cloud 支援團隊的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議工具

Privilege Escalation: Anomalous Service Account Impersonator for AI Admin Activity

當 AI 服務的管理員活動稽核記錄顯示服務帳戶模擬要求發生異常時,系統就會偵測到 Anomalous Service Account Impersonator

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Privilege Escalation: Anomalous Service Account Impersonator for AI Admin Activity 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:模擬要求中的最終服務帳戶,用於存取 Google Cloud
      • 方法名稱:呼叫的方法
      • 服務帳戶委派資訊:委派鏈中服務帳戶的詳細資料。清單底部的主體是模擬要求呼叫端
      • AI 資源:可能受影響的 AI 資源,例如 Vertex AI 資源和 AI 模型。
    • 受影響的資源
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。

步驟 2:研究攻擊和回應方法

  1. 與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。
  2. 調查委派鏈中的主體,確認要求是否異常,以及是否有任何帳戶遭到入侵。
  3. 在「服務帳戶委派資訊」清單中,與模擬呼叫端的擁有者聯絡。確認是否由合法擁有者執行這項操作。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用該服務帳戶進行驗證的資源會失去存取權。繼續操作前,安全團隊應先找出所有受影響的資源,並與資源擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Cloud Customer Care 的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議工具

Privilege Escalation: Anomalous Service Account Impersonator for AI Data Access

當 AI 服務的管理員活動稽核記錄顯示服務帳戶模擬要求發生異常時,系統就會偵測到 Anomalous Service Account Impersonator

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的指示,開啟Privilege Escalation: Anomalous Service Account Impersonator for AI Data Access結果。
  2. 在「Summary」(摘要) 分頁的調查結果詳細資料中,記下下列欄位的值。

    「偵測到的內容」下方會顯示以下資訊:

    • 主體電子郵件地址:模擬要求中的最終服務帳戶,用於存取 Google Cloud
    • 方法名稱:呼叫的方法
    • 服務帳戶委派資訊:委派鏈中的服務帳戶詳細資料。清單底部的委託人是模擬要求呼叫者
    • AI 資源:可能受影響的 AI 資源,例如 Vertex AI 資源和 AI 模型。

步驟 2:研究攻擊和回應方法

  1. 與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。
  2. 調查委派鏈中的主體,確認要求是否異常,以及是否有任何帳戶遭到入侵。
  3. 在「服務帳戶委派資訊」清單中,與模擬呼叫端的擁有者聯絡。確認是否由合法擁有者執行這項操作。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用該服務帳戶進行驗證的資源會失去存取權。繼續操作前,安全團隊應先找出所有受影響的資源,並與資源擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Cloud Customer Care 的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議工具

Privilege Escalation: Anomalous Service Account Impersonator for Data Access

檢查資料存取稽核記錄,查看服務帳戶模擬要求是否發生任何異常情況,即可偵測到 Anomalous Service Account Impersonator

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的指示,開啟Privilege Escalation: Anomalous Service Account Impersonator for Data Access結果。
  2. 在「Summary」(摘要) 分頁的調查結果詳細資料中,記下下列欄位的值。

    「偵測到的內容」下方會顯示以下資訊:

    • 主體電子郵件地址:用於存取 Google Cloud 的模擬要求中的最終服務帳戶
    • 服務名稱:涉及模擬要求之 Google Cloud 服務的 API 名稱
    • 方法名稱:呼叫的方法
    • 服務帳戶委派資訊:委派鏈中的服務帳戶詳細資料,清單底部的主體是模擬要求的呼叫者

步驟 2:研究攻擊和回應方法

  1. 與「主體電子郵件地址」欄位中的服務帳戶擁有者聯絡。 確認正當擁有者是否執行了該項操作。
  2. 調查委派鏈中的主體,確認要求是否異常,以及是否有任何帳戶遭到入侵。
  3. 在「服務帳戶委派資訊」清單中,與模擬呼叫端的擁有者聯絡。確認是否由合法擁有者執行這項操作。

步驟 3:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用該服務帳戶進行驗證的資源會失去存取權。繼續操作前,安全團隊應先找出所有受影響的資源,並與資源擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Google Cloud 支援團隊的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正過於寬鬆的角色,請使用 IAM 建議工具

Privilege Escalation: Changes to sensitive Kubernetes RBAC objects

為提升權限,可能有惡意的行為人試圖使用 PUTPATCH 要求,修改機密 cluster-admin 角色的 ClusterRoleRoleBindingClusterRoleBinding 角色式存取權控管 (RBAC) 物件。

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一節的指示,開啟 Privilege Escalation: Changes to sensitive Kubernetes RBAC objects 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:發出呼叫的帳戶。
      • 「方法名稱」:呼叫的方法。
      • Kubernetes 繫結:已修改的機密 Kubernetes 繫結或 ClusterRoleBinding
    • 受影響的資源,尤其是下列欄位:
      • 資源顯示名稱:發生動作的 Kubernetes 叢集。
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
  3. 在「偵測到什麼?」專區,點選「Kubernetes 繫結」列中的繫結名稱。系統會顯示繫結詳細資料。

  4. 在顯示的繫結中,記下繫結詳細資料。

步驟 2:檢查記錄

  1. 在 Google Cloud 控制台的「發現項目詳細資料」分頁中,按一下「Cloud Logging URI」欄位中的連結,前往 Logs Explorer
  2. 如果「方法名稱」中的值是 PATCH 方法,請檢查要求主體,瞭解修改了哪些屬性。

    update (PUT) 呼叫中,整個物件都會在要求中傳送,因此變更內容並不明顯。

  3. 使用下列篩選器,檢查主體執行的其他動作:

    • resource.labels.cluster_name="CLUSTER_NAME"
    • protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"

      更改下列內容:

    • CLUSTER_NAME:您在調查結果詳細資料的「資源顯示名稱」欄位中記下的值。

    • PRINCIPAL_EMAIL:您在調查結果詳細資料的「主要電子郵件」欄位中記錄的值。

步驟 3:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 權限提升
  2. 確認物件的機密程度,以及修改是否經過授權。
  3. 您可以檢查繫結的主體,並調查該主體是否需要繫結的角色。
  4. 判斷記錄中是否有其他跡象,表明主體進行了惡意活動。
  5. 如果主體電子郵件地址並非服務帳戶,請與帳戶擁有者聯絡,確認正當擁有者是否執行了該項操作。

    如果主體電子郵件地址為服務帳戶 (IAM 或 Kubernetes),請找出修改來源來判斷正當性。

  6. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

Privilege Escalation: ClusterRole with Privileged Verbs

有人建立包含 bindescalateimpersonate 動詞的 RBAC ClusterRole 物件。如果主體繫結至具有這些動詞的角色,就能模擬其他具備更高權限的使用者、繫結至含有額外權限的其他 RoleClusterRole 物件,或是修改自己的 ClusterRole 權限。這可能會導致這些主體取得 cluster-admin 權限。詳情請參閱這項快訊的記錄訊息。

  1. 查看 ClusterRole 和相關聯的 ClusterRoleBindings,檢查主體是否確實需要這些權限。
  2. 請盡可能避免建立涉及 bindescalateimpersonate 等動詞的角色。
  3. 判斷 Cloud Logging 稽核記錄中,是否有主體進行惡意活動的其他跡象。
  4. 指派 RBAC 角色所含權限時,請採用最低權限原則,並授予執行工作所需的最低權限。採用最小權限原則可降低叢集遭駭時提權的可能性,以及因過度存取而引發安全事件的機率。

Privilege Escalation: ClusterRoleBinding to Privileged Role

有人建立了參照預設 ClusterRoleBinding 的 RBAC ClusterRoleBindingsystem:controller:clusterrole-aggregation-controllerClusterRole。這個預設 ClusterRole 具有 escalate 動詞,可讓主體修改自身角色的權限,進而升級權限。詳情請參閱這項快訊的記錄訊息。

  1. 檢查參照 ClusterRoleBinding 的任何 system:controller:clusterrole-aggregation-controller ClusterRole
  2. 查看對 system:controller:clusterrole-aggregation-controller ClusterRole所做的任何修改。
  3. 判斷 Cloud Logging 稽核記錄中,是否有其他跡象顯示建立 ClusterRoleBinding 的主體進行了惡意活動。

Privilege Escalation: Create Kubernetes CSR for master cert

為提升權限,可能有惡意的行為人建立了 Kubernetes 主憑證簽署要求 (CSR),藉此取得 cluster-admin 存取權。

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的指示開啟 Privilege Escalation: Create Kubernetes CSR for master cert 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:發出呼叫的帳戶。
      • 「方法名稱」:呼叫的方法。
    • 受影響的資源,尤其是下列欄位:
      • 資源顯示名稱:發生動作的 Kubernetes 叢集。
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。

步驟 2:檢查記錄

  1. 在 Google Cloud 控制台的「發現項目詳細資料」分頁中,按一下「Cloud Logging URI」欄位中的連結,前往 Logs Explorer
  2. 檢查 protoPayload.resourceName 欄位中的值,找出特定憑證簽署要求。
  3. 使用下列篩選器,檢查主體執行的其他動作:

    • resource.labels.cluster_name="CLUSTER_NAME"
    • protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"

      更改下列內容:

    • CLUSTER_NAME:您在調查結果詳細資料的「資源顯示名稱」欄位中記下的值。

    • PRINCIPAL_EMAIL:您在調查結果詳細資料的「主要電子郵件」欄位中記錄的值。

步驟 3:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 權限提升
  2. 調查授予 cluster-admin 存取權是否經過授權。
  3. 如果主體電子郵件地址並非服務帳戶,請與帳戶擁有者聯絡,確認正當擁有者是否執行了該項操作。

    如果主體電子郵件地址為服務帳戶 (IAM 或 Kubernetes),請找出操作來源來判斷正當性。

  4. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

Privilege Escalation: Creation of sensitive Kubernetes bindings

為提升權限,可能有惡意的行為人試圖為 cluster-admin 角色建立新的 RoleBindingClusterRoleBinding 物件。

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一節的指示,開啟 Privilege Escalation: Creation of sensitive Kubernetes bindings 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:發出呼叫的帳戶。
      • Kubernetes 繫結:建立的機密 Kubernetes 繫結或 ClusterRoleBinding
    • 受影響的資源,尤其是下列欄位:
      • 資源顯示名稱:發生動作的 Kubernetes 叢集。
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。

步驟 2:檢查記錄

  1. 在 Google Cloud 控制台的「發現項目詳細資料」分頁中,按一下「Cloud Logging URI」欄位中的連結,前往 Logs Explorer
  2. 使用下列篩選器,檢查主體執行的其他動作:

    • resource.labels.cluster_name="CLUSTER_NAME"
    • protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"

      更改下列內容:

    • CLUSTER_NAME:您在調查結果詳細資料的「資源顯示名稱」欄位中記下的值。

    • PRINCIPAL_EMAIL:您在調查結果詳細資料的「主要電子郵件」欄位中記錄的值。

步驟 3:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 權限提升
  2. 確認建立的繫結機密程度,以及主體是否需要這些角色。
  3. 您可以檢查繫結的主體,並調查該主體是否需要繫結的角色。
  4. 判斷記錄中是否有其他跡象,表明主體進行了惡意活動。
  5. 如果主體電子郵件地址並非服務帳戶,請與帳戶擁有者聯絡,確認正當擁有者是否執行了該項操作。

    如果主體電子郵件地址為服務帳戶 (IAM 或 Kubernetes),請找出操作來源來判斷正當性。

  6. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

Privilege Escalation: Default Compute Engine Service Account SetIAMPolicy

偵測預設 Compute Engine 服務帳戶是否用於設定 Cloud Run 服務的 IAM 政策。如果無伺服器服務的 Compute Engine 權杖遭到入侵,這項限制可能會在事後發揮作用。

如要回應這項發現,請按照下列步驟操作:

  1. 查看 Cloud Logging 中的稽核記錄,判斷主體是否預期會執行這項活動。
  2. 判斷記錄中是否有其他跡象,表明主體進行了惡意活動。

Privilege Escalation: Dormant Service Account Granted Sensitive Role

偵測到系統將敏感 IAM 角色授予閒置的使用者管理服務帳戶時,系統會觸發事件。如果服務帳戶閒置超過 180 天,就會視為休眠帳戶。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟Privilege Escalation: Dormant Service Account Granted Sensitive Role 結果。
  2. 在「摘要」分頁的發現項目詳細資料中,記下下列欄位的值。

    「偵測到的內容」下方會顯示以下資訊:

    • 主體電子郵件:執行授權動作的使用者
    • 違規存取權授予。主體名稱:收到敏感角色的休眠服務帳戶
    • 違規存取權授予。授予的角色:指派的機密 IAM 角色

    在「受影響的資源」下方:

    • 資源顯示名稱:機構、資料夾或專案,其中休眠服務帳戶已獲授權存取機密 IAM 角色。

步驟 2:研究攻擊和回應方法

  1. 使用服務帳戶工具 (例如活動分析器),調查休眠服務帳戶的活動。
  2. 與「Principal email」(主體電子郵件地址) 欄位的擁有者聯絡。 確認正當擁有者是否執行了該項操作。

步驟 3:檢查記錄

  1. 在調查結果詳細資料面板的「摘要」分頁標籤中,按一下「相關連結」下方的「Cloud Logging URI」連結,開啟「記錄檔探索工具」。

步驟 4:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 如果主體電子郵件地址遭到入侵,請移除該擁有者的存取權。
  • 從休眠服務帳戶中移除新指派的敏感 IAM 角色。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用該服務帳戶進行驗證的資源會失去存取權。繼續操作前,安全團隊應先找出所有受影響的資源,並與資源擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Cloud Customer Care 的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正權限過多的角色,請使用 IAM 建議

Privilege Escalation: Effectively Anonymous Users Granted GKE Cluster Access

有人建立的 RBAC 繫結參照了下列使用者或群組:

  • system:anonymous
  • system:authenticated
  • system:unauthenticated

這些使用者和群組實際上是匿名,因此建立任何 RBAC 角色的角色繫結或叢集角色繫結時,應避免使用這些使用者和群組。請檢查繫結,確認是否必要。如果不需要繫結,請移除繫結。詳情請參閱這項發現的記錄訊息。

  1. 檢查建立的繫結中,任何已將權限授予以下對象的繫結:system:anonymous 使用者、system:unauthenticated groupsystem:authenticated 群組。
  2. 判斷 Cloud Logging 稽核記錄中,是否有主體進行惡意活動的其他跡象。

如有惡意活動的跡象,請參閱相關指南,瞭解如何調查及移除授予這項存取權的繫結。

Privilege Escalation: External Member Added To Privileged Group

這個發現項目不適用於專案層級的啟用作業。

偵測外部成員何時新增至具有特殊權限的 Google 群組 (已獲授「機密角色或權限」的群組)。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟Privilege Escalation: External Member Added To Privileged Group 調查結果。 系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:進行變更的帳戶。
    • 受影響的資源
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
  3. 在詳細資料面板中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • groupName:變更的 Google 群組
    • externalMember:新加入的外部成員
    • sensitiveRoles:與這個群組相關聯的敏感角色

步驟 2:查看群組成員

  1. 前往 Google 網路論壇。

    前往 Google 網路論壇

  2. 按一下要查看的群組名稱。

  3. 在導覽選單中,按一下「成員」

  4. 如果新加入的外部成員不應屬於這個群組,請按一下成員名稱旁的核取方塊,然後選取「移除成員」或「禁止成員」

    如要移除成員,您必須是 Google Workspace 管理員,或在 Google 群組中獲派擁有者管理員角色。詳情請參閱「為群組成員指派角色」。

步驟 3:檢查記錄

  1. 在「發現項目詳細資料」面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「記錄檔探索工具」
  2. 必要時,請選取專案。

  3. 在載入的頁面中,使用下列篩選器檢查 Google 群組成員資格異動記錄:

    • protoPayload.methodName="google.apps.cloudidentity.groups.v1.MembershipsService.UpdateMembership"
    • protoPayload.authenticationInfo.principalEmail="principalEmail"

步驟 4:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 有效帳戶
  2. 如要判斷是否需要採取其他補救措施,請將調查結果與 MITRE 研究結合。

Privilege Escalation: Get Kubernetes CSR with compromised bootstrap credentials

為提升權限,可能有惡意的行為人使用了外洩的啟動憑證,以 kubectl 指令查詢憑證簽署要求 (CSR)。

以下是這項規則偵測到的指令範例:

kubectl --client-certificate kubelet.crt --client-key kubelet.key --server YOUR_SERVER get csr CSR_NAME

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一節的指示,開啟 Privilege Escalation: Get Kubernetes CSR with compromised bootstrap credentials 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:發出呼叫的帳戶。
      • 「方法名稱」:呼叫的方法。
    • 在「受影響的資源」下方:
      • 資源顯示名稱:發生動作的 Kubernetes 叢集。
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。

步驟 2:檢查記錄

如果方法名稱 (您在發現詳細資料的「方法名稱」欄位中記下的名稱) 是 GET 方法,請執行下列操作:

  1. 在 Google Cloud 控制台的「發現項目詳細資料」分頁中,按一下「Cloud Logging URI」欄位中的連結,前往 Logs Explorer
  2. 檢查 protoPayload.resourceName 欄位中的值,找出特定憑證簽署要求。

步驟 3:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 權限提升
  2. 如果特定 CSR 可在記錄項目中取得,請調查憑證的機密程度,以及該項操作是否經過授權。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

Privilege Escalation: Impersonation Role Granted for Dormant Service Account

偵測事件,其中主體獲得可模擬休眠使用者管理服務帳戶的模擬角色。在這項發現中,閒置服務帳戶是受影響的資源。如果服務帳戶閒置超過 180 天,就會視為閒置帳戶。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟Privilege Escalation: Impersonation Role Granted for Dormant Service Account 結果。
  2. 在「摘要」分頁的發現項目詳細資料中,記下下列欄位的值。

    「偵測到的內容」下方會顯示以下資訊:

    • 主體電子郵件:執行授權動作的使用者
    • 違規存取權授予。主體名稱:獲派模擬角色者

    在「受影響的資源」下方:

    • 資源顯示名稱:閒置服務帳戶做為資源
    • 完整專案名稱:該閒置服務帳戶所在的專案

步驟 2:研究攻擊和回應方法

  1. 使用服務帳戶工具 (例如活動分析器),調查休眠服務帳戶的活動。
  2. 與「Principal email」(主體電子郵件地址) 欄位的擁有者聯絡。 確認正當擁有者是否執行了該項操作。

步驟 3:檢查記錄

  1. 在調查結果詳細資料面板的「摘要」分頁標籤中,按一下「相關連結」下方的「Cloud Logging URI」連結,開啟「記錄檔探索工具」。

步驟 4:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與執行動作的專案擁有者聯絡。
  • 如果主體電子郵件地址遭到入侵,請移除該擁有者的存取權。
  • 從目標成員移除新授予的模擬角色。
  • 請考慮刪除可能遭入侵的服務帳戶,並輪替及刪除可能遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用服務帳戶進行驗證的應用程式會失去存取權。繼續操作前,安全團隊應找出所有受影響的應用程式,並與應用程式擁有者合作,確保業務持續運作。
  • 與安全團隊合作找出不熟悉的資源,包括 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。刪除非使用授權帳戶建立的資源。
  • 回覆 Cloud Customer Care 的任何通知。
  • 如要限制可建立服務帳戶的使用者,請使用 Organization Policy Service
  • 如要找出並修正權限過多的角色,請使用 IAM 建議

Privilege Escalation: Launch of privileged Kubernetes container

可能有惡意的行為人建立了 Pod,當中的容器具備特殊權限或權限提升功能。

特殊權限容器的 privileged 欄位設為 true。具備權限提升功能的容器則是 allowPrivilegeEscalation 欄位設為 true。如要瞭解詳情,請參閱 Kubernetes 說明文件中的 SecurityContext v1 核心 API 參考資料。

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一節的指示,開啟 Privilege Escalation: Launch of privileged Kubernetes container 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主體電子郵件地址:發出呼叫的帳戶。
      • Kubernetes Pod:新建立的 Pod,含有特殊權限容器。
    • 受影響的資源,尤其是下列欄位:
      • 資源顯示名稱:發生動作的 Kubernetes 叢集。
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
  3. 在「JSON」JSON分頁中,記下以下發現結果欄位的值:

    • findings.kubernetes.pods[].containers:Pod 中出現的特殊權限容器。

步驟 2:檢查記錄

  1. 在 Google Cloud 控制台的「發現項目詳細資料」分頁中,按一下「Cloud Logging URI」欄位中的連結,前往 Logs Explorer
  2. 使用下列篩選器,檢查主體執行的其他動作:

    • resource.labels.cluster_name="CLUSTER_NAME"
    • protoPayload.authenticationInfo.principalEmail="PRINCIPAL_EMAIL"

      更改下列內容:

    • CLUSTER_NAME:您在調查結果詳細資料的「資源顯示名稱」欄位中記下的值。

    • PRINCIPAL_EMAIL:您在調查結果詳細資料的「主要電子郵件」欄位中記錄的值。

步驟 3:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 權限提升
  2. 確認所建容器需要使用主機資源和核心功能。
  3. 判斷記錄中是否有其他跡象,表明主體進行了惡意活動。
  4. 如果主體電子郵件地址並非服務帳戶,請與帳戶擁有者聯絡,確認正當擁有者是否執行了該項操作。

    如果主體電子郵件地址為服務帳戶 (IAM 或 Kubernetes),請找出操作來源來判斷正當性。

  5. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

Privilege Escalation: Privileged Group Opened To Public

這個發現項目不適用於專案層級的啟用作業。

偵測到具有特殊權限的 Google 群組 (已授予敏感角色或權限的群組) 變更為一般大眾可存取時,系統會發出警示。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟Privilege Escalation: Privileged Group Opened To Public 調查結果。 系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主要電子郵件地址:進行變更的帳戶,可能已遭盜用。
    • 受影響的資源
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
    1. 按一下「JSON」JSON分頁標籤。
    2. 請注意 JSON 中的下列欄位。
    • groupName:變更的 Google 群組
    • sensitiveRoles:與這個群組相關聯的敏感角色
    • whoCanJoin:群組的加入設定

步驟 2:查看群組存取權設定

  1. 前往 Google 協作平台的管理控制台。您必須是 Google Workspace 管理員,才能登入管理控制台。

    前往管理控制台

  2. 在導覽窗格中,依序點選「目錄」和「群組」

  3. 按一下要查看的群組名稱。

  4. 按一下「存取權設定」,然後在「誰可以加入群組」下方,查看群組的加入設定。

  5. 視需要在下拉式選單中變更加入設定。

步驟 3:檢查記錄

  1. 在「發現項目詳細資料」面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「記錄檔探索工具」
  2. 必要時,請選取專案。

  3. 在載入的頁面中,使用下列篩選條件檢查 Google 群組設定變更的記錄:

    • protoPayload.methodName="google.admin.AdminService.changeGroupSetting"
    • protoPayload.authenticationInfo.principalEmail="principalEmail"

步驟 4:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 有效帳戶
  2. 如要判斷是否需要採取其他補救措施,請將調查結果與 MITRE 研究結合。

Privilege Escalation: Sensitive Role Granted To Hybrid Group

偵測是否將敏感角色或權限授予含有外部成員的 Google 群組。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟一項Privilege Escalation: Sensitive Role Granted To Hybrid Group 結果。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 主要電子郵件地址:進行變更的帳戶,可能已遭盜用。
    • 受影響的資源,尤其是下列欄位:
      • 完整資源名稱:授予新角色的資源。
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
    1. 按一下「JSON」JSON分頁標籤。
    2. 請注意 JSON 中的下列欄位。
    • groupName:變更的 Google 群組
    • bindingDeltas:新授予這個群組的敏感角色。

步驟 2:查看群組權限

  1. 前往 Google Cloud 控制台的「IAM」IAM頁面。

    前往「IAM」頁面

  2. 在「Filter」(篩選器) 欄位中,輸入 groupName 中列出的帳戶名稱。

  3. 查看授予群組的敏感角色。

  4. 如果不需要新加入的敏感角色,請撤銷該角色

    您必須具備特定權限,才能管理機構或專案中的角色。詳情請參閱「必要權限」。

步驟 3:檢查記錄

  1. 在「發現項目詳細資料」面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「記錄檔探索工具」
  2. 必要時,請選取專案。

  3. 在載入的頁面中,使用下列篩選條件檢查 Google 群組設定變更的記錄:

    • protoPayload.methodName="SetIamPolicy"
    • protoPayload.authenticationInfo.principalEmail="principalEmail"

步驟 4:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 有效帳戶
  2. 如要判斷是否需要採取其他補救措施,請將調查結果與 MITRE 研究結合。

Privilege Escalation: Suspicious Kubernetes Container Names - Exploitation and Escape

有人部署的 Pod 命名慣例與用於容器逸出或在叢集上執行其他攻擊的常見工具類似。詳情請參閱這項快訊的記錄訊息。

  1. 確認 Pod 具正當性。
  2. 判斷 Cloud Logging 稽核記錄中,是否有 Pod 或主體進行惡意活動的其他跡象。
  3. 如果主體並非服務帳戶 (IAM 或 Kubernetes),請與帳戶擁有者聯絡,確認正當擁有者是否執行了這項操作。
  4. 如果主體為服務帳戶 (IAM 或 Kubernetes),請找出執行操作的帳戶,以便判斷正當性。
  5. 請移除不正當的 Pod,以及工作負載所使用且讓 Pod 得以建立的任何相關聯 RBAC 繫結和服務帳戶。

Privilege Escalation: Workload Created with a Sensitive Host Path Mount

有人建立的工作負載包含 hostPath 磁碟區,並掛接到主機節點檔案系統的敏感路徑。存取主機檔案系統上的這些路徑,可用於存取節點上的特殊權限或私密資訊,以及用於容器逸出。請盡可能不要在叢集中使用任何 hostPath 磁碟區。詳情請參閱這項快訊的記錄訊息。

  1. 檢查工作負載,判斷所要功能是否需要這個 hostPath 磁碟區。如果是,請務必提供最完整的目錄路徑時,例如,顯示 /etc/myapp/myfiles,而不是 //etc
  2. 請查看 Cloud Logging 中的稽核記錄,判斷是否有與這項工作負載相關的其他惡意活動跡象。

如要封鎖叢集中的 hostPath 磁碟區掛接作業,請參閱強制執行 Pod 安全性標準的指南

Privilege Escalation: Workload with shareProcessNamespace enabled

有人部署工作負載時,將 shareProcessNamespace 選項設為 true,允許所有容器共用相同的 Linux 程序命名空間。這可能會導致不受信任或遭入侵的容器存取及控管環境變數、記憶體,以及其他容器中執行的程序所含的機密資料,進而提升權限。基於正當理由,部分工作負載可能需要這項功能才能運作,例如記錄處理輔助容器或偵錯容器。詳情請參閱這則快訊的記錄訊息。

  1. 確認工作負載確實需要存取工作負載中所有容器共用的程序命名空間。
  2. 檢查 Cloud Logging 稽核記錄中,是否有主體進行惡意活動的其他跡象。
  3. 如果主體並非服務帳戶 (IAM 或 Kubernetes),請與帳戶擁有者聯絡,確認對方是否執行了這項操作。
  4. 如果主體為服務帳戶 (IAM 或 Kubernetes),請判斷導致服務帳戶執行這項操作的原因是否正當。

Service account self-investigation

使用服務帳戶憑證調查與該服務帳戶相關聯的角色和權限。這項發現指出服務帳戶憑證可能遭盜用,應立即採取行動。

步驟 1:查看調查結果詳細資料

  1. 按照本頁稍早「查看調查結果詳細資料」一節的說明,開啟 Discovery: Service Account Self-Investigation 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 嚴重性:指派給偵測結果的風險等級。如果觸發這項發現的 API 呼叫未經授權,也就是服務帳戶沒有權限透過 projects.getIamPolicy API 查詢自己的 IAM 權限,則嚴重程度為 HIGH
      • 主體電子郵件地址:可能遭入侵的服務帳戶。
      • 呼叫端 IP:內部或外部 IP 位址
    • 受影響的資源,尤其是下列欄位:
      • 完整資源名稱
      • 專案完整名稱:包含可能外洩帳戶憑證的專案。
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
    1. 如要查看調查結果的完整 JSON,請按一下「JSON」JSON分頁標籤。

步驟 2:檢查專案和服務帳戶權限

  1. 前往 Google Cloud 控制台的「IAM」頁面。

    前往「IAM」頁面

  2. 如有需要,請選取發現項目 JSON 的 projectID 欄位中列出的專案。

  3. 在顯示的頁面中,於「Filter」(篩選器) 方塊中輸入「Principal email」(主體電子郵件) 中列出的帳戶名稱,並檢查已指派的權限。

  4. 前往 Google Cloud 控制台的「Service Accounts」(服務帳戶) 頁面。

    前往「Service Accounts」(服務帳戶)

  5. 在隨即顯示的頁面中,於「篩選器」方塊中輸入遭入侵服務帳戶的名稱,並檢查服務帳戶的金鑰和金鑰建立日期。

步驟 3:檢查記錄

  1. 在「發現項目詳細資料」面板的「摘要」分頁中,按一下「Cloud Logging URI」連結,開啟「記錄檔探索工具」
  2. 必要時,請選取專案。
  3. 在隨即載入的頁面中,使用下列篩選器檢查新或更新 IAM 資源的活動記錄:
    • proto_payload.method_name="google.iam.admin.v1.CreateServiceAccount"
    • protoPayload.methodName="SetIamPolicy"
    • protoPayload.authenticationInfo.principalEmail="principalEmail"

步驟 4:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 框架項目: 權限群組探索:雲端群組
  2. 如要制定回應計畫,請結合調查結果和 MITRE 研究。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵帳戶的專案擁有者聯絡。
  • 刪除遭入侵的服務帳戶,並輪替及刪除遭入侵專案的所有服務帳戶存取金鑰。刪除後,使用服務帳戶進行驗證的資源會失去存取權。
  • 刪除遭入侵帳戶建立的專案資源,例如不熟悉的 Compute Engine 執行個體、快照、服務帳戶和 IAM 使用者。

Compute Engine 管理員中繼資料偵測

Persistence: GCE Admin Added SSH Key

說明 動作
已建立的執行個體變更了 ssh-keys Compute Engine 執行個體中繼資料鍵。 在七天前建立的執行個體上,Compute Engine 執行個體中繼資料鍵 ssh-keys 已修改。確認變更是否為成員的刻意行為,或是由攻擊者實作,以便為貴機構導入新的存取權。

使用下列篩選器檢查記錄:

protopayload.resource.labels.instance_id=INSTANCE_ID

protoPayload.serviceName="compute.googleapis.com"

(protoPayload.metadata.instanceMetaData.addedMetadataKey : "ssh-keys" OR protoPayload.metadata.instanceMetaData.modifiedMetadataKey : "ssh-keys" )

logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity

取代下列項目:

  • INSTANCE_ID:發現結果中列出的 gceInstanceId
  • ORGANIZATION_ID:您的機構 ID

研究觸發這項發現的事件:

Persistence: GCE Admin Added Startup Script

說明 動作
已建立的執行個體上,startup-scriptstartup-script-url Compute Engine 執行個體中繼資料鍵已變更。 在七天前建立的執行個體上,Compute Engine 執行個體中繼資料金鑰 startup-scriptstartup-script-url 遭到修改。確認變更是否為成員的刻意行為,或是由攻擊者導入,以取得貴機構的新存取權。

使用下列篩選器檢查記錄:

protopayload.resource.labels.instance_id=INSTANCE_ID

protoPayload.serviceName="compute.googleapis.com"

((protoPayload.metadata.instanceMetaData.addedMetadataKey : "startup-script" OR protoPayload.metadata.instanceMetaData.modifiedMetadataKey : "startup-script" )

OR (protoPayload.metadata.instanceMetaData.addedMetadataKey : "startup-script-url" OR protoPayload.metadata.instanceMetaData.modifiedMetadataKey : "startup-script-url" ))

logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity

取代下列項目:

  • INSTANCE_ID:發現結果中列出的 gceInstanceId
  • ORGANIZATION_ID:您的機構 ID

研究觸發這項發現的事件:

Google Workspace 記錄偵測

如果您與 Cloud Logging 共用 Google Workspace 記錄,Event Threat Detection 會針對多種 Google Workspace 威脅產生調查結果。由於 Google Workspace 記錄檔位於機構層級,因此只有在機構層級啟用 Security Command Center 時,Event Threat Detection 才能掃描這些記錄檔。

Event Threat Detection 會擴充記錄事件,並將發現結果寫入 Security Command Center。下表列出 Google Workspace 威脅、相關的 MITRE ATT&CK 架構項目,以及觸發調查結果的事件詳細資料。您也可以使用特定篩選器查看記錄,並整合所有資訊來回應 Google Workspace 威脅

Initial Access: Disabled Password Leak

如果您在專案層級啟用 Security Command Center,就無法使用這項發現項目。

說明 動作
系統偵測到密碼外洩,因此停用了成員的帳戶。 重設受影響帳戶的密碼,並建議成員為公司帳戶使用不重複的高強度密碼。

使用下列篩選器檢查記錄:

protopayload.resource.labels.service="login.googleapis.com"

logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

ORGANIZATION_ID 替換為機構 ID。

研究觸發這項發現的事件:

Initial Access: Suspicious Login Blocked

如果您在專案層級啟用 Security Command Center,就無法使用這項發現項目。

說明 動作
系統偵測到有可疑人士登入成員帳戶,並已封鎖該帳戶。 這個帳戶可能成為攻擊者的目標。確保使用者帳戶遵循貴機構的安全規範,採用高強度密碼和多重驗證。

使用下列篩選器檢查記錄:

protopayload.resource.labels.service="login.googleapis.com"

logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

ORGANIZATION_ID 替換為機構 ID。

研究觸發這項發現的事件:

Initial Access: Account Disabled Hijacked

如果您在專案層級啟用 Security Command Center,就無法使用這項發現項目。

說明 動作
成員的帳戶因可疑活動而遭停權。 這個帳戶遭到盜用。重設帳戶密碼,並鼓勵使用者為公司帳戶設定不重複的高強度密碼。

使用下列篩選器檢查記錄:

protopayload.resource.labels.service="login.googleapis.com"

logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

ORGANIZATION_ID 替換為機構 ID。

研究觸發這項發現的事件:

Impair Defenses: Two Step Verification Disabled

如果您在專案層級啟用 Security Command Center,就無法使用這項發現項目。

說明 動作
有成員停用了兩步驟驗證。 確認使用者是否打算停用兩步驟驗證。 如果貴機構規定必須使用兩步驟驗證,請確保使用者及時啟用這項功能。

使用下列篩選器檢查記錄:

protopayload.resource.labels.service="login.googleapis.com"

logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

ORGANIZATION_ID 替換為機構 ID。

研究觸發這項發現的事件:

Initial Access: Government Based Attack

如果您在專案層級啟用 Security Command Center,就無法使用這項發現項目。

說明 動作
受到某些政府支援的攻擊者可能試圖入侵成員帳戶或電腦。 這個帳戶可能成為攻擊者的目標。確保使用者帳戶遵循貴機構的安全規範,採用高強度密碼和多重驗證。

使用下列篩選器檢查記錄:

protopayload.resource.labels.service="login.googleapis.com"

logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

ORGANIZATION_ID 替換為機構 ID。

研究觸發這項發現的事件:

Persistence: SSO Enablement Toggle

如果您在專案層級啟用 Security Command Center,就無法使用這項發現項目。

說明 動作
管理員帳戶的「啟用 SSO (單一登入)」設定已停用。 貴機構的單一登入 (SSO) 設定已變更。確認變更是否為成員的刻意行為,或是由攻擊者實施,以便為貴機構導入新的存取權。

使用下列篩選器檢查記錄:

protopayload.resource.labels.service="admin.googleapis.com"

protopayload.metadata.event.parameter.value=DOMAIN_NAME

logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity

取代下列項目:

  • DOMAIN_NAME:發現結果中列出的 domainName
  • ORGANIZATION_ID:您的機構 ID

研究觸發這項發現的事件:

Persistence: SSO Settings Changed

如果您在專案層級啟用 Security Command Center,就無法使用這項發現項目。

說明 動作
已變更管理員帳戶的單一登入 (SSO) 設定。 貴機構的單一登入 (SSO) 設定已變更。確認變更是否為成員有意為之,或是由攻擊者實施,以便為貴機構導入新的存取權。

使用下列篩選器檢查記錄:

protopayload.resource.labels.service="admin.googleapis.com"

protopayload.metadata.event.parameter.value=DOMAIN_NAME

logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity

取代下列項目:

  • DOMAIN_NAME:發現結果中列出的 domainName
  • ORGANIZATION_ID:您的機構 ID

研究觸發這項發現的事件:

Impair Defenses: Strong Authentication Disabled

如果您在專案層級啟用 Security Command Center,就無法使用這項發現項目。

說明 動作
機構已停用兩步驟驗證。 貴機構不再需要兩步驟驗證。確認這是管理員刻意變更政策,還是有心人士試圖藉此更容易盜用帳戶。

使用下列篩選器檢查記錄:

protopayload.resource.labels.service="admin.googleapis.com"

logName="organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity

ORGANIZATION_ID 替換為機構 ID。

研究觸發這項發現的事件:

回應 Google Workspace 威脅

Google Workspace 的發現項目僅適用於 Security Command Center 的機構層級啟用。無法掃描 Google Workspace 記錄,以啟用專案層級的服務。

如果您是 Google Workspace 管理員,可以使用這項服務的安全防護工具解決下列威脅:

這些工具包括警示、安全性資訊主頁、安全性建議,以及可協助您調查及解決威脅。

如果您不是 Google Workspace 管理員,請按照下列步驟操作:

Cloud IDS 威脅偵測

Cloud IDS: THREAT_ID

Cloud IDS 發現項目是由 Cloud IDS 產生,這項安全防護服務會監控Google Cloud 資源的來回流量,找出潛在威脅。Cloud IDS 偵測到威脅時,會將威脅相關資訊 (例如來源 IP 位址、目的地地址和通訊埠號碼) 傳送至 Event Threat Detection,後者會產生威脅發現結果。

步驟 1:查看調查結果詳細資料
  1. 按照「查看發現項目」一文的指示,開啟 Cloud IDS: THREAT_ID 發現項目。

  2. 在發現項目詳細資料的「摘要」分頁中,查看下列各節列出的值:

    • 偵測到的內容,特別是下列欄位:
      • 通訊協定:使用的網路通訊協定
      • 事件時間:事件發生的時間
      • 說明:有關發現結果的詳細資訊
      • 嚴重性:快訊的嚴重程度
      • 目的地 IP:網路流量的目標 IP
      • 目的地通訊埠:網路流量的目標通訊埠
      • 來源 IP:網路流量的來源 IP
      • 來源通訊埠:網路流量的來源通訊埠
    • 受影響的資源,尤其是下列欄位:
      • 資源完整名稱:包含網路和威脅的專案
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:Cloud IDS 記錄檔項目的連結,這些項目包含搜尋 Palo Alto Networks Threat Vault 所需的資訊
    • 偵測服務
      • 發現項目類別:Cloud IDS 威脅名稱
  3. 如要查看調查結果的完整 JSON,請按一下「JSON」JSON分頁標籤。

步驟 2:查詢攻擊和回應方法

查看調查結果詳細資料後,請參閱 Cloud IDS 說明文件,瞭解如何調查威脅快訊,以決定適當的因應措施。

如要進一步瞭解偵測到的事件,請點選調查結果詳細資料中「Cloud Logging URI」欄位的連結,查看原始記錄項目。

Container Threat Detection 回應

如要進一步瞭解 Container Threat Detection,請參閱這篇文章

Added Binary Executed

執行了不屬於原始容器映像檔的二進位檔。攻擊者通常會在初步入侵後安裝漏洞利用工具和惡意軟體。確保容器不可變是重要的最佳做法。這項發現的嚴重程度較低,因為貴機構可能未遵循這項最佳做法。如果二進位檔的雜湊是已知的入侵指標 (IoC),就會有對應的Execution: Added Malicious Binary Executed發現項目。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Added Binary Executed 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:新增二進位檔的絕對路徑。
      • 引數:呼叫新增的二進位檔時提供的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
    • 相關連結,尤其是下列欄位:
      • VirusTotal 指標:連結至 VirusTotal 分析頁面。
  3. 按一下「JSON」JSON,並記下下列欄位:

    • resource
      • project_display_name:包含叢集的專案名稱。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  4. 找出這個容器在類似時間發生的其他發現項目。相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 視需要,在「發現詳細資料」的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 和擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • resource.labels.namespace_name="Pod_Namespace"
      • resource.labels.pod_name="Pod_Name"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/resource.project_display_name/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • Pod_Name
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="instance_id"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

      gcloud container clusters get-credentials cluster_name --zone location --project project_name
    

    地區叢集:

      gcloud container clusters get-credentials cluster_name --region location --project project_name
    

    更改下列內容:

    • cluster_nameresource.labels.cluster_name中列出的叢集
    • locationresource.labels.location 中列出的位置
    • project_nameresource.project_display_name 中列出的專案名稱
  5. 執行下列指令,擷取新增的二進位檔:

      kubectl cp Pod_Namespace/Pod_Name:Process_Binary_Fullpath -c Container_Name  local_file
    

    請將 local_file 改為本機檔案路徑,用於儲存新增的二進位檔。

  6. 執行下列指令,連線至容器環境:

      kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目:「輸入工具轉送」、「原生 API」
  2. VirusTotal 上檢查標示為惡意內容的二進位檔 SHA-256 雜湊值,方法是點選「VirusTotal 指標」中的連結。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究和 VirusTotal 分析結果合併。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 如果二進位檔原本就應包含在容器中,請重新建構容器映像檔,並納入二進位檔。這樣一來,容器就能保持不變。
  • 如果不是,請與遭入侵容器的專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Added Library Loaded

載入的程式庫並非原始容器映像檔的一部分。 攻擊者可能會將惡意程式庫載入現有程式,藉此規避程式碼執行保護機制並隱藏惡意程式碼。確保容器不可變是重要的最佳做法。這是低嚴重程度的發現,因為貴機構可能未遵循這項最佳做法。如果二進位檔的雜湊是已知的入侵指標 (IoC),就會有對應的 Execution: Added Malicious Library Loaded 發現項目。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Added Library Loaded 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:載入程式庫的程序二進位檔完整路徑。
      • 程式庫:新增程式庫的詳細資料。
      • 引數:叫用程序二進位檔時提供的引數。
    • 受影響的資源,尤其是下列欄位:
    • 相關連結,尤其是下列欄位:
      • VirusTotal 指標:連結至 VirusTotal 分析頁面。
  3. 按一下「JSON」JSON分頁標籤,並注意下列欄位:

    • resource
      • project_display_name:包含資產的專案名稱。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:正在執行的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  4. 找出這個容器在類似時間發生的其他發現項目。相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 選取 resource.name 中列出的叢集。請記下叢集及其擁有者的中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 視需要,在「發現詳細資料」的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 和擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • resource.labels.namespace_name="Pod_Namespace"
      • resource.labels.pod_name="Pod_Name"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/resource.project_display_name/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • Pod_Name
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="instance_id"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

      gcloud container clusters get-credentials cluster_name --zone location --project resource.project_display_name
    

    地區叢集:

      gcloud container clusters get-credentials cluster_name --region location --project resource.project_display_name
    
  5. 執行下列指令,擷取新增的程式庫:

      kubectl cp Pod_Namespace/Pod_Name: Added_Library_Fullpath -c Container_Name  local_file
    

    請將 local_file 替換為本機檔案路徑,用於儲存新增的程式庫。

  6. 執行下列指令,連線至容器環境:

      kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現的 MITRE ATT&CK 框架項目: Ingress Tool TransferShared Modules
  2. VirusTotal 上檢查標示為惡意內容的二進位檔 SHA-256 雜湊值,方法是點選「VirusTotal 指標」中的連結。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究和 VirusTotal 分析結果合併。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 如果程式庫原本就應納入容器,請重建容器映像檔,並納入程式庫。這樣一來,容器就能保持不變。
  • 如果不是,請與遭入侵容器的專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Command and Control: Steganography Tool Detected

系統偵測到某個程序使用 Unix 類發行版本中常見的隱寫術工具,可能用於隱藏通訊內容。這種行為表示有人試圖在與外部實體交換的看似無害數位訊息中,隱藏指令和控制項 (C2) 流量或機密資料。對手通常會使用隱寫術規避網路監控,並降低惡意活動的顯眼程度。如果發現這些工具,表示有人蓄意模糊處理非法資料移轉行為。這種行為可能會導致機密資訊進一步遭駭或外洩。找出隱藏內容是準確評估相關風險的必要步驟。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Command and Control: Steganography Tool Detected 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的期間。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    更改下列內容:

    • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
    • LOCATIONresource.labels.location 中列出的位置
    • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  5. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 local_file 改為本機檔案路徑,用於儲存新增的二進位檔。

  6. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現的 MITRE ATT&CK 架構項目: 資料混淆:隱寫術
  2. 如要制定回應計畫,請結合調查結果和 MITRE 研究。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Credential Access: Find Google Cloud Credentials

系統偵測到某個程序正在搜尋 Google Cloud 憑證。這種行為表示攻擊者可能試圖找出並擷取儲存的密碼,藉此提升權限、存取受限制的資源,或在環境中橫向移動。攻擊者經常掃描憑證,以未經授權的方式存取雲端資源,藉此提升權限或執行惡意行為。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Credential Access: Find Google Cloud Credentials 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    更改下列內容:

    • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
    • LOCATIONresource.labels.location 中列出的位置
    • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  5. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 未受保護的憑證:私密金鑰
  2. 如要制定回應計畫,請結合調查結果和 MITRE 研究。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Credential Access: GPG Key Reconnaissance

系統偵測到某個程序正在搜尋 GPG 金鑰。這項行為表示攻擊者企圖找出並擷取儲存的安全金鑰,用於加密及解密文件,並使用數位簽章驗證文件。攻擊者使用安全金鑰未經授權存取重要資訊和系統,因此這項偵測結果屬於高嚴重程度,需要立即調查。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Credential Access: GPG Key Reconnaissance 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    更改下列內容:

    • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
    • LOCATIONresource.labels.location 中列出的位置
    • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  5. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 未受保護的憑證:私密金鑰
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Credential Access: Search Private Keys or Passwords

系統偵測到某個程序在容器中搜尋私密金鑰、憑證或其他驗證資訊。這種行為表示攻擊者可能試圖找出並擷取儲存的密碼,藉此提升權限、存取受限制的資源,或在環境中橫向移動。攻擊者經常掃描安全殼層金鑰、API 權杖或資料庫憑證,以取得重要系統的未授權存取權,因此這項偵測結果屬於高嚴重程度,需要立即調查。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Credential Access: Search Private Keys or Passwords 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    更改下列內容:

    • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
    • LOCATIONresource.labels.location 中列出的位置
    • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  5. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 local_file 改為本機檔案路徑,用於儲存新增的二進位檔。

  6. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 不安全的憑證:檔案中的憑證
  2. 如要制定回應計畫,請結合調查結果和 MITRE 研究。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Defense Evasion: Base64 ELF File Command Line

執行程序時,其中包含 ELF (可執行和可連結格式) 檔案的引數。如果系統偵測到編碼的 ELF 檔案執行作業,表示攻擊者正嘗試編碼二進位資料,以便傳輸至僅限 ASCII 的命令列。攻擊者可利用這項技術規避偵測,並執行內嵌在 ELF 檔案中的惡意程式碼。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Defense Evasion: Base64 ELF File Command Line 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的期間。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    更改下列內容:

    • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
    • LOCATIONresource.labels.location 中列出的位置
    • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  5. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 local_file 改為本機檔案路徑,用於儲存新增的二進位檔。

  6. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 規避防禦措施:檔案或資訊經過混淆處理
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Defense Evasion: Base64 Encoded Python Script Executed

執行程序時,其中包含以 Base64 編碼的 Python 指令碼做為引數。如果系統偵測到編碼的 Python 指令碼執行作業,表示攻擊者正嘗試編碼二進位資料,以便傳輸至僅限 ASCII 的命令列。攻擊者可運用這項技術規避偵測,並執行 Python 指令碼中嵌入的惡意程式碼。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Defense Evasion: Base64 Encoded Python Script Executed 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    更改下列內容:

    • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
    • LOCATIONresource.labels.location 中列出的位置
    • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  5. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 local_file 改為本機檔案路徑,用於儲存新增的二進位檔。

  6. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現的 MITRE ATT&CK 架構項目: 資料編碼:標準編碼
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Defense Evasion: Base64 Encoded Shell Script Executed

執行的程序包含以 Base64 編碼的殼層指令碼引數。如果系統偵測到編碼的 Shell 指令碼執行作業,表示攻擊者正嘗試編碼二進位資料,以便傳輸至僅限 ASCII 的命令列。攻擊者可利用這項技術規避偵測,並執行內嵌在 Shell 指令碼中的惡意程式碼。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Defense Evasion: Base64 Encoded Shell Script Executed 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    更改下列內容:

    • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
    • LOCATIONresource.labels.location 中列出的位置
    • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  5. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 local_file 改為本機檔案路徑,用於儲存新增的二進位檔。

  6. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 規避防禦措施:檔案或資訊經過混淆處理
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Defense Evasion: Launch Code Compiler Tool In Container

系統偵測到某個程序在容器環境中啟動程式碼編譯器工具。這類行為可能表示有人試圖在隔離容器中開發或編譯惡意軟體,藉此混淆惡意活動,並規避傳統的主機式安全控制措施。攻擊者可能會利用這項技術建立自訂工具,或在較少受到審查的環境中修改現有二進位檔,然後將這些工具/檔案部署到基礎系統或其他目標。如果容器中出現程式碼編譯器 (尤其是非預期出現),就應進行調查,因為這可能表示攻擊者準備導入持續性後門,或透過遭竄改的二進位檔入侵用戶端軟體。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Defense Evasion: Launch Code Compiler Tool In Container 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    更改下列內容:

    • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
    • LOCATIONresource.labels.location 中列出的位置
    • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  5. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 local_file 改為本機檔案路徑,用於儲存新增的二進位檔。

  6. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: Obfuscated Files or Information: Compile After Delivery
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Execution: Added Malicious Binary Executed

執行了不屬於原始容器映像檔的惡意二進位檔。攻擊者通常會在初步入侵後安裝漏洞利用工具和惡意軟體。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Execution: Added Malicious Binary Executed 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:新增二進位檔的絕對路徑。
      • 引數:呼叫新增的二進位檔時提供的引數。
      • 容器:受影響的容器名稱。
      • 容器 URI:要部署的容器映像檔名稱。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
    • 相關連結,尤其是下列欄位:
      • VirusTotal 指標:連結至 VirusTotal 分析頁面。
  3. 按一下「JSON」JSON分頁標籤,並注意下列欄位:

    • sourceProperties
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 視需要,在「發現詳細資料」的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 和擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • resource.labels.namespace_name="Pod_Namespace"
      • resource.labels.pod_name="Pod_Name"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/resource.project_display_name/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • Pod_Name
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="instance_id"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

      gcloud container clusters get-credentials cluster_name --zone location --project project_name
    

    地區叢集:

      gcloud container clusters get-credentials cluster_name --region location --project project_name
    

    更改下列內容:

    • cluster_nameresource.labels.cluster_name中列出的叢集
    • locationresource.labels.location 中列出的位置
    • project_nameresource.project_display_name 中列出的專案名稱
  5. 擷取新增的惡意二進位檔:

      kubectl cp Pod_Namespace/Pod_Name:Process_Binary_Fullpath -c Container_Name  local_file
    

    請將 local_file 替換為儲存新增惡意二進位檔的本機路徑。

  6. 連線至容器環境:

      kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目:「輸入工具轉送」、「原生 API」
  2. VirusTotal 上檢查標示為惡意內容的二進位檔 SHA-256 雜湊值,方法是點選「VirusTotal 指標」中的連結。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究和 VirusTotal 分析結果合併。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Execution: Added Malicious Library Loaded

載入的惡意程式庫並非原始容器映像檔的一部分。 攻擊者可能會將惡意程式庫載入現有程式,藉此規避程式碼執行保護機制並隱藏惡意程式碼。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Execution: Added Malicious Library Loaded 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:載入程式庫的程序二進位檔完整路徑。
      • 程式庫:新增程式庫的詳細資料。
      • 引數:叫用程序二進位檔時提供的引數。
      • 容器:受影響的容器名稱。
      • 容器 URI:要部署的容器映像檔名稱。
    • 受影響的資源,尤其是下列欄位:
    • 相關連結,尤其是下列欄位:
      • VirusTotal 指標:連結至 VirusTotal 分析頁面。
  3. 按一下「JSON」JSON分頁標籤,並注意下列欄位:

    • sourceProperties
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 視需要,在「發現詳細資料」的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 和擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • resource.labels.namespace_name="Pod_Namespace"
      • resource.labels.pod_name="Pod_Name"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/resource.project_display_name/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • Pod_Name
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="instance_id"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

      gcloud container clusters get-credentials cluster_name --zone location --project resource.project_display_name
    

    地區叢集:

      gcloud container clusters get-credentials cluster_name --region location --project resource.project_display_name
    
  5. 擷取新增的惡意程式庫:

      kubectl cp Pod_Namespace/Pod_Name: Added_Library_Fullpath -c Container_Name  local_file
    

    請將 local_file 替換為儲存新增惡意程式庫的本機路徑。

  6. 連線至容器環境:

      kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現的 MITRE ATT&CK 框架項目: Ingress Tool TransferShared Modules
  2. VirusTotal 上檢查標示為惡意內容的二進位檔 SHA-256 雜湊值,方法是點選「VirusTotal 指標」中的連結。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究和 VirusTotal 分析結果合併。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Execution: Built in Malicious Binary Executed

執行的二進位檔,其中:

  • 包含在原始容器映像檔中。
  • 根據威脅情報判斷為惡意。

攻擊者掌控容器映像檔存放區或建立管道,並將惡意二進位檔注入容器映像檔。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Execution: Built in Malicious Binary Executed 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:內建二進位檔的絕對路徑。
      • 引數:呼叫內建二進位檔時提供的引數。
      • 容器:受影響的容器名稱。
      • 容器 URI:要部署的容器映像檔名稱。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
    • 相關連結,尤其是下列欄位:
      • VirusTotal 指標:連結至 VirusTotal 分析頁面。
  3. 按一下「JSON」JSON,並記下下列欄位:

    • sourceProperties
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 視需要,在「發現詳細資料」的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 和擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的期間。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • resource.labels.namespace_name="Pod_Namespace"
      • resource.labels.pod_name="Pod_Name"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/resource.project_display_name/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • Pod_Name
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="instance_id"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

      gcloud container clusters get-credentials cluster_name --zone location --project project_name
    

    地區叢集:

      gcloud container clusters get-credentials cluster_name --region location --project project_name
    

    更改下列內容:

    • cluster_nameresource.labels.cluster_name中列出的叢集
    • locationresource.labels.location 中列出的位置
    • project_nameresource.project_display_name 中列出的專案名稱
  5. 擷取內建的惡意二進位檔:

      kubectl cp Pod_Namespace/Pod_Name:Process_Binary_Fullpath -c Container_Name  local_file
    

    請將 local_file 替換為儲存建構惡意二進位檔的本機路徑。

  6. 連線至容器環境:

      kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目:「輸入工具轉送」、「原生 API」
  2. VirusTotal 上檢查標示為惡意內容的二進位檔 SHA-256 雜湊值,方法是點選「VirusTotal 指標」中的連結。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究和 VirusTotal 分析結果合併。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Execution: Container Escape

系統執行了已知的可疑工具二進位檔,用於容器逸出活動。 這可能表示容器嘗試逸出,也就是容器內的程序嘗試脫離隔離狀態,並與主機系統或其他容器互動。這項發現的嚴重程度為「高」,因為這表示攻擊者可能嘗試超出容器的界線存取資料,進而危害主機或其他基礎架構。容器跳脫可能源自設定錯誤、容器執行階段的安全漏洞,或特殊權限容器遭到濫用。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Execution: Container Escape 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

更改下列內容:

  • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
  • LOCATIONresource.labels.location 中列出的位置
  • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  1. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 local_file 改為本機檔案路徑,用於儲存新增的二進位檔。

  2. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: Escape to Host
  2. 如要制定回應計畫,請結合調查結果和 MITRE 研究。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Execution: Fileless Execution in /memfd:

使用記憶體內檔案描述元執行程序。如果程序是從記憶體內檔案啟動,可能表示攻擊者正嘗試規避其他偵測方法,以便執行惡意程式碼。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Execution: Fileless Execution in /memfd: 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

更改下列內容:

  • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
  • LOCATIONresource.labels.location 中列出的位置
  • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  1. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 LOCAL_FILE 改為本機檔案路徑,用於儲存新增的二進位檔。

  2. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 規避防禦措施:反射式程式碼載入
  2. 如要制定回應計畫,請結合調查結果和 MITRE 研究。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Execution: Ingress Nightmare Vulnerability Execution

系統偵測到 Nginx 程序正在執行,且引數參照 /proc 檔案。這項活動表示容器內可能存在 Ingress Nightmare 安全漏洞 (CVE-2025-1974) 遭利用的情形。攻擊者可利用這個漏洞在 ingress-nginx 控制器中執行任意程式碼,進而可能洩漏機密 Kubernetes Secret

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Execution: Ingress Nightmare Vulnerability Execution 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的期間。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

更改下列內容:

  • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
  • LOCATIONresource.labels.location 中列出的位置
  • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  1. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 LOCAL_FILE 改為本機檔案路徑,用於儲存新增的二進位檔。

  2. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現的 MITRE ATT&CK 架構項目: 執行
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Execution: Kubernetes Attack Tool Execution

容器中執行了 Kubernetes 攻擊工具,表示可能有人試圖利用 Kubernetes 環境中的安全漏洞。攻擊者通常會使用這些工具提升權限、執行橫向移動,或入侵叢集中的其他資源。這項發現的嚴重程度為「重大」,因為執行這類工具表示有人蓄意嘗試控管 Kubernetes 元件,例如 API 伺服器、節點或工作負載。攻擊者可能會使用這些工具規避安全防護措施、操控設定或竊取機密資料。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Execution: Kubernetes Attack Tool Execution 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
        • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME --zone LOCATION --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME --region LOCATION --project PROJECT_NAME
    

更改下列內容:

  • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
  • LOCATIONresource.labels.location 中列出的位置
  • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  1. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    LOCAL_FILE 替換為本機檔案路徑,用於儲存執行的二進位檔。

  2. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝 Shell。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現的 MITRE ATT&CK 架構項目: 取得功能:工具
  2. 如要制定回應計畫,請結合調查結果和 MITRE 研究。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Execution: Local Reconnaissance Tool Execution

容器中執行了本機偵查工具,表示攻擊者正在收集容器環境的相關資訊,例如網路設定、作用中的程序或已掛接的檔案系統。這類工具通常用於攻擊初期,用來繪製潛在目標地圖及找出弱點。這項發現的嚴重程度為中等,因為這表示攻擊者正在積極探查容器,尋找進一步的攻擊機會。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看發現項目」一文的指示,開啟 Execution: Local Reconnaissance Tool Execution 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 完整資源名稱:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
        • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的期間。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

更改下列內容:

  • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
  • LOCATIONresource.labels.location 中列出的位置
  • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  1. 擷取新增的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 LOCAL_FILE 改為本機檔案路徑,用於儲存新增的二進位檔。

  2. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝 Shell。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 主動掃描
  2. 如要制定回應計畫,請結合調查結果和 MITRE 研究。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Execution: Malicious Python executed

機器學習模型判斷執行的 Python 程式碼含有惡意內容。 攻擊者可以使用 Python 轉移工具及執行指令,不必使用二進位檔。確保容器不可變是重要的最佳做法。 使用指令碼轉移工具可能會模仿攻擊者的「傳入工具轉移」技術,導致系統偵測到不必要的項目。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Execution: Malicious Python executed 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:叫用指令碼的解譯器相關詳細資料。
      • 指令碼:磁碟上指令碼名稱的絕對路徑;這個屬性只會顯示在寫入磁碟的指令碼中,不會顯示在字面值指令碼執行中,例如 python3 -c
      • 引數:呼叫指令碼時提供的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
    • 相關連結,尤其是下列欄位:
      • VirusTotal 指標:連結至 VirusTotal 分析頁面。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • finding
      • processes
      • script
        • contents:執行的指令碼內容,可能因效能考量而遭到截斷,有助於您進行調查
        • sha256script.contents 的 SHA-256 雜湊值
    • resource
      • project_display_name:包含資產的專案名稱。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:正在執行的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。舉例來說,如果指令碼會捨棄二進位檔,請檢查與二進位檔相關的發現。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 視需要篩選 resource.name 中列出的叢集,以及 Pod_Namespace 中列出的 Pod 命名空間。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 和擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • resource.labels.namespace_name="Pod_Namespace"
      • resource.labels.pod_name="Pod_Name"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/resource.project_display_name/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • Pod_Name
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="instance_id"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 按一下 resource.labels.cluster_name 中顯示的叢集名稱。

  3. 在「叢集」頁面中,按一下「連線」,然後點選「在 Cloud Shell 中執行」

    Cloud Shell 會啟動,並在終端機中新增叢集的指令。

  4. 按下 Enter 鍵,如果出現「Authorize Cloud Shell」(授權 Cloud Shell) 對話方塊,請按一下「Authorize」(授權)

  5. 執行下列指令,連線至容器環境:

      kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 框架項目: 命令和指令碼解譯器傳輸入侵工具
  2. VirusTotal 上檢查標示為惡意內容的二進位檔 SHA-256 雜湊值,方法是點選「VirusTotal 指標」中的連結。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究和 VirusTotal 分析結果合併。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 如果 Python 打算對容器進行變更,請重建容器映像檔,確保不需要進行任何變更。這樣一來,容器就能immutable
  • 如果不是,請與遭入侵容器的專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Execution: Modified Malicious Binary Executed

執行的二進位檔,其中:

  • 包含在原始容器映像檔中。
  • 在容器執行階段修改。
  • 根據威脅情報判斷為惡意。

攻擊者通常會在初步入侵後安裝漏洞利用工具和惡意軟體。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Execution: Modified Malicious Binary Executed 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:修改後二進位檔的絕對路徑。
      • 引數:叫用修改後二進位檔時提供的引數。
      • 容器:受影響的容器名稱。
      • 容器 URI:要部署的容器映像檔名稱。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
    • 相關連結,尤其是下列欄位:
      • VirusTotal 指標:連結至 VirusTotal 分析頁面。
  3. 按一下「JSON」JSON,並記下下列欄位:

    • sourceProperties
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 視需要,在「發現詳細資料」的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 和擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • resource.labels.namespace_name="Pod_Namespace"
      • resource.labels.pod_name="Pod_Name"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/resource.project_display_name/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • Pod_Name
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="instance_id"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

      gcloud container clusters get-credentials cluster_name --zone location --project project_name
    

    地區叢集:

      gcloud container clusters get-credentials cluster_name --region location --project project_name
    

    更改下列內容:

    • cluster_nameresource.labels.cluster_name中列出的叢集
    • locationresource.labels.location 中列出的位置
    • project_nameresource.project_display_name 中列出的專案名稱
  5. 擷取修改過的惡意二進位檔:

      kubectl cp Pod_Namespace/Pod_Name:Process_Binary_Fullpath -c Container_Name  local_file
    

    local_file 替換為儲存修改後惡意二進位檔的本機路徑。

  6. 連線至容器環境:

      kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目:「輸入工具轉送」、「原生 API」
  2. VirusTotal 上檢查標示為惡意內容的二進位檔 SHA-256 雜湊值,方法是點選「VirusTotal 指標」中的連結。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究和 VirusTotal 分析結果合併。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Execution: Modified Malicious Library Loaded

已載入的程式庫,其中包含:

  • 包含在原始容器映像檔中。
  • 在容器執行階段修改。
  • 根據威脅情報判斷為惡意。

攻擊者可能會將惡意程式庫載入現有程式,藉此規避程式碼執行保護機制並隱藏惡意程式碼。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Execution: Modified Malicious Library Loaded 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:載入程式庫的程序二進位檔完整路徑。
      • 程式庫:修改後的程式庫詳細資料。
      • 引數:叫用程序二進位檔時提供的引數。
      • 容器:受影響的容器名稱。
      • 容器 URI:要部署的容器映像檔名稱。
    • 受影響的資源,尤其是下列欄位:
    • 相關連結,尤其是下列欄位:
      • VirusTotal 指標:連結至 VirusTotal 分析頁面。
  3. 按一下「JSON」JSON分頁標籤,並注意下列欄位:

    • sourceProperties
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 選取 resource.name 中列出的叢集。請記下叢集及其擁有者的中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 視需要,在「發現詳細資料」的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 和擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • resource.labels.namespace_name="Pod_Namespace"
      • resource.labels.pod_name="Pod_Name"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/resource.project_display_name/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • Pod_Name
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="instance_id"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

      gcloud container clusters get-credentials cluster_name --zone location --project resource.project_display_name
    

    地區叢集:

      gcloud container clusters get-credentials cluster_name --region location --project resource.project_display_name
    
  5. 擷取修改過的惡意資料庫:

      kubectl cp Pod_Namespace/Pod_Name: Added_Library_Fullpath -c Container_Name  local_file
    

    請將 local_file 替換為儲存修改後惡意程式庫的本機路徑。

  6. 連線至容器環境:

      kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現的 MITRE ATT&CK 框架項目: Ingress Tool TransferShared Modules
  2. VirusTotal 上檢查標示為惡意內容的二進位檔 SHA-256 雜湊值,方法是點選「VirusTotal 指標」中的連結。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究和 VirusTotal 分析結果合併。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Execution: Netcat Remote Code Execution In Container

已知的網路公用程式 Netcat 的執行方式與遠端程式碼執行嘗試一致。這可能表示攻擊者正在使用 Netcat 建立反向殼層、傳輸檔案,或在容器中建立未經授權的網路通道。這類活動是嚴重的安全疑慮,因為這表示有人試圖遠端控制容器、規避安全控管機制,或轉移至網路中的其他系統。未經授權的遠端程式碼執行行為可能會導致權限提升、資料竊取,或進一步利用環境。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Execution: Netcat Remote Code Execution In Container 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    更改下列內容:

    • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
    • LOCATIONresource.labels.location 中列出的位置
    • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  5. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 local_file 改為本機檔案路徑,用於儲存新增的二進位檔。

  6. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 指令和指令碼解譯器:Unix Shell
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Execution: Possible Remote Command Execution Detected

系統偵測到程序透過網路通訊端產生常見的 UNIX 指令,可能是在模擬反向殼層。這種行為表示有人試圖建立未經授權的系統遠端存取權,讓攻擊者能夠執行任意指令,就像直接與遭入侵的電腦互動一樣。對手經常利用反向 Shell 繞過防火牆限制,持續控制目標。透過通訊端啟動的命令執行偵測結果,代表存在重大安全風險,因為這類偵測結果允許各種惡意活動,包括資料外洩、橫向移動和進一步的攻擊行為,因此這項重大發現需要立即調查,以找出連線來源和執行的動作。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Execution: Possible Remote Command Execution Detected 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    更改下列內容:

    • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
    • LOCATIONresource.labels.location 中列出的位置
    • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  5. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 local_file 改為本機檔案路徑,用於儲存新增的二進位檔。

  6. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目:「命令和指令碼解譯器」
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Execution: Program Run with Disallowed HTTP Proxy Env

執行程式時使用的 HTTP Proxy 環境變數遭到禁止。這類活動可能表示有人試圖規避安全控管措施、基於惡意目的重新導向流量,或是透過未經授權的管道竊取資料。攻擊者可能會設定遭禁止的 HTTP Proxy,藉此攔截機密資訊、透過惡意伺服器傳送流量,或建立隱蔽的通訊管道。偵測使用這些環境變數執行的程式,對於維護網路安全和防止資料外洩至關重要。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Execution: Program Run with Disallowed HTTP Proxy Env 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    更改下列內容:

    • CLUSTER_NAMEresource.labels.cluster_name 中列出的叢集。
    • LOCATIONresource.labels.location 中列出的位置。
    • PROJECT_NAMEresource.project_display_name 中列出的專案名稱。
  5. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 local_file 改為本機檔案路徑,用於儲存新增的二進位檔。

  6. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現的 MITRE ATT&CK 架構項目:使用者執行
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Execution: Suspicious OpenSSL Shared Object Loaded

OpenSSL 已執行,可載入自訂共用物件。 攻擊者可能會載入自訂程式庫,並取代 OpenSSL 使用的現有程式庫,藉此執行惡意程式碼。這種情況在實際工作環境中並不常見,因此應立即展開調查。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Execution: Suspicious OpenSSL Shared Object Loaded 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

更改下列內容:

  • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
  • LOCATIONresource.labels.location 中列出的位置
  • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  1. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現的 MITRE ATT&CK 架構項目: 執行:共用模組
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Exfiltration: Launch Remote File Copy Tools in Container

容器中執行了遠端檔案複製工具,這可能表示有人嘗試將檔案移入或移出環境。攻擊者通常會使用這類工具竊取機密資料、部署惡意酬載,或在遭入侵的系統中建立持續性。未經授權的檔案傳輸可能會規避安全控管措施,因此偵測這類行為至關重要,有助於防止資料外洩和未經授權的存取。監控遠端檔案複製工具的執行情況,有助於找出潛在威脅,並降低與資料竊取和橫向移動相關的風險。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Exfiltration: Launch Remote File Copy Tools in Container 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的期間。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    更改下列內容:

    • CLUSTER_NAMEresource.labels.cluster_name 中列出的叢集。
    • LOCATIONresource.labels.location 中列出的位置。
    • PROJECT_NAMEresource.project_display_name 中列出的專案名稱。
  5. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 local_file 改為本機檔案路徑,用於儲存新增的二進位檔。

  6. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現的 MITRE ATT&CK 架構項目: 自動外洩
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Impact: Detect Malicious Cmdlines

系統偵測到某個程序正在執行命令列引數,這些引數可能代表惡意活動,例如嘗試刪除重要系統檔案或修改密碼相關檔案。這種行為表示有人試圖損害系統功能或破壞使用者驗證機制。攻擊者可能會嘗試移除重要的作業系統檔案,導致系統不穩定,或操縱密碼檔案,以未經授權的方式存取帳戶。執行這類指令強烈顯示惡意意圖,可能導致資料遺失、系統無法運作或未經授權的權限提升,因此這是高優先順序的偵測結果,需要立即分析,以判斷攻擊者的目標和潛在損害程度。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Impact: Detect Malicious Cmdlines 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    更改下列內容:

    • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
    • LOCATIONresource.labels.location 中列出的位置
    • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  5. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 local_file 改為本機檔案路徑,用於儲存新增的二進位檔。

  6. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 資料毀損
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Impact: Remove Bulk Data From Disk

系統偵測到某個程序正在執行大量資料刪除作業,這可能表示有人企圖清除鑑識證據、中斷服務或執行資料清除攻擊。這項活動令人擔憂,因為攻擊者可能會移除記錄、資料庫或重要檔案,以掩蓋行蹤或破壞系統。資料毀損通常是勒索軟體攻擊、內部威脅或進階持續威脅 (APT) 的一部分,目的是為了規避偵測並造成營運損害。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Impact: Remove Bulk Data From Disk 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的期間。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    更改下列內容:

    • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
    • LOCATIONresource.labels.location 中列出的位置
    • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  5. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 local_file 改為本機檔案路徑,用於儲存新增的二進位檔。

  6. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 資料毀損
  2. 如要制定回應計畫,請結合調查結果和 MITRE 研究。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Impact: Suspicious crypto mining activity using the Stratum Protocol

系統偵測到某個程序正在執行大量資料刪除作業,這可能表示有人企圖清除鑑識證據、中斷服務或執行資料清除攻擊。這項活動令人擔憂,因為攻擊者可能會移除記錄、資料庫或重要檔案,以掩蓋行蹤或破壞系統。資料毀損通常是勒索軟體攻擊、內部威脅或進階持續威脅 (APT) 的一部分,目的是為了規避偵測並造成營運損害。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Impact: Suspicious crypto mining activity using the Stratum Protocol 發現項目。 系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

    更改下列內容:

    • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
    • LOCATIONresource.labels.location 中列出的位置
    • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  5. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 local_file 改為本機檔案路徑,用於儲存新增的二進位檔。

  6. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 資源劫持
  2. 如要制定回應計畫,請結合調查結果和 MITRE 研究。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Malicious Script Executed

機器學習模型將執行的 Bash 程式碼識別為惡意程式碼。 攻擊者可以使用 Bash 傳輸工具及執行指令,不必使用二進位檔。確保容器不可變是重要的最佳做法。 使用指令碼轉移工具可能會模仿攻擊者的「傳入工具轉移」技術,導致系統偵測到不必要的項目。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Malicious Script Executed 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:叫用指令碼的解譯器相關詳細資料。
      • 指令碼:磁碟上指令碼名稱的絕對路徑;這個屬性只會顯示在寫入磁碟的指令碼中,不會顯示在字面值指令碼執行中,例如 bash -c
      • 引數:呼叫指令碼時提供的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
    • 相關連結,尤其是下列欄位:
      • VirusTotal 指標:連結至 VirusTotal 分析頁面。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • finding
      • processes
      • script
        • contents:執行的指令碼內容,可能因效能考量而遭到截斷,有助於您進行調查
        • sha256script.contents 的 SHA-256 雜湊值
    • resource
      • project_display_name:包含資產的專案名稱。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:正在執行的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。舉例來說,如果指令碼會捨棄二進位檔,請檢查與二進位檔相關的發現。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 視需要篩選 resource.name 中列出的叢集,以及 Pod_Namespace 中列出的 Pod 命名空間。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 和擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • resource.labels.namespace_name="Pod_Namespace"
      • resource.labels.pod_name="Pod_Name"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/resource.project_display_name/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • Pod_Name
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="instance_id"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 按一下 resource.labels.cluster_name 中顯示的叢集名稱。

  3. 在「叢集」頁面中,按一下「連線」,然後點選「在 Cloud Shell 中執行」

    Cloud Shell 會啟動,並在終端機中新增叢集的指令。

  4. 按下 Enter 鍵,如果出現「Authorize Cloud Shell」(授權 Cloud Shell) 對話方塊,請按一下「Authorize」(授權)

  5. 執行下列指令,連線至容器環境:

      kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 框架項目:「命令和指令碼解譯器」、「入侵工具轉移」
  2. VirusTotal 上檢查標示為惡意內容的二進位檔 SHA-256 雜湊值,方法是點選「VirusTotal 指標」中的連結。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究和 VirusTotal 分析結果合併。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 如果指令碼對容器進行了預期變更,請重建容器映像檔,確保不需要進行任何變更。這樣一來,容器就能維持不變。
  • 如果不是,請與遭入侵容器的專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Malicious URL Observed

Container Threat Detection 在可執行程序的引數清單中發現惡意網址。攻擊者可以透過惡意網址載入惡意軟體或惡意程式庫。

如要回應這項發現,請按照下列步驟操作。

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Malicious URL Observed 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • URI:偵測到的惡意 URI。
      • 新增的二進位檔:接收含有惡意網址引數的程序二進位檔完整路徑。
      • 引數:叫用程序二進位檔時提供的引數。
      • 環境變數:叫用程序二進位檔時生效的環境變數。
      • 容器:容器名稱。
      • Kubernetes Pod:Pod 名稱和命名空間。
    • 受影響的資源,尤其是下列欄位:
      • 資源顯示名稱:受影響資源的名稱。
      • 完整資源名稱:叢集的完整資源名稱。完整資源名稱包含下列資訊:
        • 含有叢集的專案:projects/PROJECT_ID
        • 叢集所在位置:zone/ZONElocations/LOCATION
        • 叢集名稱:projects/CLUSTER_NAME
    • 相關連結,尤其是下列欄位:
      • VirusTotal 指標:連結至 VirusTotal 分析頁面。
  3. 在「JSON」JSON分頁的 sourceProperties 屬性中,記下 VM_Instance_Name 屬性的值。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,選取「資源全名」(resource.name) 中顯示的專案 (如有必要)。專案名稱會顯示在完整資源名稱的 /projects/ 後方。

  3. 按一下發現摘要的「資源顯示名稱」(resource.display_name) 中記錄的叢集名稱。「Clusters」(叢集) 頁面隨即開啟。

  4. 在「叢集詳細資料」頁面的「中繼資料」部分,記下任何有助於解決威脅的使用者定義資訊,例如可識別叢集擁有者的資訊。

  5. 按一下「節點」分頁標籤。

  6. 從列出的節點中,選取與您先前在發現項目 JSON 中記下的 VM_Instance_Name 值相符的節點。

  7. 在「Node details」(節點詳細資料) 頁面的「Details」(詳細資料) 分頁中,記下「Annotations」(註解) 區段中 container.googleapis.com/instance_id 註解的值。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取您在叢集「資源完整名稱」 (resource.name) 中記下的專案。

  3. 按一下「顯示系統工作負載」

  4. 依據您在發現摘要「資源完整名稱」 (resource.name) 中記下的叢集名稱,篩選工作負載清單,並視需要依據您記下的 Pod「命名空間」 (kubernetes.pods.ns) 篩選。

  5. 按一下與您先前在發現項目 JSON 中記下的 VM_Instance_Name 屬性值相符的工作負載名稱。「Pod details」(Pod 詳細資料) 頁面隨即開啟。

  6. 在「Pod 詳細資料」頁面中,記下 Pod 的任何資訊,這可能有助於解決威脅。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,選取「資源全名」(resource.name) 中顯示的專案 (如有必要)。

  3. 將「選取時間範圍」設為感興趣的期間。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod (kubernetes.pods.name) 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="PROJECT_ID"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="NAMESPACE_NAME"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/PROJECT_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="PROJECT_ID"
      • resource.labels.location="LOCATION_OR_ZONE"
      • resource.labels.cluster_name="CLUSTER_NAME/var>"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 按一下 resource.labels.cluster_name 中顯示的叢集名稱。

  3. 在「叢集」頁面中,按一下「連線」,然後點選「在 Cloud Shell 中執行」

    Cloud Shell 會啟動,並在終端機中新增叢集的指令。

  4. 按下 Enter 鍵,如果出現「Authorize Cloud Shell」(授權 Cloud Shell) 對話方塊,請按一下「Authorize」(授權)

  5. 執行下列指令,連線至容器環境:

      kubectl exec --namespace=POD_NAMESPACE -ti POD_NAME -c CONTAINER_NAME -- /bin/sh
    

    CONTAINER_NAME 換成您稍早記下的容器名稱。

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看安全瀏覽網站狀態,瞭解網址遭歸類為惡意的原因。
  2. 查看這類發現的 MITRE ATT&CK 架構項目: 輸入工具轉送
  3. VirusTotal 上檢查標示為惡意內容的二進位檔 SHA-256 雜湊值,方法是點選「VirusTotal 指標」中的連結。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。
  4. 如要制定回應計畫,請將調查結果與 MITRE 研究和 VirusTotal 分析結果合併。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Privilege Escalation: Fileless Execution in /dev/shm

已從 /dev/shm 內的路徑執行程序。如果從 /dev/shm 執行檔案,攻擊者就能從這個目錄執行惡意程式碼,規避安全工具的偵測,進而發動權限提升或程序注入攻擊。

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Privilege Escalation: Fileless Execution in /dev/shm 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:執行的二進位檔絕對路徑。
      • 引數:在二進位檔執行期間傳遞的引數。
    • 受影響的資源,尤其是下列欄位:
      • 資源全名:叢集的完整資源名稱,包括專案編號、位置和叢集名稱。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含叢集的專案名稱。
    • finding
      • processes
      • binary
        • path:執行的二進位檔完整路徑。
      • args:執行二進位檔時提供的引數。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • Container_Image_Uri:要部署的容器映像檔名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
  5. 找出這個容器在類似時間發生的其他發現項目。 相關發現可能指出這項活動是惡意行為,而非未遵循最佳做法。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 在調查結果詳細資料的「摘要」分頁中,選取「資源完整名稱」列出的叢集。請記下叢集及其擁有者的任何中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 如有需要,請在調查結果詳細資料的「摘要」分頁中,依「資源全名」列出的叢集和 Pod_Namespace 中列出的 Pod 命名空間進行篩選。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 及其擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • resource.labels.namespace_name="POD_NAMESPACE"
      • resource.labels.pod_name="POD_NAME"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/RESOURCE.PROJECT_DISPLAY_NAME/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="RESOURCE.PROJECT_DISPLAY_NAME"
      • resource.labels.location="LOCATION"
      • resource.labels.cluster_name="CLUSTER_NAME"
      • POD_NAME
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="INSTANCE_ID"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --zone LOCATION \
          --project PROJECT_NAME
    

    地區叢集:

    gcloud container clusters get-credentials CLUSTER_NAME \
          --region LOCATION \
          --project PROJECT_NAME
    

更改下列內容:

  • CLUSTER_NAMEresource.labels.cluster_name中列出的叢集
  • LOCATIONresource.labels.location 中列出的位置
  • PROJECT_NAMEresource.project_display_name 中列出的專案名稱
  1. 擷取執行的二進位檔:

    kubectl cp \
          POD_NAMESPACE/POD_NAME:PROCESS_BINARY_FULLPATH \
          -c CONTAINER_NAME \
          LOCAL_FILE
    

    請將 LOCAL_FILE 改為本機檔案路徑,用於儲存新增的二進位檔。

  2. 執行下列指令,連線至容器環境:

    kubectl exec \
          --namespace=POD_NAMESPACE \
          -ti POD_NAME \
          -c CONTAINER_NAME \
          -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 權限提升:程序注入
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Reverse Shell

程序已啟動,並將串流重新導向至遠端連線的通訊端。產生連網殼層後,攻擊者就能在初步入侵後執行任意動作。如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Reverse Shell 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 程式二進位檔:以串流重新導向至遠端通訊端啟動的程序絕對路徑。
      • 引數:叫用程序二進位檔時提供的引數。
    • 受影響的資源,尤其是下列欄位:
      • 完整資源名稱:叢集的完整資源名稱
      • 完整專案名稱:受影響的 Google Cloud 專案。
    • 相關連結,尤其是下列欄位:
      • VirusTotal 指標:連結至 VirusTotal 分析頁面。
  3. 在調查結果的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位。

    • resource
      • project_display_name:包含資產的專案名稱。
    • sourceProperties
      • Pod_Namespace:Pod 的 Kubernetes 命名空間名稱。
      • Pod_Name:GKE Pod 的名稱。
      • Container_Name:受影響的容器名稱。
      • VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
      • Reverse_Shell_Stdin_Redirection_Dst_Ip:連線的遠端 IP 位址
      • Reverse_Shell_Stdin_Redirection_Dst_Port:遠端通訊埠
      • Reverse_Shell_Stdin_Redirection_Src_Ip:連線的本機 IP 位址
      • Reverse_Shell_Stdin_Redirection_Src_Port:本機通訊埠
      • Container_Image_Uri:正在執行的容器映像檔名稱。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 選取 resource.name 中列出的叢集。請記下叢集及其擁有者的中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 視需要篩選 resource.name 中列出的叢集,以及 Pod_Namespace 中列出的 Pod 命名空間。

  4. 選取 Pod_Name 中列出的 Pod。記下有關 Pod 和擁有者的任何中繼資料。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • resource.labels.namespace_name="Pod_Namespace"
      • resource.labels.pod_name="Pod_Name"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/resource.project_display_name/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • Pod_Name
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="instance_id"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    區域叢集:

      gcloud container clusters get-credentials cluster_name --zone location --project resource.project_display_name
    

    地區叢集:

      gcloud container clusters get-credentials cluster_name --region location --project resource.project_display_name
    
  5. 執行下列指令,在容器環境中啟動殼層:

      kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

    如要查看容器中執行的所有程序,請在容器殼層中執行下列指令:

      ps axjf
    

    如要使用這項指令,容器必須安裝 /bin/ps

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 框架項目:「命令和指令碼解譯器」、「入侵工具轉移」
  2. VirusTotal 上檢查標示為惡意內容的二進位檔 SHA-256 雜湊值,方法是點選「VirusTotal 指標」中的連結。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究和 VirusTotal 分析結果合併。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

Unexpected Child Shell

Container Threat Detection 發現某個程序意外衍生子層殼層程序。這項事件可能表示攻擊者試圖濫用 Shell 指令和指令碼。

如要回應這項發現,請按照下列步驟操作。

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Unexpected Child Shell 發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 父項程序:意外建立子殼層程序的程序。
      • 子項程序:子項殼層程序。
      • 引數:提供給子項殼層程序二進位的引數。
      • 環境變數:子項殼層程序二進位的環境變數。
      • 容器:容器名稱。
      • 容器 URI:容器的映像檔 URI。
      • Kubernetes Pod:Pod 名稱和命名空間。
    • 受影響的資源,尤其是下列欄位:
      • 資源顯示名稱:受影響資源的名稱。
      • 完整資源名稱:叢集的完整資源名稱。完整資源名稱包含下列資訊:
        • 含有叢集的專案:projects/PROJECT_ID
        • 叢集所在位置:zone/ZONElocations/LOCATION
        • 叢集名稱:projects/CLUSTER_NAME
    • 相關連結,尤其是下列欄位:
      • VirusTotal 指標:連結至 VirusTotal 分析頁面。
  3. 按一下「JSON」JSON分頁標籤,並注意下列欄位:

+processes:包含與發現項目相關的所有程序的陣列。這個陣列包含子項殼層程序和父項程序。 +resource: +project_display_name:含有資產的專案名稱。 +sourceProperties: +VM_Instance_Name:執行 Pod 的 GKE 節點名稱。

步驟 2:檢查叢集和節點

  1. 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。

    前往 Kubernetes 叢集

  2. 在 Google Cloud 控制台工具列中,視需要選取 resource.project_display_name 中列出的專案。

  3. 選取 resource.name 中列出的叢集。請記下叢集及其擁有者的中繼資料。

  4. 按一下「Nodes」(節點) 分頁標籤。選取 VM_Instance_Name 中列出的節點。

  5. 按一下「詳細資料」分頁標籤,並注意 container.googleapis.com/instance_id 註解。

步驟 3:檢查 Pod

  1. 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。

    前往 Kubernetes 工作負載

  2. 在 Google Cloud 控制台工具列中,視需要選取您在叢集「資源完整名稱」 (resource.name) 中記下的專案。

  3. 按一下「顯示系統工作負載」

  4. 依據您在「資源完整名稱」 (resource.name) 中記下的叢集名稱,篩選工作負載清單,並視需要依據您記下的 Pod「命名空間」 (kubernetes.pods.ns) 篩選。

  5. 按一下與您先前在發現項目 JSON 中記下的 VM_Instance_Name 屬性值相符的工作負載名稱。「Pod details」(Pod 詳細資料) 頁面隨即開啟。

  6. 在「Pod 詳細資料」頁面中,記下 Pod 的任何資訊,這可能有助於解決威脅。

步驟 4:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,選取 resource.project_display_name 列出的專案。

  3. 將「選取時間範圍」設為感興趣的時間範圍。

  4. 在隨即載入的頁面中,執行下列操作:

    1. 使用下列篩選器,找出 Pod_Name 的 Pod 記錄:
      • resource.type="k8s_container"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • resource.labels.namespace_name="Pod_Namespace"
      • resource.labels.pod_name="Pod_Name"
    2. 使用下列篩選器尋找叢集稽核記錄:
      • logName="projects/resource.project_display_name/logs/cloudaudit.googleapis.com%2Factivity"
      • resource.type="k8s_cluster"
      • resource.labels.project_id="resource.project_display_name"
      • resource.labels.location="location"
      • resource.labels.cluster_name="cluster_name"
      • Pod_Name
    3. 使用下列篩選條件,找出 GKE 節點控制台記錄:
      • resource.type="gce_instance"
      • resource.labels.instance_id="instance_id"

步驟 5:調查執行中的容器

如果容器仍在執行,或許可以直接調查容器環境。

  1. 前往 Google Cloud 控制台。

    開啟 Google Cloud 控制台

  2. 在 Google Cloud 控制台工具列中,選取 resource.project_display_name 列出的專案。

  3. 按一下「Activate Cloud Shell」(啟用 Cloud Shell)

  4. 執行下列指令,取得叢集的 GKE 憑證。

    如果是可用區叢集,請執行下列指令:

      gcloud container clusters get-credentials cluster_name --zone location --project resource.project_display_name
    

    如果是地區叢集,請執行下列指令:

      gcloud container clusters get-credentials cluster_name --region location --project resource.project_display_name
    
  5. 如要在容器環境中啟動殼層,請執行下列指令:

      kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh
    

    這項指令需要容器在 /bin/sh 安裝殼層。

    如要查看容器中執行的所有程序,請在容器殼層中執行下列指令:

      ps axjf
    

    如要使用這項指令,容器必須安裝 /bin/ps

步驟 6:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 指令和指令碼解譯器:Unix Shell
  2. VirusTotal 上檢查標示為惡意內容的二進位檔 SHA-256 雜湊值,方法是點選「VirusTotal 指標」中的連結。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。
  3. 如要制定回應計畫,請將調查結果與 MITRE 研究和 VirusTotal 分析結果合併。

步驟 7:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 與遭入侵的容器所屬專案擁有者聯絡。
  • 停止或刪除遭入侵的容器,並換成新容器

VM 威脅偵測回應

如要進一步瞭解 VM Threat Detection,請參閱 VM Threat Detection 總覽

Defense Evasion: Rootkit

VM Threat Detection 偵測到 Compute Engine VM 執行個體中,有一組訊號與已知的核心模式 Rootkit 相符。

Defense Evasion: Rootkit 發現項目類別是下列發現項目類別的超集。因此,這個專區也適用於這些發現類別。

  • Defense Evasion: Unexpected ftrace handler
  • Defense Evasion: Unexpected interrupt handler
  • Defense Evasion: Unexpected kernel modules
  • Defense Evasion: Unexpected kernel read-only data modification
  • Defense Evasion: Unexpected kprobe handler
  • Defense Evasion: Unexpected processes in runqueue
  • Defense Evasion: Unexpected system call handler

如要回應這些發現,請按照下列步驟操作。

步驟 1:查看調查結果詳細資料

  1. 按照「查看發現項目」一文中的指示開啟發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,尤其是下列欄位:

      • 核心 Rootkit 名稱:偵測到的 Rootkit 系列名稱,例如 Diamorphine
      • 非預期的核心程式碼頁面:核心或模組程式碼區域中是否出現非預期的核心程式碼頁面。
      • 非預期的系統呼叫處理常式:系統呼叫處理常式是否出現在不應出現的核心或模組程式碼區域。
    • 受影響的資源,尤其是下列欄位:

      • 資源完整名稱:受影響 VM 執行個體的完整資源名稱,包括所屬專案的 ID。
  3. 如要查看這項發現的完整 JSON,請在發現的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

步驟 2:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,選取包含 VM 執行個體的專案,如發現詳細資料的「Summary」(摘要) 分頁中「Resource full name」(資源全名) 列所示。

  3. 檢查記錄檔,瞭解受影響的 VM 執行個體是否有入侵跡象。例如,檢查是否有可疑或不明活動,以及遭盜用的憑證

步驟 3:檢查權限和設定

  1. 在調查結果詳細資料的「摘要」分頁中,點選「資源完整名稱」欄位中的連結。
  2. 查看 VM 執行個體的詳細資料,包括網路和存取權設定。

步驟 4:檢查受影響的 VM

按照「檢查 VM 是否有核心記憶體遭竄改的跡象」一文中的操作說明進行。

步驟 5:研究攻擊和回應方法

  1. 查看「規避防禦」的 MITRE ATT&CK 架構項目。
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 6:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  1. 與 VM 擁有者聯絡。

  2. 如有必要,請停止遭入侵的執行個體,並換成新的執行個體。

  3. 如要進行鑑識分析,請考慮備份虛擬機器和永久磁碟。詳情請參閱 Compute Engine 說明文件中的資料保護選項

  4. 刪除 VM 執行個體。

  5. 如要進一步調查,請考慮使用事件應變服務,例如 Mandiant

Execution: Cryptocurrency Mining Hash Match

VM Threat Detection 會比對執行中程式的記憶體雜湊值與已知加密貨幣挖礦軟體的記憶體雜湊值,藉此偵測加密貨幣挖礦活動。

如要回應這些發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的指示,開啟 Execution: Cryptocurrency Mining Hash Match 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,尤其是下列欄位:

      • 二進位檔系列:偵測到的加密貨幣應用程式。
      • 程式二進位檔:程序的絕對路徑。
      • 引數:叫用程序二進位檔時提供的引數。
      • 程序名稱:在與偵測到的簽章相符的 VM 執行個體中執行的程序名稱。

      VM 威脅偵測功能可辨識主要 Linux 發行版的 Kernel 建構作業。如果可以辨識受影響 VM 的核心建構版本,就能找出應用程式的程序詳細資料,並填入調查結果的 processes 欄位。如果 VM 威脅偵測無法辨識核心 (例如核心是自訂建構),則不會填入調查結果的 processes 欄位。

    • 受影響的資源,尤其是下列欄位:

      • 資源完整名稱:受影響 VM 執行個體的完整資源名稱,包括所屬專案的 ID。
  3. 如要查看這項發現的完整 JSON,請在發現的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

    • indicator
      • signatures
        • memory_hash_signature:與記憶體網頁雜湊值對應的簽章。
        • detections
          • binary:加密貨幣應用程式的二進位檔名稱,例如 linux--x86-64_ethminer_0.19.0_alpha.0_cuda10.0
          • percent_pages_matched:記憶體中與網頁雜湊資料庫中已知加密貨幣應用程式網頁相符的網頁百分比。

步驟 2:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,選取包含 VM 執行個體的專案,如調查結果詳細資料「Summary」(摘要) 分頁的「Resource full name」(資源全名) 列所示。

  3. 檢查記錄檔,瞭解受影響的 VM 執行個體是否有入侵跡象。舉例來說,請檢查是否有可疑或不明活動,以及遭盜用的憑證

步驟 3:檢查權限和設定

  1. 在調查結果詳細資料的「摘要」分頁中,點選「資源完整名稱」欄位中的連結。
  2. 查看 VM 執行個體的詳細資料,包括網路和存取權設定。

步驟 4:研究攻擊和回應方法

  1. 查看「執行」的 MITRE ATT&CK 架構項目。
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

如要協助偵測及移除,請使用端點偵測及回應解決方案。

  1. 與 VM 擁有者聯絡。
  2. 確認應用程式是否為挖礦應用程式:

    • 如果偵測到的應用程式程序名稱和二進位路徑可用,請考慮調查結果「摘要」分頁中「程式二進位檔」、「引數」和「程序名稱」列的值。

    • 如果無法取得程序詳細資料,請檢查記憶體雜湊簽章中的二進位名稱是否提供線索。假設有一個名為 linux-x86-64_xmrig_2.14.1 的二進位檔。您可以使用 grep 指令搜尋儲存空間中的重要檔案。在搜尋模式中使用二進位名稱中有意義的部分,在本例中為 xmrig。查看搜尋結果。

    • 檢查正在執行的程序,特別是 CPU 使用率較高的程序,看看是否有任何您不認識的程序。判斷相關聯的應用程式是否為挖礦應用程式。

    • 在儲存空間中搜尋挖礦應用程式使用的常見字串,例如 btc.comethminerxmrigcpuminerrandomx。 如需更多可搜尋的字串範例,請參閱「軟體名稱和 YARA 規則」,以及所列各項軟體的相關說明文件。

  3. 如果判斷應用程式為挖礦應用程式,且程序仍在執行中,請終止程序。在 VM 的儲存空間中找出應用程式的可執行檔二進位檔,然後刪除。

  4. 如有必要,請停止遭入侵的執行個體,然後換成新的執行個體。

Execution: Cryptocurrency Mining YARA Rule

VM Threat Detection 偵測到加密貨幣挖礦活動,方法是比對記憶體模式,例如加密貨幣挖礦軟體使用的工作量證明常數。

如要回應這些發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文中的指示,開啟 Execution: Cryptocurrency Mining YARA Rule 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,尤其是下列欄位:

      • YARA 規則名稱:YARA 偵測工具觸發的規則。
      • 程式二進位檔:程序的絕對路徑。
      • 引數:叫用程序二進位檔時提供的引數。
      • 程序名稱:在 VM 執行個體中執行的程序名稱,與偵測到的簽章相符。

      VM 威脅偵測功能可辨識主要 Linux 發行版的 Kernel 建構作業。如果可以辨識受影響 VM 的核心建構版本,就能找出應用程式的程序詳細資料,並填入調查結果的 processes 欄位。如果 VM 威脅偵測無法辨識核心 (例如核心是自訂建構),則不會填入調查結果的 processes 欄位。

    • 受影響的資源,尤其是下列欄位:

      • 資源完整名稱:受影響 VM 執行個體的完整資源名稱,包括所屬專案的 ID。
    • 相關連結,尤其是下列欄位:

      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
      • VirusTotal 指標:連結至 VirusTotal 分析頁面。
  3. 如要查看這項發現的完整 JSON,請在發現的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

步驟 2:檢查記錄

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,選取包含 VM 執行個體的專案,如調查結果詳細資料「Summary」(摘要) 分頁的「Resource full name」(資源全名) 列所示。

  3. 檢查記錄檔,瞭解受影響的 VM 執行個體是否有入侵跡象。舉例來說,請檢查是否有可疑或不明活動,以及遭盜用的憑證

步驟 3:檢查權限和設定

  1. 在調查結果詳細資料的「摘要」分頁中,點選「資源完整名稱」欄位中的連結。
  2. 查看 VM 執行個體的詳細資料,包括網路和存取權設定。

步驟 4:研究攻擊和回應方法

  1. 查看「執行」的 MITRE ATT&CK 架構項目。
  2. 如要制定回應計畫,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

如要協助偵測及移除,請使用端點偵測及回應解決方案。

  1. 與 VM 擁有者聯絡。
  2. 確認應用程式是否為挖礦應用程式:

    • 如果偵測到的應用程式程序名稱和二進位路徑可用,請考慮調查結果「摘要」分頁中「程式二進位檔」、「引數」和「程序名稱」列的值。

    • 檢查正在執行的程序,特別是 CPU 使用率較高的程序,看看是否有任何您不認識的程序。判斷相關聯的應用程式是否為挖礦應用程式。

    • 在儲存空間中搜尋挖礦應用程式使用的常見字串,例如 btc.comethminerxmrigcpuminerrandomx。 如需更多可搜尋的字串範例,請參閱「軟體名稱和 YARA 規則」,以及所列各項軟體的相關說明文件。

  3. 如果判斷應用程式為挖礦應用程式,且程序仍在執行中,請終止程序。在 VM 的儲存空間中找出應用程式的可執行檔二進位檔,然後刪除。

  4. 如有必要,請停止遭入侵的執行個體,然後換成新的執行個體。

Execution: cryptocurrency mining combined detection

VM 威脅偵測在同一天內,從單一來源偵測到多個類別的發現項目。單一應用程式可同時觸發 Execution: Cryptocurrency Mining YARA RuleExecution: Cryptocurrency Mining Hash Match findings

如要回覆合併的發現項目,請按照 Execution: Cryptocurrency Mining YARA RuleExecution: Cryptocurrency Mining Hash Match findings 的回覆指示操作。

Malware: Malicious file on disk

VM 威脅偵測功能掃描 VM 的永久磁碟,發現已知惡意軟體特徵,因此偵測到潛在惡意檔案。

本節適用於下列發現項目類別:

  • Malware: Malicious file on disk (預先發布版),適用於 Amazon Elastic Compute Cloud (EC2) VM
  • 適用於 Compute Engine VM 的 Malware: Malicious file on disk (YARA)

如要回應這些發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的指示,開啟 Malware: Malicious file on disk (YARA) 發現項目。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。

  2. 在「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • YARA 規則名稱:相符的 YARA 規則。
      • 檔案:偵測到的潛在惡意檔案的分區 UUID 和相對路徑。
    • 受影響的資源,尤其是下列欄位:
      • 資源完整名稱:受影響 VM 執行個體的完整資源名稱,包括所屬專案的 ID。
  3. 如要查看這項發現的完整 JSON,請在發現的詳細資料檢視畫面中,按一下「JSON」JSON分頁標籤。

  4. 請注意 JSON 中的下列欄位:

    • indicator
      • signatures
        • yaraRuleSignature:與相符 YARA 規則對應的簽章。

步驟 2:檢查記錄

如要查看 Compute Engine VM 執行個體的記錄,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往記錄檔探索工具

  2. 在 Google Cloud 控制台工具列中,選取包含 VM 執行個體的專案,如調查結果詳細資料「Summary」(摘要) 分頁的「Resource full name」(資源全名) 列所示。

  3. 檢查記錄檔,瞭解受影響的 VM 執行個體是否有入侵跡象。舉例來說,請檢查是否有可疑或不明活動,以及遭盜用的憑證

如要瞭解如何檢查 Amazon EC2 VM 執行個體的記錄,請參閱 Amazon CloudWatch Logs 說明文件。

步驟 3:檢查權限和設定

  1. 在調查結果詳細資料的「摘要」分頁中,點選「資源完整名稱」欄位中的連結。
  2. 查看 VM 執行個體的詳細資料,包括網路和存取權設定。

步驟 4:研究攻擊和回應方法

VirusTotal 上檢查標示為惡意內容的二進位檔 SHA-256 雜湊值,方法是點選「VirusTotal 指標」中的連結。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  1. 與 VM 擁有者聯絡。

  2. 如有必要,請找出並刪除可能有害的檔案。如要取得檔案的分區 UUID 和相對路徑,請參閱調查結果詳細資料的「摘要」分頁標籤中的「檔案」欄位。如要協助偵測及移除,請使用端點偵測與回應解決方案。

  3. 如有必要,請停止遭入侵的執行個體,並換成新的執行個體。

  4. 如要進行鑑識分析,請考慮備份虛擬機器和永久磁碟。

  5. 如要進一步調查,請考慮使用事件應變服務,例如 Mandiant

為避免威脅再次發生,請查看並修正相關安全漏洞和設定錯誤的發現結果。

如要找出相關發現,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往 Security Command Center 的「發現項目」頁面。

    前往「發現項目」

  2. 查看威脅發現項目,並複製可能出現在任何相關安全漏洞或錯誤設定發現項目中的屬性值,例如主體電子郵件地址或受影響資源的名稱。

  3. 在「Findings」(發現) 頁面中,按一下「Edit query」(編輯查詢),開啟「Query editor」(查詢編輯器)

  4. 按一下「新增篩選條件」,「選取篩選器」選單隨即開啟。

  5. 在選單左側的篩選器類別清單中,選取包含您在威脅發現中記錄的屬性類別。

    舉例來說,如果您記下受影響資源的完整名稱,請選取「Resource」。「資源」類別的屬性類型會顯示在右側欄中,包括「全名」屬性。

  6. 從顯示的屬性中,選取您在威脅發現中記錄的屬性類型。屬性值的搜尋面板會在右側開啟,並顯示所選屬性類型的所有找到的值。

  7. 在「Filter」(篩選器) 欄位中,貼上您從威脅發現項目複製的屬性值。顯示的值清單會更新,只顯示與貼上值相符的值。

  8. 從顯示的值清單中選取一或多個值,然後按一下「套用」。「發現項目查詢結果」面板會更新,只顯示相符的發現項目。

  9. 如果結果中有很多發現項目,請從「快速篩選器」面板選取其他篩選器,篩選發現項目。

    舉例來說,如要只顯示包含所選屬性值的 VulnerabilityMisconfiguration 類別發現項目,請向下捲動至「快速篩選器」面板的「發現項目類別」部分,然後選取「安全性弱點」和「設定錯誤」

修正威脅

修正 Event Threat Detection 和 Container Threat Detection 發現項目的方式,不像修正 Security Command Center 識別出的設定錯誤和安全漏洞那麼簡單。

錯誤設定和違規情形會指出資源中可能遭利用的弱點。通常錯誤設定都有已知的修正方式,而且很容易實作,例如啟用防火牆或輪替加密金鑰。

威脅與安全漏洞不同,威脅是動態的,表示可能正在對一或多個資源進行攻擊。由於您可能不知道確切的攻擊手法,因此補救建議可能無法有效保護資源。

舉例來說,Added Binary Executed 發現結果表示容器中啟動了未經授權的二進位檔。基本的補救建議可能包括隔離容器和刪除二進位檔,但這可能無法解決根本原因,也就是攻擊者如何取得執行二進位檔的存取權。您需要找出容器映像檔損毀的原因,才能修正這個漏洞。如要判斷檔案是透過設定錯誤的連接埠新增,還是透過其他方式新增,需要進行深入調查。系統專家可能需要審查系統,找出弱點。

惡意行為者會使用不同技術攻擊資源,因此針對特定攻擊手法套用修正措施,可能無法有效防範該攻擊的變種。舉例來說,為回應 Brute Force: SSH 發現的結果,您可能會降低部分使用者帳戶的權限等級,以限制資源存取權。但如果密碼強度不足,攻擊者仍可能找到攻擊路徑。

攻擊途徑種類繁多,因此難以提供適用於所有情況的補救措施。在雲端安全防護計畫中,Security Command Center 的角色是近乎即時地找出受影響的資源、告知您面臨的威脅,並提供證據和背景資訊,協助您進行調查。不過,您的安全人員必須使用 Security Command Center 發現結果中的大量資訊,判斷修正問題和保護資源的最佳方式,防範日後遭受攻擊。

後續步驟