Logo

安全與隱私白皮書(概述)第10章

第 10 章:日誌記錄、監控與事件回應

FileBolt 的可觀察性必須符合零知識邊界:系統必須識別故障、偵測攻擊並量化效能 無需引入新的敏感資料外洩向量。本章定義了記錄哪些事件,明確禁止記錄某些信息,概述了警報和異常檢測方法, 並詳細介紹了安全事件回應 (IR) 流程和外部通訊原則。

10.0 總結

  • SHOULD:日誌和監控僅涵蓋必要的操作和安全事件,利用聚合和採樣來最大限度地減少原始細節保留。
  • 不能:任何日誌、APM 或錯誤報告不得包含 CEK、URL 片段(location.hash),或包含片段的完整 URL。
  • 不能:不要記錄明文內容、解密區塊或可匯出的金鑰資料。
  • MUST:針對枚舉、暴力破解、流量激增和異常模式建立偵測和警報,並採取遏制措施。
  • MUST:維護事件回應流程(分類、遏制、取證、補救、審查、溝通)。

10.1 記錄事件(極簡主義)

系統日誌和監控應該僅涵蓋「操作和安全所需」的事件集,避免將使用者內容或敏感憑證攝取可觀察系統。 事件分為生命週期、身份驗證、儲存/網路和安全保護,建議聚合。

10.1.1 傳輸生命週期事件

  • 建立轉帳(產生transferId)
  • 上傳區塊完成(以密文等級記錄,而不是明文)
  • 清單寫入/更新
  • 過期清理、使用者刪除/撤銷(包括清理任務觸發&完成)
  • 下載開始/完成(以密文下載等級測量)

10.1.2 認證和授權事件

  • 會話令牌頒發、驗證失敗(範圍不符、過期、撤銷等)
  • 長期登入令牌驗證失敗(管理操作被拒絕)
  • 可疑的存取模式:401/403/404 中的異常峰值

注意:僅記錄“結果和原因代碼”。 不能 記錄token明文、授權頭明文或簽名參數明文。

10.1.3 系統健康狀況和性能指標

  • 請求延遲 (p50/p95/p99)、錯誤率、吞吐量
  • 物件儲存讀取/寫入失敗率、來源取得失敗率、重試次數
  • 邊緣節點異常、佇列積壓、後台清理任務成功率
  • 頻寬和流量趨勢(聚合維度)

10.1.4 安全保護事件

  • 速率限制觸發器、WAF/防火牆規則命中
  • 可疑枚舉/暴力行為的閾值觸發器
  • 併發及流量異常(同源高併發、資源熱度異常)

10.1.5 聚合和採樣

  • SHOULD:按分鐘/小時聚合計數和延遲分位數,以減少粒度日誌。
  • SHOULD:對高頻成功請求進行取樣,僅保留錯誤和異常路徑的必要詳細資訊。
  • SHOULD:為異常事件保留穩定的分類欄位(例如,eventType、reasonCode),以便於稽核和機器分析。

10.2 禁止資訊(CEK、片段、憑證)

維持零知識承諾的關鍵是在所有可觀測系統中嚴格執行「敏感資料禁止」政策。 此策略必須涵蓋:伺服器日誌、APM、錯誤報告、第三方監控、客戶端日誌和瀏覽器控制台輸出。

