APP下载

OMECNN:一种基于有序马尔可夫枚举器和判别神经网络的口令生成模型

2021-07-15杨龙龙

关键词:马尔可夫口令阈值

杨龙龙, 杨 频, 刘 亮, 张 磊

(四川大学网络空间安全学院, 成都 610065)

1 引 言

当前,基于口令的身份鉴别是目前最流行的鉴别方式之一,也是一个重要研究领域[1],然而口令的使用不总是安全的,人们习惯将口令设置成让自己容易记住的短的或者有规律的字符序列[2-3],像“123456”这样的弱口令.对此,许多研究学者提出了口令设置策略[4-8]来帮助用户设置易于记忆且不易被猜解的口令.然而,由于禀赋效应[9]的存在,即使有很高安全意识的人,也还是会使用弱口令.研究口令策略和口令安全性如检测现有用户口令保护机制的缺陷等都需要有大规模口令明文样本.获取真实的大规模口令明文是困难的,利用口令生成技术来生成大规模口令集是目前广泛使用的一个手段.

在口令生成技术研究方面,前人已经做了大量的研究[10-15],其中比较具有代表性的是OMEN模型[10]和PassGAN模型[11],这两个模型分别是基于传统马尔可夫链的口令生成方法和基于生成对抗神经网络的口令生成方法.

OMEN模型的出发点是高概率出现的口令排在口令集前面对口令破解有加速作用.OMEN实验数据表明,OMEN模型生成的口令集在测试集上的命中率要高于JtR-Markov以及其改进版JtR-Inc模型[16].然而,OMEN模型在设计上没有考虑到口令集的分布是否与测试集口令分布一致的问题.

PassGAN模型使用了生成对抗神经网络(Generative Adversarial Network,GAN)[17],生成的口令具有符合原口令集分布的特点.然而,PassGAN生成的口令集中具有大量重复的口令,其次,PassGAN生成的口令不会按照一定次序排序,并且存在口令重复率高的问题.

本文针对上述的OMEN模型与PassGAN模型在生成口令过程中存在的问题,提出OMECNN模型,通过引入判别神经网络打分筛选口令的方法解决上述问题.OMECNN模型使用有序马尔可夫口令枚举器按照口令组合概率的高低生成组合口令,然后利用判别神经网络进行打分筛选口令,选出得分高于阈值的口令组成最终口令集.本文主要的工作和贡献如下.

1) 本文提出一种基于有序马尔可夫枚举器和判别神经网络的口令生成模型.首先由有序马尔可夫枚举器进行口令生成,随即使用判别神经网络进行打分筛选,得分高于阈值的口令组成最终口令集.通过该模型生成的口令具有按照口令组合概率高低排序的特点和符合真实训练口令集的口令分布的特点.

2) 与PassGAN相比,OMECNN解决了重复率的问题且生成的口令是按照口令组合概率高低排序的.其次,OMECNN模型是首个利用生成对抗网络的判别器和有序马尔可夫技术相结合进行口令生成的技术.本文发现随着GAN的训练轮次的增加,GAN的生成器的性能没有增加反而更差,而口令集重复率却增加了.相反,GAN的判别器的性能随着GAN的训练轮次的增加而得到增加.

3) 实验结果表明,OMECNN模型的命中率较OMEN模型有所提升,较PassGAN模型有大幅的提升.在Rockyou数据集上,在生成107条口令的条件下,OMECNN模型比OMEN模型多命中16.60%的口令,比PassGAN模型多命中220.02%的口令.

2 相关工作及背景

2.1 生成对抗网络

2014年,研究学者提出生成对抗网络[18].生成器网络尽可能生成逼真样本,判别器网络则尽可能去判别样本是来自真实样本,还是来自生成器生成的伪样本,示意图如图1所示.

图1 生成对抗网络框架图Fig.1 GAN framework

GAN的目标函数如下:

Εz~pz[log(1-D(G(z)))]

(1)

对于判别器D,其目标函数为maxV(G,D),当生成器G固定时,对V(G,D)求导,得到最优判别器D*(x),如式(2).

(2)

将最优判别器代入上述目标函数式(1)中,可以求出在最优判别器下,生成器的目标函数,其等价于优化pdata(x)与pz(x) 的 JS 散度.当pdata(x)与pz(x)相等时,对于判别器而言,任一样本被预测为真实样本的概率均为0.5,达到了难以区分真实样本与伪造样本的地步.实际训练时,生成器和判别器采取交替训练的方式,先训练k次D,然后训练1次G,不断往复.在PassGAN模型中k取10.

