楊龍龍, 楊 頻, 劉 亮, 張 磊
(四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院, 成都 610065)
當(dāng)前,基于口令的身份鑒別是目前最流行的鑒別方式之一,也是一個(gè)重要研究領(lǐng)域[1],然而口令的使用不總是安全的,人們習(xí)慣將口令設(shè)置成讓自己容易記住的短的或者有規(guī)律的字符序列[2-3],像“123456”這樣的弱口令.對(duì)此,許多研究學(xué)者提出了口令設(shè)置策略[4-8]來(lái)幫助用戶設(shè)置易于記憶且不易被猜解的口令.然而,由于稟賦效應(yīng)[9]的存在,即使有很高安全意識(shí)的人,也還是會(huì)使用弱口令.研究口令策略和口令安全性如檢測(cè)現(xiàn)有用戶口令保護(hù)機(jī)制的缺陷等都需要有大規(guī)模口令明文樣本.獲取真實(shí)的大規(guī)??诹蠲魑氖抢щy的,利用口令生成技術(shù)來(lái)生成大規(guī)模口令集是目前廣泛使用的一個(gè)手段.
在口令生成技術(shù)研究方面,前人已經(jīng)做了大量的研究[10-15],其中比較具有代表性的是OMEN模型[10]和PassGAN模型[11],這兩個(gè)模型分別是基于傳統(tǒng)馬爾可夫鏈的口令生成方法和基于生成對(duì)抗神經(jīng)網(wǎng)絡(luò)的口令生成方法.
OMEN模型的出發(fā)點(diǎn)是高概率出現(xiàn)的口令排在口令集前面對(duì)口令破解有加速作用.OMEN實(shí)驗(yàn)數(shù)據(jù)表明,OMEN模型生成的口令集在測(cè)試集上的命中率要高于JtR-Markov以及其改進(jìn)版JtR-Inc模型[16].然而,OMEN模型在設(shè)計(jì)上沒(méi)有考慮到口令集的分布是否與測(cè)試集口令分布一致的問(wèn)題.
PassGAN模型使用了生成對(duì)抗神經(jīng)網(wǎng)絡(luò)(Generative Adversarial Network,GAN)[17],生成的口令具有符合原口令集分布的特點(diǎn).然而,PassGAN生成的口令集中具有大量重復(fù)的口令,其次,PassGAN生成的口令不會(huì)按照一定次序排序,并且存在口令重復(fù)率高的問(wèn)題.
本文針對(duì)上述的OMEN模型與PassGAN模型在生成口令過(guò)程中存在的問(wèn)題,提出OMECNN模型,通過(guò)引入判別神經(jīng)網(wǎng)絡(luò)打分篩選口令的方法解決上述問(wèn)題.OMECNN模型使用有序馬爾可夫口令枚舉器按照口令組合概率的高低生成組合口令,然后利用判別神經(jīng)網(wǎng)絡(luò)進(jìn)行打分篩選口令,選出得分高于閾值的口令組成最終口令集.本文主要的工作和貢獻(xiàn)如下.
1) 本文提出一種基于有序馬爾可夫枚舉器和判別神經(jīng)網(wǎng)絡(luò)的口令生成模型.首先由有序馬爾可夫枚舉器進(jìn)行口令生成,隨即使用判別神經(jīng)網(wǎng)絡(luò)進(jìn)行打分篩選,得分高于閾值的口令組成最終口令集.通過(guò)該模型生成的口令具有按照口令組合概率高低排序的特點(diǎn)和符合真實(shí)訓(xùn)練口令集的口令分布的特點(diǎn).
2) 與PassGAN相比,OMECNN解決了重復(fù)率的問(wèn)題且生成的口令是按照口令組合概率高低排序的.其次,OMECNN模型是首個(gè)利用生成對(duì)抗網(wǎng)絡(luò)的判別器和有序馬爾可夫技術(shù)相結(jié)合進(jìn)行口令生成的技術(shù).本文發(fā)現(xiàn)隨著GAN的訓(xùn)練輪次的增加,GAN的生成器的性能沒(méi)有增加反而更差,而口令集重復(fù)率卻增加了.相反,GAN的判別器的性能隨著GAN的訓(xùn)練輪次的增加而得到增加.
3) 實(shí)驗(yàn)結(jié)果表明,OMECNN模型的命中率較OMEN模型有所提升,較PassGAN模型有大幅的提升.在Rockyou數(shù)據(jù)集上,在生成107條口令的條件下,OMECNN模型比OMEN模型多命中16.60%的口令,比PassGAN模型多命中220.02%的口令.
2014年,研究學(xué)者提出生成對(duì)抗網(wǎng)絡(luò)[18].生成器網(wǎng)絡(luò)盡可能生成逼真樣本,判別器網(wǎng)絡(luò)則盡可能去判別樣本是來(lái)自真實(shí)樣本,還是來(lái)自生成器生成的偽樣本,示意圖如圖1所示.
圖1 生成對(duì)抗網(wǎng)絡(luò)框架圖Fig.1 GAN framework
GAN的目標(biāo)函數(shù)如下:
Εz~pz[log(1-D(G(z)))]
(1)
對(duì)于判別器D,其目標(biāo)函數(shù)為maxV(G,D),當(dāng)生成器G固定時(shí),對(duì)V(G,D)求導(dǎo),得到最優(yōu)判別器D*(x),如式(2).
(2)
將最優(yōu)判別器代入上述目標(biāo)函數(shù)式(1)中,可以求出在最優(yōu)判別器下,生成器的目標(biāo)函數(shù),其等價(jià)于優(yōu)化pdata(x)與pz(x) 的 JS 散度.當(dāng)pdata(x)與pz(x)相等時(shí),對(duì)于判別器而言,任一樣本被預(yù)測(cè)為真實(shí)樣本的概率均為0.5,達(dá)到了難以區(qū)分真實(shí)樣本與偽造樣本的地步.實(shí)際訓(xùn)練時(shí),生成器和判別器采取交替訓(xùn)練的方式,先訓(xùn)練k次D,然后訓(xùn)練1次G,不斷往復(fù).在PassGAN模型中k取10.
原始GAN存在訓(xùn)練梯度不穩(wěn)定問(wèn)題,使GAN的訓(xùn)練變得困難或失敗.有進(jìn)一步的工作[17-18]改善了訓(xùn)練時(shí)梯度的穩(wěn)定性的問(wèn)題.本文介紹的PassGAN和判別神經(jīng)網(wǎng)絡(luò)均是用由IWGAN模型[18]實(shí)現(xiàn)對(duì)抗神經(jīng)網(wǎng)絡(luò)模型的.
早期的口令生成技術(shù)的研究是基于Markov模型,后經(jīng)過(guò)改進(jìn)得到JtR-Markov模型[16].在該模型中,用戶口令被解析成一串字符序列,字符之間存在相互的聯(lián)系,且字符之間的關(guān)系符合統(tǒng)計(jì)規(guī)律.通過(guò)統(tǒng)計(jì)字符串子序列之間的關(guān)系,得到字符序列間的統(tǒng)計(jì)規(guī)律,隨后基于這些規(guī)律進(jìn)行口令字典的生成.
Weir等提出上下文概率無(wú)關(guān)語(yǔ)法技術(shù),后經(jīng)Durmuth等拓展得到OMEN模型[10].OMEN按照N-Gram的發(fā)生概率高低來(lái)生成口令,概率越高的口令輸出的可能性就越靠前.具體做法是引入用于存儲(chǔ)具有不同概率的N-Gram序列的桶的概念.隨后將所有的N-Gram序列按照統(tǒng)計(jì)概率的高低分類(lèi)到不同的桶中,OMEN模型按照不同桶的概率由高到低進(jìn)行取N-Gram序列組成口令,直到所有桶被遍歷完或者生成的口令的條目達(dá)到目標(biāo)條目.在可選字符集∑中,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為字符序列的長(zhǎng)度;V(X)是字符的條件概率函數(shù);?為OMEN模型中的閾值,低于該閾值的口令組合將被丟棄;η為某個(gè)N-Gram序列桶的最小概率.OMEN的實(shí)驗(yàn)表明,OMEN性能超過(guò)JtR-Markov以及JtR-Inc模型.
隨著機(jī)器學(xué)習(xí)的快速發(fā)展,運(yùn)用機(jī)器學(xué)習(xí)的方法進(jìn)行安全領(lǐng)域課題的研究也逐漸流行起來(lái),出現(xiàn)了一些新的研究方向[13,19-20].在口令猜解中,Hitaj等基于生成對(duì)抗神經(jīng)網(wǎng)絡(luò)提出PassGAN[11]口令猜解模型,使用生成對(duì)抗神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行學(xué)習(xí)口令集的分布,學(xué)習(xí)到分布后然后再使用生成器網(wǎng)絡(luò)來(lái)生成口令.本文實(shí)驗(yàn)部分將討論P(yáng)assGAN的重復(fù)率問(wèn)題.
本文提出的模型結(jié)合馬爾科夫枚舉器和判別神經(jīng)網(wǎng)絡(luò)方法,使用有序馬爾可夫口令枚舉器按照口令組合概率的高低生成組合口令,同時(shí)使用判別神經(jīng)網(wǎng)絡(luò)進(jìn)行打分篩選口令,選出得分高于閾值的口令組成最終口令集.生成的口令集具有按照口令組合概率高低排序的特點(diǎn)和符合真實(shí)訓(xùn)練口令集的口令分布的特點(diǎn),并且不存在重復(fù)的口令的情況.
OMECNN模型包括兩個(gè)子模塊,一個(gè)是口令生成模塊,另一個(gè)是口令篩選模塊,整體模型訓(xùn)練和口令生成框架圖如圖2所示.
如圖2所示,使用數(shù)據(jù)集訓(xùn)練GAN和有序馬爾可夫口令枚舉器,訓(xùn)練完成后得到有序馬爾可夫口令枚舉器與GAN神經(jīng)網(wǎng)絡(luò)兩個(gè)模塊.OMECNN模型中,取GAN的判別器作為判別神經(jīng)網(wǎng)絡(luò)子模塊,GAN生成器網(wǎng)絡(luò)被丟棄.隨用使用有序馬爾可夫口令枚舉器進(jìn)行口令生成,將判別神經(jīng)網(wǎng)絡(luò)應(yīng)用于有序馬爾可夫口令枚舉器生成的口令,輸出相應(yīng)的分值,OMECNN模型選擇那些分值高于或者等于閾值常數(shù)λ的口令.
OMECNN模型的口令選擇模塊需要滿足以下3點(diǎn)特性:(1)所選的判別神經(jīng)網(wǎng)絡(luò)模塊有能力學(xué)習(xí)給定口令集的分布特征;(2)所選的判別神經(jīng)網(wǎng)絡(luò)模塊以口令字符序列作為輸入;(3)所選的判別神經(jīng)網(wǎng)絡(luò)模塊輸出一個(gè)分值.要求:當(dāng)分值大于或者等于一個(gè)閾值常數(shù)λ,能在一個(gè)高概率情況下得出該口令符合原分布的結(jié)論,反之,當(dāng)分值低于該閾值常數(shù)λ時(shí),得出該口令不符合原口令集分布的結(jié)論.
圖3~圖5給出了本文OMECNN模型的生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu)圖.
圖2 OMECNN訓(xùn)練和口令生成框架圖Fig.2 OMECNN and password generation framework
圖3 生成器網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 Generator structure
圖4 判別器網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.4 Discriminator structure
圖5 殘差塊結(jié)構(gòu)圖Fig.5 Residual block structure
訓(xùn)練完成后,OMECNN模型將GAN中的判別器網(wǎng)絡(luò)作為判別神經(jīng)網(wǎng)絡(luò)口令選擇模塊,并將其應(yīng)用到由口令生成模塊所生成的口令集上,對(duì)口令進(jìn)行打分篩選,這一過(guò)程如下式所示.
score=C(X)
(6)
OMECNN模型的口令生成模塊需要具備以下3個(gè)特征:(1) 所選的模型有能力學(xué)習(xí)給定口令集的口令相關(guān)特征;(2) 所選的模型能生成不重復(fù)的口令;(3) 所選模型輸出的口令有一個(gè)特征,即先出現(xiàn)的口令是真實(shí)口令的概率比后出現(xiàn)的高.
有序馬爾可夫枚舉器符合上述3個(gè)特征.用數(shù)學(xué)語(yǔ)言描述由有序馬爾可夫枚舉器生成的口令集合D可以被描述為如下式所示.
(7)
式(7)中,V(x1)是口令起始序列的概率函數(shù);V(xi+1|xixi-1...x1)是第i+1個(gè)字符的條件概率函數(shù),這兩個(gè)函數(shù)均由N-Gram馬爾可夫模型學(xué)得.
結(jié)合式(6)和式(7)可得OMECNN模型生成的口令集D可以表示為
{X:X?DV,?,η,∧?xi∈X?C(xi)≥λ}
(8)
綜合兩個(gè)模塊,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 實(shí)驗(yàn)中使用到的是Rockyou數(shù)據(jù)集[21],將數(shù)據(jù)集中的重復(fù)口令進(jìn)行刪除操作;同時(shí),口令中包含非ASCII的字符也被刪除,由于PassGAN中的口令序列最長(zhǎng)為10個(gè)字符,故將口令長(zhǎng)度大于10的口令也進(jìn)行刪除操作.對(duì)口令集進(jìn)行擾亂操作后,口令集被按照4:1的比例分成訓(xùn)練集和測(cè)試集.最終訓(xùn)練集包含7 909 309條口令,測(cè)試集包含1 977 328條口令.該數(shù)據(jù)集包含的字符序列如下. abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!.*@-_$# 實(shí)驗(yàn)軟件與硬件環(huán)境如表1所示. 表1 實(shí)驗(yàn)軟硬件環(huán)境 本文共對(duì)3個(gè)模型進(jìn)行評(píng)估,其中評(píng)估的指標(biāo)為口令的命中率(precision),計(jì)算統(tǒng)計(jì)方法如下. (9) Hit為命中測(cè)試集中的口令的數(shù)目;testing-count為測(cè)試集口令數(shù)量.對(duì)于PassGAN模型而言,其重復(fù)率(repetition)也被評(píng)估,計(jì)算統(tǒng)計(jì)方法如下式. (10) Hitunique為命中測(cè)試集中的已刪除重復(fù)的口令的條目.OMECNN模型將被按照算法1來(lái)進(jìn)行口令生成,按照算法1,有序馬爾可夫枚舉器生成的口令,得分低于閾值常數(shù)的口令將被丟棄,故OMECNN模型的口令的命中率(precision)的計(jì)算方法如下 (11) 將Rockyou訓(xùn)練集口令給OMEN模型投喂學(xué)習(xí),待其統(tǒng)計(jì)完N-Gram序列概率后,使用OMEN模型生成口令,其中,N-Gram序列中的N取值分別為2,3,4,5.將訓(xùn)練完成的OMEN模型進(jìn)行口令生成,將生成的口令集進(jìn)行逐一取口令在測(cè)試集中搜索統(tǒng)計(jì),得到的命中率如圖6所示. 圖6 OMEN模型命中情況 Fig.6 The hit rate of OMEN model 圖6中,OMEN2gram表示OMEN模型中,N-Gram取為2,其他圖例亦類(lèi)似.實(shí)驗(yàn)結(jié)果顯示,當(dāng)OMEN模型中的N-Gram模型為5-Gram時(shí),OMEN性能最好,其命中條目數(shù)如表2所示. 表2 OMEN_5gram 模型命中條目情況表 將Rockyou訓(xùn)練集對(duì)PassGAN模型進(jìn)行訓(xùn)練,訓(xùn)練模型的參數(shù)與文獻(xiàn)中的一致,實(shí)驗(yàn)評(píng)估中,將更改最大字符序列長(zhǎng)度(max sequence length)與訓(xùn)練的輪數(shù)(iteration)進(jìn)行數(shù)據(jù)對(duì)比.得到的命中情況如圖7所示. 圖7 PassGAN模型命中情況 Fig.7 The hit rate of PassGAN model 圖7中,m10i200000表示在PassGAN模型中,最大序列長(zhǎng)度取10,最大訓(xùn)練輪數(shù)取2×105,其他圖例亦類(lèi)似.結(jié)果得出,PassGAN模型中,當(dāng)最大序列長(zhǎng)度取10,最大訓(xùn)練輪數(shù)取2×105時(shí),PassGAN模型命中性能最好,命中條目情況如表3所示. 上述結(jié)果表明,PassGAN的命中率比OMEN模型差,原因之一是因?yàn)镻assGAN模型會(huì)產(chǎn)生重復(fù)的口令,這是去掉重復(fù)口令的結(jié)果,按照式(10)對(duì)PassGAN模型重復(fù)率進(jìn)行統(tǒng)計(jì),得出結(jié)果如圖8所示. 表3 PassGAN模型命中條目情況表 圖8 PassGAN模型重復(fù)率Fig.8 Repetition of PassGAN 結(jié)合圖7和圖8可以分析出以下結(jié)論,當(dāng)訓(xùn)練輪數(shù)參數(shù)為4×105,最大字符序列長(zhǎng)度為19時(shí),在生成109條口令時(shí),口令重復(fù)率達(dá)到了50.60%.其次,隨著訓(xùn)練輪數(shù)和最大字符序列長(zhǎng)度的增加,PassGAN的生成器的性能并沒(méi)有增加反而更差,而重復(fù)率會(huì)隨著訓(xùn)練輪數(shù)的增加而增加. 將Rockyou訓(xùn)練集對(duì)OMECNN模型的有序馬爾可夫枚舉器和判別神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,其中,有序馬爾可夫枚舉器中的N-Gram設(shè)置為5-Gram,判別神經(jīng)網(wǎng)絡(luò)中的訓(xùn)練輪數(shù)分別設(shè)置為2×105, 3×105, 4×105,最大字符序列長(zhǎng)度參數(shù)值設(shè)為10,將score閾值分別設(shè)置為-1.2,-1.3和-1.4.按照算法1生成口令集,隨后按照式(11)與測(cè)試集進(jìn)行比對(duì)統(tǒng)計(jì),結(jié)果如圖9所示. 圖9中,OMECNNn5i200000s13表示為OMECNN模型中,有序馬爾可夫枚舉器的N-Gram為5-Gram,訓(xùn)練輪數(shù)為2×105,score閾值常數(shù)取-1.3,如無(wú)特殊情況,后文不再?gòu)?fù)述.結(jié)果得出,當(dāng)訓(xùn)練輪數(shù)為4×105,score閾值常數(shù)設(shè)置為-1.3時(shí),在生成相同條目的口令情況下OMECNN命中條目最高,此時(shí),命中條目具體情況如表4所示. 圖9 三個(gè)模型不同參數(shù)下命中情況 Fig.9 The hits of 3 models under different parameters under OMECNN model 表4 OMECNN模型命中條目情況表 比較表2~表4可以得出,在生成107條口令時(shí),OMECNN模型命中的條目比OMEN模型命中的條目高出16.60%,比PassGAN模型高出220.02%. 通過(guò)上述實(shí)驗(yàn)可以發(fā)現(xiàn)OMEN模型生成的口令對(duì)比測(cè)試集有較好的命中率,在生成109條口令時(shí),OMEN模型能命中測(cè)試集的49.88%的口令.而PassGAN則只能命中28.10%,造成PassGAN命中率低的原因之一是因?yàn)镻assGAN模型生成的口令集存在大量重復(fù)的口令,本文還對(duì)PassGAN模型生成口令的重復(fù)率進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)發(fā)現(xiàn),當(dāng)訓(xùn)練輪數(shù)參數(shù)為4×105,最大口令字符序列長(zhǎng)度為19時(shí),在生成109條口令的情況下,口令重復(fù)率達(dá)到50.60%.其次,隨著訓(xùn)練輪數(shù)和最大口令字符序列長(zhǎng)度的增加,PassGAN的生成器的性能并沒(méi)有增加反而更差,而重復(fù)率會(huì)隨著訓(xùn)練輪數(shù)的增加而增加.對(duì)比OMECNN模型的判別神經(jīng)網(wǎng)絡(luò)模塊,還可以發(fā)現(xiàn),GAN的判別器的性能會(huì)隨著訓(xùn)練輪數(shù)的增加而增加.在命中率上,OMECNN在生成109條口令的情況下,命中率能達(dá)到51.32%,高出OMEN模型1.44%,高出PassGAN模型23.22%.在生成107條口令的情況下,OMECNN模型生成的口令命中條目高出OMEN模型生成的口令命中條目的16.60%,高出PassGAN模型生成的口令命中條目的220.02%.OMECNN模型比OMEN模型和PassGAN模型均要更優(yōu),是一個(gè)性能更好的口令生成模型. 利用口令生成技術(shù)進(jìn)行大規(guī)模口令集的生成,進(jìn)而檢測(cè)現(xiàn)有用戶口令保護(hù)機(jī)制的缺陷、評(píng)估口令猜測(cè)算法效率等,是研究口令安全性的重要手段.針對(duì)口令生成技術(shù)研究,本文提出一種基于有序馬爾可夫枚舉器和判別神經(jīng)網(wǎng)絡(luò)的口令生成模型OMECNN,OMECNN模型在Rockyou公開(kāi)口令數(shù)據(jù)集上,在生成109條口令的情況下,命中率能達(dá)到51.32%,高出OMEN模型1.44%,高出PassGAN模型23.22%.在生成107條口令的情況下,OMECNN模型生成的口令命中條目高出OMEN模型生成的口令命中條目的16.60%,高出PassGAN模型生成的口令命中條目的220.02%.OMECNN模型比OMEN模型和PassGAN模型均要更優(yōu),是一個(gè)性能更好的口令生成模型. 今后的工作可以關(guān)注判別神經(jīng)網(wǎng)絡(luò)模塊輸出的分?jǐn)?shù)的分布的研究,研究判別神經(jīng)網(wǎng)絡(luò)模塊的輸出可以發(fā)現(xiàn)判別神經(jīng)網(wǎng)絡(luò)內(nèi)在的工作模式,以及發(fā)現(xiàn)什么性質(zhì)結(jié)構(gòu)的口令的得分值能超過(guò)閾值,這對(duì)改善口令構(gòu)造策略的研究有積極作用.4 OMECNN實(shí)驗(yàn)及分析
4.1 口令數(shù)據(jù)集描述
4.2 實(shí)驗(yàn)環(huán)境
4.3 實(shí)驗(yàn)評(píng)估方法
4.4 對(duì)OMEN模型的評(píng)估
4.5 對(duì)PassGAN模型的評(píng)估
4.6 對(duì)OMECNN模型的評(píng)估
4.7 實(shí)驗(yàn)小結(jié)
5 結(jié) 論
四川大學(xué)學(xué)報(bào)(自然科學(xué)版)2021年4期