Inside a large self-hosted VRP by Sam Erb | Bug Bounty Village, DEF CON 33
三句話摘要
Google 安全工程師分享漏洞賞金計劃運作流程,並揭示一個通過 GZIP 壓縮繞過防護機制實現任意代碼注入的技術漏洞。 Google VRP 通過自主運作、透明獎勵與技術升級支持,在激勵安全研究與保護使用者間找到平衡,GZIP 漏洞案例則展示了即使在常見技術中仍存在被忽視的深層攻擊面。 Google VRP 的流程與規模 — 團隊每週接收約 250 份漏洞報告,其中 15-25% 被升級、50% 的升級報告最終獲得獎勵。Alphabet 去年支付近 1200 萬美元獎金,涵蓋 Android、Chrome 及多個開源項目,是行業內自主運作的漏洞賞金計劃,不依賴第三方平台如 HackerOne 或 BugCrowd。
重點整理
重點- 1
Google VRP 的流程與規模 — 團隊每週接收約 250 份漏洞報告,其中 15-25% 被升級、50% 的升級報告最終獲得獎勵。Alphabet 去年支付近 1200 萬美元獎金,涵蓋 Android、Chrome 及多個開源項目,是行業內自主運作的漏洞賞金計劃,不依賴第三方平台如 HackerOne 或 BugCrowd。
- 2
GZIP 壓縮技術的漏洞 — GZIP 基於 Deflate 協議,結合 LZ77 回溯算法和霍夫曼編碼。發現可透過操縱霍夫曼編碼表的建置過程,在壓縮輸出中注入任意字符串,實現 XSS 攻擊,這是首次在不受控環境下成功實現此技巧。
- 3
Google VRP 的獨特做法 — 不使用業界標準的 CVSS 評分系統,而是根據實際對 Google 用戶的影響程度決定獎勵金額。安全工程師會主動升級漏洞嚴重等級,研究人員因此獲得更高獎勵,形成雙贏局面。
- 4
公開披露與獎勵政策 — Google 鼓勵研究人員公開披露漏洞,對意外洩露的內部文件給予統一 500 美元獎勵,不歧視外部研究人員。允許資訊公開並協助安全披露,區別於其他平台的保密政策。
實用技巧與重點
乾貨- 數據與規模
- 每週 250 份漏洞報告
- 15-25% 升級率
- 升級報告中 50% 獲獎
- Alphabet 去年支付近 1200 萬美元
- Lifetime 共支付 6500 萬美元
- 意外公開文件標準獎勵 500 美元
- 技術細節
- GZIP 基於 Deflate 協議(Deflate = LZ77 + 霍夫曼編碼)
- LZ77:識別重複字符串並用標籤替換
- 霍夫曼編碼:將 8 位字符壓縮至更少位數
- RFC 規定 LZ77 匹配需至少 3 個連續字符
- 實現工具:Go 語言(Python 實現方式不同)
- 蠻力破解需 8 分之 1 的概率修正檢驗和
- 漏洞分類與獎勵
- 等級系統:P0-P2(非 CVSS)
- CVE 提交時才使用 CVSS 評分
- 不使用聲譽系統,按報告本身優點評判
- 獎勵基準:根據使用者影響程度決定金額
- 涉及產品:Android、Chrome、Google 服務、開源項目
結論
結論“Google VRP 通過自主運作、透明獎勵與技術升級支持,在激勵安全研究與保護使用者間找到平衡,GZIP 漏洞案例則展示了即使在常見技術中仍存在被忽視的深層攻擊面。”
完整解析
詳細Google 的虛擬研發工程師 Sam 介紹了 Google 漏洞賞金計劃 (VRP) 的運作體系與一個具體的技術漏洞案例。作為 Alphabet 安全工程師團隊的成員,Sam 每天面臨的任務是對數千份漏洞報告進行分類、重現與驗證。與業界依賴 HackerOne 或 BugCrowd 等第三方平台不同,Google VRP 完全自主運作,確保所有處理流程由內部安全團隊主導。從規模看,團隊每週處理約 250 份漏洞報告,其中 15-25% 被升級進入評估流程,最終約 50% 的升級報告會獲得獎勵。Alphabet 去年為 VRP 計劃支付近 1200 萬美元,迄今為止累計支付 6500 萬美元,涵蓋 Android、Chrome 與多個開源項目。
Google VRP 與業界其他計劃的核心區別在於評估與獎勵的邏輯。首先,Google 不使用 CVSS(通用漏洞評分系統)評分來決定獎勵,而是根據漏洞對 Google 用戶的實際影響程度進行評判。當研究人員提交報告時,系統先進行初步篩選(Google 內部稱為「分診」),然後由人工審核決定是否升級。若安全工程師發現漏洞的實際危害超過初始評估,會主動升級等級,研究人員因此獲得更高獎勵——這是一種雙贏的做法。其次,Google 鼓勵公開披露漏洞,對於意外洩露的內部文件或敏感訊息,給予統一 500 美元的獎勵,而非懲罰研究人員。不使用聲譽系統意味著每份報告都基於本身的優點評估,而非報告人的過往記錄。
演講的另一重點是對一個真實漏洞的技術分析——透過 GZIP 壓縮實現任意代碼注入的 XSS 攻擊。GZIP 是 1990 年代的壓縮算法,基於 Deflate 協議,結合了兩項更古老的技術:LZ77 和霍夫曼編碼。LZ77 檢測並標籤化重複字符串,霍夫曼編碼則將常見字符的位數從 8 位壓縮至更少。根據 RFC 標準,LZ77 只對連續 3 個或以上的字符進行匹配以避免低效。發現者(Tom)利用雙字符字符串技巧繞過匹配邏輯,然後通過隨機化字符與長度來每次產生不同的霍夫曼編碼表。這樣做的目的是在壓縮過程中,將任意字符串的編碼值插入到輸出中。透過刪除先前的字符出現記錄確保編碼表維持不變,最後以蠻力破解修正檢驗和(每 8 次嘗試成功一次)來完成攻擊。使用 Go 語言實現的程式碼實際上能將 `<script>` 標籤等任意內容列印到壓縮輸出中,並在瀏覽器中有效執行。這是首次在不受控環境下成功將任意字符串注入 GZIP 壓縮流,區別於過往受控場景與自我壓縮 GZIP quines 等奇異例子。
漏洞發現後,Google 安全團隊決定升級其嚴重性等級並要求修復。這個案例展示了 Google VRP 團隊與研究人員的協作方式:當發現報告價值時,主動與研究人員一起證明其影響力,爭取更高的獎勵。問答環節中提及,Google 在不同漏洞類別中設有獎勵區間,具體金額取決於影響程度、影響人數及技術難度等因素,但 Google 傾向於在未來進一步提高透明度。最後,演講強調了 Google 與行業標準的另一差異:CVE 提交時才使用 CVSS 評分,而內部流程完全不涉及 CVSS,使用 P0-P2 等級系統,保持決策靈活性與對實際威脅的準確回應。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

