温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
SeqGANPass
使用
生成
对抗
网络
进行
口令
猜测
龚雪鸾
第 5 期2023 年5 月电子学报ACTA ELECTRONICA SINICAVol.51 No.5May 2023SeqGANPass:使用序列生成式对抗网络进行口令猜测龚雪鸾1,陈艳姣2,王涛1,曹雨欣1(1.武汉大学计算机学院,湖北武汉 430070;2.浙江大学电气工程学院,浙江杭州 310058)摘要:为了破解用户口令并获取用户隐私信息,口令猜测工具应运而生.基于规则的口令猜测工具虽猜测成功率较高,但制定规则非常耗时且需要一定的专业知识.基于深度神经网络的口令猜测工具则需要大量的训练数据集来训练模型.基于此,本文提出了(Sequence Generative Adversarial Network Password,SeqGANPass),利用序列生成式对抗网络,针对口令数据集执行数据预处理操作,经由多轮对抗性训练过程训练口令生成器,以生成高质量的猜测口令.即使没有任何先验知识,SeqGANPass仍可以通过小规模训练集来实现口令破译.同时我们发现使用SeqGANPass可以大大提高基于规则的口令猜测工具的有效性.在实验中,我们与当前的主流口令猜测工具进行比较,如John the Ripper,Hashcat,Markov Model,上下文无关文法(Probabilistic Context Free Grammars,PCFG),FLA(Fast,Lean,and Accurate)和PassGAN等.实验表明,SeqGANPass的匹配率优于这些主流的口令猜测工具.关键词:口令猜测;序列生成式对抗网络;深度学习;口令匹配;隐私泄露;生成式对抗网络中图分类号:TP311文献标识码:A文章编号:0372-2112(2023)05-1148-06电子学报URL:http:/DOI:10.12263/DZXB.20220633SeqGANPass:Password Guessing with Sequence Generative Adversarial NetsGONG Xue-luan1,CHEN Yan-jiao2,WANG Tao1,CAO Yu-xin1(1.College of Computer Science,Wuhan University,Wuhuan,Hubei 430070,China;2.College of Electrical Engineering,Zhejiang University,Hangzhou,Zhejiang 310058,China)Abstract:In order to crack the users password to achieve the purpose of obtaining users private information,password guessing tools also came into being.Although state-of-the-art rule-based attacks work achieve high attack success rate,the collection of rules is time consuming and needs expertise.Deep neural network-based attacks require amounts of datasets to achieve a good result.In this paper,we propose sequence generative adversarial network password(SeqGANPass),which uses sequence generative adversarial nets,conducts data preprocessing operations on the password datasets,to generate high-quality passwords.SeqGANPass can implement password cracking under a small scale of training set even without any prior knowledge.Furthermore,we show that SeqGANPass can greatly improve the effectiveness of rule-based attacks.Our experiments show that SeqGANPass outperforms most state-of-the-art password guessing methods,i.e.,John the Ripper,Hashcat,Markov model,probabilistic context free grammars(PCFG),FLA(Fast,Lean,and Accurate),and PassGAN in matching rate.Key words:password guessing;sequence generative adversarial networks;deep learning;password matching;privacy leakage;generative adversarial networks1引言口令在现代网络安全中起着至关重要的作用,它是使用最为广泛的身份验证方式之一1,2.口令猜测的目的是以最小的代价生成与真实口令相匹配的猜测口令.口令在验证系统数据库中通常以散列形式存储,因此口令猜测工具需要快速有效地测试大量的候选口令是否与真实口令相匹配.为了提高匹配率,口令猜测工具需要从高质量字典中选择口令.目前从网上泄露的口令具有一定的局限性:(1)这些泄露的口令集的质量收稿日期:2022-05-31;修回日期:2022-11-18;责任编辑:覃怀银第 5 期龚雪鸾:SeqGANPass:使用序列生成式对抗网络进行口令猜测难以保证,攻击者可能像口令集中注入恶意口令,从而造成数据污染.(2)泄露的真实口令种类局限于论坛型网站的口令集.因此,研究人员难以有针对性地获得大规模的优质数据集.在这种情况下,如果口令猜测工具只需要小规模的数据集来训练,就可以获得更有针对性、更准确的结果.基于特定单词转换规则的口令猜测方案的性能受特定规则的限制,只能生成有限的口令猜测.随着机器学习的发展,Narayanan等人3首次利用马尔可夫模型生成口令猜测.此方案需要做大量的预运算,计算量大且耗时长.Weir等人在研究口令的构造规律以及特征之后,提出了基于概率上下文无关文法(Probabilistic Context Free Grammars,PCFG)的口令猜测方案,以最高概率顺序生成口令结构4.随后,邹静5以及韩伟力6等人基于PCFG展开了进一步的改进研究.基于PCFG的模型虽然可以准确地抽象出基础口令结构,但是泛化能力较差.当猜测次数规模较小时,上述两种方法效果较好,但是在1010以上的猜测时,使用基于神经网络的口令猜测工具将会带来更高的成功率.Melicher等人7提出利用 RNN 实现口令猜测.Wu 等人8将 PCFG 用于 PassGAN的预处理;Wang等人9将PCFG于RNN相结合,提出新的PR模型.最近,Hitaj等人10提出PassGAN,一种利用对抗式生成网络(Generative Adversarial Networks,GAN)11来增强口令破解的新方案.虽然对抗式生成网络具有很强的图像生成能力,但是当处理像口令这样的离散数据时有一定的限制.一方面,判别器很难将梯度更新传递给生成器,另一方面,对抗式生成网络的判别器只能对一个完整的生成序列进行评估,不能评估非完整序列.为了解决上述问题,我们提出了一种基于序列生成式对抗网络(Sequence Generative Adversarial Nets,SeqGAN)12的口令猜测方案SeqGANPass.基于序列生成式对抗网络在生成离散文本上的卓越性能,SeqGANPass可以通过更多的转换方式生成口令猜测,表现出更高的匹配率.与使用规则的口令猜测工具不同,SeqGANPass可以自动学习人工生成的口令结构以及字符之间的关系.为了使生成器生成的口令更接近真实口令,我们使用判别器来确定生成的口令是否足够真实.此外,SeqGANPass 不需要任何先验知识,包括预设结构和规则.2系统设计2.1模型结构SeqGANPass的结构如图1所示.我们首先寻找一个由泄露真实口令组成的数据集,然后执行数据预处理操作(即数据清洗,数据集划分和数据格式转换),以适用于 SeqGANPass.在数据清洗过程中,由于绝大多数口令少于10个字符,我们将大于10字符的口令从数据集中删除,以减少训练成本.此外,我们删除所有ASCII无法编码的口令.在数据集划分过程中,我们将过滤后的数据集分为训练数据集和测试数据集.在数据格式转换和填充过程中,由于生成器很难处理原始字符串,我们使用映射转换获取按顺序编号的口令,并将所有口令填充为10个字符.接下来,我们利用序列生成式对抗网络来训练SeqGANPass.经过大量的对抗性训练迭代后,生成器能够生成与训练数据集具有相似分布的口令.利用经过该训练的生成器,攻击者可以生成足量的猜测口令.我们在算法1中总结了SeqGANPass的工作过程.2.2数据预处理首先,RockYou数据集13中的口令长度是不同的,我们发现大约90%的口令长度小于10个字符.因此为了精确有效地训练和测试SeqGANPass,我们过滤掉了所有长度超过 10 个字符的口令.虽然此操作限制了SeqGANPass的有效性,但是也大大降低了训练成本,因此我们认为此操作是合理的.其次,我们发现RockYou数据集中有一小部分口令包含极其罕见的字符,这些字符在大多数情况下不会被用来构造口令,而且可能会引起一些字符编码问题,因此我们将它们从数据集中移除.也就是说,我们使用的口令由可用ASCII编码系统编码的字符组成,即95个可打印字符,包括数字、英文字母和标点符号.我们将整个数据集分为两部分:训练数据集和测算法1SeqGANPass口令猜测算法输入:口令最大限制长度 Maxlen;字符映射 CharMap;允许字符集 CharSet;口令集S输出:口令猜测1:FOR each password in S DO2:IF length(password)Maxlen THEN3:从S中移除口令4:ELSE5:FOR each character not in CharSet DO6:从S中移除口令7:END FOR8:CharMap(password)=index sequence9:END IF10:END FOR11:Divide(S)=training dataset+testing dataset12:Initialize(SeqGAN)13:REPEAT14:训练SeqGAN15:UNTIL生成足够数量高质量口令1149电子学报2023 年试数据集.此外,我们重新排列了口令的顺序来确保口令满足 Zipf 分布14.我们使用 RockYou数据集进行实验,在去除含有非ASCII字符、长度超过10或者重复的口令后,随机选取了100 000个口令(约0.8%)作为训练数据集.然后使用剩余的的数据集约99.2%,共11 799 187个口令,去除训练集后有(11 798 569个口令)来测试模型的有效性.我们创建了一个映射来索引数据集中的所有字符,每个字符对应一个唯一索引的映射.在实验中,我们根据 RockYou数据集中字符出现的顺序来建立字符映射.2.3训练生成器和判别器我们训练SeqGANPass以生成猜测口令.我们选择长短期记忆(Long Short-Term Memory,LSTM)15网络作为生成器,并选择卷积神经网络作