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 威脅偵測功能會使用監控程序,在 Cloud Run 工作負載的整個生命週期內收集容器和事件資訊。
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 |
這項規則會偵測執行常見殼層程式的 |
| 執行作業:偵測到可能的遠端指令執行作業 | 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 |
這項規則會偵測執行作業 |
| 執行:載入了可疑的 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 |
已使用嘗試提升權限的引數執行「
這項偵測功能會通知您有人嘗試利用 CVE-2019-14287,透過濫用 |
| 權限提升:在 /dev/shm 中無檔案執行作業 | CLOUD_RUN_FILELESS_EXECUTION_DETECTION_SHM |
已從
攻擊者從 |
| 權限提升: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 |
程序已啟動,並將串流重新導向至遠端連線的通訊端。偵測器會尋找繫結至遠端通訊端的 攻擊者可透過反向 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。
- 瞭解如何使用 Event Threat Detection。
- 瞭解如何回應 Cloud Run 威脅發現。
- 請參閱威脅發現項目索引。