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$。虽然对表示学习有用,但标准自编码器无法为平滑生成提供结构化的潜在空间。
GAN 让生成器 $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$ 重建密码。损失函数是证据下界:
$\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)$ 是先验分布。第一项是重建损失,第二项是正则化潜在空间的 KL 散度。参数 $\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 的稳定性及其潜在结构——这是一个关键的差异化因素。其含义很明确:未来的密码破解工具将更少像 Hashcat,而更像一个 AI 艺术工具,攻击者可以滑动“复杂度”拨盘或混合概念(“CEO”+“出生年份”)来生成高概率的候选密码。正如开创性的“CycleGAN”论文所指出的,无配对翻译的能力可以创建令人信服的映射;在这里,映射是从简单的高斯分布到人类密码的复杂分布。
优势: 在多个数据集上的统一评估堪称典范,也是该领域迫切需要的。对 VAE 潜在空间特性(插值、定向采样)的关注具有前瞻性,对于主动安全审计具有实际应用价值。性能表现稳健。
关键缺陷: 与大多数该领域的论文一样,本文将该问题视为一个纯粹的离线统计问题。它忽略了现实世界攻击中的在线约束:速率限制、账户锁定和入侵检测系统。如果你只能尝试 10 次,生成 1000 万个候选密码是无用的。下一个前沿是查询高效的猜测,或许可以使用强化学习来模拟在线反馈循环,这是 OpenAI 等机构在其他安全背景下的研究中所暗示的方法。
对于防御者:
评估生成式密码模型的框架:
案例示例 - 定向攻击模拟:
场景: 一个红队负责测试企业网络的弹性。他们从 LinkedIn 获取了一份员工名单。
传统方法: 使用规则对姓名进行变形(jdoe, j.doe, JaneDoe2023! 等)。
VAE 增强方法:
1. 在相关数据集(例如,企业密码泄露数据)上训练或微调一个 VAE。
2. 对于每个员工“Jane Doe”,将常见的基础密码(“jane”、“doe”、“jd”)编码到潜在空间。
3. 在这些点周围进行定向的潜在空间游走,由一个经过训练以识别“企业风格”密码的辅助分类器引导。
4. 解码探索过的潜在点,为每个用户生成一个小的(例如,1000个)、高度针对性的候选列表,在严格的查询限制内最大化成功概率。
这展示了从广泛的、暴力的猜测转向精确的、智能的猜测。