原始GAN存在训练梯度不稳定问题,使GAN的训练变得困难或失败.有进一步的工作[17-18]改善了训练时梯度的稳定性的问题.本文介绍的PassGAN和判别神经网络均是用由IWGAN模型[18]实现对抗神经网络模型的.

2.2 口令生成技术

早期的口令生成技术的研究是基于Markov模型,后经过改进得到JtR-Markov模型[16].在该模型中,用户口令被解析成一串字符序列,字符之间存在相互的联系,且字符之间的关系符合统计规律.通过统计字符串子序列之间的关系,得到字符序列间的统计规律,随后基于这些规律进行口令字典的生成.

Weir等提出上下文概率无关语法技术,后经Durmuth等拓展得到OMEN模型[10].OMEN按照N-Gram的发生概率高低来生成口令,概率越高的口令输出的可能性就越靠前.具体做法是引入用于存储具有不同概率的N-Gram序列的桶的概念.随后将所有的N-Gram序列按照统计概率的高低分类到不同的桶中,OMEN模型按照不同桶的概率由高到低进行取N-Gram序列组成口令,直到所有桶被遍历完或者生成的口令的条目达到目标条目.在可选字符集∑中,OMEN模型生成的口令序列可以表述为

P(x1x2...xn)=P(x1)P(x2|x1)...P(xn|

x1x2...xn-1),xi∈∑

(3)

OMEN模型生成的口令集D可以表述为

DV,ϑ,,η,ϑ′,′,η′={β:αβ∈DV,ϑ,,η}

(4)

以及

