2.1 傳統密碼猜測
歷史上,密碼猜測依賴於對密碼外洩資料的統計分析(例如,使用 John the Ripper 規則、Hashcat 遮罩,或由 Weir 等人開創的機率式上下文無關文法)。這些方法需要專業知識來制定轉換規則和字典。它們雖然有效,但受制於規則集設計者的創造力,並且難以推廣到新穎、未見過的模式。
基於密碼的身份驗證因其簡單性和使用者熟悉度而仍然無處不在。然而,使用者選擇的密碼眾所周知地可預測,通常較短、基於個人資訊或在多個平台重複使用。這種可預測性造成了重大的安全漏洞。本研究的核心問題是:深度學習模型是否能有效學習並複製人類選擇密碼中固有的、通常是潛意識的複雜模式,從而為安全測試與分析生成新穎且逼真的密碼候選項。
本文超越了傳統基於規則和機率的密碼猜測方法(例如馬可夫鏈、機率式上下文無關文法),透過研究一系列現代、資料驅動的深度學習架構。目標是評估它們從大型外洩資料集中自主發現密碼結構和語義的潛力,而無需大量手動特徵工程。
歷史上,密碼猜測依賴於對密碼外洩資料的統計分析(例如,使用 John the Ripper 規則、Hashcat 遮罩,或由 Weir 等人開創的機率式上下文無關文法)。這些方法需要專業知識來制定轉換規則和字典。它們雖然有效,但受制於規則集設計者的創造力,並且難以推廣到新穎、未見過的模式。
由 GPT、BERT 和 Transformer 等模型驅動的自然語言處理領域近期取得突破,展示了深度神經網路對複雜語言分佈進行建模的能力。關鍵的使能技術包括:
本研究評估了一系列適用於密碼字串之序列性、離散特性的生成式深度學習模型。
採用如 Transformer 或注意力增強型 RNN 等模型來捕捉密碼中字元之間的上下文關係。對於字元序列 $x_1, x_2, ..., x_T$,注意力機制為每個步驟 $i$ 計算一個上下文向量 $c_i$,作為所有隱藏狀態的加權和:$c_i = \sum_{j=1}^{T} \alpha_{ij} h_j$,其中 $\alpha_{ij}$ 是注意力權重。這使得模型能夠學習到,例如,數字經常跟隨特定的字母模式。
標準自動編碼器學習一個編碼器 $E(x)$,將密碼 $x$ 映射到潛在編碼 $z$,以及一個解碼器 $D(z)$ 來重建 $\hat{x}$。模型訓練以最小化重建損失 $\mathcal{L}_{rec} = ||x - D(E(x))||^2$。雖然對表示學習有用,但標準自動編碼器無法提供一個結構化的潛在空間以進行平滑生成。
GANs 讓生成器 $G$ 與判別器 $D$ 對抗。$G$ 接收隨機雜訊 $z$ 並嘗試生成逼真的密碼 $G(z)$,而 $D$ 則嘗試區分真實密碼與偽造密碼。它們透過極小極大博弈進行訓練:$\min_G \max_D V(D, G) = \mathbb{E}_{x\sim p_{data}}[\log D(x)] + \mathbb{E}_{z\sim p_z}[\log(1 - D(G(z)))]$。在離散文本上訓練 GAN 眾所周知具有挑戰性,通常需要 Gumbel-Softmax 或強化學習等技術。
本文介紹了用於密碼生成的新穎 VAE 架構。VAE 在潛在空間上施加了機率結構。編碼器輸出高斯分佈的參數(平均值 $\mu$ 和變異數 $\sigma^2$):$q_\phi(z|x) = \mathcal{N}(z; \mu_\phi(x), \sigma^\phi(x))$。採樣一個潛在編碼:$z = \mu + \sigma \odot \epsilon$,其中 $\epsilon \sim \mathcal{N}(0, I)$。解碼器然後從 $z$ 重建密碼。損失函數是證據下界 (ELBO):
$\mathcal{L}_{VAE} = \mathbb{E}_{q_\phi(z|x)}[\log p_\theta(x|z)] - \beta \cdot D_{KL}(q_\phi(z|x) || p(z))$
其中 $p(z) = \mathcal{N}(0, I)$ 是先驗分佈。第一項是重建損失,第二項是正則化潛在空間的 Kullback-Leibler 散度。參數 $\beta$ 控制權衡。這種結構化的潛在空間實現了強大的功能,例如密碼之間的插值和目標取樣。
實驗在五個知名、真實世界的密碼外洩資料集上進行,以確保穩健性和可推廣性。這些資料集在規模、來源(社交媒體、遊戲、專業網路)和文化背景上各不相同,為模型效能提供了多樣化的測試平台。
RockYou: 約 3200 萬筆密碼,來自一個遊戲網站。
LinkedIn: 約 6000 萬筆雜湊值(已解密),專業背景。
Youku/Zomato/Pwnd: 提供結構和使用者群體多樣性的額外外洩資料。
所提出的 VAE 模型在所有資料集上達到了最先進或極具競爭力的匹配率,特別是在早期排名(例如,匹配率@1000萬)。它們始終優於或匹配傳統的 GAN 和更簡單的自動編碼器。基於注意力的模型也表現出強大的效能,特別是在捕捉複雜的字元依賴關係方面。
圖表解讀(假設性): 長條圖的 y 軸將顯示「匹配率@1000萬」,x 軸則顯示五個資料集上每個模型(VAE、GAN、Attention-RNN、Markov)的結果。對於每個資料集,VAE 的長條將是最高的或屬於最高之列,展示了其穩健的效能。折線圖可以顯示隨著猜測次數增加,累積匹配率的變化,其中 VAE 的曲線在早期急遽上升。
與更簡單的模型相比,VAE 和 GAN 傾向於生成更高比例的唯一密碼,表明其具有更好的泛化能力。然而,GAN 有時會遭受「模式崩潰」,即它們生成的密碼種類有限,這個問題在 VAE 框架中透過結構化的潛在先驗得到了緩解。
VAE 的一個關鍵優勢是其連續、結構化的潛在空間。本文展示了:
這將密碼生成從盲目猜測轉變為一個更可控、更具探索性的過程。
本文最重要的貢獻不僅僅是另一個破解密碼的模型;而是將結構化潛在空間推理正式引入密碼安全領域。透過 VAE 將密碼生成框架為流形學習問題,作者將典範從暴力模式匹配轉移到一個可導航的語義空間。這類似於從基於規則的影像濾鏡到 StyleGAN 潛在空間操作的飛躍。這裡真正的威脅不是更高的匹配率,而是系統性、對抗性引導的密碼合成潛力。
研究邏輯是合理的:1) 承認基於規則的系統在泛化上的失敗(紅隊已知的痛點)。2) 利用深度學習的表示能力(已在 NLP 中證實)。3) 選擇 VAE 架構,因其穩定性優於 GAN 且具有潛在結構——這是一個關鍵的區別因素。意涵很明確:未來的密碼破解工具將看起來更像 AI 藝術工具,攻擊者可以滑動「複雜度」旋鈕或混合概念(「CEO」+「出生年份」)來生成高機率的候選密碼。正如開創性的「CycleGAN」論文所指出的,非配對翻譯的力量可以創建令人信服的映射;在這裡,映射是從簡單的高斯分佈到人類密碼的複雜分佈。
優勢: 跨多個資料集的統一評估是典範性的,也是該領域迫切需要的。對 VAE 潛在空間功能(插值、目標取樣)的關注具有前瞻性,並對主動式安全稽核有實際應用價值。效能表現穩健。
關鍵缺陷: 與該領域大多數論文一樣,本文將問題視為純粹的離線統計問題。它忽略了真實世界攻擊的線上限制:速率限制、帳戶鎖定和入侵偵測系統。如果你只能嘗試 10 次,生成 1000 萬個候選密碼是無用的。下一個前沿是查詢效率猜測,或許可以使用強化學習來模擬線上回饋循環,這是由 OpenAI 等機構在其他安全背景下的研究所暗示的方法。
對於防禦者(資安長、安全工程師):
評估生成式密碼模型的框架:
案例範例 - 目標攻擊模擬:
情境: 一個紅隊被指派測試企業網路的韌性。他們已從 LinkedIn 獲取了一份員工名單。
傳統方法: 使用規則變異姓名(jdoe, j.doe, JaneDoe2023! 等)。
VAE 增強方法:
1. 在相關資料集(例如,企業密碼外洩資料)上訓練或微調一個 VAE。
2. 對於每位員工「Jane Doe」,將常見的基礎密碼(「jane」、「doe」、「jd」)編碼到潛在空間中。
3. 在這些點周圍的潛在空間中進行定向遊走,由一個訓練來識別「企業風格」密碼的輔助分類器引導。
4. 將探索的潛在點解碼,為每位使用者生成一個小型(例如,1000 個)、高度針對性的候選清單,在嚴格的查詢限制內最大化成功機率。
這展示了從廣泛、暴力的猜測轉向精確、智能猜測的過程。