論文填補了傳統統計方法(如 PCFG、Markov)與深度學習方法(如 LSTM、GAN)之間的研究空白,提出基于隨機森林的口令猜測框架 RFGuess,覆蓋三種核心猜測場景,為口令安全研究提供了全新技術路線。
一、研究背景
????????口令面臨的核心威脅是猜測攻擊。目前猜測攻擊存在局限:傳統方法存在過擬合和數據稀疏的問題;而深度學習需要大規模訓練數據,訓練時間長,調參復雜等問題。
二、本文研究
? ? ? ??可概括為 “1 條技術路線 + 3 個模型 + 1 套優化算法 + 大規模驗證”
? ? ? ? 技術路線:通過口令字符的多維度重新編碼,將機器學習應用于口令猜測
? ? ? ? 三個模型:
? ? ? ? ①RFGuess:針對 “漫步猜測”(無目標信息,追求破解數量);
? ? ? ?② RFGuess-PII:針對 “基于個人信息(PII)的定向猜測”(利用姓名、生日等,快速破解指定用戶);
? ? ? ? ③RFGuess-Reuse:針對 “基于口令重用的定向猜測”(利用用戶舊口令,破解新口令)
? ? ? ? 一套算法:近似最優 PII 匹配算法:改進傳統 “左最長匹配” (優先匹配左側最長 PII 片段)的局限,通過信息熵最小化選擇全局最優 PII 表示,提升定向猜測成功率 7%~13%。
????????大規模驗證:基于 13 個真實口令數據集(共 2.41 億條口令,含中 / 英文、普通用戶 / 安全意識較高用戶),驗證模型在不同場景下的有效性。
三、具體實現
3.1 口令字符的多維度編碼(特征工程)
????????設計6 階前綴 + 26 維特征向量(4×6+2)
????????單字符 4 維特征:字符類型,類型內序號,鍵盤行號,鍵盤列號。
????????額外2維長度特征:字符在整個口令中的位置,字符在當前字段的位置
3.2 場景一:漫步猜測模型:RFGuess
核心邏輯:將口令生成視為 “多分類問題”
輸入:6 階前綴的 26 維特征向量;輸出:下一個字符的類別;模型:隨機森林(由 30 棵 CART 決策樹組成,通過 “特征隨機選擇 + 樣本隨機抽樣” 避免過擬合)
步驟:
????????1.訓練階段:將訓練集中的每個口令拆分為 “6 階前綴 - 下一個字符” 對(Bs作為開始符);用前綴的 26 維特征向量作為輸入,下一個字符的序號作為標簽,訓練隨機森林。
? ? ? ? 2.生成階段:從初始前綴(Bs×6)開始,通過隨機森林預測下一個字符的概率分布;對未獲投票的字符采用 “add-δ 平滑”(δ=0.001),避免概率為 0;按概率降序生成猜測,直至生成終止符 Es 或達到預設猜測數。
優勢:
- 解決 Markov 模型的數據稀疏問題:決策樹會將 “相似特征的前綴” 歸為同一葉節點,即使前綴未在訓練集中出現,也能通過相似樣本預測;
- 自動特征篩選:隨機森林通過 “Gini impurity” 選擇重要特征(如字符序號、鍵盤列號更重要),剔除冗余特征(如鍵盤行號),提升訓練效率。
3.3 場景2:基于PII的定向猜測模型 RFGuess-PII
本文提出通過 “信息熵最小化” 選擇全局最優 PII?
步驟:
? ? ? ? 1.?PII 標簽數字化:將 PII 類型(姓名、生日、用戶名等)用數字標簽表示
? ? ? ? 2.枚舉所有可能表示:對每個口令,列出所有可能的 PII 標簽組合
? ? ? ? 3.按頻次排序與迭代選擇:按表示的頻次降序排序,用 R?表示所有可匹配的口令,剩余表示的頻次減 1;重復上述步驟,直至所有表示頻次≤1,未匹配口令用 “最短結構” 表示;
????????4.理論驗證:該算法能最小化口令集的信息熵
RFGuess-PII模型
????????特征適配:PII 標簽用(PII 類型、PII 序號、0、0)編碼
????????訓練:用含 PII 標簽的口令集訓練隨機森林;
????????生成:將生成的含 PII 標簽的猜測,替換為目標用戶的真實 PII
3.4 場景 3:基于口令重用的定向猜測模型 RFGuess-Reuse
核心邏輯:用戶重用口令時,通常會進行 “結構級”和 “字段級”修改
????????結構級變換:統計訓練集中口令對的結構轉換概率(如 “尾部插入 D?” 的概率);
????????字段級變換:用隨機森林預測字段內的原子修改(插入、刪除、替換)概率。
eg:舊口令 “password!!”(結構 L?S?)生成新口令 “p@sswor123”(結構 L?D?)
四、實驗驗證
?4.1數據集
????????基礎數據集:13 個真實數據集(8 個英文、5 個中文),共 2.41 億條口令
????????PII 數據集:6 個含個人信息的數據集
????????口令重用數據集:8 個跨平臺口令對數據集
4.2 對比方法
????????漫步猜測:PCFG、3/4 階 Markov、FLA(LSTM)、Min-auto(理想攻擊,取各方法最優結果)
????????定向 PII 猜測:TarGuess-I(PCFG-based)、Targeted-Markov(Markov-based)、FLA-PII(改進 FLA)
????????口令重用猜測:TarGuess-II(PCFG-based)、Pass2Path(Seq2Seq-based)
通過實驗證明RFGuess 框架在三種核心場景下均表現優異。