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 資源收集遙測資料,分析可能代表執行階段攻擊的程序、指令碼和程式庫。偵測到事件時,執行路徑如下:
- Cloud Run Threat Detection 會使用監控程序,在 Cloud Run 工作負載的整個執行期間收集容器和事件資訊。
Cloud Run Threat Detection 會分析收集到的事件資訊,判斷事件是否代表發生資安事件。這項服務會使用自然語言處理技術,分析 Bash 和 Python 指令碼,找出惡意程式碼。
如果 Cloud Run Threat Detection 偵測到事件,就會在 Security Command Center 中回報為發現項目。
如果 Cloud Run Threat Detection 未偵測到事件,就不會儲存任何資訊。
所有收集到的資料都是暫時性的,不會永久儲存。
如要瞭解如何在Google Cloud 控制台查看 Cloud Run Threat Detection 發現項目,請參閱「查看發現項目」。
已知問題
- 如果監控程序在 Cloud Run 服務、工作或 worker 集區的執行中執行個體中提前停止,監控程序不會重新啟動。執行個體會停止將遙測資訊傳送至 Cloud Run Threat Detection。執行個體記錄中沒有 Cloud Run Threat Detection 記錄。沒有任何跡象顯示監控程序已停止。
偵測工具
本節列出可用的執行階段和控制層偵測工具。隨著新的雲端威脅出現,我們會定期新增偵測工具。
執行階段偵測工具
Cloud Run Threat Detection 包含下列執行階段偵測工具:
| 顯示名稱 | API 名稱 | 說明 |
|---|---|---|
| 指揮與控制:偵測到隱寫術工具 | CLOUD_RUN_STEGANOGRAPHY_TOOL_DETECTED |
系統執行了判定為隱寫術工具的程式,表示可能有人試圖隱藏通訊或資料移轉。 攻擊者可能會利用隱寫術,將惡意指令與控制 (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 編碼的殼層指令碼。 如果偵測到經過編碼的殼層指令碼執行作業,表示攻擊者正嘗試將二進位資料編碼,以便傳輸至僅限 ASCII 的指令列。攻擊者可利用這項技術規避偵測,並執行殼層指令碼中嵌入的惡意程式碼。 |
| 規避防禦機制:在容器中啟動程式碼編譯器工具 | CLOUD_RUN_LAUNCH_CODE_COMPILER_TOOL_IN_CONTAINER |
系統啟動了在容器環境中啟動程式碼編譯器工具的程序,這表示可能有人試圖在隔離環境中建構或修改可執行的程式碼。 攻擊者可能會在容器中使用程式碼編譯器開發惡意酬載、將程式碼插入現有二進位檔,或建立工具來規避安全控管機制,同時在較少受到監控的環境中運作,以規避主機系統的偵測。 |
| 執行:已執行新增的惡意二進位檔 | CLOUD_RUN_ADDED_MALICIOUS_BINARY_EXECUTED |
執行符合下列條件的二進位檔:
如果新增的惡意二進位檔遭到執行,就表示攻擊者已控制工作負載,並正在執行惡意軟體。 |
| 執行:已載入新增的惡意資料庫 | CLOUD_RUN_ADDED_MALICIOUS_LIBRARY_LOADED |
載入符合下列條件的程式庫:
如果載入新增的惡意程式庫,則強烈表示攻擊者已控制工作負載,且正在執行惡意軟體。 |
| 執行:已執行新增的惡意技能 | CLOUD_RUN_ADDED_MALICIOUS_SKILL_EXECUTED |
執行符合下列條件的技能:
如果新增的惡意技能遭到執行,則強烈表示攻擊者已控制工作負載,並正在執行惡意軟體。 |
| 執行:已載入新增的惡意技能 | CLOUD_RUN_ADDED_MALICIOUS_SKILL_LOADED |
已載入符合下列條件的技能:
如果載入新增的惡意技能,就表示攻擊者已控制工作負載,並正在執行惡意軟體。 |
| 執行:已執行內建的惡意二進位檔 | CLOUD_RUN_BUILT_IN_MALICIOUS_BINARY_EXECUTED |
執行符合下列條件的二進位檔:
如果執行內建的惡意二進位檔,表示攻擊者正在部署惡意容器。他們可能已取得合法映像檔存放區或容器建構管道的控制權,並將惡意二進位檔插入容器映像檔。 |
| 執行:已執行內建的惡意技能 | CLOUD_RUN_BUILT_IN_MALICIOUS_SKILL_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 將工具或其他檔案從外部系統轉移到遭入侵的環境,並在沒有二進位檔的情況下執行指令。 偵測工具會使用自然語言處理技術,評估執行 Python 程式碼的內容。由於這種方法不以特徵碼為依據,因此偵測工具可以識別已知和新穎的 Python 程式碼。 |
| 執行:已執行修改過的惡意二進位檔 | CLOUD_RUN_MODIFIED_MALICIOUS_BINARY_EXECUTED |
執行符合下列條件的二進位檔:
如果執行了經過修改的惡意二進位檔,則強烈表示攻擊者已控制工作負載,並正在執行惡意軟體。 |
| 執行:已載入修改過的惡意資料庫 | CLOUD_RUN_MODIFIED_MALICIOUS_LIBRARY_LOADED |
載入符合下列條件的程式庫:
如果載入經過修改的惡意程式庫,就表示攻擊者已控制工作負載,並正在執行惡意軟體。 |
| 執行:已執行修改過的惡意技能 | CLOUD_RUN_MODIFIED_MALICIOUS_SKILL_EXECUTED |
執行符合下列條件的技能:
如果執行修改過的惡意技能,則強烈表示攻擊者已控制工作負載,並正在執行惡意軟體。 |
| 執行:已載入修改過的惡意技能 | CLOUD_RUN_MODIFIED_MALICIOUS_SKILL_LOADED |
已載入符合下列條件的技能:
如果載入修改過的惡意技能,就表示攻擊者已控制工作負載,並正在執行惡意軟體。 |
| 執行:容器中的 Netcat 遠端程式碼執行作業 | CLOUD_RUN_NETCAT_REMOTE_CODE_EXECUTION_IN_CONTAINER |
Netcat 是一種多功能網路公用程式,在容器環境中執行,可能表示有人試圖建立未經授權的遠端存取權或竊取資料。 在容器化環境中使用 Netcat,可能代表攻擊者試圖建立反向殼層、啟用橫向移動或執行任意指令,這可能會破壞系統完整性。 |
| 執行:可能透過 CUPS 執行任意指令 (CVE-2024-47076) | CLOUD_RUN_POSSIBLE_ARBITRARY_COMMAND_EXECUTION_THROUGH_CUPS |
這項規則會偵測執行常見殼層程式的 |
| 執行:偵測到可能的遠端指令執行作業 | CLOUD_RUN_POSSIBLE_REMOTE_COMMAND_EXECUTION_DETECTED |
偵測到某項程序透過網路通訊端連線產生常見的 UNIX 指令,這表示可能有人試圖建立未經授權的遠端指令執行功能。 攻擊者經常利用模擬反向殼層的技術,取得遭入侵系統的互動式控制權,以便從遠端執行任意指令,並繞過防火牆限制等標準網路安全措施。偵測到透過通訊端執行指令,是惡意遠端存取的強烈指標。 |
| 執行:在不允許 HTTP Proxy 的環境執行程式 | CLOUD_RUN_PROGRAM_RUN_WITH_DISALLOWED_HTTP_PROXY_ENV |
執行程式時,使用了不允許的 HTTP Proxy 環境變數。這可能表示有人試圖規避安全控管機制、出於惡意目的重新導向流量,或透過未經授權的管道竊取資料。 攻擊者可能會設定不允許的 HTTP Proxy,藉此攔截機密資訊、透過惡意伺服器轉送流量,或建立隱密通訊管道。偵測使用這些環境變數執行的程式,對於維護網路安全和防止資料侵害至關重要。 |
| 執行:偵測到 Socat 反向殼層 | CLOUD_RUN_SOCAT_REVERSE_SHELL_DETECTED |
這項規則會偵測執行 |
| 執行:載入了可疑的 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 將工具或其他檔案從外部系統轉移到遭入侵的環境,並在沒有二進位檔的情況下執行指令。 偵測工具會使用自然語言處理技術,評估已執行 Bash 程式碼的內容。由於這種方法不以特徵碼為依據,因此偵測工具可以識別已知和新型的惡意 Bash 程式碼。 |
| 偵測到惡意網址 | CLOUD_RUN_MALICIOUS_URL_OBSERVED |
Cloud Run Threat Detection 在執行中程序的引數清單,偵測到惡意網址。 偵測工具會檢查執行中程序引數清單中觀察到的網址,並與 Google 安全瀏覽服務維護的不安全網路資源清單進行比對。如果網址遭誤判為網路釣魚網站或惡意軟體,請前往 回報不正確的資料頁面回報。 |
| 提權:濫用 Sudo 來提權 (CVE-2019-14287) | CLOUD_RUN_ABUSE_SUDO_FOR_PRIVILEGE_ESCALATION |
執行
這項規則會偵測是否有人試圖利用 CVE-2019-14287,這個安全漏洞會濫用 |
| 提權:Polkit 本機提權安全漏洞 (CVE-2021-4034) | CLOUD_RUN_POLKIT_LOCAL_PRIVILEGE_ESCALATION_VULNERABILITY |
非超級使用者已執行
這項規則會偵測是否有人試圖利用 Polkit |
| 提權:Sudo 存在提權風險 (CVE-2021-3156) | CLOUD_RUN_SUDO_POTENTIAL_PRIVILEGE_ESCALATION |
非超級使用者執行了
偵測到有人嘗試利用會影響 |
| 反向殼層 | CLOUD_RUN_REVERSE_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 權杖從無伺服器服務外洩,這可能是潛在的入侵後動作。根據預設,發現項目的嚴重性會歸類為「低」。 |
後續步驟
- 瞭解如何使用 Cloud Run Threat Detection。
- 瞭解如何測試 Cloud Run Threat Detection。
- 瞭解如何使用 Event Threat Detection。
- 瞭解如何應對 Cloud Run 威脅發現項目。
- 請參閱威脅發現項目索引。