Cloud Run Threat Detection 總覽

Cloud Run Threat Detection 是 Security Command Center 的內建服務,可持續監控支援的 Cloud Run 資源狀態,偵測最常見的執行階段攻擊。如果 Cloud Run Threat Detection 偵測到攻擊,會近乎即時地在 Security Command Center 中產生發現項目。

Cloud Run Threat Detection 執行階段偵測工具會監控 Cloud Run 資源中的可疑二進位檔和程式庫,並使用自然語言處理 (NLP) 技術偵測惡意 Bash 和 Python 程式碼。

此外,您也可以透過 Event Threat Detection 使用控制層偵測器。這些偵測器會監控貴機構或專案的 Cloud Logging 串流,偵測 Cloud Run 資源控制平面是否遭受攻擊。

支援的資源

Cloud Run Threat Detection 會監控下列資源:

支援的執行環境

執行階段偵測器和控制平面偵測器支援的執行環境不同。

執行階段偵測工具支援的執行環境

Cloud Run Threat Detection 執行階段偵測器僅支援在第二代執行環境中執行的 Cloud Run 資源。啟用 Cloud Run Threat Detection 前,請注意下列事項:

  • 啟用 Cloud Run Threat Detection 後,您就無法建立在第一代執行環境中執行的 Cloud Run 服務或服務修訂版本。Cloud Run 服務必須使用第二代執行環境。建議您先在第二代執行環境測試工作負載,再啟用 Cloud Run Threat Detection。

  • 如要為服務啟用執行階段威脅偵測功能,請部署修訂版本,將服務的執行環境設為第二代或預設執行環境。

控制層偵測工具支援的執行環境

控制層偵測器同時支援第一代和第二代執行環境。

Cloud Run Threat Detection 執行階段威脅偵測的運作方式

啟用 Cloud Run Threat Detection 後,系統會從支援的 Cloud Run 資源收集遙測資料,分析可能表示執行階段攻擊的程序、指令碼和程式庫。偵測到事件時的執行路徑如下:

  1. Cloud Run 威脅偵測功能會使用監控程序,在 Cloud Run 工作負載的整個生命週期內收集容器和事件資訊。
  2. Cloud Run 威脅偵測會分析收集到的事件資訊,判斷事件是否代表資安事件。這項工具會使用 NLP 分析 Bash 和 Python 指令碼,找出惡意程式碼。

    • 如果 Cloud Run 威脅偵測功能發現事件,就會在 Security Command Center 中將該事件回報為發現項目。

    • 如果 Cloud Run Threat Detection 未偵測到事件,系統就不會儲存任何資訊。

    • 收集到的所有資料都是暫時性,不會永久儲存。

如要瞭解如何在Google Cloud 控制台中查看 Cloud Run Threat Detection 發現項目,請參閱「查看發現項目」。

已知問題

  • 如果監控程序在 Cloud Run 服務或工作的執行個體中過早停止,監控程序不會重新啟動。執行個體會停止將遙測資訊傳送至 Cloud Run 威脅偵測。 執行個體記錄中沒有 Cloud Run 威脅偵測記錄。沒有任何指標顯示監看程序已停止。

偵測工具

本節列出可用的執行階段和控制層偵測器。 隨著新的雲端威脅出現,我們會定期新增偵測器。

執行階段偵測器

Cloud Run Threat Detection 包含下列執行階段偵測器:

顯示名稱 API 名稱 說明
命令與控制:偵測到隱寫術工具 CLOUD_RUN_STEGANOGRAPHY_TOOL_DETECTED

系統執行了在類 Unix 環境中常見的隱寫術工具,這表示可能有人試圖隱藏通訊或資料傳輸。

攻擊者可能會利用隱寫術,在看似良性的數位檔案中嵌入惡意指令與控制 (C2) 指令或外洩資料,以規避標準安全監控和偵測。找出這類工具的使用情形,對於揭露隱藏的惡意活動至關重要。

憑證存取:尋找 Google Cloud 憑證 CLOUD_RUN_FIND_GCP_CREDENTIALS

執行指令,在容器環境中搜尋私密金鑰、密碼或其他機密憑證。 Google Cloud

攻擊者可能會利用竊取的 Google Cloud 憑證,在目標 Google Cloud 環境中非法存取機密資料或資源。

憑證存取權:GPG 金鑰偵查 CLOUD_RUN_GPG_KEY_RECONNAISSANCE

