遠端 Spectre 攻擊竊取 Cloudflare Workers JWT,速度提升 360 倍
核心重點
資安研究團隊公開了一項針對 Cloudflare Workers 的遠端 Spectre 攻擊實驗,成功以每秒 12 位元的速率從同一實體機器上共置的 Worker 中竊取 JSON Web Token(JWT),比 2021 年首次示範的攻擊快 360 倍。Cloudflare 已在生產環境部署多項防護措施,聲稱過去三年未偵測到活躍利用跡象。
背景與技術細節
Cloudflare Workers 讓多租戶程式碼在同一作業系統行程內的多個 V8 隔離(isolate)中執行,採用語言層級的隔離機制以降低啟動延遲。研究人員在受控環境中同時部署「攻擊者」Worker 與「受害者」Worker,並將 JWT 故意放入受害者的記憶體。透過 WebSocket 作為遠端計時來源,結合 Durable Objects(可讓單一 isolate 持續運作 5 至 20 多小時)以及大量 I/O 活動,研究者成功繞過 Cloudflare 的 DyPrIs(Dynamic Process Isolation,動態程序隔離)偵測機制。
DyPrIs 會在每次呼叫結束後將可疑腳本移至獨立行程,但若 Durable Object 持續執行,隔離會被延遲。大量 WebSocket I/O 會提升指令快取(iTLB)活動,使 DyPrIs 用來偵測的分支錯誤預測訊號被壓低至偵測門檻以下。研究指出,這兩個弱點不是實作疏失,而是 偵測方法本身的根本限制:偵測必須在執行期間即時進行,且使用不可被 I/O 抑制的訊號。
影響與 Cloudflare 的回應
Cloudflare 表示已在生產環境中改進 DyPrIs、整合 V8 Sandbox,並部署基於 Memory Protection Keys(MPK) 的行程內隔離技術,以防止類似跨租戶記憶體讀取。公司同時指出,攻擊過程未取得任何客戶資料,且在過去三年內未發現實際利用案例。
此事件凸顯在多租戶雲端執行環境中,僅靠語言層級隔離難以防止微架構側通道攻擊(Spectre)。即使不涉及 V8 漏洞或沙箱逃逸,純粹的時間測量與 I/O 行為亦足以泄漏機密資訊。
未來展望與讀者啟示
-
加強即時偵測:雲端平台需研發能在指令層面即時捕捉異常的監控機制,避免依賴可被 I/O 抑制的統計訊號。
-
硬體支援的安全隔離:MPK 及類似的記憶體保護技術將成為防禦側通道攻擊的關鍵,業者應加速在所有執行節點上部署。
-
開發者安全意識:即使使用受管理的 Serverless 服務,開發者仍應避免在程式碼中直接處理高敏感度憑證,或採用短命 JWT、加密儲存等防護措施。
此案例提醒業界,「速度」不再是唯一的安全衡量指標,在高度共享的雲端基礎設施中,微秒級的計時資訊亦可能成為攻擊的突破口。持續追蹤 Cloudflare 以及其他雲端供應商的防禦演進,將是企業與安全研究人員的共同課題。
