论文主题

使用RCFG+LSTM和对抗生成网络猜解密码。

摘要

英文

Password has become today’s dominant method of authentication in social network. While the brute-force attack methods, such as HashCat and John the Ripper, are unpractical, the research then switches to the password guess. The state-of-the-art approaches, such as Markov Model and probabilistic context-free grammars(PCFG), are all based on statistical probability. These approaches have a low matching rate. The methods on neural network have been proved more accurate and practical for password guessing than traditional methods. However, a raw neural network model is not qualified for cross-sites attack since each data set has its own features. This paper proposes a general deep learning model for password guessing, called GENPass. GENPass can learn features from several data sets and ensure the output wordlist high accuracy in different data sets by using adversarial generation. The password generator of GENPass is PCFG+LSTM(PL), where LSTM is a kind of Recurrent Neural Network. We combine neural network with PCFG because we found people were used to set their passwords with meaningful strings. Compared with LSTM, PL increased the matching rate by 16%-30% in the cross-sites tests when learning from a single dataset. GENPass uses several PL models to learn datasets and generate passwords. The result shows that the matching rate of GENPass is 20% higher than that of simply mixing those datasets in the cross-sites test.

中文

密码已成为当今社交网络中主要的身份验证方法。尽管诸如HashCat和John Ripper之类的强力攻击方法不切实际,但随后的研究转向了密码猜测。最先进的方法,例如马尔可夫模型和概率上下文无关文法(PCFG),都基于统计概率。这些方法的匹配率低。事实证明,与传统方法相比,神经网络方法在密码猜测方面更为准确和实用。但是,原始神经网络模型不适合进行跨站点攻击,因为每个数据集都有其自身的功能。本文提出了一种用于密码猜测的通用深度学习模型,称为GENPass。 GENPass可以从多个数据集中学习特征,并通过对抗生成来确保不同数据集中输出单词列表的准确性。 GENPass的密码生成器是PCFG + LSTM(PL),其中LSTM是一种递归神经网络。我们将神经网络与PCFG结合在一起,因为我们发现人们习惯于使用有意义的字符串设置密码。与LSTM相比,从单个数据集学习时,PL在跨站点测试中的匹配率提高了16%-30%。 GENPass使用几种PL模型来学习数据集并生成密码。结果表明,GENPass的匹配率比在跨站点测试中简单地混合这些数据集的匹配率高20%。

关键字

密码生成;密码猜解;对抗生成网络;PCFG

解决问题

现实问题

密码是主要的身份验证方法之一,密码破解是安全领域的老生常谈的问题。

之前研究的不足

传统暴力破解工具

暴力破解工具,如HashCat和John Ripper之类的并不是很有效果,所以随后的研究转向了密码猜测。HashCat和John Ripper生成一个有限的密码列表,远远不够破解用户的密码。

统计概率方法

当前最先进的方法,例如马尔可夫模型和概率上下文无关文法(PCFG),都基于统计概率。这些方法的匹配率低,而且耗时多。

神经网络

事实证明,与传统方法相比,神经网络方法在密码猜测方面更为准确和实用。

[8] Melicher W, Ur B, Segreti S M, et al., Fast, lean and accurate: Modeling password guessability using neural networks. Proceedings of USENIX Security. 2016.

但是,原始神经网络模型不适合进行跨站点攻击,因为每个数据集都有其自身的功能。

方法

本文提出了一种用于密码猜测的通用深度学习模型,称为GENPass。 GENPass可以从多个数据集中学习特征,并通过对抗生成来确保不同数据集中输出单词列表的准确性。 GENPass的密码生成器是PCFG + LSTM(PL),其中LSTM是一种递归神经网络。我们将神经网络与PCFG结合在一起,因为我们发现人们习惯于使用有意义的字符串设置密码。

1. PCFG+LSTM

PCFG使用了模板和单元的概念。如“password123”可以被切分为两个单元分别为L8和D3,对应“password”和“123”,密码是有单元按照模板组合起来的。这种分割方式带来了很大的准确性。

  1. 数据预处理:

一个密码是一个很多单元的组成序列,如

如下表所示,总共有四种类型:分别为字母L,数字D,特殊符号S和换行符\n。如 ‘$Password123’ 可被表示为 S1 L8 N3 ‘∖n’。

1571405186208

  1. 生成模板序列

通过LSTM进行序列的预测,生成下个单元。

  1. 猜测密码

将单元还原回密码字符。

如将L4还原为“ever”,“love”…

  1. 权重选择

由于实验证明,每次都选择高权重的数据,会出现大量重复,因此作者设计了一个随机选择算法。方法比较简单,根据候选密码字符的频数,设置一个相应长度的区间,将这些区间首尾相连拼接到一起,再在整个大的区间中随机选择一个数。

举例说明:对L4的三个候选和频率—[‘abcd’:4,‘love’:3,‘life’:5],则abcd为[0:4)区间,love是[4,7)区间,life是[7,12)区间。在[0,12)中随机选个数字,落到哪个区间就选哪个。

2. GENPass

由于对不同的数据集的权重,会有不同的规则和长度,相应会有很多个预测模型,因此作者设计了GENPass,可以从不同的生成模型进行选择。

1571405237585

从不同的数据集训练出来不同的模型,也就是上图左侧从1-n的PL模型,然后进行权重选择,然后再通过分类器区分生成的这个密码是由哪个模型生成的。这个密码应该是不容易被分类器分类出的密码,也就是可能存在于任意的分类器中。

1571405241760

特点与不足

优势

能有效对多个网站进行组合。

不足

不能对多种语言进行有效结合。

作者

该论文为上海交通大学网络安全学院上海市信息安全综合管理技术重点实验室和马里兰大学计算机科学与电气工程系的合作产出。核心成员来自上海交大。

论文出处

[1]Liu Y, Xia Z, Yi P, Yao Y, Xie T, Wang W, Zhu T. GENPass: a general deep learning model for password guessing with pcfg rules and adversarial generation. 2018 IEEE International Conference on Communications, ICC 2018, May 20, 2018 - May 24, 2018. Institute of Electrical and Electronics Engineers Inc., 2018, 2018-May: Cisco; et al.; Huawei; National Instruments; Qualcomm; Sprint.

实验及效果

实验证明GENPass的匹配率比简单把这些生成的数据集的数据混合到一起高20%。

实验使用TensorFlow搭建模型,从四个网站Myspace, phpBB, RockYou 和LinkedIn采集数据。

实验主要是对PCFG和LSTM对不同数据集的做出对比。

从下图可以看出,相对而言PL比LSTM更加有效。

1571405295955

收获

这种“分词”方式,如L4D3S2,比字符级别更加有效。

PCFG+LSTM的结合方式。

可扩展结合的点

结合这种分词模式。

文中提到了使用迁移学习模型解决数据集缺失的问题。可以考虑,可以用来解决不同国家数据集的差异。

论文评价

评分: ⭐⭐⭐⭐

评价:从此文的阅读,对密码猜解的研究有着更深一步的认识,启发了很多思路。但文章的实验做的不够充分,没有和其他方法做对比。方法没有核心创新。

参考资料及附件