執行指令來搜尋 GPG 安全金鑰。

攻擊者可能會使用竊取的 GPG 安全金鑰,未經授權存取加密通訊內容或檔案。

憑證存取:搜尋私密金鑰或密碼 CLOUD_RUN_SEARCH_PRIVATE_KEYS_OR_PASSWORDS

系統執行指令,在容器環境中搜尋私密金鑰、密碼或其他機密憑證,表示可能有人試圖收集驗證資料。

攻擊者通常會搜尋憑證檔案,以未經授權的方式存取系統、提升權限,或在環境中橫向移動。偵測這類活動對於防範安全漏洞至關重要。

規避防禦機制:Base64 ELF 檔案指令列 CLOUD_RUN_BASE64_ELF_FILE_CMDLINE

執行程序時,其中包含 ELF (可執行檔和可連結格式) 檔案的引數。

如果系統偵測到編碼的 ELF 檔案執行作業,表示攻擊者正嘗試編碼二進位資料,以便傳輸至僅限 ASCII 的指令列。攻擊者可利用這項技術規避偵測,並執行 ELF 檔案中嵌入的惡意程式碼。

規避防禦機制:已執行 Base64 編碼的 Python 指令碼 CLOUD_RUN_BASE64_ENCODED_PYTHON_SCRIPT_EXECUTED

執行的程序包含以 Base64 編碼的 Python 指令碼做為引數。

如果系統偵測到編碼的 Python 指令碼執行作業,表示攻擊者正嘗試編碼二進位資料,以便傳輸至僅限 ASCII 的指令列。攻擊者可利用這項技術規避偵測,並執行 Python 指令碼中嵌入的惡意程式碼。

規避防禦機制:已執行 Base64 編碼的殼層指令碼 CLOUD_RUN_BASE64_ENCODED_SHELL_SCRIPT_EXECUTED

執行的程序含有以 Base64 編碼的殼層指令碼引數。

如果系統偵測到編碼的 Shell 指令碼執行作業,表示攻擊者正嘗試編碼二進位資料,以便傳輸至僅限 ASCII 的指令列。攻擊者可利用這項技術規避偵測,並執行內嵌在 Shell 指令碼中的惡意程式碼。

規避防禦機制:在容器中啟動程式碼編譯器工具 CLOUD_RUN_LAUNCH_CODE_COMPILER_TOOL_IN_CONTAINER

系統已啟動程序,在容器環境中啟動程式碼編譯器工具,這表示可能有人嘗試在隔離環境中建構或修改可執行程式碼。

攻擊者可能會在容器中使用程式碼編譯器開發惡意酬載、將程式碼注入現有二進位檔,或建立工具來規避安全控管機制,同時在較少受到審查的環境中運作,以規避主機系統的偵測。

執行:已執行新增的惡意二進位檔 CLOUD_RUN_ADDED_MALICIOUS_BINARY_EXECUTED

執行符合下列條件的二進位檔:

  • 根據威脅情報判斷為惡意
  • 不屬於原始容器映像檔

如果執行了新增的惡意二進位檔案,表示攻擊者很可能已掌控工作負載,並正在執行惡意軟體。

執行:已載入新增的惡意資料庫 CLOUD_RUN_ADDED_MALICIOUS_LIBRARY_LOADED

已載入符合下列條件的程式庫:

  • 根據威脅情報判斷為惡意
  • 不屬於原始容器映像檔

如果載入新增的惡意程式庫,表示攻擊者很可能已掌控工作負載,並正在執行惡意軟體。

執行:已執行內建的惡意二進位檔 CLOUD_RUN_BUILT_IN_MALICIOUS_BINARY_EXECUTED

執行符合下列條件的二進位檔:

  • 根據威脅情報判斷為惡意
  • 包含在原始容器映像檔中

如果執行內建的惡意二進位檔案,表示攻擊者正在部署惡意容器。他們可能已取得合法映像檔存放區或容器建構管道的控制權,並將惡意二進位檔注入容器映像檔。

執行:容器跳脫 CLOUD_RUN_CONTAINER_ESCAPE

容器中執行的程序嘗試使用已知的逸出技術或二進位檔,突破容器的隔離狀態。這類攻擊可讓攻擊者存取主機系統。系統會根據情報資料,將這些程序識別為潛在威脅。

如果系統偵測到容器跳脫嘗試,可能表示攻擊者正在利用安全漏洞,試圖跳脫容器。因此,攻擊者可能會未經授權存取主機系統或更廣泛的基礎架構,進而入侵整個環境。