DV,ϑ,,η={α:|α|=

(5)

在式(4)和式(5)中,l为字符序列的长度;V(X)是字符的条件概率函数;ϑ为OMEN模型中的阈值,低于该阈值的口令组合将被丢弃;η为某个N-Gram序列桶的最小概率.OMEN的实验表明,OMEN性能超过JtR-Markov以及JtR-Inc模型.

随着机器学习的快速发展,运用机器学习的方法进行安全领域课题的研究也逐渐流行起来,出现了一些新的研究方向[13,19-20].在口令猜解中,Hitaj等基于生成对抗神经网络提出PassGAN[11]口令猜解模型,使用生成对抗神经网络来进行学习口令集的分布,学习到分布后然后再使用生成器网络来生成口令.本文实验部分将讨论PassGAN的重复率问题.

本文提出的模型结合马尔科夫枚举器和判别神经网络方法,使用有序马尔可夫口令枚举器按照口令组合概率的高低生成组合口令,同时使用判别神经网络进行打分筛选口令,选出得分高于阈值的口令组成最终口令集.生成的口令集具有按照口令组合概率高低排序的特点和符合真实训练口令集的口令分布的特点,并且不存在重复的口令的情况.

3 OMECNN模型实现

3.1 OMECNN模型总括

OMECNN模型包括两个子模块,一个是口令生成模块,另一个是口令筛选模块,整体模型训练和口令生成框架图如图2所示.

如图2所示,使用数据集训练GAN和有序马尔可夫口令枚举器,训练完成后得到有序马尔可夫口令枚举器与GAN神经网络两个模块.OMECNN模型中,取GAN的判别器作为判别神经网络子模块,GAN生成器网络被丢弃.随用使用有序马尔可夫口令枚举器进行口令生成,将判别神经网络应用于有序马尔可夫口令枚举器生成的口令,输出相应的分值,OMECNN模型选择那些分值高于或者等于阈值常数λ的口令.

3.2 口令选择模块

OMECNN模型的口令选择模块需要满足以下3点特性:(1)所选的判别神经网络模块有能力学习给定口令集的分布特征;(2)所选的判别神经网络模块以口令字符序列作为输入;(3)所选的判别神经网络模块输出一个分值.要求:当分值大于或者等于一个阈值常数λ,能在一个高概率情况下得出该口令符合原分布的结论,反之,当分值低于该阈值常数λ时,得出该口令不符合原口令集分布的结论.

图3~图5给出了本文OMECNN模型的生成对抗网络结构图.

图2 OMECNN训练和口令生成框架图Fig.2 OMECNN and password generation framework

图3 生成器网络结构图Fig.3 Generator structure

图4 判别器网络结构图Fig.4 Discriminator structure

图5 残差块结构图Fig.5 Residual block structure

训练完成后,OMECNN模型将GAN中的判别器网络作为判别神经网络口令选择模块,并将其应用到由口令生成模块所生成的口令集上,对口令进行打分筛选,这一过程如下式所示.

score=C(X)

(6)

3.3 口令生成模块

OMECNN模型的口令生成模块需要具备以下3个特征:(1) 所选的模型有能力学习给定口令集的口令相关特征;(2) 所选的模型能生成不重复的口令;(3) 所选模型输出的口令有一个特征,即先出现的口令是真实口令的概率比后出现的高.

有序马尔可夫枚举器符合上述3个特征.用数学语言描述由有序马尔可夫枚举器生成的口令集合D可以被描述为如下式所示.

(7)

式(7)中,V(x1)是口令起始序列的概率函数;V(xi+1|xixi-1...x1)是第i+1个字符的条件概率函数,这两个函数均由N-Gram马尔可夫模型学得.

结合式(6)和式(7)可得OMECNN模型生成的口令集D可以表示为

{X:X⊆DV,ϑ,η,∧∀xi∈X⟹C(xi)≥λ}

(8)

综合两个模块,OMECNN模型可由算法1表述.

算法1OMECNN模型生成口令算法

Count=0

WHILE Count

FOR each vector(n)2≤i≤ηwith ∑ini=η

FOR eachx1x2x3x4∈∑4withV(x1x2x3x4)=

n2

WHILE length ofX<:

FOR eachxj+4∈∑ withV(xj+4|xjxj+1xj+2xj+3)>nj+4

END WHILE

IFC(X)≥λ:

Output passwordX

Count=Count+1

END IF

END FOR

END FOR

END WHILE

4 OMECNN实验及分析

4.1 口令数据集描述

实验中使用到的是Rockyou数据集[21],将数据集中的重复口令进行删除操作;同时,口令中包含非ASCII的字符也被删除,由于PassGAN中的口令序列最长为10个字符,故将口令长度大于10的口令也进行删除操作.对口令集进行扰乱操作后,口令集被按照4:1的比例分成训练集和测试集.最终训练集包含7 909 309条口令,测试集包含1 977 328条口令.该数据集包含的字符序列如下.

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!.*@-_$#

4.2 实验环境

实验软件与硬件环境如表1所示.

表1 实验软硬件环境

4.3 实验评估方法

本文共对3个模型进行评估,其中评估的指标为口令的命中率(precision),计算统计方法如下.

(9)

Hit为命中测试集中的口令的数目;testing-count为测试集口令数量.对于PassGAN模型而言,其重复率(repetition)也被评估,计算统计方法如下式.

(10)

Hitunique为命中测试集中的已删除重复的口令的条目.OMECNN模型将被按照算法1来进行口令生成,按照算法1,有序马尔可夫枚举器生成的口令,得分低于阈值常数的口令将被丢弃,故OMECNN模型的口令的命中率(precision)的计算方法如下

(11)

4.4 对OMEN模型的评估

将Rockyou训练集口令给OMEN模型投喂学习,待其统计完N-Gram序列概率后,使用OMEN模型生成口令,其中,N-Gram序列中的N取值分别为2,3,4,5.将训练完成的OMEN模型进行口令生成,将生成的口令集进行逐一取口令在测试集中搜索统计,得到的命中率如图6所示.

图6 OMEN模型命中情况 Fig.6 The hit rate of OMEN model

图6中,OMEN2gram表示OMEN模型中,N-Gram取为2,其他图例亦类似.实验结果显示,当OMEN模型中的N-Gram模型为5-Gram时,OMEN性能最好,其命中条目数如表2所示.

表2 OMEN_5gram 模型命中条目情况表

4.5 对PassGAN模型的评估

将Rockyou训练集对PassGAN模型进行训练,训练模型的参数与文献中的一致,实验评估中,将更改最大字符序列长度(max sequence length)与训练的轮数(iteration)进行数据对比.得到的命中情况如图7所示.

图7 PassGAN模型命中情况 Fig.7 The hit rate of PassGAN model

图7中,m10i200000表示在PassGAN模型中,最大序列长度取10,最大训练轮数取2×105,其他图例亦类似.结果得出,PassGAN模型中,当最大序列长度取10,最大训练轮数取2×105时,PassGAN模型命中性能最好,命中条目情况如表3所示.

上述结果表明,PassGAN的命中率比OMEN模型差,原因之一是因为PassGAN模型会产生重复的口令,这是去掉重复口令的结果,按照式(10)对PassGAN模型重复率进行统计,得出结果如图8所示.

表3 PassGAN模型命中条目情况表

图8 PassGAN模型重复率Fig.8 Repetition of PassGAN

结合图7和图8可以分析出以下结论,当训练轮数参数为4×105,最大字符序列长度为19时,在生成109条口令时,口令重复率达到了50.60%.其次,随着训练轮数和最大字符序列长度的增加,PassGAN的生成器的性能并没有增加反而更差,而重复率会随着训练轮数的增加而增加.

4.6 对OMECNN模型的评估

将Rockyou训练集对OMECNN模型的有序马尔可夫枚举器和判别神经网络进行训练,其中,有序马尔可夫枚举器中的N-Gram设置为5-Gram,判别神经网络中的训练轮数分别设置为2×105, 3×105, 4×105,最大字符序列长度参数值设为10,将score阈值分别设置为-1.2,-1.3和-1.4.按照算法1生成口令集,随后按照式(11)与测试集进行比对统计,结果如图9所示.

图9中,OMECNNn5i200000s13表示为OMECNN模型中,有序马尔可夫枚举器的N-Gram为5-Gram,训练轮数为2×105,score阈值常数取-1.3,如无特殊情况,后文不再复述.结果得出,当训练轮数为4×105,score阈值常数设置为-1.3时,在生成相同条目的口令情况下OMECNN命中条目最高,此时,命中条目具体情况如表4所示.

图9 三个模型不同参数下命中情况 Fig.9 The hits of 3 models under different parameters under OMECNN model

表4 OMECNN模型命中条目情况表

比较表2~表4可以得出,在生成107条口令时,OMECNN模型命中的条目比OMEN模型命中的条目高出16.60%,比PassGAN模型高出220.02%.

4.7 实验小结

通过上述实验可以发现OMEN模型生成的口令对比测试集有较好的命中率,在生成109条口令时,OMEN模型能命中测试集的49.88%的口令.而PassGAN则只能命中28.10%,造成PassGAN命中率低的原因之一是因为PassGAN模型生成的口令集存在大量重复的口令,本文还对PassGAN模型生成口令的重复率进行了实验,实验发现,当训练轮数参数为4×105,最大口令字符序列长度为19时,在生成109条口令的情况下,口令重复率达到50.60%.其次,随着训练轮数和最大口令字符序列长度的增加,PassGAN的生成器的性能并没有增加反而更差,而重复率会随着训练轮数的增加而增加.对比OMECNN模型的判别神经网络模块,还可以发现,GAN的判别器的性能会随着训练轮数的增加而增加.在命中率上,OMECNN在生成109条口令的情况下,命中率能达到51.32%,高出OMEN模型1.44%,高出PassGAN模型23.22%.在生成107条口令的情况下,OMECNN模型生成的口令命中条目高出OMEN模型生成的口令命中条目的16.60%,高出PassGAN模型生成的口令命中条目的220.02%.OMECNN模型比OMEN模型和PassGAN模型均要更优,是一个性能更好的口令生成模型.

5 结 论

利用口令生成技术进行大规模口令集的生成,进而检测现有用户口令保护机制的缺陷、评估口令猜测算法效率等,是研究口令安全性的重要手段.针对口令生成技术研究,本文提出一种基于有序马尔可夫枚举器和判别神经网络的口令生成模型OMECNN,OMECNN模型在Rockyou公开口令数据集上,在生成109条口令的情况下,命中率能达到51.32%,高出OMEN模型1.44%,高出PassGAN模型23.22%.在生成107条口令的情况下,OMECNN模型生成的口令命中条目高出OMEN模型生成的口令命中条目的16.60%,高出PassGAN模型生成的口令命中条目的220.02%.OMECNN模型比OMEN模型和PassGAN模型均要更优,是一个性能更好的口令生成模型.

今后的工作可以关注判别神经网络模块输出的分数的分布的研究,研究判别神经网络模块的输出可以发现判别神经网络内在的工作模式,以及发现什么性质结构的口令的得分值能超过阈值,这对改善口令构造策略的研究有积极作用.

猜你喜欢

马尔可夫口令阈值
土石坝坝体失稳破坏降水阈值的确定方法
采用红细胞沉降率和C-反应蛋白作为假体周围感染的阈值
面向电力系统的继电保护故障建模研究
高矮胖瘦
基于马尔可夫链共享单车高校投放研究
基于马尔可夫链共享单车高校投放研究
基于马尔科夫算法对预测窗户状态模型的研究
口 令
事业单位财务风险预测建模及分析
好玩的“反口令”游戏