[论文复现] 用机器学习实现社工字典生成工具 Password Guessing using Random Forest

💡 原文中文,约3800字,阅读约需9分钟。
📝

内容提要

本文介绍了口令猜解问题的应用场景和论文RFGuess的核心思想,包括基于PII的定向猜解和基于密码复用的定向猜解方法。使用随机森林进行模型训练,并介绍了特征提取方法和工具的使用。

🔎

延伸解读

RFGuess 的定位与创新点

RFGuess 首次将传统机器学习模型——随机森林应用于口令猜解,旨在克服统计模型易过拟合和深度学习模型需海量数据的缺陷。它基于 Markov 模型将猜解转化为多分类问题,利用随机森林集成学习提高准确率,在在线猜解场景下尤其注重使用较少尝试次数破解密码。

基于 PII 的定向猜解特征工程

针对特定用户,RFGuess 采用基于类型的 PII 匹配方法,将密码中的个人信息(如姓名、生日)编码为特定标签(如 N1 表示全名),并转化为特征向量。这种方法比基于长度的编码更能捕捉 PII 特征,但需处理同一密码多种表示的选择问题,通常选择频率最高的编码。

工具复现与性能表现

作者复现了论文中基于 PII 的定向猜解算法,并实现了 GUI 工具,支持从数据集到字典生成的完整流程。在 50% PII-12306 数据集上,工具准确率为 25.07%,略低于论文的 28.89%,可能源于实现细节或数据差异,但整体验证了方法的可行性。

❓

Q&A

RFGuess模型的核心思想是什么?

RFGuess模型使用随机森林来处理口令猜解问题,克服了传统统计和深度学习模型的缺陷,达到较高的准确率。

口令猜解的主要应用场景有哪些?

口令猜解主要分为离线猜解和在线猜解,在线猜解面临更多限制。

基于PII的定向猜解方法是如何工作的?

基于PII的定向猜解利用个人信息(如姓名、生日)来针对特定用户进行密码破解。

随机森林模型是如何进行特征选择的?

随机森林在训练时为每棵决策树随机选择特征和样本,以保证决策树的多样性。

拖网猜解和定向猜解有什么区别?

拖网猜解是攻击者无特定目标的密码猜解方式,而定向猜解则是针对特定用户进行密码破解。

如何使用RFGuess生成社工字典?

使用RFGuess生成社工字典的步骤包括数据集转化为特征向量、训练模型、生成规则和字典。

🏷️

标签

➡️

继续阅读