執行:在 /memfd 中無檔案執行: CLOUD_RUN_FILELESS_EXECUTION_DETECTION_MEMFD

使用記憶體內檔案描述元執行程序。

如果程序是從記憶體內檔案啟動,可能表示攻擊者試圖規避其他偵測方法,以執行惡意程式碼。

執行:Kubernetes 攻擊工具執行作業 CLOUD_RUN_KUBERNETES_ATTACK_TOOL_EXECUTION

環境中執行了 Kubernetes 專屬的攻擊工具,這可能表示攻擊者鎖定 Kubernetes 叢集元件。根據情報資料,這些攻擊工具會被視為潛在威脅。

如果在 Kubernetes 環境中執行攻擊工具,可能表示攻擊者已取得叢集存取權,並使用該工具來利用 Kubernetes 特有的安全漏洞或設定。

執行作業:本機偵查工具執行作業 CLOUD_RUN_LOCAL_RECONNAISSANCE_TOOL_EXECUTION

執行了通常與容器或環境無關的本機偵查工具,表示有人嘗試收集內部系統資訊。這些偵察工具是根據情報資料,判斷為潛在威脅。

如果執行偵查工具,表示攻擊者可能正在嘗試繪製基礎架構地圖、找出安全漏洞,或收集系統設定資料,以規劃後續步驟。

執行:已執行惡意 Python CLOUD_RUN_MALICIOUS_PYTHON_EXECUTED

機器學習模型將指定的 Python 程式碼判定為惡意程式碼。攻擊者可以使用 Python 將工具或其他檔案從外部系統轉移到遭入侵的環境,並執行不含二進位檔的指令。

偵測器會使用 NLP 技術評估執行的 Python 程式碼內容。由於這種方法並非以簽章為依據,因此偵測器可以識別已知和新穎的 Python 程式碼。

執行:已執行修改過的惡意二進位檔 CLOUD_RUN_MODIFIED_MALICIOUS_BINARY_EXECUTED

執行符合下列條件的二進位檔:

  • 根據威脅情報判斷為惡意
  • 包含在原始容器映像檔中
  • 在執行階段從原始容器映像檔修改

如果執行經過修改的惡意二進位檔,表示攻擊者已掌控工作負載,並正在執行惡意軟體。

執行:已載入修改過的惡意資料庫 CLOUD_RUN_MODIFIED_MALICIOUS_LIBRARY_LOADED

已載入符合下列條件的程式庫:

  • 根據威脅情報判斷為惡意
  • 包含在原始容器映像檔中
  • 在執行階段從原始容器映像檔修改

如果載入的是經過修改的惡意程式庫,表示攻擊者已掌控工作負載,並正在執行惡意軟體。

執行:容器中的 Netcat 遠端程式碼執行作業 CLOUD_RUN_NETCAT_REMOTE_CODE_EXECUTION_IN_CONTAINER

Netcat 是多用途的網路公用程式,已在容器環境中執行,可能表示有人嘗試建立未經授權的遠端存取權或竊取資料。

在容器化環境中使用 Netcat 可能表示攻擊者試圖建立反向殼層、啟用橫向移動或執行任意指令,這可能會損害系統完整性。

執行:可能透過 CUPS 執行任意指令 (CVE-2024-47177) CLOUD_RUN_POSSIBLE_ARBITRARY_COMMAND_EXECUTION_THROUGH_CUPS

這項規則會偵測執行常見殼層程式的 foomatic-rip 程序,這可能表示攻擊者已利用 CVE-2024-47177。foomatic-rip 是 OpenPrinting CUPS 的一部分,這項開放原始碼列印服務是許多 Linux 發行版本的一部分。大多數容器映像檔都已停用或移除這項列印服務。如果偵測到這類行為,請評估是否為預期行為,或立即停用服務。

執行作業:偵測到可能的遠端指令執行作業 CLOUD_RUN_POSSIBLE_REMOTE_COMMAND_EXECUTION_DETECTED

系統偵測到某個程序透過網路通訊端連線產生常見的 UNIX 指令,這表示有人可能試圖建立未經授權的遠端指令執行功能。

攻擊者經常利用模仿反向 Shell 的技術,取得遭入侵系統的互動式控制權,以便遠端執行任意指令,並規避防火牆限制等標準網路安全措施。偵測到透過通訊端執行的指令,是惡意遠端存取的強烈指標。

