Google Cloud 的安全漏洞評估功能可讓您找出 Google Cloud 資源中的軟體安全漏洞和外洩的密鑰,無須安裝代理程式。 Google Cloud的安全漏洞評估功能會掃描執行中的 Compute Engine VM 執行個體、GKE Standard 叢集中的節點、GKE Standard 和 GKE Autopilot 叢集中執行的容器,以及 Cloud Run 工作負載中執行的容器 (預先發布版)。
Google Cloud 安全漏洞評估的運作方式
掃描的資源類型取決於 Security Command Center 服務級別,包括:
- 執行中的 Compute Engine VM 執行個體
- GKE Standard 叢集中的節點
- 在 GKE Standard 和 GKE Autopilot 叢集中執行的容器。
- 在 Cloud Run 服務、有效修訂版本、工作和 worker 集區 (預先發布版) 中執行的容器。
針對 VM 執行個體和 GKE 叢集, Google Cloud 的安全漏洞評估功能會複製 VM 執行個體磁碟,並掛接至其他安全的 VM 執行個體,然後使用 SCALIBR 掃描。VM 執行個體複製作業具有下列屬性:
- 建立位置與來源 VM 執行個體相同。
- 這項資源是在 Google 擁有的專案中建立,因此不會增加您的費用。
為協助您找出 Cloud Run 資源中的安全漏洞, Google Cloud 的安全漏洞評估功能會針對 Cloud Run 工作負載 (預先發布版),彙整下列來源的資料:
- 掃描 Artifact Analysis 中的容器安全漏洞和密鑰。
- Cloud Asset Inventory 中使用中的 Cloud Run 資源相關資訊。
產生的發現項目會直接附加至執行中的 Cloud Run 服務、工作或 worker 集區。
服務級別的功能差異
下列 Vulnerability Assessment for Google Cloud 功能會因服務級別而異:
- 掃描頻率
- 建立的發現項目嚴重性
- 哪些發現項目會加入 Mandiant CVE 評估資料
- 發現項目標示為「
INACTIVE」前的時間
如要進一步瞭解這些差異,請參閱「 Google Cloud漏洞評估產生的發現項目」。
限制
找出要掃描的資源時,請考量下列限制:
Compute Engine 和磁碟
Security Command Center 服務代理必須能列出專案 VM 執行個體,並將磁碟複製到 Google 擁有的專案。請確認安全性與政策設定 (例如組織政策限制) 不會干擾服務代理存取及掃描這些資源。
建議您將組織
google.com(組織 ID 為433637338589) 新增至許可清單政策,以下是將機構加入許可清單的範例:name: organizations/Org-A/policies/compute.storageResourceUseRestrictions spec: rules: – values: allowedValues: - under:organizations/433637338589
詳情請參閱「組織政策總覽」。
掃描 VM 執行個體時,如果永久磁碟是以客戶自行管理的加密金鑰 (CMEK) 加密,金鑰必須儲存在磁碟所在的區域。如果使用多區域金鑰,則為全域位置或與磁碟相同的地理位置。
Google Cloud 的安全漏洞評估功能不支援掃描以 CMEK 加密,且位於 VPC Service Controls 範圍內的磁碟。
Google Cloud 的安全漏洞評估功能不支援永久磁碟是以客戶提供的加密金鑰 (CSEK) 加密的 VM 執行個體。
Google Cloud 的安全漏洞評估功能只會掃描 VFAT、EXT2、EXT4、XFS 和 NTFS 磁碟分區。
Google Cloud 的安全漏洞評估功能不會掃描機密運算虛擬機器。
Google Kubernetes Engine
Google Cloud 安全漏洞評估不會執行下列操作:
支援掃描 GKE 節點上的容器,這些節點已設定為使用本機 SSD 磁碟做為臨時儲存空間。掃描器會複製永久磁碟。Compute Engine 無法為實體連接的本機 SSD 建立快照,因此不會掃描儲存在本機 SSD 的容器映像檔。
掃描 GKE 叢集時,在發現項目中加入叢集標籤。
掃描機密 Google Kubernetes Engine 節點。
Cloud Run
如果是 Cloud Run 工作負載, Google Cloud 的安全漏洞評估功能會評估容器映像檔的掃描結果,而非直接掃描工作負載。只有在容器映像檔儲存於 Artifact Registry 存放區,且該存放區與 Cloud Run 服務、工作或 worker 集區屬於同一個Google Cloud 組織時, Google Cloud 的安全漏洞評估功能才會產生發現項目,但經過驗證的 Google 公開容器鏡像除外。
如果是 Cloud Run 工作, Google Cloud 的安全漏洞評估功能只會評估過去 14 天內成功啟動的執行作業映像檔。系統會略過未執行或失敗的執行作業。
如果 Cloud Run 服務或 worker 集區超過 30 天未執行部署、映像檔提取或冷啟動,系統會暫停持續掃描常見安全漏洞與揭露事項 (CVE),直到有新的提取或部署作業為止。提取或部署新映像檔後,發現項目最多可能需要 24 小時,才會反映新發布的 CVE。現有的發現項目在 Security Command Center 中仍會保持啟用狀態,並受發現項目資料保留政策規範。
只有在 Artifact Analysis 掃描或重新分析映像檔時,才會顯示發現項目。部署先前推送的映像檔不會觸發掃描,因此發現項目會在下次重新分析後顯示。如果您使用先前推送至 Artifact Registry 的映像檔,部署 Cloud Run 服務、工作或 worker 集區,該工作負載的發現項目通常會在約 4 小時內顯示。
升級和降級服務級別時的注意事項
切換服務級別時, Google Cloud 的安全漏洞評估功能會變更為有效服務級別支援的功能。
先前啟用時產生的發現項目,在先前服務層級定義的時間內仍會保持有效。舉例來說,從進階級降級至標準級時,進階級產生的發現項目會維持有效狀態 72 小時 (3 天)。在 Standard 級別產生的新發現項目會保持有效 195 小時。
事前準備
如果您已設定 VPC Service Controls 範圍,請建立必要的輸出和輸入規則。
啟用 Google Cloud安全漏洞評估功能的權限
所需權限取決於 Security Command Center 啟用層級。如要瞭解啟用進階方案所需的權限,請參閱「為組織啟用 Security Command Center 進階方案」。
在組織層級啟用 Standard 方案
如要在組織層級啟用 Google Cloud 的 Vulnerability Assessment,並啟用 Standard 方案,您必須具備下列 IAM 角色:
- 安全中心管理員 (
roles/securitycenter.admin) 下列其中一個角色:
- 安全管理員 (
roles/iam.securityAdmin) - 組織管理員 (
roles/resourcemanager.organizationAdmin)
- 安全管理員 (
專案層級啟用 Premium 或 Standard 方案
如要在專案層級啟用 Security Command Center,並為專案啟用 Google Cloud 的安全漏洞評估功能,您必須具備下列 IAM 角色:
- 安全中心管理員 (
roles/securitycenter.admin) - 安全管理員 (
roles/iam.securityAdmin)
用於掃描磁碟的服務代理
Google Cloud 的安全漏洞評估服務會使用 Security Command Center 服務代理,取得身分和權限來存取 Google Cloud 資源。
如果在組織層級啟用 Security Command Center, Google Cloud 的安全漏洞評估作業會使用下列服務代理:
service-org-ORGANIZATION_ID@security-center-api.
如果在專案層級啟用 Security Command Center, Google Cloud 的安全漏洞評估作業會使用下列服務代理:
service-project-PROJECT_NUMBER@security-center-api.
啟用或停用 Google Cloud的安全漏洞評估功能
在 Premium 和 Enterprise 級別中,系統會盡可能為所有 VM 執行個體自動啟用 Google Cloud 的安全漏洞評估功能。
在標準級,您必須在組織、資料夾或專案層級,手動啟用 Google Cloud 的安全漏洞評估功能。
如要變更 Vulnerability Assessment for Google Cloud 設定,請按照下列步驟操作:
前往 Google Cloud 控制台的「Risk Overview」(風險總覽) 頁面:
選取要為 Google Cloud啟用安全漏洞評估功能的組織。
按一下「設定」。
在「安全漏洞評估」部分,按一下「管理設定」。
在「Google Cloud」分頁中,從「無代理程式安全漏洞評估」欄,啟用或停用 Google Cloud 在組織、資料夾或專案層級的安全漏洞評估。較低層級可以沿用較高層級的值。
掃描以 CMEK 加密的磁碟
如要允許 Google Cloud 的安全漏洞評估功能掃描以 CMEK 加密的磁碟,您必須將 Cloud KMS CryptoKey 加密者/解密者 (roles/cloudkms.cryptoKeyEncrypterDecrypter) 角色授予下列服務代理:
service-org-ORGANIZATION_ID@security-center-api.
service-PROJECT_ID@compute-system.
如果您有下列服務代理,也必須將角色授予該服務代理:
service-org-ORGANIZATION_ID@ctd-ia-org-sa-prod.
設定金鑰層級權限
- 依序前往「安全性」>「金鑰管理」頁面。
- 選取包含金鑰的金鑰環。
- 選取金鑰。
- 在資訊面板中,按一下「Permissions」(權限)。
- 輸入您在「新增主體」欄位中輸入的服務代理程式名稱。
- 在「Select a role」(選取角色) 選單中,選取「Cloud KMS CryptoKey Encrypter/Decrypter」(Cloud KMS CryptoKey 加密者/解密者)。
- 按一下「儲存」。
設定專案層級金鑰權限
- 依序前往「IAM & Admin」(IAM 與管理) >「IAM」。
- 按一下「授予存取權」。
- 輸入您在「新增主體」欄位中輸入的服務代理程式名稱。
- 在「Select a role」(選取角色) 選單中,選取「Cloud KMS CryptoKey Encrypter/Decrypter」(Cloud KMS CryptoKey 加密者/解密者)。
為確保掃描作業正常執行,金鑰必須與磁碟位於相同區域。 Google Cloud 的安全漏洞評估功能會嘗試掃描以 CMEK 加密的磁碟。如未授予必要權限, Google Cloud 會在稽核記錄中產生下列錯誤:Cloud KMS error when using key。
Google Cloud安全漏洞評估產生的發現項目
Google Cloud 的安全漏洞評估服務偵測到下列情況時,會在 Security Command Center 產生發現項目:
- Compute Engine VM 執行個體上的軟體安全漏洞。
- GKE 叢集節點或 GKE 執行容器中的軟體安全漏洞。
- Cloud Run 服務、修訂版本、工作和 worker 集區中的軟體安全漏洞和外洩密鑰 (預先發布版)。
下列資源有容器映像檔安全漏洞:
- GKE Pod
- App Engine 服務
- Cloud Run 服務和工作
掃描頻率
掃描頻率因服務級別而異:
| 標準級 | Premium 和 Enterprise 級 |
|---|---|
| 每週一次 | 約每 12 小時 |
建立的發現項目嚴重性
Google Cloud 的安全漏洞評估會發布下列嚴重程度的發現項目,具體取決於服務級別:
| 標準級 | Premium 和 Enterprise 級 |
|---|---|
Critical 個嚴重性發現項目 |
Critical 個嚴重性為「High」的發現項目 |
發現項目生命週期
Google Cloud 的安全漏洞評估功能建立發現項目後,該項目在
下列有效狀態期間會維持在 ACTIVE 狀態,具體時間因服務級別而異:
| 標準級 | Premium 和 Enterprise 級 |
|---|---|
| 195 小時 | 72 小時 (3 天) |
如果 Google Cloud 的安全漏洞評估功能在有效狀態期間 (依服務級別而定) 再次偵測到發現項目,計數器就會重設,發現項目也會在ACTIVE狀態中再保留一個有效狀態期間。如要進一步瞭解發現項目的保留時間,請參閱「發現項目的資料保留」。
如果 Google Cloud 的安全漏洞評估功能在有效狀態期間 (依服務層級而定) 未再次偵測到發現項目, Google Cloud 的安全漏洞評估功能會將發現項目設為INACTIVE。在下列情況下, Google Cloud 的安全漏洞評估功能不會偵測到發現項目:
- 導致發現項目的情況已修正。
- VM 執行個體已停止。
- VM 執行個體或專案已刪除。
如要進一步瞭解刪除資源時發現項目的更新,請參閱「發現項目生命週期總覽」。
發現項目中的資訊
發現項目包含下列常見資訊:
- 安全漏洞的說明,包括下列資訊:
- 含有安全漏洞的軟體套件及其位置
- 相關 CVE 記錄的資訊
- Security Command Center 對安全漏洞嚴重性的評估
- 修正問題的步驟 (如有),包括解決安全漏洞的修補程式或版本升級
下列屬性值:
- 類別:
Vulnerability或Secret - 雲端服務供應商:
Google Cloud - 來源:
Vulnerability Assessment - 類別:下列其中一個值:
Container Image VulnerabilityOS vulnerabilitySoftware vulnerabilitySecrets in Cloud Run
- 類別:
某些發現項目 (因服務級別而異) 會使用 Mandiant CVE 評估,提供 CVE 影響和可利用性的相關資訊。
| 標準級 | Premium 和 Enterprise 級 |
|---|---|
| 嚴重程度為「重大」的 CVE 包含 Mandiant 評估資訊 | 嚴重性為「重大」或「高」的 CVE 包含 Mandiant 評估資訊 |
在 Premium 和 Enterprise 服務級別產生的發現項目包含下列資訊:
- 受攻擊風險分數,可協助您優先處理修復作業。
- 以圖表呈現攻擊者可能採取的路徑,以便取得因安全漏洞而暴露的高價值資源。
偵測到的軟體安全漏洞發現項目
偵測到的軟體安全漏洞發現項目包含下列額外資訊:
- 受影響 VM 執行個體或 GKE 叢集的完整資源名稱。
如果發現項目與 GKE 工作負載有關,則會顯示受影響物件的相關資訊,例如:
CronJobDaemonSetDeploymentJobPodReplicationControllerReplicaSetStatefulSet
由於 Google Cloud 的安全漏洞評估功能可在多個
容器中找出相同的安全漏洞,因此 Google Cloud 的安全漏洞評估功能會在
GKE 工作負載層級或 Pod 層級匯總安全漏洞。在發現項目中,您可能會在單一欄位 (例如 files.elem.path 欄位) 中看到多個值。
偵測到的容器映像檔安全漏洞發現項目
偵測到的容器映像檔安全漏洞發現項目包含下列額外資訊:
- 容器映像檔的完整資源名稱
- 如果含有安全漏洞的映像檔在下列任一服務中執行,發現項目會列出受影響的執行階段資源數量:
- GKE Pod
- App Engine
- Cloud Run 服務和修訂版本
- Cloud Run 工作和執行作業
偵測到的 Cloud Run 安全漏洞和 Secret 發現項目
Cloud Run 服務、工作和 worker 集區的發現項目包含下列額外資訊:
- 資源名稱:受影響 Cloud Run 服務 (
//run.googleapis.com/projects/.../locations/.../services/...)、工作 (//run.googleapis.com/projects/.../locations/.../jobs/...) 或 worker 集區 (//run.googleapis.com/projects/.../locations/.../workerPools/...) 的完整資源名稱。 - 使用中的修訂版本:如果是 Cloud Run 服務,發現項目會列出最多五個使用中修訂版本的資源名稱,這些修訂版本會掛接有安全漏洞的容器映像檔,並提供流量。如果是 worker 集區,發現項目會列出執行執行個體的有效修訂版本資源名稱。
- 容器 sidecar:在多容器服務、工作和 worker 集區中,發現項目會指定確切的容器名稱和解析的容器映像檔摘要,其中包含套件安全漏洞或公開的密鑰。
Cloud Run 的發現項目生命週期和保留
如果是 Cloud Run 工作負載,只要有使用中的修訂版本或已執行的工作參照有安全漏洞的容器映像檔,發現項目就會維持 ACTIVE 狀態。當含有乾淨映像檔的新修訂版本取代有安全漏洞的修訂版本,或分配給有安全漏洞修訂版本的流量或執行個體降至 0% 時,系統會自動將發現項目轉換為 INACTIVE。
如要瞭解發現項目的保留時間,請參閱「發現項目的資料保留」。
套件位置
發現項目中安全漏洞的檔案位置,是指二進位檔或套件中繼資料檔案。這項資訊取決於 Google Cloud 的 Vulnerability Assessment 使用的 SCALIBR 擷取器。對於 Vulnerability Assessment for Google Cloud在容器中發現的安全漏洞,這是容器內的路徑。
下表列出各種 SCALIBR 擷取器的安全漏洞位置範例。
| SCALIBR 擷取器 | 套件位置 |
|---|---|
Debian 套件 (dpkg) |
/var/lib/dpkg/status |
| Go 二進位檔 | /usr/bin/google_osconfig_agent |
| Java 封存檔 | /opt/datadog-agent/embedded/lib/python3.9/site-packages/org.jpype.jar |
| PHP | /var/www/html/vkumark/backend_api/composer.lock |
| Python | /usr/lib/google-cloud-sdk/platform/bundledpythonunix/lib/python3.11/site-packages/cryptography-42.0.5.dist-info/METADATA |
| 小茹 | /usr/lib/ruby/gems/2.7.0/specifications/default/benchmark-0.1.0.gemspec |
在控制台中查看發現項目
您可以在 Google Cloud 控制台查看 Google Cloud 的安全漏洞評估發現項目。執行這項操作前,請確認您具備適當的角色。
如要在 Google Cloud 控制台查看 Google Cloud 的安全漏洞評估結果,請按照下列步驟操作:
-
前往 Google Cloud 控制台的 Security Command Center「發現項目」頁面。
- 選取 Google Cloud 專案或組織。
- 在「快速篩選器」部分的「來源顯示名稱」子節中,選取「安全漏洞評估」。發現項目查詢結果會更新,只顯示這個來源的發現項目。
- 如要查看特定發現項目的詳細資料,請按一下「Category」(類別) 欄中的發現項目名稱。系統會開啟發現項目的詳細資料面板,並顯示「摘要」分頁。
- 在「摘要」分頁中,查看發現項目的詳細資料,包括偵測到的內容、受影響的資源,以及可採取的修復步驟 (如有)。
- 選用:如要查看發現項目的完整 JSON 定義,請按一下「JSON」分頁標籤。