本文說明 Security Command Center 中的威脅發現項目類型。威脅偵測工具偵測到雲端資源中可能存在威脅時,就會產生威脅發現項目。如需可用威脅發現項目的完整清單,請參閱「威脅發現項目索引」。
總覽
Container Threat Detection 觀察到某個程序意外產生子殼層程序。這項事件可能表示攻擊者試圖濫用 Shell 指令和指令碼。
Container Threat Detection 是這項發現的來源。
回應方式
如要回應這項發現,請按照下列步驟操作:
步驟 1:查看調查結果詳細資料
- 按照「查看結果」一文的說明,開啟 - Unexpected Child Shell發現項目。系統會開啟該發現項目的詳細資料面板,並顯示「摘要」分頁。
- 在「摘要」分頁中,查看下列各節的資訊: - 偵測到的內容,特別是下列欄位:
- 父項程序:意外建立子殼層程序的程序。
- 子項程序:子項殼層程序。
- 引數:提供給子項殼層程序二進位的引數。
- 環境變數:子項殼層程序二進位的環境變數。
- 容器:容器名稱。
- 容器 URI:容器的映像檔 URI。
- Kubernetes Pod:Pod 名稱和命名空間。
 
- 受影響的資源,尤其是下列欄位:
- 資源顯示名稱:受影響資源的名稱。
- 完整資源名稱:叢集的完整資源名稱。完整資源名稱包含下列資訊:
- 含有叢集的專案:projects/PROJECT_ID
- 叢集所在位置:zone/ZONE或locations/LOCATION
- 叢集名稱:projects/CLUSTER_NAME
 
- 含有叢集的專案:
 
- 相關連結,尤其是下列欄位:
- VirusTotal 指標:連結至 VirusTotal 分析頁面。
 
 
- 偵測到的內容,特別是下列欄位:
- 按一下「JSON」分頁標籤,並記下下列欄位: 
+processes:包含與發現項目相關的所有程序的陣列。這個陣列包含子項殼層程序和父項程序。
+resource:
    +project_display_name:含有資產的專案名稱。
+sourceProperties:
    +VM_Instance_Name:執行 Pod 的 GKE 節點名稱。
步驟 2:檢查叢集和節點
- 在 Google Cloud 控制台中,前往「Kubernetes clusters」(Kubernetes 叢集) 頁面。 
- 在 Google Cloud 控制台工具列中,視需要選取 - resource.project_display_name中列出的專案。
- 選取 - resource.name中列出的叢集。請記下叢集及其擁有者的任何中繼資料。
- 按一下「Nodes」(節點) 分頁標籤。選取 - VM_Instance_Name中列出的節點。
- 按一下「詳細資料」分頁標籤,並注意 - container.googleapis.com/instance_id註解。
步驟 3:檢查 Pod
- 前往 Google Cloud 控制台的「Kubernetes Workloads」(Kubernetes 工作負載) 頁面。 
- 如有需要,請在 Google Cloud 控制台工具列中,選取您在叢集「資源完整名稱」 ( - resource.name) 中記下的專案。
- 按一下「顯示系統工作負載」。 
- 依據您在「資源完整名稱」 ( - resource.name) 中記下的叢集名稱,篩選工作負載清單,並視需要依據您記下的 Pod「命名空間」 (- kubernetes.pods.ns) 篩選。
- 按一下與您先前在發現項目 JSON 中記下的 - VM_Instance_Name屬性值相符的工作負載名稱。「Pod details」(Pod 詳細資料) 頁面隨即開啟。
- 在「Pod 詳細資料」頁面中,記下 Pod 的任何資訊,這可能有助於解決威脅。 
步驟 4:檢查記錄
- 前往 Google Cloud 控制台的「Logs Explorer」頁面。 
- 在 Google Cloud 控制台工具列中,選取 - resource.project_display_name列出的專案。
- 將「選取時間範圍」設為感興趣的時間範圍。 
- 在隨即載入的頁面中,執行下列操作: - 使用下列篩選器,找出 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"
 
- 使用下列篩選器尋找叢集稽核記錄:
- 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
 
- 使用下列篩選器,找出 GKE 節點控制台記錄:
- resource.type="gce_instance"
- resource.labels.instance_id="instance_id"
 
 
- 使用下列篩選器,找出 
步驟 5:調查執行中的容器
如果容器仍在執行,或許可以直接調查容器環境。
- 前往 Google Cloud 控制台。 
- 在 Google Cloud 控制台工具列中,選取 - resource.project_display_name列出的專案。
- 按一下「Activate Cloud Shell」(啟用 Cloud Shell)。 
- 執行下列指令,取得叢集的 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
- 如要在容器環境中啟動殼層,請執行下列指令: - kubectl exec --namespace=Pod_Namespace -ti Pod_Name -c Container_Name -- /bin/sh- 這項指令需要容器在 - /bin/sh安裝 Shell。- 如要查看容器中執行的所有程序,請在容器殼層中執行下列指令: - ps axjf- 如要使用這項指令,容器必須安裝 - /bin/ps。
步驟 6:研究攻擊和回應方法
- 查看這類發現項目的 MITRE ATT&CK 架構項目: 命令和指令碼解譯器:Unix Shell。
- 在 VirusTotal 上檢查標示為惡意內容的二進位檔 SHA-256 雜湊值,方法是點選「VirusTotal 指標」中的連結。VirusTotal 是 Alphabet 旗下的服務,可提供潛在惡意檔案、網址、網域和 IP 位址的相關資訊。
- 如要制定回應計畫,請將調查結果與 MITRE 研究和 VirusTotal 分析結果合併。
步驟 7:實作回應
下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。
後續步驟
- 瞭解如何在 Security Command Center 中處理威脅調查結果。
- 請參閱威脅發現項目索引。
- 瞭解如何透過 Google Cloud 控制台查看發現項目。
- 瞭解會產生威脅發現項目的服務。