執行:在禁止使用 HTTP Proxy 的環境中執行程式 CLOUD_RUN_PROGRAM_RUN_WITH_DISALLOWED_HTTP_PROXY_ENV

執行程式時使用的 HTTP Proxy 環境變數遭到禁止。這可能表示有人試圖規避安全控管措施、基於惡意目的重新導向流量,或透過未經授權的管道竊取資料。

攻擊者可能會設定不允許的 HTTP Proxy,藉此攔截私密資訊、透過惡意伺服器轉送流量,或是建立隱蔽的通訊管道。偵測使用這些環境變數執行的程式,對於維護網路安全及防止資料外洩至關重要。

執行:偵測到 Socat 反向殼層 CLOUD_RUN_SOCAT_REVERSE_SHELL_DETECTED

socat 指令已用於建立反向 Shell。

這項規則會偵測執行作業 socat,藉由重新導向 stdin、stdout 和 stderr 檔案描述元,建立反向殼層。這是攻擊者常用的手法,可藉此遠端存取遭入侵的系統。

執行:載入了可疑的 OpenSSL 共用物件 CLOUD_RUN_SUSPICIOUS_OPENSSL_SHARED_OBJECT_LOADED

OpenSSL 已執行,可載入自訂共用物件。

攻擊者可能會載入自訂程式庫,並取代 OpenSSL 使用的現有程式庫,藉此執行惡意程式碼。這種情況不常發生,一旦發生就應立即調查。

外洩:在容器中啟動遠端檔案複製工具 CLOUD_RUN_LAUNCH_REMOTE_FILE_COPY_TOOLS_IN_CONTAINER

系統在容器中偵測到遠端檔案複製工具的執行作業,這表示可能發生資料外洩、橫向移動或部署惡意酬載的情況。

攻擊者通常會使用這些工具將機密資料移出容器、在網路中橫向移動以入侵其他系統,或導入惡意軟體以進行其他惡意活動。偵測遠端檔案複製工具的使用情況,對於防止資料外洩、未經授權存取,以及容器和主機系統進一步遭到入侵至關重要。

影響:偵測惡意指令列 CLOUD_RUN_DETECT_MALICIOUS_CMDLINES

執行指令時使用的引數可能具有破壞性,例如嘗試刪除重要系統檔案或修改密碼相關設定。

攻擊者可能會發出惡意指令列,導致系統不穩定、刪除重要檔案以防止復原,或操控使用者憑證來取得未經授權的存取權。偵測這些特定指令模式是防止系統受到重大影響的關鍵。

影響:從磁碟移除大量資料 CLOUD_RUN_REMOVE_BULK_DATA_FROM_DISK

系統偵測到某個程序正在執行大量資料刪除作業,這可能表示有人試圖清除證據、中斷服務,或在容器環境中執行資料清除攻擊。

攻擊者可能會移除大量資料來掩蓋行蹤、破壞作業,或準備部署勒索軟體。偵測這類活動有助於在發生重大資料遺失事件前,找出潛在威脅。

影響:使用 Stratum 通訊協定的可疑加密貨幣挖礦活動 CLOUD_RUN_SUSPICIOUS_CRYPTO_MINING_ACTIVITY_USING_STRATUM_PROTOCOL

系統偵測到某個程序透過 Stratum 通訊協定進行通訊,而加密貨幣挖礦軟體通常會使用這個通訊協定。這項活動表示容器環境中可能存在未經授權的挖礦作業。

攻擊者經常部署加密貨幣挖礦程式,利用系統資源牟利,導致效能降低、作業成本增加,並可能造成安全風險。偵測這類活動有助於減少資源濫用和未經授權存取的情況。

已執行惡意指令碼 CLOUD_RUN_MALICIOUS_SCRIPT_EXECUTED

機器學習模型將指定的 Bash 程式碼判定為惡意程式碼。攻擊者可以使用 Bash 將工具或其他檔案從外部系統轉移到遭入侵的環境,並在沒有二進位檔的情況下執行指令。

偵測器會使用 NLP 技術評估執行的 Bash 程式碼內容。由於這種方法並非以簽章為依據,因此偵測器可以識別已知和新型的惡意 Bash 程式碼。

偵測到惡意網址 CLOUD_RUN_MALICIOUS_URL_OBSERVED

Cloud Run Threat Detection 在執行中程序的引數清單中偵測到惡意網址。

