1. 簡介
儘管密碼認證存在眾所周知嘅安全挑戰,佢仍然係網絡認證嘅主流方法。用戶喺創建同記住高強度、獨特密碼時面臨認知負擔,導致密碼重用同創建弱憑證。密碼管理器承諾透過生成、儲存同自動填充密碼嚟減輕呢個負擔。然而,佢哋嘅安全性喺先前研究中受到質疑。本文喺重大漏洞上次被報告五年後,對十三款熱門瀏覽器密碼管理器進行咗更新、全面嘅安全性評估。研究涵蓋密碼管理器嘅完整生命週期:生成、儲存同自動填充。
2. 方法論同研究範圍
評估涵蓋十三款密碼管理器,包括五款瀏覽器擴充功能(例如 LastPass、1Password)、六款內置瀏覽器管理器(例如 Chrome、Firefox)同兩款桌面客戶端作比較。方法論包括:
- 生成同分析一個包含1.47億個密碼嘅語料庫,評估其隨機性同強度。
- 複製同擴展先前對密碼儲存安全性嘅評估。
- 測試自動填充機制是否存在點擊劫持同XSS等漏洞。
- 評估預設安全設定同加密實踐。
3. 密碼生成分析
呢個係首次對密碼管理器嘅密碼生成算法進行全面分析。
3.1. 字符分佈同隨機性
對1.47億密碼語料庫嘅分析揭示咗生成密碼中存在多個非隨機字符分佈嘅情況。部分管理器喺字符選擇上表現出偏差,偏離均勻隨機分佈。對於一個真正隨機嘅生成器,從大小為 $N$ 嘅集合中選擇任何字符嘅概率應該係 $P(char) = \frac{1}{N}$。偏離呢個值表示算法存在缺陷。
3.2. 對猜測攻擊嘅脆弱性
最關鍵嘅發現係,一部分生成嘅密碼容易受到暴力破解攻擊:
- 線上猜測: 發現短於10個字符嘅密碼對受速率限制嘅線上攻擊較弱。
- 離線猜測: 短於18個字符嘅密碼喺數據庫洩漏後,容易受到離線破解嘗試,攻擊者可以進行無限次猜測。
呢個同密碼管理器創建強密碼嘅核心承諾相矛盾。
4. 密碼儲存安全性
雖然同五年前嘅評估相比有所改進,但重大問題仍然存在。
4.1. 加密同元數據處理
發現多款密碼管理器以未加密形式儲存元數據。呢啲包括網站網址、用戶名同時間戳。雖然密碼本身可能被加密,但呢啲元數據為攻擊者提供咗有價值嘅地圖,揭示用戶嘅網上帳戶同習慣,可用於針對性釣魚或社交工程攻擊。
4.2. 唔安全嘅預設設定
部分管理器有不安全嘅預設設定,例如預設喺所有網站啟用自動填充,或使用較弱嘅加密協議。呢個將安全負擔轉嫁畀用戶去發現同更改呢啲設定,而大多數用戶並唔會咁做。
5. 自動填充機制漏洞
為方便而設計嘅自動填充功能,引入咗一個重大嘅攻擊面。
5.1. 點擊劫持同介面偽裝
多款密碼管理器容易受到點擊劫持攻擊。攻擊者可以創建一個帶有隱藏圖層嘅惡意網頁,誘使用戶點擊密碼管理器嘅自動填充對話框,從而將憑證洩露畀攻擊者嘅網站,而非預期嘅合法網站。
5.2. 跨網站指令碼(XSS)風險
如果自動填充機制喺未進行嚴格來源檢查嘅情況下將憑證注入網頁表單,則可以透過其他受信任網站上嘅XSS漏洞被利用。如果一個良性網站存在XSS缺陷,注入嘅指令碼可能會觸發密碼管理器將憑證填充到攻擊者控制嘅隱藏表單字段中。
6. 結果同比較分析
語料庫大小
1.47億
已分析密碼
測試管理器數量
13
瀏覽器同桌面版
關鍵缺陷
<18 字符
易受離線破解
主要發現: 同先前研究(例如 Li 等人,2014;Silver 等人,2013)相比,整體情況有所改善,但基本安全缺陷仍然喺多個供應商中存在。冇任何一款密碼管理器喺所有三個評估階段(生成、儲存、自動填充)都完美無瑕。內置瀏覽器管理器同專用擴充功能都表現出唔同嘅漏洞模式。
7. 建議同未來方向
本文以可行嘅建議作結:
- 對用戶: 避免使用已知有生成缺陷或自動填充預設唔安全嘅密碼管理器。優先選擇允許對自動填充行為進行細粒度控制嘅管理器。
- 對開發者: 為密碼生成實施密碼學安全隨機數生成器(CSPRNG)。加密所有元數據。為自動填充實施穩健嘅來源檢查同用戶同意機制(例如,要求點擊非介面可偽裝嘅元素)。
- 對研究人員: 探索整合形式化方法嚟驗證自動填充邏輯,以及應用機器學習嚟檢測指示攻擊嘅異常自動填充請求。
8. 原創分析同專家評論
核心見解: Oesch 同 Ruoti 嘅研究提供咗一個令人清醒嘅現實檢驗:我哋信任嚟整合數位鑰匙嘅安全工具,本身竟然建立喺令人震驚嘅脆弱基礎之上。重大漏洞被揭露五年後,行業嘅進展最多只能算係漸進式,未能解決所有三個核心支柱——生成、儲存同自動填充——中嘅系統性問題。呢個唔單止係一份錯誤報告;佢係對一個關鍵安全領域自滿情緒嘅控訴。
邏輯流程: 本文嘅力量在於其整體生命週期方法。佢正確指出,一條鏈嘅強度取決於最弱嘅一環。喺生成中發現非隨機性($P(char) \neq \frac{1}{N}$)從根本上破壞咗整個前提,甚至未考慮儲存或自動填充。複製過去嘅儲存/自動填充測試隨後顯示出一種模式:雖然表面漏洞可能被修補,但架構性缺陷(如未加密嘅元數據或過於寬鬆嘅自動填充)仍然存在。呢種從有缺陷嘅創建到唔安全嘅處理再到有風險嘅部署嘅邏輯進展,描繪出一幅完整且具譴責性嘅圖景。
優點同缺陷: 本研究嘅主要優勢係其對密碼生成採用嘅大規模、數據驅動方法——係文獻中嘅首次。1.47億密碼語料庫提供咗算法弱點嘅無可辯駁嘅統計證據,超越咗理論擔憂。然而,分析存在一個盲點:佢主要將密碼管理器視為孤立嘅客戶端。現代現實係雲端同步同流動應用程式。正如《IEEE安全與隱私研討會》關於雲安全模型嘅會議記錄所指,威脅面已擴展到同步協議、伺服器端API同流動作業系統整合,而本研究並未評估呢啲方面。此外,雖然佢提到「唔安全嘅預設設定」,但並未量化安全設定嘅用戶採用率——呢個係現實世界風險嘅關鍵因素,正如《USENIX SOUPS》會議嘅可用性研究一致顯示,大多數用戶從不更改預設設定。
可行見解: 對於企業安全團隊,呢項研究要求從「使用密碼管理器」嘅籠統建議,轉向針對特定供應商、特定配置嘅指導。具有弱生成器嘅管理器必須被列入黑名單。採購清單而家必須包括驗證CSPRNG使用同元數據加密。對於開發者,前進道路清晰:對自動填充採用「零信任」原則,要求對每次填充操作都有明確、情境感知嘅用戶同意,類似於萬維網聯盟(W3C)為強大網絡API倡導嘅權限模型。未來唔在於試圖完美保護一個過度寬鬆嘅自動填充,而在於設計一個最小權限、用戶控制嘅自動填充。行業喺五年內未能自我糾正,表明監管或標準機構(例如NIST或FIDO聯盟)嘅干預可能係必要嘅,以強制執行呢啲數位身份守護者嘅基本安全要求。
9. 技術細節同實驗結果
密碼生成分析: 從字符集 $C$ 生成長度為 $L$ 嘅密碼,其熵 $H$ 理想情況下應為 $H = L \cdot \log_2(|C|)$ 位元。研究發現,由於字符選擇存在偏差,有效熵較低嘅情況。例如,如果一個生成器打算使用94個字符集,但某些字符出現嘅概率 $p \ll \frac{1}{94}$,則實際熵會降低:每個字符嘅 $H_{actual} = -\sum_{i=1}^{94} p_i \log_2(p_i)$,其中 $\sum p_i = 1$。
實驗圖表描述: 研究中嘅一個關鍵圖表會繪製被破解密碼嘅累積比例對比猜測嘗試次數(對數尺度),針對唔同長度(例如8、12、16字符)嘅生成密碼。短於10字符密碼嘅曲線會顯示急劇上升,表明喺線上攻擊模擬(例如1000次猜測)下迅速被攻破。短於18字符密碼嘅曲線會顯示喺 $10^{10}$ 到 $10^{12}$ 次離線猜測後有顯著比例被破解,將佢哋置於擁有現代硬件嘅堅定攻擊者能力範圍內,正如Hashcat同彩虹表等工具所基準測試嘅那樣。
10. 分析框架同案例研究
評估密碼管理器安全性嘅框架:
- 生成完整性: 統計測試輸出嘅隨機性(例如NIST STS、Dieharder測試)並計算有效熵。驗證最小長度預設設定是否符合當前NIST指南(>= 12字符)。
- 儲存安全性: 檢查本地儲存(例如瀏覽器IndexedDB、SQLite文件)同網絡流量中嘅加密與明文數據。審計加密庫同金鑰派生函數(例如,佢係咪使用具有足夠迭代次數嘅PBKDF2,抑或Argon2?)。
- 自動填充安全態勢: 映射自動填充觸發機制。透過創建重疊嘅iframe嚟測試介面偽裝。透過部署具有相似域名嘅網站(例如 `example.com` 對比 `example.com.evil.net`)嚟測試來源匹配邏輯。檢查自動填充係咪要求用戶喺非可預測頁面元素上進行手勢操作。
案例研究 - 點擊劫持漏洞: 考慮管理器X,佢喺登入表單上方顯示一個自動填充按鈕。攻擊者創建一個惡意頁面,其中包含一個載入 `bank.com` 嘅隱藏iframe。iframe被定位,令管理器X嘅自動填充按鈕出現喺惡意頁面上一個隱藏嘅「提交畀攻擊者」按鈕上方。用戶點擊以自動填充,但實際上點擊咗攻擊者嘅按鈕,將 `bank.com` 嘅憑證發送到攻擊者嘅伺服器。呢個展示咗管理器嘅點擊事件綁定同來源驗證失敗。
11. 未來應用同研究展望
研究結果為未來工作開闢咗幾個方向:
- 硬件支援嘅生成同儲存: 與可信平台模組(TPM)或安全隔離區(例如Apple嘅Secure Element)整合,用於生成隨機種子同儲存加密金鑰,將秘密移出純軟件領域。
- 情境感知、基於風險嘅自動填充: 利用機器學習分析頁面情境(DOM結構、證書細節、網站聲譽)以評估自動填充風險。高風險情境可能需要額外認證(生物特徵)或完全阻止自動填充。
- 標準化安全API: 開發瀏覽器標準化、帶權限嘅密碼管理器API(例如 `chrome.loginState` API嘅後繼者),以提供安全、沙盒化嘅憑證存取,並帶有清晰嘅用戶同意提示,減少來自任意DOM注入嘅攻擊面。
- 後量子密碼學準備: 研究將密碼管理器加密遷移到能抵抗量子電腦攻擊嘅算法,因為加密保管庫係一個長壽命資產,對「現在採集,稍後解密」嘅對手極具吸引力。
- 去中心化同自我託管模型: 探索使用去中心化身份協議(例如基於W3C可驗證憑證),以減少對中央保管庫嘅依賴,分散風險並畀予用戶更大控制權。
12. 參考文獻
- Oesch, S., & Ruoti, S. (2020). That Was Then, This Is Now: A Security Evaluation of Password Generation, Storage, and Autofill in Browser-Based Password Managers. USENIX Security Symposium.
- Li, Z., He, W., Akhawe, D., & Song, D. (2014). The Emperor's New Password Manager: Security Analysis of Web-based Password Managers. IEEE Symposium on Security and Privacy (SP).
- Silver, D., Jana, S., Boneh, D., Chen, E., & Jackson, C. (2013). Password Managers: Attacks and Defenses. USENIX Security Symposium.
- National Institute of Standards and Technology (NIST). (2017). Digital Identity Guidelines (SP 800-63B).
- Stock, B., & Johns, M. (2013). Protecting the Intranet Against "JavaScript Malware" and Related Attacks. International Conference on Detection of Intrusions and Malware, and Vulnerability Assessment (DIMVA).
- Herley, C. (2009). So Long, And No Thanks for the Externalities: The Rational Rejection of Security Advice by Users. Proceedings of the New Security Paradigms Workshop (NSPW).
- World Wide Web Consortium (W3C). (2021). Permissions Policy. https://www.w3.org/TR/permissions-policy-1/
- FIDO Alliance. (2022). FIDO2: WebAuthn & CTAP. https://fidoalliance.org/fido2/