
Worldcoin 項目建立在對隱私和安全的承諾基礎上。 作為此承諾的一部分,項目貢獻者Tools for Humanity (TFH) 與 Worldcoin 基金會合作,邀請受人尊敬的安全專家Trail of Bits 對 Orb 的軟體進行專門審核。 除了典型的安全評估之外,Trail of Bits 專注於評估一系列與 Orb 隱私和功能相關的聲明。
最終報告在這裡可以取得。
評估的範圍
Trail of Bits 於2023年8月14日開始他們的評估,基於與SemVer 3.0.10凍結的軟體版本。 截至2024年3月14日,部署到 Orbs 的軟體當前版本是4.0.34,首次發佈日期為2024年1月17日。
TFH 提供了一系列非詳盡的技術聲明,以確定審核的範圍,嘗試驗證其實施情況。 這些聲明針對已凍結的版本軟體發佈。2023年7月8日
1. 對於默認的選擇退出註冊流程,Orb 收集的個人可識別信息(PII)僅包括虹膜碼
- 在 Orb 上沒有將個人可識別信息寫入持久存儲中
- 除虹膜碼外,沒有個人可識別信息會離開 Orb (例如上傳)
2. 對於非默認的選擇加入註冊流程,PII 由 Orb 安全處理
- 裝置上保存的唯一 PII 是在 Orb 的 SSD 上並進行非對稱加密*
- 儲存在 Orb 的 SSD 上的非對稱加密 PII 無法被 Orb 解密
3. Orb 不會從用戶的設備中提取任何敏感數據
- Orb 從用戶手機收集的唯一信息是 QR 碼。**
4. 用戶的虹膜碼被安全處理
- 用戶的虹膜碼不會被寫入到 Orb 的持久性存儲中
- 用戶的虹膜碼僅包含在發送到 Orb 後端的單個請求中***
- 虹膜碼只能發送到已批准的伺服器,且網路通信是端對端加密的。
* 自 4.0.XX 版本發佈以來,無論資料保管選擇如何,Orb 不再將任何數據保存到 SSD。
** 在 Orb 軟體版本 3.0.10 中,QR 碼包含了一個 128 位的 UUID user_id 和一個 data_policy 布林值,代表用戶的數據保管選擇,還有一個供內部使用的可選的 DataCollectionConfig 結構。 在軟體版本4.0.0中,QR碼已被修改為包含一個用於包括用戶公鑰的加密散列,命名為user_data_hash。 此散列用於驗證在加密數據至用戶設備時使用的是正確的公鑰。
*** 在軟體版本4.0.0中,將新增一項「個人保管」功能,會使用用戶的公鑰將虹膜代碼和生物識別數據的額外副本直接加密至用戶的設備上。
這些主張在與 Trail of Bits 的協調下,進一步被細化為可在最終報告中找到的具體目標。 Orb的客戶用戶空間應用程式在Rust以及其基於Debian的操作系統內定義為在此評估範疇內,而以下組件被排除在原始聲明的適用性之外:
- Bootloader配置
- 驅動程式修改
- TrustZone應用程式
- 安全元件介面
目標的完整列表在最終報告中列舉。
評估結果
三位顧問共進行了六個工程周的審查。 審核人員獲得了完整的原始碼訪問權限,並可在運行時存取兩個評估用Orb。 儘管報告描述了潛在的攻擊面(TOB-ORB-4 和 TOB-ORB-5, TOB-ORB-10, 和 TOB-ORB-11),他們總結道「我們的分析未發現Orb的代碼中存在可直接在專案目標所描述的情況下利用的漏洞。」 此外,雖然 Trail of Bits 的審查發現了一些未確認的問題,這些問題理論上可能影響專案目標,且受影響的代碼在此後已進行更新,但審計並未發現任何情況會直接危害專案目標,不論是透過已知的漏洞或在正常運行期間。
Trail of Bits 審計員提供了專業建議,以加強核心配置的安全性,並提供了運行時軟體的工具和技術,詳情可在最終報告中查閱。
主張 1:預設選擇退出註冊流程
評估結果結論審計版本的軟體配置不會保留或外洩個人識別資訊(PII),除了來自 Orb 的“虹膜碼”。 Trail of Bits 建議進一步加強配置,以增強 Orb 的“縱深防禦”,以確保未來的配置或代碼變更不會導致意外泄露(發現 TOB-ORB-1)。
主張 2:非預設選擇加入註冊流程
在用戶選擇參與數據保存的情況下,Orb 使用 libsodium 網路庫以單向信封*結構稱為“密封盒”非對稱加密個人識別資訊(PII)。 在最終報告中,審計員指出“我們沒有發現任何地方會在 Orb 的 SSD 外持久化存儲或未加密的個人識別資訊”,並得出結論“一旦 PII 被加密,所述機制不允許 Orb 解密它。”
*最新的程式碼無論選擇哪種資料保管選項,都不儲存資料,而是使用用戶的公鑰重複使用這個加密程式碼於個人保管方案。
主張 3:orb 不會從用戶設備中提取額外數據
當用戶第一次與Orb互動以進行註冊時,會在用戶的設備上顯示一個QR碼,該QR碼由Orb處理。 在相關的程式碼中,審核人員未能識別出Orb從用戶設備收集的任何額外資料或資訊。 然而,評估報告卻強調使用於掃描QR碼的庫(ZBar)可能存在記憶體安全問題(在最終報告中發現TOB-ORB-4)。 作為回應,已將易受攻擊的庫替換為純Rust條碼掃描庫,rxing。
主張 4:用戶的虹膜代碼被安全處理
審核人員嘗試驗證與“虹膜碼”處理和傳送至後端相關的說法。 他們報告表示“我們相信虹膜碼不會被寫入Orb中的持久儲存,僅包含於對Orb後端的一次請求中,” 並且“此配置可經改進以提高安全性(TOB-ORB-10),但一般攻擊者不可能從Orb的網路流量中提取虹膜碼;攻擊者必須控制其中一個受信任的憑證。”
結論
Trail of Bits 的全面分析報告中包含所有個別發現和整改措施,以及對聲明的額外分析。
這不是第一次,也不會是最後一次,針對 Orb 的第三方安全評估,隨著更多報告的出爐,將與社群分享。
您可以透過參與 Worldcoin 的漏洞懸賞計畫來幫助保持 Worldcoin 專案的安全性。 有關該項目的其他重要信息可在Worldcoin協定白皮書中獲得。
免責聲明
以上內容僅描述所示日期當下的情況, 此外,受相關風險、不確定性和推測影響,顯示的內容可能不正確,並可能在不另行通知的情況下改變。 完整的免責聲明可以在我們的使用條款中檢閱,重要的使用者訊息可以在我們的風險頁面上檢閱。