偵測器會根據 Google 安全瀏覽服務維護的不安全網頁資源清單,檢查執行中程序的引數清單中觀察到的網址。如果網址遭誤判為網路釣魚網站或惡意軟體,請前往「 回報不正確的資料」頁面回報。

提權:濫用 Sudo 來提權 (CVE-2019-14287) CLOUD_RUN_ABUSE_SUDO_FOR_PRIVILEGE_ESCALATION

已使用嘗試提升權限的引數執行「sudo」。

這項偵測功能會通知您有人嘗試利用 CVE-2019-14287,透過濫用 sudo 指令提升權限。sudo 1.8.28 之前的版本存在安全漏洞,可將非超級使用者的權限提升為超級使用者權限。

權限提升:在 /dev/shm 中無檔案執行作業 CLOUD_RUN_FILELESS_EXECUTION_DETECTION_SHM

已從 /dev/shm 內的路徑執行程序。

攻擊者從 /dev/shm 執行檔案時,可能會從這個目錄執行惡意程式碼,藉此規避安全工具的偵測,進而發動權限升級或程序注入攻擊。

權限提升:Polkit 本機提權安全漏洞 (CVE-2021-4034) CLOUD_RUN_POLKIT_LOCAL_PRIVILEGE_ESCALATION_VULNERABILITY

非根使用者已執行 pkexec,並使用嘗試提升權限的環境變數。

這項規則會偵測到有人嘗試利用 Polkit pkexec 中的權限提升漏洞 (CVE-2021-4034)。非根層級使用者可透過執行特製程式碼,利用這個缺陷在遭入侵的系統上取得根層級權限。

提權:Sudo 存在提權風險 (CVE-2021-3156) CLOUD_RUN_SUDO_POTENTIAL_PRIVILEGE_ESCALATION

非根使用者已執行 sudosudoedit,且引數模式嘗試提升權限。

偵測嘗試利用影響 sudo 1.9.5p2 和更早版本的安全漏洞發動攻擊的行為。以不具備權限的使用者身分,使用特定引數 (包括以單一反斜線字元結尾的引數) 執行 sudosudoedit 時,可能會將使用者權限提升為 Root 使用者權限。

反向殼層 CLOUD_RUN_REVERSE_SHELL

程序已啟動,並將串流重新導向至遠端連線的通訊端。偵測器會尋找繫結至遠端通訊端的 stdin

攻擊者可透過反向 Shell,從遭入侵的工作負載與攻擊者控制的機器通訊。攻擊者隨後就能指揮及控制工作負載,例如將其納入殭屍網路。

非預期的子殼層 CLOUD_RUN_UNEXPECTED_CHILD_SHELL

通常不會叫用殼層的程序產生了殼層程序。

偵測器會監控所有程序執行作業。叫用殼層時,如果已知父項程序通常不會叫用殼層,偵測器就會產生發現項目。

控制層偵測工具

您可以透過 Event Threat Detection 使用下列控制層偵測器。 這些偵測器預設為啟用。管理這些偵測工具的方式,與管理其他 Event Threat Detection 偵測工具相同。詳情請參閱「使用 Event Threat Detection」。

顯示名稱 API 名稱 記錄來源類型 說明
影響:加密貨幣挖礦指令 CLOUD_RUN_JOBS_CRYPTOMINING_COMMANDS Cloud 稽核記錄
IAM 系統事件稽核記錄
執行期間,特定加密貨幣挖礦指令會附加至 Cloud Run 工作。發現項目預設會分類為「高」嚴重性。
執行:加密貨幣挖礦 Docker 映像檔 CLOUD_RUN_CRYPTOMINING_DOCKER_IMAGES Cloud 稽核記錄
IAM 系統事件稽核記錄
特定已知不良的 Docker 映像檔已附加至新的或現有的 Cloud Run 服務或工作。發現項目預設會分類為「高」嚴重性。
權限提升:預設 Compute Engine 服務帳戶 SetIAMPolicy CLOUD_RUN_SERVICES_SET_IAM_POLICY Cloud 稽核記錄
管理員活動記錄
預設的 Compute Engine 服務帳戶用於設定 Cloud Run 服務的 IAM 政策。如果無伺服器服務的 Compute Engine 權杖遭到入侵,這就是可能的後續利用行為。發現項目預設為嚴重性。
如要瞭解已淘汰和停用的規則,請參閱「淘汰項目」。

後續步驟