刪除不等於消失:從Gyazo 1.74億條已刪圖片元數據泄露説起
Helpfeel 在 9 月 25 日發佈的第二報裏,補上了一個令人不安的數字:約 1.74 億條用户過去已刪除圖片的元數據,同樣在本次 Gyazo 不正訪問事件中流出。第一報披露的是賬號、郵箱等登錄信息,第二報才把範圍擴大到"刪除過的歷史數據"。這個補充本身就是新聞裏最值得咀嚼的部分——它説明刪除操作並沒有讓數據從系統中消失,只是讓它從用户的視野裏消失。
刪除按鈕背後,數據往往還在
大多數人對"刪除"的直覺理解是:文件被抹掉了。但在典型的雲服務架構裏,刪除通常只是一次狀態更新——數據庫裏把某條記錄標記為 deleted,對象存儲裏把對應的 blob 解引用,前端不再展示。物理介質上的字節往往要等到備份輪轉、冷存儲清理週期走完,才可能真正被覆蓋。這個窗口期可以是幾個月,也可以是好幾年,取決於服務商的運維策略和合規要求。
Gyazo 這次的問題正在於此。1.74 億條已刪圖片的元數據,意味着這些記錄在被標記刪除之後,仍然以可被查詢、可被導出的形式存在於某處。攻擊者一旦拿到足夠的訪問權限,歷史數據與當前數據在讀取難度上並沒有本質區別。用户以為"我刪過了",實際上只是"我看不到了"。
這不是 Gyazo 一家的特例,而是中心化雲服務的結構性特徵。服務商為了支持回收站、誤刪恢復、審計追溯、法律留存等需求,天然傾向於保留副本和日誌。保留得越久,運維越省心,合規越安全——代價是數據暴露面隨時間單調遞增。
元數據泄露,比你想的更具體
"只是元數據"這個説法容易讓人放鬆警惕。但圖片元數據通常包含拍攝時間、設備型號、地理座標(若相機寫入 GPS)、上傳者賬號標識、原始文件名,以及圖片在服務內的訪問鏈接結構。把這些字段拼起來,足以還原一個人的活動軌跡、常用設備、社交關係的一部分。
更麻煩的是關聯性。單條元數據價值有限,1.74 億條放在一起就是一份可交叉檢索的行為檔案。安全研究者早就演示過,匿名化的位置數據集通過少量錨點就能重新識別到個人。已刪除圖片的元數據,恰恰是用户最不希望被長期保留的那部分——刪掉它,往往正是因為那張圖或那段時期不想留下痕跡。
一次性的賬,和訂閲制的賬
Gyazo 事件也把一個更基礎的問題推到台前:我們把長期數據託付給按年訂閲的雲服務時,究竟買到了什麼?訂閲制雲盤的經濟模型決定了服務商必須持續運營才能維持數據可訪問。一旦公司調整業務、被收購、或遭遇重大安全事件,用户的續費意願和數據存續就綁在了一起。刪除策略、留存策略、加密策略,全部由服務商單方面決定,用户既看不到也改不了。
另一條思路是把"存儲"從"服務"裏拆出來。Arweave 這類區塊鏈存儲網絡的做法是:上傳時一次性支付一筆與當前存儲成本掛鈎的費用,通過協議層的捐贈基金覆蓋未來多年的物理存儲開銷,數據寫入後由分佈式節點共同持有。它不承諾"永遠"這種絕對詞,但把存續問題從"這家公司明年還在不在"轉移到了"這個網絡還在不在"。對需要長期留存的檔案、合同、家庭影像而言,這個區別不小。
Long Drive 就是基於 Arweave 的一個具體實現,由超算國際在香港運營。它提供可選的客户端 AES-256-GCM 加密——密碼即私鑰,平台側無法解密內容,這一點和 Gyazo 那種服務端可讀的元數據模型是兩套邏輯。新用户有 10MB 終身免費額度,100KB 以下的單文件永久免費,足夠放幾份關鍵文檔試試水。這些不是要論證它比誰更好,而是説明"存儲"這件事存在不同的工程取捨。
真正的問題是:你希望數據活多久
Gyazo 這次泄露的教訓,不在於某家公司安全做得差——入侵事件在任何規模的服務商身上都可能發生。真正的教訓是:數據的生命週期,不應該由用户看不見的服務器策略單方面決定。刪除鍵按下之後數據還活多久、加密密鑰在誰手裏、服務停止後文件還能不能被讀出來,這些問題的答案,決定了你託付出去的東西是"暫時寄存"還是"長期保存"。
選存儲方案時,與其比較界面和同步速度,不如先問一句:五年後、十年後,這份數據還在不在,以及那時候還有誰能打開它。