外洩:Cloud SQL 權限過度授予

本文說明 Security Command Center 中的威脅發現項目類型。威脅偵測工具偵測到雲端資源中可能存在威脅時,就會產生威脅發現項目。如需可用威脅發現項目的完整清單,請參閱「威脅發現項目索引」。

總覽

已將 PostgreSQL 資料庫的所有權限 (或資料庫中的所有函式或程序) 授予一或多個資料庫使用者。

回應方式

如要回應這項發現,請按照下列步驟操作:

步驟 1:查看調查結果詳細資料

  1. 按照「查看結果」一文的說明,開啟 Exfiltration: Cloud SQL Over-Privileged Grant 發現項目。
  2. 在調查結果詳細資料面板的「摘要」分頁中,查看下列各節的資訊:

    • 偵測到的內容,特別是下列欄位:
      • 資料庫顯示名稱:受影響的 Cloud SQL PostgreSQL 執行個體中的資料庫名稱。
      • 資料庫使用者名稱:授予過多權限的 PostgreSQL 使用者。
      • 資料庫查詢:執行 PostgreSQL 查詢,授予權限。
      • 資料庫權限擁有者:擁有過於廣泛權限的權限擁有者。
    • 受影響的資源,尤其是下列欄位:
      • 資源完整名稱:受影響的 Cloud SQL PostgreSQL 執行個體資源名稱。
      • 父項完整名稱:Cloud SQL PostgreSQL 執行個體的資源名稱。
      • 專案完整名稱:包含 Cloud SQL PostgreSQL 執行個體的專案。 Google Cloud
    • 相關連結,尤其是下列欄位:
      • Cloud Logging URI:記錄檔項目的連結。
      • MITRE ATT&CK 方法:連結至 MITRE ATT&CK 文件。
      • 相關發現項目:任何相關發現項目的連結。
  3. 如要查看調查結果的完整 JSON,請按一下「JSON」分頁標籤。

步驟 2:查看資料庫權限

  1. 連線至 PostgreSQL 資料庫
  2. 列出並顯示下列項目的存取權限
    • 資料庫。使用 \l\list 中繼指令,然後檢查為「資料庫顯示名稱」 (來自步驟 1) 指派的權限。
    • 函式或程序。使用 \df 中繼指令,並檢查在「資料庫顯示名稱」 (來自步驟 1) 中列出的資料庫內,函式或程序已指派哪些權限。

步驟 3:檢查記錄

  1. 在 Google Cloud 控制台中,按一下「Cloud Logging URI」(來自步驟 1) 中的連結,前往「Logs Explorer」(記錄檔探索工具)。 「記錄檔探索工具」頁面會列出與相關 Cloud SQL 執行個體有關的所有記錄。
  2. 在「記錄檔探索工具」中,使用下列篩選條件檢查 PostgreSQL pgaudit 記錄,其中會記錄對資料庫執行的查詢:
    • protoPayload.request.database="var class="edit">database"

步驟 4:研究攻擊和回應方法

  1. 查看這類發現項目的 MITRE ATT&CK 架構項目: 透過網路服務進行資料外洩
  2. 如要判斷是否需要採取其他補救措施,請將調查結果與 MITRE 研究結合。

步驟 5:實作回應

下列回應計畫可能適用於這項發現,但也可能影響作業。 請仔細評估調查期間收集到的資訊,找出解決問題的最佳方法。

  • 請與具有過度授權的執行個體擁有者聯絡。
  • 在調查完成前,請考慮撤銷「資料庫受讓人」中列出的所有受讓者權限。
  • 如要限制資料庫存取權 (來自步驟 1 的「資料庫顯示名稱」),請從受讓人 (來自步驟 1 的「資料庫受讓人」) 撤銷不必要的權限。

後續步驟