10.2.1 伺服器端不得記錄

  • CEK (內容加密金鑰)和任何衍生資料
  • 網址片段 (#...), location.hash,以及包含片段的完整 URL
  • 明文內容:文件明文、預覽內容、解密區塊或任何明文摘要
  • 敏感憑證明文:會話令牌、長期令牌、授權標頭明文、簽名 URL 中的簽名欄位明文

如果調試需要記錄 URL: MUST 清理(​​刪除片段;編輯或刪除敏感查詢)並在程式碼層級強制執行(不依賴手動約定)。

10.2.2 客戶端不得記錄

  • 不列印 location.href (可能包含片段)在生產環境中
  • 不要在錯誤報告中包含帶有片段、CEK 或 noncePrefix 的 URL
  • 預設應停用或最小化偵錯日誌和開發工具輸出

SHOULD:在前端封裝統一的日誌/報告功能,在輸出/報告之前在內部進行URL清理和敏感欄位過濾。

10.3 監控指標和警報(可用性、效能、安全性)

10.3.1 可用性和效能警報

  • 錯誤率警報:5xx 出現峰值,4xx 出現異常上升(區分身份驗證失敗和濫用)
  • 延遲警報:p95/p99 閾值違規、區域來源取得異常
  • 儲存警報:物件儲存寫入失敗、讀取逾時增加
  • 清理任務警報:過期清理積壓、刪除任務重試次數過多

10.3.2 安全警報

  • 限速命中率異常上升
  • 高頻401/403/404來自同一來源,疑似枚舉/暴力破解
  • 單一資源下載頻寬/併發異常,疑似流量氾濫或盜鏈
  • 關鍵策略變更(例如 WAF 規則、CSP/標頭變更)應觸發更改審核和警報(如果適用)

10.3.3 警報治理

  • SHOULD:使用輪換/升級路徑對警報 (P0/P1/P2) 進行分類。
  • SHOULD:將去抖/視窗聚合應用於吵雜的指標,以避免警報疲勞。
  • SHOULD:為每個警報附加最少的診斷資訊(原因代碼、趨勢圖、受影響的區域/路線),不包括敏感資料。

10.4 異常檢測和濫用識別

文件傳輸服務自然面臨枚舉、暴力破解、流量氾濫、資源濫用等風險。本節概述了可偵測訊號和響應原理。 具體的門檻和策略必須根據業務規模和誤報成本動態調整。

10.4.1 常見異常模式

  • Enumeration:短時間內大量探測transferId/資源路徑,峰值為404/401/403。
  • 暴力破解:高頻嘗試短代碼/密碼/令牌,故障率曲線異常。
  • 流量氾濫:單一資源頻寬異常、同源海量並發、重複下載。
  • 協定異常:區塊順序不合理、重複上傳、頻繁中斷/重試、異常 UA 模式。

10.4.2 緩解策略(原則)

  • SHOULD:速率限制、分級禁止、質詢機制(如果適用)、基於 ASN/區域/指紋的動態策略。
  • SHOULD:對誤報敏感的路徑(一般使用者可能會頻繁下載)採取較溫和的策略(例如延遲、分段節流)。
  • MUST:保留所採取操作的可審核觸發器(原因代碼、閾值類別)並提供支援管道(如果適用)。

10.5 事件回應流程

FileBolt 必須建立安全事件回應 (IR) 流程,以確保快速損害控制、可審查性和透明通訊。 可能影響零知識承諾的事件(例如 XSS、供應鏈注入、片段日誌洩漏)應視為最高優先順序。

  1. Triage:依影響範圍和嚴重性分類(例如 P0/P1/P2),定義升級路徑和擁有者。
  2. Containment:快速隔離風險源(禁止攻擊源、暫時停用功能、收緊策略、輪換密鑰/代幣)。
  3. 取證與審查:根據最少的日誌和指標重建時間軸;記錄決策、影響、補救和改進。
  4. 修復與驗證:部署修補程式、回歸測試、安全驗證、第三方掃描重新測試(如有必要)。
  5. 溝通與揭露:向使用者和公眾透明地解釋,而不擴大攻擊面;如有必要,發布狀態頁面事件報告。

外部溝通應明確:關鍵資料或明文是否可能暴露、影響範圍、採取的措施以及使用者需要採取的行動(如果有)。

10.6 資料保留和存取控制

日誌和監控資料本身就是敏感資產。應應用最短的有用保留期和最小權限存取控制,以最大程度地減少洩漏和濫用風險。

  • SHOULD:為日誌類型設定不同的保留期限(錯誤和安全事件的保留時間稍長,成功請求詳細資訊的保留時間較短或不保留)。
  • SHOULD:對日誌和監控平台使用最小權限存取(RBAC)並保留存取審核。
  • SHOULD:在匯出/共用日誌時執行清理和最小化(禁止攜帶敏感憑證和 PII)。

10.7 第三方監控與整合原則

預設情況下,第三方 APM/錯誤追蹤工具可能會收集 URL、標頭、表單欄位和裝置資訊。 如果使用第三方監控,請確保其收集邊界不違反零知識承諾。

  • MUST:不要在下載/解密頁面載入第三方腳本(與第9章一致)。
  • MUST:明確配置第三方採集:無分片、無敏感標頭明文、無明文內容。
  • SHOULD:統一報告的 URL 清理;禁止或強烈屏蔽可能包含敏感欄位的有效負載。
  • SHOULD:優先考慮伺服器端聚合指標而不是客戶端精細跟踪,以減少端點收集表面。

10.8 相關聲明 ID(保留)

本章涵蓋「禁止敏感資料記錄、警報和 IR、第三方監控限制」。 相應的索賠 ID 將添加到 附錄:索賠 ID 主列表 作為唯一的權威來源。