2.1 密碼猜測的演進
此領域經歷了幾個明顯的發展階段: 基於規則的枚舉 (例如 John the Ripper 規則),其依賴於手動專業知識; 統計模型 如馬可夫模型(OMEN)和機率上下文無關文法(PCFG),這類模型從外洩資料集中學習模式,但常出現過度擬合;以及當前的 深度學習模型.
密碼因其簡便性和靈活性,仍是使用者身份驗證中最普遍的方法。然而,其安全性不斷受到密碼破解嘗試的挑戰。密碼猜測——即為字典攻擊生成候選密碼的過程——無論在攻擊性安全測試還是防禦性密碼強度評估中,都是關鍵基礎。傳統方法,從基於規則的啟發式方法到如馬可夫鏈和PCFG等統計模型,在多樣性和效率上存在固有局限。深度學習的出現,特別是自回歸神經網絡,預示著範式轉變。然而,一個關鍵的疏忽在於 生成方法本身。從這些模型中進行標準隨機抽樣會產生重複和無序的輸出,從而大幅降低密碼攻擊的實際效率。本文介紹了 SOPG (Search-Based Ordered Password Generation),一種新穎的方法,它迫使自回歸模型以近乎完美的概率降序生成密碼,從而解決了這一根本缺陷。
此領域經歷了幾個明顯的發展階段: 基於規則的枚舉 (例如 John the Ripper 規則),其依賴於手動專業知識; 統計模型 如馬可夫模型(OMEN)和機率上下文無關文法(PCFG),這類模型從外洩資料集中學習模式,但常出現過度擬合;以及當前的 深度學習模型.
諸如 PassGAN(基於生成對抗網路)、VAEPass(變分自編碼器)和 PassGPT(基於 GPT 架構)等模型,利用深度神經網路來學習複雜的密碼分佈。雖然它們比統計模型更能捕捉細微差異,但其預設透過 隨機抽樣 對於那些按密碼可能性順序嘗試至關重要的攻擊場景來說,這種方法是低效的。
SOPG並非一種新的神經網絡架構,而是一種 生成演算法 應用於現有自回歸模型(例如GPT)之上的技術。其目標是智能地遍歷模型的輸出空間,首先生成最可能的密碼,且不重複。
SOPG並非在每一步隨機取樣符記,而是採用一種搜尋策略(概念上類似於定向搜尋,但針對完整密碼生成進行了優化)。它維護一個候選密碼前綴的優先佇列,總是擴展累積機率最高的前綴。這確保了完整的密碼大致按降序生成。
給定一個定義密碼機率分佈 $P(\mathbf{x})$ 的自迴歸模型,其中 $\mathbf{x} = (x_1, x_2, ..., x_T)$ 是一個符記(字元)序列,該模型將機率分解為:
作者實現了一個具體的密碼猜測模型,名為 SOPGesGPT。它使用GPT風格的Transformer架構作為核心自回歸模型,並在大量真實外洩密碼語料庫上進行訓練。其關鍵區別在於,密碼生成是使用SOPG演算法而非標準取樣來執行,這使其成為首個原生整合有序生成的模型。
35.06%
SOPGesGPT 於測試集上的表現
81%
更高覆蓋率
254%
更高覆蓋率
本文首先展示了SOPG在相同基礎模型上相較於隨機抽樣的優越性。 關鍵發現:
SOPGesGPT 在「單一網站測試」(使用同一資料外洩事件中的數據進行訓練和測試)中,與主要模型進行了比較:OMEN、FLA、PassGAN、VAEPass 以及當代的 PassGPT。
結果相當顯著。就 cover rate (在給定的猜測次數限制內,測試集密碼被破解的百分比),SOPGesGPT達到了 35.06%。這相較於前代模型有巨大的提升:
框架: 評估一個密碼猜測模型需要進行多面向分析:1) 架構穩健性 (模型選擇), 2) 生成效率 (guesses per second, duplicates), 3) 攻擊效率 (覆蓋率 vs. 猜測次數曲線), 以及 4) 泛化 (對未見過數據模式的表現)。大多數研究聚焦於 (1) 和 (3)。SOPG 在 (2) 上進行了決定性的創新,直接優化了 (3)。
範例案例 - 密碼強度評估: 一家安全公司想要稽核一項新的密碼政策。使用標準的 PassGPT 模型並進行隨機抽樣,生成一千萬次猜測可能需要 X 小時,並能破解測試字典中 Y% 的密碼。若使用 SOPGesGPT(相同架構,SOPG 生成方式),要破解相同的 Y%,可能只需要生成兩百萬次猜測,僅需原本的一小部分時間即可完成稽核。此外,有序列表提供了一張清晰的熱力圖:根據模型,前 10 萬個 SOPG 密碼代表了「最有可能」的集合,從而能精確洞察該政策面對高機率攻擊的脆弱性。
應用:
這篇論文的卓越之處,在於它對一個關鍵卻被忽視的瓶頸進行了精準打擊。多年來,密碼猜測領域的研究者們,從GAN到Transformer,醉心於架構的飛躍,將生成步驟視為已解決的問題——只需從分佈中採樣即可。Jin等人正確地指出,對於攻擊的實際應用場景而言,這是一種災難性的低效做法。 SOPG重新定義了這個問題:重點不在於更好地學習分佈,而在於如何最優地遍歷它。 這就好比擁有一張完美的藏寶圖(神經網路),但之前是用隨機漫步的方式去尋找寶藏,而SOPG則提供了一份按優先級排序的行程表。相較於使用相同GPT架構的PassGPT,其效能高達81%的驚人提升,證明了這一點:對於最終任務的表現,生成演算法可能比模型本身更為重要。
論點引人入勝且線性清晰:1) 密碼攻擊為了效率,需要按可能性順序嘗試猜測。2) 自回歸模型學習了這種可能性分佈。3) 從這些模型中隨機抽樣無法產生有序列表,且充滿浪費。4) 因此,我們需要一種能利用模型結構來產生有序列表的搜索算法。5) SOPG 正是該算法,通過在令牌樹上進行最佳優先搜索來實現。6) 結果以壓倒性的量化證據驗證了假設。整個流程精準地體現了經典的問題-解決方案-驗證結構。
優勢: 此概念優雅簡潔且極具實效。實驗設計嚴謹,與所有相關基準進行了比較。其效率提升並非邊際性的;在實際破解場景中,這具有顛覆性的影響。這項工作開闢了一個新的子領域:安全模型的生成優化。
Flaws & Questions: 該論文暗示但未深入探討SOPG搜尋本身與簡單抽樣相比的計算開銷。雖然它減少了達成特定覆蓋率所需的總推論次數,但搜尋中的每個推論步驟都更為複雜(需維護堆積結構)。需要進行複雜度分析。此外,「單一網站測試」是標準但有限的評估方式。SOPG在「跨網站」設定(以LinkedIn洩漏資料訓練,於RockYou測試)中,當分佈發生變化時,其泛化能力如何?若模型在分佈外資料上的機率排序效果不佳,有序生成的效果可能會降低。最後,正如作者在未來工作中指出的,這種高效能本身需要防禦性的回應——SOPG將催化下一代密碼雜湊與強化技術的研究。
對於 安全實務工作者:立即重新評估您的密碼政策測試工具。任何使用神經網路但未採用有序生成方式的工具,其運作效率很可能遠低於潛在應有水準。無論是商業或開源密碼審計工具,都應要求其具備類似SOPG的功能。
對於 研究人員:這是一個明確的呼籲,請停止將生成過程視為次要考量。SOPG範式應被應用並測試於其他自回歸安全模型(例如:用於惡意軟體生成、釣魚文字生成)。請深入研究搜尋深度(集束寬度)與效能之間的權衡關係。
對於 Defenders & Policy Makers:攻擊形勢已然改變。許多密碼雜湊(尤其是較弱者的)可被破解的時間,實際上已大幅縮短。這加劇了廣泛採用防網路釣魚的多重身份驗證(如NIST與CISA所倡導)以及淘汰僅以密碼作為單一驗證因素的急迫性。SOPG不僅是更強大的破解工具;它更是邁向後密碼時代的一個有力論據。