PassGAN:一种基于深度学习的密码破译方式(四)

作者:网友投稿 时间:2018-03-26 01:00

字号
IV.  评估
B.评估PsaaGAN生成的密码

我们用PassGAN,JTR,以及HashCat生成多达10^10个密码。在JTR中,使用SpiderLabs重整规则[68],在HashCat中我们是用best64和gen2规则[28]。这些规则是密码破译著作中的常用规则[44],并且在包括RockYou和linkedIn在内的密码数据库中进行了多年优化。由于这些特定数据集优化组合,我们认为这些规则能够很好的表现最佳匹配性能,而最佳匹配性能可以通过手工生成规则获取。

作为我们的练习库,Best64和gen2都可以生成不到10^10个密码(粗略的算,分别为998M和754M密码,详见表I)。SpiderLabsmangling规则大约可以生成6*10^10个密码。这就使我们可以在JTR和PassGAN之间进行公平比较,因为PassGAN可以通过一个10^10样本的数据集产生相同数量的不重复的密码。

表I:PassGAN,HashCat和JTR生成的密码的独特性与新颖性比较。1列表示每一个工具生成的密码总数。在实验中, PassGAN和JTR 在我们使用的训练集和规则集中生成了很多密码,但是HashCat不能生成这样多的密码。2列表明每个工具生成的不重复密码的数量。3列表明每个工具生成的用于训练集密码数量。

1.png

2.png

图2.无重复样本数,该图是和PassGAN生成的样本总数相比较。

首先要确定PassGAN生成的密码数量的增长,是否会造成不重复密码数以及训练集和测试集的匹配数量的增长。为此,我们生成多个大小在10^6~10^10之间密码库。我们观测到,随着密码数量的增加,不重复密码数也在增加。这次评测的结果呈现在表I第二列中。正如图2所示,当我们增加了PassGAN生成的密码数量,新生成的不重复密码比率略有下降。相似的,匹配的密码的增长率显示在图3中,随着生成密码数量的增加而减少。这是意料之中的事,因为简单的密码之前就已经匹配上了,而剩下的(更复杂的)密码需要大量的尝试才能匹配上。

3.png

图3:GAN生成的出现在训练集和测试集中的密码数量,随着GAN输出的样本数量增长。

我们的试验也显示,PassGAN的输出同JTR规则和HashCat规则比有一个较高的重码率。这是因为三个工具之间,PassGAN是唯一一个试图产生与训练集相同密码分布的工具,PassGAN的特点是生成大量重复口令。这允许PassGAN先输出高概率匹配成功的密码字符串,在输出小概率匹配成功的密码字符串,从而在实际中减少密码破译的尝试次数。 

表II:在RockYou测试集上比较利用我们的技术,HashCat和JTR生成的密码,2列表明生成的密码有多少出现在由3,094,199个独立条目组成的测试集中,第三列表示生成的密码出现在测试集中的数量,通过对测试集中相应条目的数量进行加权匹配(这个测试集中包括5,919,936个无重复条例)。第四列和第五列展示生成的密码在测试集中出现的数量,而不是训练集(即新密码)中生成的密码数量。4列中的数字将每一个匹配数视为唯一,然而5列中的数字通过在测试集中出现的密码的数量权衡每一次密码匹配。在4列中最大匹配数是1,978,367,5列中中的最大匹配数是2,032,728.

4.png

表III:比较生成的密码,这些密码是由我们的技术,HashCat,JTR在包含43,354,871个独立条目的LinkedIn的测试集上生成的。2列展示生成的密码有多少出现在测试集中。然而3列展示有多少生成的密码可以匹配到测试集,而不是训练集(最大匹配数是40,597,129)。

5.png

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接