CN113312609A - 基于策略梯度的生成式对抗网络的口令破解方法及系统 - Google Patents

基于策略梯度的生成式对抗网络的口令破解方法及系统 Download PDF

Info

Publication number
CN113312609A
CN113312609A CN202110525589.7A CN202110525589A CN113312609A CN 113312609 A CN113312609 A CN 113312609A CN 202110525589 A CN202110525589 A CN 202110525589A CN 113312609 A CN113312609 A CN 113312609A
Authority
CN
China
Prior art keywords
password
generator
training
discriminator
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110525589.7A
Other languages
English (en)
Other versions
CN113312609B (zh
Inventor
吴昊天
李小玲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN202110525589.7A priority Critical patent/CN113312609B/zh
Publication of CN113312609A publication Critical patent/CN113312609A/zh
Application granted granted Critical
Publication of CN113312609B publication Critical patent/CN113312609B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种基于策略梯度的生成式对抗网络的口令破解方法及系统,该方法的步骤包括:对泄露口令集进行预处理得到训练口令集,将训练口令集转化为由口令字符组成的字符数组;统计字符频数并排序得到字符字典和反向索引字典;对照字符字典将字符数组转化为数字化的口令数组,得到训练数据集;构造神经网络,包括生成器结构类、roll‑out结构类、Highway结构类、判别器结构类和策略梯度算法;生成生成器和判别器实例,初始化生成器和判别器参数、优化器;对生成器和判别器进行预训练;对生成器和判别器进行对抗训练;使用训练好的生成器参数进行前向传播生成爆破口令集。本发明使原始GAN训练更加的稳定,生成较高质量的文本。

Description

基于策略梯度的生成式对抗网络的口令破解方法及系统
技术领域
本发明涉及口令破解技术领域,具体涉及一种基于策略梯度的生成式对抗网络的口令破解方法及系统。
背景技术
互联网的发展催生了各类应用系统,如各种APP和网站,用户使用这些应用系统基本上是明文口令进行用户验证,根据某些网站已泄露的口令集可以发现用户设置的明文口令有一定的规律性,如姓名拼音、生日、电话号码等的组合。现有的明文口令破解方法有暴力破解、字典破解和基于神经网络的破解法。暴力破解需要耗费大量的时间和资源;字典破解是基于明文口令的统计特性,相对于暴力破解而言,它节省了大量的时间和资源,但是,它只是不断的尝试字典的排列组合,没有真正地学习到用户设置密码的模式;基于神经网络的破解法是用神经网络去学习口令的分布特征,现有基于RNNs的破解法和PassGAN破解法,这两类方法只有当完整口令生成后,才能对口令进行判断,不能在口令的生成过程对生成口令的动作进行判断,也就是说,这两种方法不能实现对口令生成的全程指导;实验表明基于神经网络破解法的命中率高于字典破解。字典破解和基于神经网络破解法已经证明同一社区或同一网站的明文口令有一定的规律性和特征,本方法基于这个特征,利用强化学习和生成对抗网络来学习某一社区或某一网站用户的明文口令分布特征,从而能够以更高的效率进行明文口令破解。
发明内容
为了克服现有技术存在的缺陷与不足,本发明提供一种基于策略梯度的生成式对抗网络的口令破解方法及系统,通过生成对抗网络中生成器与判别器的博弈训练,使得生成器学习口令集的特征分布,从而使得生成器生成与训练数据类似度较高的口令集,可以对特定网站或者用户社区的口令进行破解。
为了达到上述目的,本发明采用以下技术方案:
一种基于策略梯度的生成式对抗网络的口令破解方法,包括下述步骤:
数据预处理:确定最长口令的长度和口令中最多允许存在的字符种类数,清除长度超过预设值和出现非允许字符的口令,得到训练口令集,将训练口令集转化为由所包含字符组成的字符数组,对字符数组进行字符频数统计并排序得到字符字典和反向索引字典,对照字符字典将训练口令集转化成数字化的口令数组,得到训练数据集;
神经网络构造:构造Highway结构类、生成器、roll-out结构类和判别器,基于LSTM构造生成器类,并基于Highway结构类和CNN层构造判别器类,构造生成器参数更新所需要的策略梯度类,所述roll-out结构类是生成器类的完全副本,用于模拟生成器生成口令样本;
进行网络预训练:生成相应的生成器和判别器实例,初始化生成器、判别器及对应的优化器,对生成器进行预训练,利用预训练后的生成器和部分真实训练数据对判别器进行预训练;
进行对抗训练:实例化roll-out结构类,采用预训练后的生成器参数更新roll-out网络,基于预训练后的生成器和判别器,结合roll-out网络在训练数据上对生成器和判别器进行对抗训练;
采用训练好的生成器参数生成爆破口令集。
作为优选的技术方案,所述数据预处理步骤中,所述字符字典以字符数组中出现的字符为键,以字符在字符数组中统计频数的排名为值,所述反向索引字典为字符字典中所有键-值对的键与值相互调换得到的字典。
作为优选的技术方案,所述基于LSTM构造生成器类,具体步骤包括:
输入开始标志,触发网络进行前向传播生成口令。
作为优选的技术方案,所述生成器的输入数据维度为[每次训练样本数,1],首先进行词嵌入转化为[每次训练样本数,嵌入向量的维度]的矩阵,传入LSTM网络中,得到[每次训练样本数,隐空间维度]的矩阵,之后输入到全连接网络得到[每次训练样本数,字符种类]的矩阵,最后输入到softmax层并进行随机采样得到[每次训练样本数,1]的矩阵,将最后所得的矩阵再依次经过词嵌入、LSTM网络、全连接网络和softmax层,循环操作并连接每一次的输出结果,得到[每次训练样本数,口令长度]矩阵。
作为优选的技术方案,所述判别器设置多个平行的不同规模的CNN层,用于提取不同粒度的特征;
所述判别器的输出结果为维度[每次训练样本数,2]的矩阵,表示判别器判定每一个训练样本分别为假样本和真样本的概率。
作为优选的技术方案,将强化学习中的奖励机制和蒙特卡罗策略梯度算法引入到GAN网络中;
所述判别器的损失函数包括判别器对真实口令序列数据的奖赏和判别器对虚假口令序列的奖赏;
所述生成器的损失函数包括判别器对虚假的完整口令序列的奖赏和生成器生成口令过程的动作价值函数。
作为优选的技术方案,所述结合roll-out网络在训练数据上对生成器和判别器进行对抗训练,具体步骤包括:
训练判别器,采用等量的真实训练数据和生成器生成的虚假数据训练判别器,并且在反向传播时需要冻结生成器的模型参数,只更新判别器的模型参数;
训练生成器,使用生成器生成虚假口令,roll-out网络将该虚假口令多次从不同位置断开,、roll-out网络根据虚假口令的前部分模拟生成器补全虚假口令,得到多条由生成器和roll-out网络共同生成的口令,将共同生成的口令输入到判别器中,得到每条口令是否来源于真实口令集的概率,将概率值的加权平均值作为虚假口令的期望reward,根据期望reward反向传播更新生成器的模型参数,在反向传播过程中冻结判别器的模型参数,只更新生成器的模型参数;
每更新一次生成器的网络参数,用生成器的参数更新roll-out网络的参数。
作为优选的技术方案,所述采用训练好的生成器参数生成爆破口令集,具体步骤包括:
生成器将开始标志作为输入,然后进行前向传播得到爆破口令集。
作为优选的技术方案,所述爆破口令集表示为[每次训练样本数,口令长度]维度的矩阵,其中口令长度维度上的值为字符字典中字符对应的键值,根据反向索引字典进行转换得到字符化的口令。
本实施例还提供一种基于策略梯度的生成式对抗网络的口令破解系统,包括:数据预处理模块、神经网络构造模块、网络预训练模块、网络对抗训练模块和爆破口令集生成模块;
所述数据预处理模块用于数据集预处理,确定最长口令的长度和口令中最多允许存在的字符种类数,清除长度超过预设值和出现非允许字符的口令,得到训练口令集,将训练口令集转化为一个由所包含字符组成的字符数组,对字符数组进行字符频数统计并排序得到字符字典,对照该字典将字符数组转化成一个数字化的口令数组,得到训练数据集;
所述神经网络构造模块用于构造Highway结构类、生成器、roll-out结构类和判别器,基于LSTM构造生成器类,并基于Highway结构类和CNN层构造判别器类,构造生成器参数更新所需要的策略梯度类,所述roll-out结构类是生成器类的完全副本,用于模拟生成器生成口令样本;
所述网络预训练模块用于生成判别器和生成器实例,初始化生成器和判别器相应的优化器,在部分真实训练数据上对生成器进行预训练,利用预训练后的生成器和部分真实训练数据对判别器进行预训练;
所述网络对抗训练模块用于生成roll-out实例,采用预训练后生成器参数初始化roll-out网络,基于预训练的生成器和判别器,结合roll-out网络在训练数据上对生成器和判别器进行对抗训练;
所述爆破口令集生成模块用于采用训练好的生成器参数生成爆破口令集。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明在构造判别器时部分结构采取了Highway网络,在反向传播时,可以让更多的梯度信息直接回流到输入,解决了随着网络深度增加,训练效果不佳的问题,同时缓解了深度神经网络中的梯度消失问题。
(2)本发明在构造判别器时设置了多个平行的不同规模的CNN层,CNN层中的卷积层和池化层用于提取输入口令的分布特征,不同规模的CNN层有利于提取不同粒度的分布特征,如2×2的卷积核提取的特征的粒度小于6×6的卷积核提取的特征的粒度,这样不仅可以尽可能多的提取口令的分布特征,而且有利于判别器的判断,使判别器拥有更加敏锐的判别能力,不断进行对抗训练,从而生成器能够生成更高质量的以假乱真的口令集。
(3)本发明采用了roll-out网络,即生成器的完全副本,在生成器生成完整密码的同时,模拟生成器生成完整口令样本,预判生成器此时生成状态的优劣,达到判别器对生成器生成口令的全程指导,不断训练,进而促进生成器生成更高质量的口令集。
(4)本方法采取了强化学习中的奖励机制和蒙特卡罗策略梯度reinforce算法,将其运用于改进生成对抗网络,这样做的优点在于:一是采取奖励机制实现了判别器对生成器生成口令的全程指导;二是蒙特卡罗策略梯度reinforce算法的引用解决了生成对抗网络在文本生成(如生成口令)中梯度更新难以从判别器传到生成器的问题,使原始GAN训练更加的稳定,进而能够生成较高质量的文本,如口令集。
附图说明
图1为本发明基于策略梯度的生成式对抗网络的口令破解方法的流程示意图;
图2为本发明基于策略梯度的生成式对抗网络的口令破解方法的生成器结构框架示意图;
图3为本发明基于策略梯度的生成式对抗网络的口令破解方法的判别器结构框架示意图;
图4为本发明基于策略梯度的生成式对抗网络的口令破解方法的对抗训练流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
如图1所示,本实施例提供一种基于策略梯度的生成式对抗网络的口令破解方法,包括下述步骤:
S1:进行数据预处理,具体步骤包括:
S11:确定最长口令的长度和口令中最多允许存在的字符种类数;
关于字符种类,本实施例设定为2048,可以包含几乎所有能够在口令中出现的字符,长度上选取了长度在10及以下的口令作为实验数据,长度不够10的口令将使用字符“`”进行补齐;
S12:转化原始数据训练数据:将收集到的泄露口令集过滤并转化为一个口令中所包含的字符组成的字符数组,若收集到的泄露口令集中某条口令中的字符不包含于限定的字符种类或口令长度超过10,则该条口令被过滤;再对字符数组中字符频数统计并排序得到字符字典,该字典以字符数组中出现的字符为键,以字符在字符数组中统计频数的排名为值;
S13:提取训练数据:根据字符数组和字符字典得到最终训练数据集;
在本实施例中,数据预处理目的是清除掉长度过长的口令以及限制口令中的字符种类个数,由于读入的口令集中可能包含这些过长的口令以及包含其他不需要的字符类别,需要过滤泄露口令集来得到训练口令集,最后根据字符字典得到最终的训练数据集;
S2:如图2、图3所示,进行神经网络构造,主要包含的是一个生成器结构类、roll-out结构类、一个Highway结构类,以及基于Highway和CNN结构之上判别器,构造生成器类、Highway结构类和判别器类,实现策略梯度算法,其包括:
S21:构造生成器类;
本实施例构造生成器类,需要输入开始标志start_token生成口令;
在本实施例中,生成器的主要作用是通过输入开始标志start_token,触发网络进行前向传播生成口令;
生成器的输入数据维度为[每次训练样本数,1],为了反映各个编号代表的符号之间的语义关系,先进行词嵌入转化为[每次训练样本数,嵌入向量的维度]的矩阵,之后传入LSTM网络中,得到[每次训练样本数,隐空间维度]的矩阵,之后输入到全连接网络得到[每次训练样本数,字符种类]的矩阵,最后输入到softmax层并进行随机采样得到[每次训练样本数,1]的矩阵,将最后所得的矩阵再依次词嵌入、LSTM、全连接网络、softmax层,重复此类操作“口令长度-1”次,连接“口令长度”次的输出结果,得到[每次训练样本数,口令长度]矩阵。对于softmax层的输出概率采用随机策略采样,softmax层使用softmax函数转换成概率,随机采样得到某个字符的下标作为具体值,同时缩减维度,具体是根据softmax输出的概率进行采样,如果预测一个字符的概率是10%,那么它被采样的概率也是10%。
S22:构造roll-out结构类;
roll-out结构类是生成器类的完全副本,主要作用是模拟生成器生成口令样本,用于计算生成器生成口令的期望reward。判别器只能对完整口令序列给出reward,不能指导生成器生成口令序列的过程,本实施例使用roll-out结构类的roll-out网络就是用于辅助判别器对生成器生成口令序列的过程进行指导;
S23:构造Highway结构类;
Highway结构类主要作用是使得网络不会随着深度加大导致训练效果变差,传统的卷积层或全连接层在信息传递时,或多或少会存在信息丢失、损耗等问题,本实施例使用Highway结构类的Highway网络在某种程度上解决了这个问题;
S24:使用Highway结构类和CNN构造出判别器类;
本实施例构造判别器类,最终判别器的输出结果为维度为[每次训练样本数,2]的矩阵,代表着判别器判定输入到判别器的口令分别为假样本和真样本的概率,又称为reward。
在本实施例中,判别器的主要工作是接收口令的词嵌入格式(embedding)数据作为输入,通过多个并行的不同规模的CNN层最大限度的提取输入数据的特征,每一个CNN层由卷积层和池化层组成,卷积层的核心是卷积核,池化层使用的是Max-Pooling方法,CNN对输入数据依次进行卷积核池化的过程本质上就是对输入数据进行加权平均提取特征,不同规模的CNN层可以提取到不同粒度的特征。CNN层之后的Highway网络层和Dropout层则是为了避免模型的退化和过拟合。
判别输入的口令分别属于假样本和真样本的概率;
S25:构造出生成器参数更新所需要的策略梯度类;
传统的GAN网络中,生成器的损失函数一般来说有一下两种:
Ex~Pg[log(1-D(Y))] (公式1)
Ex~Pg[-log D(Y)] (公式2)
其中,Pg表示由生成器产生的样本分布,Pr表示真实样本分布。不管是公式1还是公式2,其中的D(x)代表判别器对生成器生成的完整序列x的判断,这说明判别器只能对生成器生成的完整序列进行判断,无法对生成器的生成完整序列的过程进行指导。另外,生成器在生成序列时通过softmax对离散序列采样输出,这一采样过程不可导,导致梯度更新无法从判别网络传到生成网络。
而将强化学习中的奖励机制和蒙特卡罗策略梯度reinforce算法引入到GAN中,解决了以上两个问题。
以强化学习的思维去看待GAN生成口令的问题,生成器Gθ生成口令序列Y1:T=(y1,y2,…,yT)的过程看成强化学习中的序列决策过程,生成器相当于Agent,生成器已生成的部分口令序列(y1,y2,…,yt-1)表示当前状态state,下一个要生成的口令字符yt相当于nextaction,Gθ(yt|Y1:t-1)表示从当前状态开始,采取yt为nextaction之后的策略,判别器Dφ判断生成器生成的完整口令序列来源于真实样本的概率作为reward。
策略梯度算法如下:
Figure BDA0003065622150000091
其中,R是判别器给完整口令序列的奖励,S0表示已生成的部分口令序列(即当前状态),
Figure BDA0003065622150000101
是动作价值函数,表示从当前状态S0开始,选择yt为下一个口令字符,然后执行策略Gθ对应的累积奖赏。明显可得:
Figure BDA0003065622150000102
要实现判别器对生成器生成口令过程的指导,说明GAN不仅要考虑完整口令序列奖赏,而且考虑中间状态的动作奖赏。但是判别器只能对完整口令序列给出相应的奖赏,因此,使用roll-out策略Gw和蒙特卡罗搜索算法采样估计中间状态的动作价值函数
Figure BDA0003065622150000103
Gw是Gθ的完全副本,用于生成(S0,yt)的后续口令序列,以得到完整的口令序列Y1:T=(y1,y2,…,yT)。
在某一中间状态S0,选择下一个动作为yt,执行策略Gw,执行N次蒙特卡罗搜索,得到N个完整口令序列:
Figure BDA0003065622150000104
以此计算动作价值函数
Figure BDA0003065622150000105
Figure BDA0003065622150000106
生成器Gθ生成一个完整的口令序列,则将该口令序列从不同位置断开,Gw重复模拟补全剩下的口令序列N,得到部分完整口令样本,利用蒙特卡罗搜索算法N次采样,得到N个完整口令序列。之后,计算动作价值函数
Figure BDA0003065622150000107
所有的动作价值函数
Figure BDA0003065622150000108
之和即为该完整口令序列的最终奖赏J(θ):
Figure BDA0003065622150000109
SeqGAN生成器的损失函数为公式(7),SeqGAN判别器的损失函数:
-EY~Pr[log Dφ(Y)]-EY~Pg[log(1-Dφ(Y))] (公式8)
在本实施例中,判别器的损失函数包括两个方面:
1)判别器对真实口令序列数据的奖赏
2)判别器对虚假口令序列的奖赏
生成器的损失函数包括两个方面:
1)判别器对虚假的完整口令序列的奖赏
2)生成器生成口令过程的动作价值函数
S3:进行网络预训练;
S31:生成相应的生成器和构造器实例;
S32:初始化生成器和构造器相应的优化器,两个网络均使用SGD优化器;
S33:开始进行预训练;
在本实施例中,分别独立对生成器和判别器进行预训练;
预训练生成器,使用部分真实训练数据和极大似然估计法训练生成器;
预训练判别器,利用预训练后的生成器生成与用于预训练生成器的真实训练数据等量的虚假数据,使用等量的虚假数据和真实训练数据训练判别器。
S4:进行网络对抗训练;
在本实施例中,基于预训练后的生成器和判别器,结合roll-out网络,在训练数据集上进行对抗训练,对于判别器和生成器的训练方法是有所区别的,并且在训练其中一个神经网络时,另一个神经网络中的参数不参与梯度更新;
训练判别器,使用真实口令数据以及生成器生成的口令数据来训练判别器,并且在反向传播时需要冻结生成器的模型参数,只更新判别器的模型参数;
训练生成器,如图4所示,使用生成器生成虚假口令,roll-out网络将该虚假口令多次从不同位置断开,之后,roll-out网络根据虚假口令的前部分模拟生成器补全虚假口令,因此,会得到多条由生成器和roll-out网络共同生成的口令,将这些共同生成的口令输入到判别器中,会得到每条口令是否来源于真实口令集的概率(即reward),将reward的加权平均值作为虚假口令的期望reward,根据期望reward反向传播更新生成器的模型参数,在反向传播过程中冻结判别器的模型参数,只更新生成器的模型参数,每更新一次生成器的网络参数,用生成器的参数更新roll-out网络的参数,为了增加长序列强化学习的稳定性,利用学习率控制roll-out的网络参数更新稍滞后于生成器的网络参数更新。
S5:进行口令生成;
S51:使用训练好的生成器参数进行爆破口令集生成,生成器需要将开始标志start_token作为输入,然后进行前向传播即可得到爆破口令集;
在本实施例中,生成的爆破口令集是数字化的口令,还要进行字符化处理。爆破口令集的表现形式是如下维度的矩阵:[每次训练样本数,口令长度],其中口令长度维度上的值为步骤S12中字符字典中字符对应的键。根据反向索引字典进行转换得到生成的具体口令。
实施例2
本实施例提供一种基于策略梯度的生成式对抗网络的口令破解系统,包括:数据预处理模块、神经网络构造模块、网络预训练模块、网络对抗训练模块和爆破口令集生成模块;
在本实施例中,数据预处理模块用于数据集预处理,确定最长口令的长度和口令中最多允许存在的字符种类数,清除长度超过预设值和出现非允许字符的口令,得到训练口令集,将训练口令集转化为一个由所包含字符组成的字符数组,对字符数组进行字符频数统计并排序得到字符字典,对照该字典将字符数组转化成一个数字化的口令数组,得到训练数据集;
在本实施例中,神经网络构造模块用于构造Highway结构类、生成器、roll-out结构类和判别器,基于LSTM构造生成器类,并基于Highway结构类和CNN层构造判别器类,构造生成器参数更新所需要的策略梯度类,roll-out结构类是生成器类的完全副本,用于模拟生成器生成口令样本;
在本实施例中,网络预训练模块用于生成判别器和生成器实例,初始化生成器和判别器相应的优化器,在部分真实训练数据上对生成器进行预训练,利用预训练后的生成器和部分真实训练数据对判别器进行预训练;
在本实施例中,网络对抗训练模块用于生成roll-out实例,采用预训练后生成器参数初始化roll-out网络,基于预训练的生成器和判别器,结合roll-out网络在训练数据上对生成器和判别器进行对抗训练;
在本实施例中,爆破口令集生成模块用于采用训练好的生成器参数生成爆破口令集。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种基于策略梯度的生成式对抗网络的口令破解方法,其特征在于,包括下述步骤:
数据预处理:确定最长口令的长度和口令中最多允许存在的字符种类数,清除长度超过预设值和出现非允许字符的口令,得到训练口令集,将训练口令集转化为由所包含字符组成的字符数组,对字符数组进行字符频数统计并排序得到字符字典和反向索引字典,对照字符字典将训练口令集转化成数字化的口令数组,得到训练数据集;
神经网络构造:构造Highway结构类、生成器、roll-out结构类和判别器,基于LSTM构造生成器类,并基于Highway结构类和CNN层构造判别器类,构造生成器参数更新所需要的策略梯度类,所述roll-out结构类是生成器类的完全副本,用于模拟生成器生成口令样本;
进行网络预训练:生成相应的生成器和判别器实例,初始化生成器、判别器及对应的优化器,对生成器进行预训练,利用预训练后的生成器和部分真实训练数据对判别器进行预训练;
进行对抗训练:实例化roll-out结构类,采用预训练后的生成器参数更新roll-out网络,基于预训练后的生成器和判别器,结合roll-out网络在训练数据上对生成器和判别器进行对抗训练;
采用训练好的生成器参数生成爆破口令集。
2.根据权利要求1所述的基于策略梯度的生成式对抗网络的口令破解方法,其特征在于,所述数据预处理步骤中,所述字符字典以字符数组中出现的字符为键,以字符在字符数组中统计频数的排名为值,所述反向索引字典为字符字典中所有键-值对的键与值相互调换得到的字典。
3.根据权利要求1所述的基于策略梯度的生成式对抗网络的口令破解方法,其特征在于,所述基于LSTM构造生成器类,具体步骤包括:
输入开始标志,触发网络进行前向传播生成口令。
4.根据权利要求1所述的基于策略梯度的生成式对抗网络的口令破解方法,其特征在于,所述生成器的输入数据维度为[每次训练样本数,1],首先进行词嵌入转化为[每次训练样本数,嵌入向量的维度]的矩阵,传入LSTM网络中,得到[每次训练样本数,隐空间维度]的矩阵,之后输入到全连接网络得到[每次训练样本数,字符种类]的矩阵,最后输入到softmax层并进行随机采样得到[每次训练样本数,1]的矩阵,将最后所得的矩阵再依次经过词嵌入、LSTM网络、全连接网络和softmax层,循环操作并连接每一次的输出结果,得到[每次训练样本数,口令长度]矩阵。
5.根据权利要求1所述的基于策略梯度的生成式对抗网络的口令破解方法,其特征在于,所述判别器设置多个平行的不同规模的CNN层,用于提取不同粒度的特征;
所述判别器的输出结果为维度[每次训练样本数,2]的矩阵,表示判别器判定每一个训练样本分别为假样本和真样本的概率。
6.根据权利要求1所述的基于策略梯度的生成式对抗网络的口令破解方法,其特征在于,将强化学习中的奖励机制和蒙特卡罗策略梯度算法引入到GAN网络中;
所述判别器的损失函数包括判别器对真实口令序列数据的奖赏和判别器对虚假口令序列的奖赏;
所述生成器的损失函数包括判别器对虚假的完整口令序列的奖赏和生成器生成口令过程的动作价值函数。
7.根据权利要求1所述的基于策略梯度的生成式对抗网络的口令破解方法,其特征在于,所述结合roll-out网络在训练数据上对生成器和判别器进行对抗训练,具体步骤包括:
训练判别器,采用等量的真实训练数据和生成器生成的虚假数据训练判别器,并且在反向传播时需要冻结生成器的模型参数,只更新判别器的模型参数;
训练生成器,使用生成器生成虚假口令,roll-out网络将该虚假口令多次从不同位置断开,、roll-out网络根据虚假口令的前部分模拟生成器补全虚假口令,得到多条由生成器和roll-out网络共同生成的口令,将共同生成的口令输入到判别器中,得到每条口令是否来源于真实口令集的概率,将概率值的加权平均值作为虚假口令的期望reward,根据期望reward反向传播更新生成器的模型参数,在反向传播过程中冻结判别器的模型参数,只更新生成器的模型参数;
每更新一次生成器的网络参数,用生成器的参数更新roll-out网络的参数。
8.根据权利要求1或3所述的基于策略梯度的生成式对抗网络的口令破解方法,其特征在于,所述采用训练好的生成器参数生成爆破口令集,具体步骤包括:
生成器将开始标志作为输入,然后进行前向传播得到爆破口令集。
9.根据权利要求1所述的基于策略梯度的生成式对抗网络的口令破解方法,其特征在于,所述爆破口令集表示为[每次训练样本数,口令长度]维度的矩阵,其中口令长度维度上的值为字符字典中字符对应的键值,根据反向索引字典进行转换得到字符化的口令。
10.一种基于策略梯度的生成式对抗网络的口令破解系统,其特征在于,包括:数据预处理模块、神经网络构造模块、网络预训练模块、网络对抗训练模块和爆破口令集生成模块;
所述数据预处理模块用于数据集预处理,确定最长口令的长度和口令中最多允许存在的字符种类数,清除长度超过预设值和出现非允许字符的口令,得到训练口令集,将训练口令集转化为一个由所包含字符组成的字符数组,对字符数组进行字符频数统计并排序得到字符字典,对照该字典将字符数组转化成一个数字化的口令数组,得到训练数据集;
所述神经网络构造模块用于构造Highway结构类、生成器、roll-out结构类和判别器,基于LSTM构造生成器类,并基于Highway结构类和CNN层构造判别器类,构造生成器参数更新所需要的策略梯度类,所述roll-out结构类是生成器类的完全副本,用于模拟生成器生成口令样本;
所述网络预训练模块用于生成判别器和生成器实例,初始化生成器和判别器相应的优化器,在部分真实训练数据上对生成器进行预训练,利用预训练后的生成器和部分真实训练数据对判别器进行预训练;
所述网络对抗训练模块用于生成roll-out实例,采用预训练后生成器参数初始化roll-out网络,基于预训练的生成器和判别器,结合roll-out网络在训练数据上对生成器和判别器进行对抗训练;
所述爆破口令集生成模块用于采用训练好的生成器参数生成爆破口令集。
CN202110525589.7A 2021-05-14 2021-05-14 基于策略梯度的生成式对抗网络的口令破解方法及系统 Active CN113312609B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110525589.7A CN113312609B (zh) 2021-05-14 2021-05-14 基于策略梯度的生成式对抗网络的口令破解方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110525589.7A CN113312609B (zh) 2021-05-14 2021-05-14 基于策略梯度的生成式对抗网络的口令破解方法及系统

Publications (2)

Publication Number Publication Date
CN113312609A true CN113312609A (zh) 2021-08-27
CN113312609B CN113312609B (zh) 2022-12-16

Family

ID=77373029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110525589.7A Active CN113312609B (zh) 2021-05-14 2021-05-14 基于策略梯度的生成式对抗网络的口令破解方法及系统

Country Status (1)

Country Link
CN (1) CN113312609B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553520A (zh) * 2022-02-21 2022-05-27 华南师范大学 网络攻击数据流合成方法、装置、电子设备及存储介质
CN117093696A (zh) * 2023-10-16 2023-11-21 浙江同花顺智能科技有限公司 一种大语言模型的提问文本生成方法、装置、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334497A (zh) * 2018-02-06 2018-07-27 北京航空航天大学 自动生成文本的方法和装置
US20190258984A1 (en) * 2018-02-19 2019-08-22 Microsoft Technology Licensing, Llc Generative adversarial networks in predicting sequential data
US10540798B1 (en) * 2019-01-10 2020-01-21 Capital One Services, Llc Methods and arrangements to create images
US20200074073A1 (en) * 2018-08-31 2020-03-05 Briland Hitaj System and process for generating passwords or password guesses
CN111046178A (zh) * 2019-11-29 2020-04-21 北京邮电大学 一种文本序列生成方法及其系统
CN111966997A (zh) * 2020-07-20 2020-11-20 华南理工大学 基于梯度惩罚的生成式对抗网络的密码破解方法及系统
CN112257433A (zh) * 2020-12-23 2021-01-22 四川大学 基于马尔可夫链和神经网络的口令字典生成方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334497A (zh) * 2018-02-06 2018-07-27 北京航空航天大学 自动生成文本的方法和装置
US20190258984A1 (en) * 2018-02-19 2019-08-22 Microsoft Technology Licensing, Llc Generative adversarial networks in predicting sequential data
US20200074073A1 (en) * 2018-08-31 2020-03-05 Briland Hitaj System and process for generating passwords or password guesses
US10540798B1 (en) * 2019-01-10 2020-01-21 Capital One Services, Llc Methods and arrangements to create images
CN111046178A (zh) * 2019-11-29 2020-04-21 北京邮电大学 一种文本序列生成方法及其系统
CN111966997A (zh) * 2020-07-20 2020-11-20 华南理工大学 基于梯度惩罚的生成式对抗网络的密码破解方法及系统
CN112257433A (zh) * 2020-12-23 2021-01-22 四川大学 基于马尔可夫链和神经网络的口令字典生成方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐洪祥 等: "基于数据隐藏的可逆图像视觉变换算法", 《传感器与微系统》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553520A (zh) * 2022-02-21 2022-05-27 华南师范大学 网络攻击数据流合成方法、装置、电子设备及存储介质
CN114553520B (zh) * 2022-02-21 2023-11-21 华南师范大学 网络攻击数据流合成方法、装置、电子设备及存储介质
CN117093696A (zh) * 2023-10-16 2023-11-21 浙江同花顺智能科技有限公司 一种大语言模型的提问文本生成方法、装置、设备及介质
CN117093696B (zh) * 2023-10-16 2024-02-02 浙江同花顺智能科技有限公司 一种大语言模型的提问文本生成方法、装置、设备及介质

Also Published As

Publication number Publication date
CN113312609B (zh) 2022-12-16

Similar Documents

Publication Publication Date Title
Hitaj et al. Passgan: A deep learning approach for password guessing
Alzantot et al. Genattack: Practical black-box attacks with gradient-free optimization
CN113312609B (zh) 基于策略梯度的生成式对抗网络的口令破解方法及系统
CN109117482A (zh) 一种面向中文文本情感倾向性检测的对抗样本生成方法
CN111966786B (zh) 一种微博谣言检测方法
CN107579816B (zh) 基于递归神经网络的密码字典生成方法
CN110286778A (zh) 一种中文深度学习输入法、装置及电子设备
US11171946B2 (en) Two-level sequence learning for analyzing, metering, generating, and cracking passwords
Inan et al. Training data leakage analysis in language models
CN111966997A (zh) 基于梯度惩罚的生成式对抗网络的密码破解方法及系统
CN109635530A (zh) 一种基于用户群组属性的智能口令猜测方法
Zhang et al. Gmh: A general multi-hop reasoning model for kg completion
Rando et al. PassGPT: password modeling and (guided) generation with large language models
CN103793747A (zh) 网络内容安全管理中一种敏感信息模板构建方法
Wang et al. Password guessing using random forest
Zhang et al. A RNN decoder for channel decoding under correlated noise
CN114330306B (zh) 一种基于深度学习的密码字典生成技术
CN116756275A (zh) 文本检索匹配方法及装置
CN111310975A (zh) 一种基于深度模型的多任务消息传播预测方法
CN113111329B (zh) 基于多序列长短期记忆网络的口令字典生成方法及系统
Biesner et al. Generative deep learning techniques for password generation
Li et al. PG-Pass: Targeted Online Password Guessing Model based on Pointer Generator Network
CN113472515A (zh) 用于侧信道攻击的深度学习模型的评价与训练方法
Wu et al. PGTCN: A novel password-guessing model based on temporal convolution network
Luo et al. Recurrent neural network based password generation for group attribute context-ware applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant