韓偉力 張俊杰 徐 銘 王傳旺 張浩東 何震瀛 陳 虎
1(復(fù)旦大學(xué)數(shù)據(jù)分析與安全實(shí)驗(yàn)室 上海 200438)2(華南理工大學(xué)軟件學(xué)院 廣州 510006)(wlhan@fudan.edu.cn)
迄今為止,基于文本口令的身份認(rèn)證仍是保護(hù)用戶個(gè)人信息和在線財(cái)產(chǎn)的最流行方式之一[1].盡管近年來(lái)研究人員提出了各種身份認(rèn)證方法,例如基于指紋或手勢(shì)的身份認(rèn)證[2],但因口令易用和低成本的顯著優(yōu)勢(shì)[3-4],互聯(lián)網(wǎng)用戶仍傾向于使用文本口令.
為更好地研究口令的安全性,研究人員提出了多種數(shù)據(jù)驅(qū)動(dòng)的口令猜測(cè)方法,如概率上下文無(wú)關(guān)文法(probabilistic context-free grammars, PCFG)[5]、馬爾可夫(Markov)方法[6]和長(zhǎng)短期記憶(long short-term memory, LSTM)[7]神經(jīng)網(wǎng)絡(luò)方法,并致力于優(yōu)化這些猜測(cè)方法[8-17].由于這些方法具備不同的猜測(cè)優(yōu)勢(shì),即能夠以更小的猜測(cè)數(shù)猜中特定類型的口令,Ur等人[18]提出使用每條口令被不同方法猜中所需要的最小猜測(cè)數(shù)作為評(píng)估該口令安全性的保守指標(biāo),稱為“Min_auto”.這樣的保守指標(biāo)完美地結(jié)合了不同方法的猜測(cè)優(yōu)勢(shì),可以看作是多方法混合猜測(cè)的理想上界.但在實(shí)際的猜測(cè)場(chǎng)景中,實(shí)現(xiàn)Min_auto的猜測(cè)效果需要的猜測(cè)數(shù)是單一方法的多倍,且不同方法會(huì)生成大量重復(fù)的猜測(cè)口令,嚴(yán)重浪費(fèi)了計(jì)算資源.
為了在實(shí)際猜測(cè)的場(chǎng)景中減少計(jì)算資源的浪費(fèi),并在有限的猜測(cè)數(shù)內(nèi)最大化地利用不同方法的猜測(cè)優(yōu)勢(shì),本文提出了一個(gè)通用的參數(shù)化混合猜測(cè)的框架.該框架可以混合不同數(shù)據(jù)驅(qū)動(dòng)方法的猜測(cè)優(yōu)勢(shì)以生成更高效的猜測(cè)集.該框架由2部分構(gòu)成:模型剪枝和最優(yōu)猜測(cè)數(shù)分配.模型剪枝可以確??蚣苤械拿總€(gè)方法僅生成自身擅長(zhǎng)猜測(cè)的口令,從而避免與其他方法生成重復(fù)口令;而理論證明最優(yōu)的猜測(cè)數(shù)分配方案可以確保不同方法生成指定猜測(cè)數(shù)的口令時(shí),框架的整體猜測(cè)效率將達(dá)到最優(yōu).
為了驗(yàn)證框架的通用性和最優(yōu)性,本文也基于該框架進(jìn)行了猜測(cè)實(shí)踐.本文分析了現(xiàn)有數(shù)據(jù)驅(qū)動(dòng)的口令猜測(cè)方法的猜測(cè)優(yōu)勢(shì),并根據(jù)分析結(jié)果將具備不同猜測(cè)優(yōu)勢(shì)的方法作為框架的組成模塊,設(shè)計(jì)了多個(gè)混合不同猜測(cè)模型的參數(shù)化混合口令猜測(cè)方法(parameterized hybrid password guessing Method, hyPassGu).實(shí)驗(yàn)評(píng)估結(jié)果顯示,不同方法組合構(gòu)建的hyPassGu均超越了單一方法的猜測(cè)效率,驗(yàn)證了框架的通用性.而和其他猜測(cè)數(shù)分配方案的比較結(jié)果也證實(shí)了框架中猜測(cè)數(shù)分配方案的最優(yōu)性.
本文的主要貢獻(xiàn)有2個(gè)方面:
1) 提出了一個(gè)能夠結(jié)合不同數(shù)據(jù)驅(qū)動(dòng)方法猜測(cè)優(yōu)勢(shì)的通用參數(shù)化混合猜測(cè)框架.在該框架中,本文通過(guò)分析數(shù)據(jù)驅(qū)動(dòng)方法的猜測(cè)模型,提出了模型剪枝的通用方案.此外,為了保證框架整體猜測(cè)效率的最優(yōu),本文提出并在框架中應(yīng)用了理論證明最優(yōu)且適用多個(gè)方法的猜測(cè)數(shù)分配策略.
2) 基于框架和對(duì)現(xiàn)有數(shù)據(jù)驅(qū)動(dòng)方法的優(yōu)勢(shì)分析,提出了組合不同方法的多個(gè)參數(shù)化混合猜測(cè)方法(統(tǒng)稱為hyPassGu),并通過(guò)對(duì)這些方法猜測(cè)效率的評(píng)估實(shí)驗(yàn)驗(yàn)證了框架的通用性和最優(yōu)性.實(shí)驗(yàn)結(jié)果表明,不同方法組合構(gòu)建的hyPassGu均表現(xiàn)出超越單一方法的猜測(cè)效率,在1010猜測(cè)數(shù)下超越了單一方法最優(yōu)效率的1.52%~35.49%.并且,相較于單一方法的最優(yōu)效率,hyPassGu與Min_auto的差距相對(duì)縮短了16.78%~63.99%.此外,實(shí)驗(yàn)結(jié)果還表明,最優(yōu)分配策略的猜測(cè)表現(xiàn)穩(wěn)定優(yōu)于平均分配策略和隨機(jī)分配策略,并在108猜測(cè)數(shù)下在離散程度最大的數(shù)據(jù)集上有16.87%的相對(duì)提升,同時(shí)更多元的混合方法整體表現(xiàn)出更好的猜測(cè)效率.這些結(jié)果進(jìn)一步驗(yàn)證了框架的通用性和最優(yōu)性.
在過(guò)去的數(shù)十年里,研究人員致力于改進(jìn)現(xiàn)有數(shù)據(jù)驅(qū)動(dòng)猜測(cè)方法在猜測(cè)某些口令時(shí)的不足,以此來(lái)提高方法的猜測(cè)效率.
對(duì)于PCFG方法,Veras等人[13]利用自然語(yǔ)言處理算法提取分析口令中的語(yǔ)義模式,增強(qiáng)了模型對(duì)于字母字符串的泛化能力,使得模型可以生成更多可能的字母字符串.Houshmand等人[8]通過(guò)引入更多的口令結(jié)構(gòu)模式來(lái)更細(xì)粒度地定義口令中的結(jié)構(gòu),增強(qiáng)了模型對(duì)于結(jié)構(gòu)的泛化能力.Li等人[11]引入了拼音字典來(lái)彌補(bǔ)模型在中文口令破解方面的不足.韓偉力等人[15]通過(guò)裁剪PCFG模型的搜索空間并引入變形的方式,來(lái)生成與樣本口令高度相似的模擬口令.鄒靜等人[16]則是根據(jù)用戶習(xí)慣來(lái)2次劃分高概率結(jié)構(gòu),以解決高概率結(jié)構(gòu)只能生成少量口令的問(wèn)題.
對(duì)于Markov方法,Ma等人[12]提出了Markov模型的變種,即n階Markov模型,來(lái)增強(qiáng)Markov模型對(duì)上下文信息的利用能力.這里的n指的是用來(lái)推測(cè)下一個(gè)字符出現(xiàn)概率的連續(xù)字符數(shù)量.此外,他們還提出了用變階Markov模型,即Backoff來(lái)解決高階Markov模型存在的數(shù)據(jù)稀疏問(wèn)題.與n階Markov模型不同,Backoff會(huì)選擇出現(xiàn)頻率達(dá)到預(yù)設(shè)閾值的盡可能長(zhǎng)的字符串來(lái)推測(cè)下一個(gè)出現(xiàn)的字符,以此在盡可能利用上文信息的同時(shí)避免數(shù)據(jù)稀疏的問(wèn)題.
不同于已有研究對(duì)單一方法的改進(jìn)思路,本文提出的參數(shù)化混合猜測(cè)旨在最大化利用多個(gè)數(shù)據(jù)驅(qū)動(dòng)猜測(cè)方法各自不同的猜測(cè)優(yōu)勢(shì),即利用不同方法的優(yōu)勢(shì)來(lái)彌補(bǔ)各自的不足.
現(xiàn)有的猜測(cè)方法中,一些方法已經(jīng)實(shí)現(xiàn)了混合猜測(cè)的簡(jiǎn)單實(shí)踐,如Hashcat[19]和PCFGv4.1[20].
Hashcat中的混合攻擊模式實(shí)際上是一種組合攻擊.它將字典攻擊和其他諸如暴力攻擊、掩碼攻擊的攻擊方式相結(jié)合,既發(fā)揮了字典中單詞常被用戶使用的優(yōu)勢(shì),又利用其他攻擊方式來(lái)擴(kuò)展字典攻擊的搜索空間,提高了猜測(cè)效率.以字典攻擊和暴力攻擊相結(jié)合的方式為例,暴力攻擊所能生成的字符串可以作為字典中每一個(gè)單詞的前綴或者后綴.換句話說(shuō),如果使用暴力攻擊來(lái)為單詞添加1個(gè)數(shù)字作為后綴,那么根據(jù)單詞“hello”可以得到“hello0”到“hello9”的猜測(cè)口令.
PCFGv4.1則是設(shè)計(jì)了一個(gè)可選的參數(shù)“coverage”來(lái)控制基于Markov模型的暴力生成方法的使用.這個(gè)想法嘗試使用暴力生成方法來(lái)擴(kuò)展模型的搜索空間,從而提高猜測(cè)效率.但是,該工作缺乏對(duì)PCFGv4.1和Markov模型的深入分析,因而不能最大程度地利用每個(gè)方法的獨(dú)特優(yōu)勢(shì).
此外,也有一些研究工作對(duì)猜測(cè)集的混合進(jìn)行了相關(guān)探索.Parish等人[21]通過(guò)計(jì)算不同猜測(cè)方法生成的口令之間的相似性及互補(bǔ)性、利用不同方法的互補(bǔ)性進(jìn)行混合猜測(cè)實(shí)驗(yàn),進(jìn)而提升混合猜測(cè)集的破解效率.汪定等人[22]則通過(guò)利用循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)、LSTM分別和PCFG,Markov,PR模型組合生成猜測(cè)集的方法,首次證實(shí)了在相同猜測(cè)數(shù)下,組合不同類型模型所產(chǎn)生口令猜測(cè)集的破解率通常高于單一猜測(cè)集.這些研究工作對(duì)猜測(cè)集的混合做了一定探索,但缺乏針對(duì)猜測(cè)集的高效混合策略的系統(tǒng)分析和考慮,如利用不同方法的優(yōu)勢(shì)互補(bǔ)而非簡(jiǎn)單的互補(bǔ)來(lái)提高猜測(cè)集的有效性.
相較于已有工作在猜測(cè)集混合方面的探索,本文從優(yōu)勢(shì)互補(bǔ)的角度出發(fā),通過(guò)理論分析和證明提出了針對(duì)數(shù)據(jù)驅(qū)動(dòng)猜測(cè)方法的通用的參數(shù)化混合猜測(cè)框架,并基于該框架和現(xiàn)有的數(shù)據(jù)驅(qū)動(dòng)猜測(cè)方法進(jìn)行了猜測(cè)實(shí)踐,實(shí)現(xiàn)了高效的參數(shù)化混合猜測(cè).
為了在有限的猜測(cè)數(shù)內(nèi)最大化地利用不同方法的猜測(cè)優(yōu)勢(shì),本文提出了如圖1所示的參數(shù)化混合猜測(cè)的框架.該框架具體分為2個(gè)部分:模型剪枝和最優(yōu)猜測(cè)數(shù)分配.其中模型剪枝是為了讓不同猜測(cè)方法在發(fā)揮自身猜測(cè)優(yōu)勢(shì)的同時(shí)避免生成彼此重復(fù)的猜測(cè)口令,從而提高猜測(cè)數(shù)的利用率;而最優(yōu)猜測(cè)數(shù)分配是為了在總猜測(cè)集的數(shù)目確定的情況下,通過(guò)調(diào)整不同猜測(cè)方法的可用猜測(cè)數(shù)(即圖1中的k1~kn),使得總猜測(cè)集的猜測(cè)效率最優(yōu).下面將介紹這2個(gè)部分的做法.
Fig. 1 Framework of parameterized hybrid password guessing圖1 參數(shù)化混合口令猜測(cè)的框架
數(shù)據(jù)驅(qū)動(dòng)的猜測(cè)方法是基于訓(xùn)練集訓(xùn)練出的生成模型,一般可以看作1棵樹,其中每個(gè)葉子節(jié)點(diǎn)對(duì)應(yīng)的是1條猜測(cè)口令,而從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的路徑則可以看作該猜測(cè)口令的生成路徑.模型生成1條口令的過(guò)程就是從根節(jié)點(diǎn)查找到該口令對(duì)應(yīng)的葉子節(jié)點(diǎn)的路徑,而這條路徑上的中間節(jié)點(diǎn)表示的是組成該口令的字符串片段以及對(duì)應(yīng)的概率.如果某條口令對(duì)應(yīng)的生成路徑缺失了部分節(jié)點(diǎn),那么模型從根節(jié)點(diǎn)將無(wú)法找到該口令對(duì)應(yīng)的葉子節(jié)點(diǎn),也因此不會(huì)生成出這條口令.
Fig. 2 Example of model pruning of data-driven password guessing methods圖2 數(shù)據(jù)驅(qū)動(dòng)的口令猜測(cè)方法的模型剪枝示例
如圖2所示,將數(shù)據(jù)驅(qū)動(dòng)的生成方法抽象成1棵生成樹,其中Si表示生成過(guò)程中的1種狀態(tài),不同的下標(biāo)數(shù)字表示不同的狀態(tài).在數(shù)據(jù)驅(qū)動(dòng)的生成方法中,Si可以指代口令的上下文信息(如Markov模型使用的上下文字符)、口令的結(jié)構(gòu)或者口令結(jié)構(gòu)的內(nèi)容實(shí)例(如PCFG模型使用的口令結(jié)構(gòu)和結(jié)構(gòu)對(duì)應(yīng)的具體實(shí)例).
從起始符開(kāi)始,生成模型將根據(jù)生成過(guò)程的上一狀態(tài)選擇下一狀態(tài),直到遇到終止符為止.圖2中刪除了從狀態(tài)S1到狀態(tài)S4的轉(zhuǎn)移路徑,有2條生成路徑將受此影響而無(wú)法正常生成猜測(cè)口令,因此圖2中的生成方法最終只能生成由狀態(tài)S1S2S3和S5S4S6構(gòu)成的2條猜測(cè)口令.
通過(guò)刪除一些不必要的生成路徑,模型將只保留其擅長(zhǎng)猜測(cè)的口令所對(duì)應(yīng)的生成路徑,而不同模型擅長(zhǎng)猜測(cè)的口令互不相同,這就可以保證不同模型將不會(huì)生成重復(fù)的猜測(cè).刪除生成路徑的做法就是模型剪枝,具體的實(shí)現(xiàn)方式是把生成路徑中的某個(gè)不影響其他路徑的節(jié)點(diǎn)刪除,即將該節(jié)點(diǎn)對(duì)應(yīng)的字符串片段和相應(yīng)的轉(zhuǎn)移概率從模型中移除.
通過(guò)建立概率猜測(cè)方法猜測(cè)口令,破解數(shù)與猜測(cè)數(shù)之間關(guān)系的數(shù)學(xué)模型,本節(jié)提出了2個(gè)引理和1個(gè)定理來(lái)探尋最優(yōu)的猜測(cè)數(shù)分配方案.該方案是基于理想攻擊場(chǎng)景提出的,即訓(xùn)練集與測(cè)試集具有相同的分布.這類攻擊場(chǎng)景也被稱為站內(nèi)猜測(cè)(intra-site guessing),被研究者們廣泛采用[8,11,22-25].此外,考慮到大猜測(cè)數(shù)的情況下訓(xùn)練集的限制會(huì)導(dǎo)致概率猜測(cè)方法出現(xiàn)瓶頸,即破解口令數(shù)不再增長(zhǎng),本文在本節(jié)中僅分析概率猜測(cè)方法尚未達(dá)到破解瓶頸時(shí)的情況,并將在4.5節(jié)的實(shí)驗(yàn)評(píng)估中討論大猜測(cè)數(shù)對(duì)分配方案的影響.
隨著猜測(cè)數(shù)的增長(zhǎng),一個(gè)概率猜測(cè)方法破解出的口令數(shù)也會(huì)增長(zhǎng),也就是說(shuō)它的“破解數(shù)-猜測(cè)數(shù)”曲線是一條單調(diào)遞增的曲線(曲線上的點(diǎn)的橫坐標(biāo)表示使用的猜測(cè)數(shù),縱坐標(biāo)表示破解口令數(shù)).由于概率猜測(cè)方法會(huì)優(yōu)先猜測(cè)概率更高的口令,而更高的概率往往意味著猜測(cè)方法認(rèn)為該口令在測(cè)試集中出現(xiàn)的頻率也更高.這帶來(lái)的結(jié)果就是小猜測(cè)數(shù)下單次命中能破解的口令數(shù)要多于大猜測(cè)數(shù)下單次命中能破解的口令數(shù).換句話說(shuō),單位猜測(cè)數(shù)里被猜中的口令數(shù)會(huì)隨著猜測(cè)數(shù)的增長(zhǎng)而減小,即“破解數(shù)-猜測(cè)數(shù)”曲線的一階導(dǎo)數(shù)逐漸變小,最后趨近于0.因此,一個(gè)概率猜測(cè)方法的“破解數(shù)-猜測(cè)數(shù)”曲線可以看作一個(gè)單調(diào)遞增的凹函數(shù)(凹函數(shù)的二階導(dǎo)數(shù)小于0,即一階導(dǎo)數(shù)單調(diào)遞減).
基于上述數(shù)學(xué)模型,最優(yōu)的猜測(cè)數(shù)分配策略的目標(biāo)是在不同概率方法的“破解數(shù)-猜測(cè)數(shù)”曲線上分別尋找1個(gè)點(diǎn),使得所有點(diǎn)的橫坐標(biāo)的和為定值時(shí),縱坐標(biāo)的和是所有組合情況中的最大值,此時(shí)每個(gè)概率方法曲線上的點(diǎn)對(duì)應(yīng)的橫坐標(biāo)就是被分配的可用猜測(cè)數(shù).引理1證明了上述目標(biāo)在概率方法僅有2個(gè)時(shí)的等價(jià)條件,定理1則是將等價(jià)條件拓展到n個(gè)方法的情況.
(1)
(2)
(3)
(4)
(5)
證畢.
n≥2且n為整數(shù).
證明.可以利用數(shù)學(xué)歸納法來(lái)證明該定理.首先,根據(jù)引理1,定理1在n=2的時(shí)候成立.接著,假設(shè)定理1在n=k(k≥2且k是個(gè)整數(shù))的時(shí)候成立.那么當(dāng)n=k+1的時(shí)候,對(duì)于k+1個(gè)點(diǎn)中的任意k個(gè)點(diǎn),定理1成立.換句話說(shuō),當(dāng)固定k+1個(gè)點(diǎn)中的任意1個(gè)點(diǎn),然后尋找其他k個(gè)點(diǎn)的縱坐標(biāo)和為最大值的情況時(shí),這k個(gè)點(diǎn)的一階導(dǎo)數(shù)一定相同.更進(jìn)一步,固定k+1個(gè)點(diǎn)中的其他任意點(diǎn),再重復(fù)上述操作,可以發(fā)現(xiàn)k+1個(gè)點(diǎn)的一階導(dǎo)數(shù)的值會(huì)趨于相同,最終可以得到k+1個(gè)點(diǎn)的縱坐標(biāo)和為最大值的條件是這k+1個(gè)點(diǎn)的一階導(dǎo)數(shù)都相同.與引理1中式(2)到式(1)的推導(dǎo)類似,k+1個(gè)凹函數(shù)組成的函數(shù)的二階導(dǎo)數(shù)也小于0,這意味組成的函數(shù)也是凹函數(shù),所以找到的局部最大值也是全局最大值.
證畢.
由引理1和定理1可知,最優(yōu)猜測(cè)數(shù)分配策略應(yīng)當(dāng)找到不同概率方法的“破解數(shù)-猜測(cè)數(shù)”曲線上一階導(dǎo)數(shù)相等的點(diǎn),即單位猜測(cè)數(shù)內(nèi)破解口令數(shù)相等的點(diǎn).文獻(xiàn)[26]表明口令數(shù)據(jù)集的分布符合Zipf定律,即將口令按照在數(shù)據(jù)集中出現(xiàn)的頻率降序排序之后,口令出現(xiàn)頻率的lg值和口令排名的lg值滿足式(6).基于該定律,對(duì)于理想的猜測(cè)方法(每次猜測(cè)能破解出剩余口令中概率最高的口令)而言,其每次猜測(cè)破解的口令數(shù)目的lg值(即式(6)中的lgy)和已經(jīng)使用的猜測(cè)數(shù)的lg值(即式(6)中的lgx)滿足:
lgy=lgC-α×lgx.
(6)
盡管實(shí)際的概率猜測(cè)方法不能保證每次猜測(cè)都能夠破解出1條口令,但在總體趨勢(shì)上滿足了優(yōu)先猜測(cè)概率更高(出現(xiàn)頻率也更高)的口令,因此可以假設(shè)概率猜測(cè)方法在單位猜測(cè)數(shù)內(nèi)所能破解的口令數(shù)目的lg值和已經(jīng)使用的猜測(cè)數(shù)的lg值也滿足式(6).此外,同一數(shù)據(jù)集內(nèi)不同猜測(cè)方法的α值會(huì)在該數(shù)據(jù)集Zipf分布的α值周圍擾動(dòng),因此可以看作近似相同.本文也將在第3節(jié)的應(yīng)用實(shí)踐中通過(guò)實(shí)證實(shí)驗(yàn)來(lái)驗(yàn)證該假設(shè)的相關(guān)性質(zhì).
基于上述假設(shè),引理2證明了不同猜測(cè)方法曲線上一階導(dǎo)數(shù)相等的點(diǎn)的橫坐標(biāo)與數(shù)據(jù)集中口令分布的等價(jià)關(guān)系.
證明.這2條單位猜測(cè)數(shù)內(nèi)破解口令數(shù)曲線可表示為lgy1=lgC1-α×lgx1和lgy2=lgC2-α×lgx2.
這里引入了口令類別的概念來(lái)泛化各個(gè)方法的猜測(cè)優(yōu)勢(shì),這樣做一方面可以避免過(guò)擬合,使得方法的猜測(cè)優(yōu)勢(shì)不局限于特定數(shù)據(jù)集的特定口令,另一方面也可以利用訓(xùn)練集和測(cè)試集的同分布特性,基于訓(xùn)練集中的口令分布提前為框架中的各個(gè)方法分配猜測(cè)數(shù).
基于第2節(jié)提出的框架,本節(jié)將現(xiàn)有的數(shù)據(jù)驅(qū)動(dòng)猜測(cè)方法應(yīng)用到框架中來(lái)設(shè)計(jì)實(shí)際可用的參數(shù)化混合猜測(cè)方法,具體步驟分為:優(yōu)勢(shì)分析、模型剪枝和猜測(cè)數(shù)分配.為方便表示,這些參數(shù)化混合猜測(cè)方法統(tǒng)稱為hyPassGu.
本節(jié)將口令根據(jù)其構(gòu)成字符種類分為7類:僅由字母構(gòu)成、僅由數(shù)字構(gòu)成、僅由特殊符號(hào)構(gòu)成、由字母和數(shù)字構(gòu)成、由字母和特殊符號(hào)構(gòu)成、由數(shù)字和特殊符號(hào)構(gòu)成、由3種字符一起構(gòu)成.接著,本節(jié)量化比較了現(xiàn)有的概率猜測(cè)模型在不同類別的口令上的猜測(cè)效率,并分析了其優(yōu)勢(shì)背后的方法原理.為了衡量模型生成新的有效口令的能力,實(shí)驗(yàn)將數(shù)據(jù)集按3∶1的比例拆分成訓(xùn)練集和測(cè)試集,并從測(cè)試集中去除了在訓(xùn)練集中出現(xiàn)的口令來(lái)計(jì)算猜測(cè)效率.本節(jié)選取了中文數(shù)據(jù)集CSDN和英文數(shù)據(jù)集Rockyou來(lái)進(jìn)行分析實(shí)驗(yàn),以此探究各模型在這兩種數(shù)據(jù)集上的猜測(cè)優(yōu)勢(shì)規(guī)律.
根據(jù)圖3展示的結(jié)果,這些概率方法在不同類別的口令上表現(xiàn)差別很大.
3階Markov(Markov-3)在猜測(cè)僅由字母構(gòu)成的口令上整體表現(xiàn)最優(yōu),在CSDN數(shù)據(jù)集上優(yōu)于其他方法,在Rockyou數(shù)據(jù)集上略遜于Semantic PCFG;4階Markov(Markov-4)在猜測(cè)僅由數(shù)字構(gòu)成的口令上整體表現(xiàn)最優(yōu),在CSDN數(shù)據(jù)集上優(yōu)于其他方法,在Rockyou數(shù)據(jù)集上略遜于Backoff;而在猜測(cè)僅由特殊符號(hào)構(gòu)成的口令上則是Backoff和2階Markov(Markov-2)分別在CSDN和Rockyou數(shù)據(jù)集上表現(xiàn)最優(yōu).Markov模型在1類字符構(gòu)成的口令上的優(yōu)異猜測(cè)效果表明, 口令中使用的連續(xù)同類字符之間的關(guān)聯(lián)會(huì)更加緊密,因此使用多個(gè)連續(xù)同類字符來(lái)預(yù)測(cè)下一個(gè)同類字符會(huì)很有效.并且,相較于使用連續(xù)出現(xiàn)的字符預(yù)測(cè)下一個(gè)出現(xiàn)的不同類的字符,預(yù)測(cè)同類的字符需要的搜索空間更小,這也會(huì)幫助模型達(dá)到更準(zhǔn)確的預(yù)測(cè)效果.一般而言,更高的階數(shù)會(huì)使得Markov模型的猜測(cè)效率更好,但過(guò)高的階數(shù)也會(huì)造成過(guò)擬合的問(wèn)題.例如,圖3中的6階Markov模型就表現(xiàn)出了嚴(yán)重的過(guò)擬合問(wèn)題,導(dǎo)致其在各類口令上的猜測(cè)效果都不佳.
Fig. 3 Guessing efficiency of single method on different types of passwords under 1010 guesses圖3 1010猜測(cè)數(shù)下單一方法在不同類別口令上的猜測(cè)效率
PCFGv4.1在猜測(cè)2類及以上字符構(gòu)成的口令方面表現(xiàn)幾乎均優(yōu)于其他方法,除了在Rockyou數(shù)據(jù)集的數(shù)字和特殊符號(hào)構(gòu)成的口令上表現(xiàn)略遜于3階Markov,這是因?yàn)镻CFGv4.1引入了多詞模式、鍵盤模式、上下文模式和年份模式來(lái)更細(xì)粒度地區(qū)分口令的結(jié)構(gòu),從而使得模型在猜測(cè)2類及以上字符構(gòu)成的口令時(shí),一方面能生成更多可能的組合,另一方面也能減少一些不必要的搜索空間來(lái)提高猜測(cè)效率.其中,多詞模式根據(jù)單詞出現(xiàn)的頻率將連續(xù)的長(zhǎng)字母串分成多個(gè)單獨(dú)單詞來(lái)表示結(jié)構(gòu),可以豐富長(zhǎng)字母串的組合情況;鍵盤模式將識(shí)別出的鍵盤上的連續(xù)輸入看作特定的鍵盤結(jié)構(gòu),可以減少模型針對(duì)數(shù)字、字母、特殊符號(hào)混雜的鍵盤串的不必要搜索;上下文模式識(shí)別常見(jiàn)的特殊符號(hào)和字母數(shù)字的組合來(lái)作為特定結(jié),如“<3”,“:p”這些類似表情的輸入,也是對(duì)不同類字符混雜字符串搜索空間的減少;而年份模式則是把單獨(dú)出現(xiàn)的連續(xù)4個(gè)數(shù)字中符合要求的數(shù)字識(shí)別為年份,這種更細(xì)粒度的類別標(biāo)簽可以減少年份串和其他字符串組合時(shí)的搜索空間.
總的來(lái)說(shuō),現(xiàn)有的概率猜測(cè)模型中,Markov模型(1~5階、Backoff)在猜測(cè)僅由1類字符構(gòu)成的口令方面表現(xiàn)明顯優(yōu)勢(shì),而PCFGv4.1在猜測(cè)2類及以上字符構(gòu)成的口令方面表現(xiàn)優(yōu)于其他方法,兩者互補(bǔ)的優(yōu)勢(shì)為后續(xù)參數(shù)化混合猜測(cè)方法的設(shè)計(jì)提供了便利.而Markov-6、Semantic PCFG和LSTM則沒(méi)有表現(xiàn)出明顯的猜測(cè)優(yōu)勢(shì),因此不在混合猜測(cè)方法設(shè)計(jì)的考慮范圍之內(nèi).
了解到不同方法的猜測(cè)優(yōu)勢(shì)后,需要通過(guò)模型剪枝來(lái)限制各方法生成的口令.剪枝方法參照了2.1節(jié)的介紹,本文將以Markov模型和PCFGv4.1模型為例,結(jié)合2.1節(jié)的樣例介紹具體的做法.
根據(jù)3.1節(jié)的優(yōu)勢(shì)分析結(jié)果,Markov模型應(yīng)當(dāng)僅生成1類字符構(gòu)成的口令,比如“password”這種僅由小寫字母構(gòu)成的口令,因此需要對(duì)其模型剪除2類及以上字符構(gòu)成的口令的生成路徑;PCFGv4.1模型則與之相反,需要剪除1類字符構(gòu)成的口令的生成路徑.
Markov模型的生成方法依賴上文的字符內(nèi)容來(lái)預(yù)測(cè)下一個(gè)要生成的字符,對(duì)照?qǐng)D2中的示例可知,狀態(tài)Si在Markov模型中表示上下文的字符.以1階Markov模型為例,口令“abc”的生成路徑為“起始”-“起始a”-“ab”-“bc”-“c終止”.通過(guò)觀察可以發(fā)現(xiàn),在1類字符構(gòu)成的口令所對(duì)應(yīng)的生成路徑中,所有的狀態(tài)都僅包含1類字符,而2類及以上字符構(gòu)成的口令中至少存在1段路徑的狀態(tài)包含多類字符,因此只需要從Markov模型中刪除包含多類字符的狀態(tài)轉(zhuǎn)移路徑,就可以剪除2類及以上字符構(gòu)成的口令的生成路徑.在實(shí)際的實(shí)踐中,通過(guò)限制訓(xùn)練集為僅包含1類字符構(gòu)成的口令,來(lái)使得Markov模型統(tǒng)計(jì)的狀態(tài)轉(zhuǎn)移只包含同類字符之間的情況,從而保證Markov模型僅能生成1類字符構(gòu)成的口令.
PCFG模型的生成方法與Markov模型略有不同,它的狀態(tài)分為2類:一類是口令結(jié)構(gòu)、一類是結(jié)構(gòu)的具體內(nèi)容實(shí)例.舉例來(lái)說(shuō),口令“abc123”的生成路徑為“起始”-“L3D3”-“abcD3”-“abc123”-“終止”.通過(guò)觀察可以發(fā)現(xiàn),在起始符到口令結(jié)構(gòu)的選擇這一步,PCFG模型通過(guò)口令結(jié)構(gòu)就可以知道最終生成的口令將包含幾類字符,因此通過(guò)刪除1類字符構(gòu)成的口令所對(duì)應(yīng)的口令結(jié)構(gòu),模型將只能生成2類及以上字符構(gòu)成的口令.在實(shí)際的實(shí)踐中,對(duì)于PCFGv4.1訓(xùn)練得到的口令結(jié)構(gòu)文件進(jìn)行分析,去除了其中僅由1類字符構(gòu)成的口令結(jié)構(gòu),并對(duì)剩余的口令結(jié)構(gòu)概率做了歸一化處理.具體來(lái)說(shuō),本文去除了僅由“A”(英文字母)、“D”(數(shù)字)、“O”(特殊符號(hào))、“Y”(年份,純數(shù)字)中的某一類標(biāo)簽組成的口令結(jié)構(gòu).
在對(duì)hyPassGu中的模型剪枝后,參照2.2節(jié)中的最優(yōu)猜測(cè)數(shù)分配策略,本節(jié)將驗(yàn)證式(6),并探究在實(shí)際數(shù)據(jù)集上α取值的情況.以108作為單位猜測(cè)數(shù),本節(jié)使用式(6)來(lái)擬合實(shí)際的猜測(cè)方法.
表1展示了CSDN數(shù)據(jù)集上的擬合結(jié)果.PCFGv4.1方法破解情況線性擬合的決定系數(shù)R2=0.99,Markov方法破解情況線性擬合的決定系數(shù)平均為0.75左右,這意味著大部分?jǐn)?shù)據(jù)點(diǎn)符合回歸曲線.
Table 1 Fitting Results of Zipf’s Law Based on CSDN
此外,p值檢驗(yàn)的結(jié)果顯示所有的p<10-3,這意味著回歸曲線的系數(shù)可以很好地表示數(shù)據(jù)點(diǎn).不同方法在CSDN數(shù)據(jù)集上擬合結(jié)果的系數(shù)α值都很接近,集中在1.2和1.3左右.此外,本文基于Rockyou數(shù)據(jù)集的擬合結(jié)果與基于CSDN數(shù)據(jù)集的擬合結(jié)果相似,系數(shù)α值也集中在1.2和1.3左右.基于這些結(jié)果,本文推薦使用1.2和1.3作為最優(yōu)猜測(cè)數(shù)分配策略中α的值.
基于第3節(jié)的方法設(shè)計(jì),本節(jié)通過(guò)實(shí)驗(yàn)評(píng)估不同配置下的hyPassGu的猜測(cè)效率,以此驗(yàn)證框架的通用性以及猜測(cè)數(shù)分配策略的最優(yōu)性.此外,還探究了猜測(cè)數(shù)大小和口令數(shù)據(jù)集離散程度對(duì)分配策略的影響,并討論了混合方法種類數(shù)對(duì)猜測(cè)效率的影響.
如表2所示,本文在實(shí)驗(yàn)中使用了4個(gè)從真實(shí)網(wǎng)站泄露的大規(guī)??诹顢?shù)據(jù)集:CSDN[27],Youku[28],Rockyou[29],Neopets[30].其中,CSDN和Youku的數(shù)據(jù)集泄露自中文網(wǎng)站,而Rockyou和Neopets的數(shù)據(jù)集泄露自英文網(wǎng)站.此外,CSDN和Rockyou數(shù)據(jù)集是2011年之前泄露的,Youku和Neopets數(shù)據(jù)集則是近6年泄露的.這些數(shù)據(jù)集在區(qū)域跨度和時(shí)間跨度上都頗具代表性,并且在先前的研究[11-12,14,23-25]中被研究人員廣泛使用.
為了盡可能保證本文實(shí)驗(yàn)中使用的數(shù)據(jù)是真實(shí)用戶創(chuàng)建的口令,本文參照先前的研究[12],從數(shù)據(jù)集中清理了包含非可打印ASCII碼的口令和長(zhǎng)度超過(guò)32的口令,最終本文從4個(gè)數(shù)據(jù)集中獲取了共計(jì)超過(guò)1.5億條的口令數(shù)據(jù).
Table 2 Basic Information of Password Datasets
本節(jié)實(shí)驗(yàn)中的數(shù)據(jù)集均按3∶1隨機(jī)拆分為訓(xùn)練集和測(cè)試集,并且為了衡量模型生成新的有效口令的能力,測(cè)試集中去除了訓(xùn)練集中出現(xiàn)過(guò)的口令后來(lái)計(jì)算猜測(cè)效率.
根據(jù)3.1節(jié)分析得到的結(jié)論,本節(jié)按照3.2節(jié)介紹的方法對(duì)Markov模型(1~5階、Backoff)和PCFGv4.1這7個(gè)模型進(jìn)行剪枝,并評(píng)估了各模型在剪枝后對(duì)其擅長(zhǎng)猜測(cè)口令的破解率相較于剪枝前的提升幅度.評(píng)估結(jié)果如表3所示,各模型在剪枝后,在其擅長(zhǎng)猜測(cè)口令上的破解率相較于之前均有不同程度的相對(duì)提升(0.24%~54.45%),驗(yàn)證了剪枝方案的有效性.
Table 3 Relative Improvement of Guessing Advantages After Model Pruning Under 1010 Guesses
1) 實(shí)驗(yàn)配置
本節(jié)選取了6對(duì)存在不同優(yōu)勢(shì)的概率模型,即PCFGv4.1和6種不同的Markov模型(Backoff和1~5階Markov模型).模型剪枝后,PCFGv4.1將只能生成2類及以上字符構(gòu)成的口令,而Markov模型將只能生成1類字符構(gòu)成的口令.圖4展示了組合不同猜測(cè)方法的二元hyPassGu在CSDN數(shù)據(jù)集上的猜測(cè)效果,其中每張子圖里的Min_auto曲線使用的模型為該子圖中對(duì)應(yīng)的2個(gè)單一方法.
2) 實(shí)驗(yàn)結(jié)果
如圖4所示,二元hyPassGu的猜測(cè)效率相較于單一方法提升了1.52%~35.49%.其中,優(yōu)勢(shì)差異越明顯的2個(gè)方法,在參數(shù)化混合之后的猜測(cè)效率提升就越大,但想要獲得更高的總破解效率,則需要結(jié)合優(yōu)勢(shì)更強(qiáng)的方法.
Fig. 4 Guessing efficiency of binary hyPassGu compared with that of other methods based on CSDN圖4 基于CSDN數(shù)據(jù)集二元hyPassGu與其他方法的猜測(cè)效率
具體來(lái)說(shuō),1階Markov在猜測(cè)僅由數(shù)字構(gòu)成的口令上表現(xiàn)遠(yuǎn)優(yōu)于PCFGv4.1,而PCFGv4.1在猜測(cè)2類及以上的字符構(gòu)成的口令上表現(xiàn)遠(yuǎn)優(yōu)于1階Markov,因此兩者的優(yōu)勢(shì)結(jié)合后猜測(cè)效率的相對(duì)提升達(dá)到了35.49%;而對(duì)于3階Markov和4階Markov而言,它們?cè)诓聹y(cè)2類及以上字符構(gòu)成的口令上不如PCFGv4.1表現(xiàn)優(yōu)異,但與PCFGv4.1的差距相較于1階Markov來(lái)說(shuō)要小很多,因此優(yōu)勢(shì)結(jié)合后猜測(cè)效率的相對(duì)提升也要少一些.但是,鑒于3階Markov和4階Markov在猜測(cè)1類字符構(gòu)成的口令上更強(qiáng)的優(yōu)勢(shì),將它們與PCFGv4.1結(jié)合可以在總的破解率上達(dá)到更高,即達(dá)到49.88%和49.92%的破解率.
此外,與多模型結(jié)合的理想上界Min_auto相比,二元hyPassGu與它在猜測(cè)效率上的差距控制在5.22%~6.68%.相較于單一方法的最優(yōu)效率與Min_auto的差距,二元hyPassGu將差距縮短了16.78%~63.99%.
1) 實(shí)驗(yàn)配置
本節(jié)選取3階Markov、4階Markov和PCFGv4.1來(lái)設(shè)計(jì)三元hyPassGu.考慮到僅由特殊符號(hào)構(gòu)成的口令在現(xiàn)有的真實(shí)口令集中的占比不到0.1%,難以針對(duì)這類口令單獨(dú)分配猜測(cè)數(shù),因此由3階Markov來(lái)猜測(cè)僅由特殊符號(hào)構(gòu)成的口令.各模型的猜測(cè)任務(wù)具體為:3階Markov猜測(cè)僅由字母構(gòu)成和僅由特殊符號(hào)構(gòu)成的口令;4階Markov猜測(cè)僅由數(shù)字構(gòu)成的口令;PCFGv4.1猜測(cè)2類及以上字符構(gòu)成的口令.在4個(gè)數(shù)據(jù)集上的評(píng)估實(shí)驗(yàn)結(jié)果如圖5所示,其中Min_auto曲線中使用的模型為3階Markov、4階Markov和PCFGv4.1.
2) 相較于單一方法的猜測(cè)效率提升
Fig. 5 Guessing efficiency of ternary hyPassGu compared with that of other methods圖5 三元hyPassGu與其他方法的猜測(cè)效率的比較
如圖5所示,在4個(gè)數(shù)據(jù)集上的評(píng)估實(shí)驗(yàn)表明,三元hyPassGu在1010猜測(cè)數(shù)下的猜測(cè)效率超越單一猜測(cè)方法的最優(yōu)猜測(cè)效率4.55%~11.58%.不同數(shù)據(jù)集上單一方法的表現(xiàn)各有優(yōu)劣,其中在CSDN數(shù)據(jù)集上3階Markov表現(xiàn)最優(yōu),在Youku數(shù)據(jù)集上4階Markov表現(xiàn)最優(yōu),在Rockyou數(shù)據(jù)集上,3階Markov和4階Markov表現(xiàn)最優(yōu),而在Neopets數(shù)據(jù)集上,PCFGv4.1和4階Markov表現(xiàn)最優(yōu),而相比之下,結(jié)合了不同方法猜測(cè)優(yōu)勢(shì)的三元hyPassGu在4個(gè)數(shù)據(jù)集上均表現(xiàn)出相較于單一猜測(cè)方法猜測(cè)效率的穩(wěn)定提升.
此外,相較于單一方法的最優(yōu)效率,三元hyPassGu與Min_auto猜測(cè)效率的差距縮短了22.54%~43.19%.
3) 不同猜測(cè)數(shù)分配策略的比較
本節(jié)利用4個(gè)數(shù)據(jù)集上不同策略的比較實(shí)驗(yàn)來(lái)驗(yàn)證2.2節(jié)提出的最優(yōu)猜測(cè)數(shù)分配策略的最優(yōu)性.
如表4所示,第1列表示數(shù)據(jù)集,第2列和第3列表示不同α取值的最優(yōu)猜測(cè)數(shù)分配策略下的三元hyPassGu的猜測(cè)效率,第4列表示平均分配策略(即混合方法中每個(gè)方法使用的猜測(cè)數(shù)一樣)下的三元hyPassGu的猜測(cè)效率,第5列表示1 000組隨機(jī)分配策略下的三元hyPassGu的平均猜測(cè)效率,第6列表示在實(shí)際的破解實(shí)驗(yàn)中三元hyPassGu能達(dá)到的最優(yōu)性能.為了找到三元hyPassGu的實(shí)際最優(yōu)性能,需要比較模型在所有可能配置下的性能.以1010猜測(cè)數(shù)為例,需要使用PCFGv4.1、3階Markov和4階Markov各自生成1010條猜測(cè)口令,然后遍歷總數(shù)為1010的所有可能的組合,最終找到能猜測(cè)出最多數(shù)量口令的組合并把它的表現(xiàn)作為hyPassGu的最優(yōu)性能.
從表4中可以看出,不同α值對(duì)猜測(cè)效率的影響很小,整體來(lái)說(shuō)α=1.2時(shí)猜測(cè)效率更好.最優(yōu)分配策略下的三元hyPassGu表現(xiàn)遠(yuǎn)優(yōu)于隨機(jī)分配策略下的三元hyPassGu,超出了7.60%~17.05%.此外,最優(yōu)分配策略下的三元hyPassGu的猜測(cè)效率與實(shí)際最優(yōu)性能的差值在0.07%~0.42%之間,而平均分配策略下的三元hyPassGu的猜測(cè)效率與實(shí)際最優(yōu)性能的差值是上述差值的3.6~8.7倍.上述差值表明最優(yōu)分配策略的可提升空間很有限,因此可以認(rèn)為本文提出的猜測(cè)數(shù)分配策略是最優(yōu)的.
Table 4 Guessing Efficiency of Ternary hyPassGu with Different Allocation Strategies Under 1010 Guesses
鑒于表4中最優(yōu)分配策略在1010猜測(cè)數(shù)下相較于平均分配策略并沒(méi)有明顯的猜測(cè)效率優(yōu)勢(shì)(尤其在CSDN和Rockyou數(shù)據(jù)集上),本節(jié)利用蒙特卡洛方法[31]進(jìn)一步探究了猜測(cè)數(shù)大小和口令數(shù)據(jù)集離散程度這2個(gè)因素對(duì)最優(yōu)猜測(cè)數(shù)分配策略的影響.其中,根據(jù)已有研究[8,11,13,18,21-25]常用生成離線口令猜測(cè)集的大小,本節(jié)選取了108~1014作為猜測(cè)數(shù)的范圍;另一方面,本節(jié)使用各特征的口令占比計(jì)算得到的標(biāo)準(zhǔn)差(standard deviation, SD)作為口令數(shù)據(jù)集離散程度的度量指標(biāo).
實(shí)驗(yàn)結(jié)果如表5所示,第1列表示數(shù)據(jù)集,第2列表示各數(shù)據(jù)集中不同特征口令占比計(jì)算得出的標(biāo)準(zhǔn)差(該值的大小反應(yīng)了數(shù)據(jù)集中不同特征口令分布的離散程度,值越大,數(shù)據(jù)集口令分布越不均勻),第3,6,9,12列表示各猜測(cè)數(shù)下平均分配策略的猜測(cè)效率,第4,7,10,13列表示各猜測(cè)數(shù)下最優(yōu)分配策略的猜測(cè)效率(根據(jù)4.4節(jié)的結(jié)果,α=1.2),第5,8,11,14列則表示最優(yōu)分配策略相較于平均分配策略的相對(duì)提升.
Table 5 Performance Improvement of Optimal Allocation Strategy Under Different Guesses when α=1.2
Fig. 6 Improvement of the best performance of ternary hyPassGu compared with that of binary hyPassGu圖6 三元hyPassGu相較于二元hyPassGu最優(yōu)效率的提升
1) 猜測(cè)數(shù)大小對(duì)最優(yōu)分配策略的影響
如表5所示,在108猜測(cè)數(shù)下,最優(yōu)分配策略相較于平均分配策略的提升效果最好,平均相對(duì)提升6.59%.而當(dāng)猜測(cè)數(shù)在108~1014之間時(shí),最優(yōu)分配策略相較于平均分配策略的提升效果逐漸降低,原因是隨著猜測(cè)數(shù)的增長(zhǎng),概率方法由于訓(xùn)練集的限制逐漸達(dá)到瓶頸,破解數(shù)將不再增長(zhǎng),不同分配策略的效率差距也因此減小.
2) 數(shù)據(jù)集的口令離散程度對(duì)最優(yōu)分配策略的影響
如表5所示,通過(guò)對(duì)比可以發(fā)現(xiàn),最優(yōu)分配策略相較于平均分配策略的提升效果與標(biāo)準(zhǔn)差值呈正相關(guān),即標(biāo)準(zhǔn)差值越大,數(shù)據(jù)集口令分布越不均勻、最優(yōu)分配策略的猜測(cè)優(yōu)勢(shì)越明顯.其中,Neopets數(shù)據(jù)集的離散程度最高,最優(yōu)分配策略帶來(lái)的提升也最明顯,在108猜測(cè)數(shù)下提升可以達(dá)到16.87%.這是因?yàn)楫?dāng)標(biāo)準(zhǔn)差值較小、數(shù)據(jù)集中對(duì)應(yīng)特征的口令分布趨于平均時(shí),最優(yōu)分配策略將采取和平均分配策略基本一致的分配方案,兩者猜測(cè)效率也將相似.
本節(jié)通過(guò)對(duì)比分析三元hyPassGu和二元hyPassGu的猜測(cè)效率,討論混合方法種類數(shù)(元數(shù))對(duì)破解效果的影響.圖6中的橫坐標(biāo)表示使用的猜測(cè)數(shù)(考慮到最優(yōu)分配策略發(fā)揮作用的猜測(cè)數(shù)區(qū)間,這里也選取了108~1014作為猜測(cè)數(shù)的范圍),縱坐標(biāo)表示的是三元hyPassGu相較于二元hyPassGu中最好的猜測(cè)效率的相對(duì)提升.其中,三元hyPassGu混合的是PCFGv4.1、3階Markov和4階Markov,而二元hyPassGu分別混合的是PCFGv4.1和3階Markov,以及PCFGv4.1和4階Markov.
從圖6可以看出,三元hyPassGu相較于二元hyPassGu整體表現(xiàn)更好,有一定的猜測(cè)效率提升,而在較大猜測(cè)數(shù)下(1012~1014),三元hyPassGu和二元hyPassGu的猜測(cè)效率趨于相同.這一點(diǎn)與最優(yōu)分配策略的提升表現(xiàn)一致,意味著概率方法在大猜測(cè)數(shù)下的破解瓶頸也導(dǎo)致了更多元的混合方法在大猜測(cè)數(shù)下并未有明顯的猜測(cè)效率提升.
1) 更多元的混合猜測(cè)方法
隨著口令猜測(cè)方面研究的發(fā)展,優(yōu)化的猜測(cè)方法甚至全新的方法,例如基于表征學(xué)習(xí)的方法[22]正不斷被提出.將一個(gè)新的口令猜測(cè)方法結(jié)合到本文提出的框架中有以下2種情況:①如果它根據(jù)概率降序生成候選口令,參考本文第3節(jié)的步驟就可以嘗試將它結(jié)合到框架中.②如果它隨機(jī)地生成候選口令需要先引入口令的概率計(jì)算和排序,例如,表征學(xué)習(xí)的采樣方法[22],而這是我們未來(lái)的工作方向.
此外,本文在分析基于深度學(xué)習(xí)技術(shù)的口令猜測(cè)方法LSTM時(shí)發(fā)現(xiàn)其沒(méi)有相較于其他方法獨(dú)有的猜測(cè)優(yōu)勢(shì),因此在實(shí)現(xiàn)混合方法時(shí)并未結(jié)合基于深度學(xué)習(xí)的口令猜測(cè)方法.在未來(lái)的研究中,可以考慮利用遷移學(xué)習(xí)等技術(shù)來(lái)提高深度學(xué)習(xí)方法在特定類型口令上的猜測(cè)效率,并且在改進(jìn)PCFG等傳統(tǒng)方法時(shí)也可從強(qiáng)化已有猜測(cè)優(yōu)勢(shì)的角度入手,進(jìn)一步提高這些概率方法的優(yōu)勢(shì)猜測(cè)能力,從而使得多元混合方法在大猜測(cè)數(shù)下(1012以上)也能有更好的猜測(cè)表現(xiàn).
2) 最優(yōu)猜測(cè)數(shù)分配策略的可能偏差
猜測(cè)數(shù)的最優(yōu)分配策略可能會(huì)由于以下一些步驟導(dǎo)致一些偏差:首先,當(dāng)使用Zipf定律去擬合不同猜測(cè)方法單位猜測(cè)數(shù)內(nèi)破解的口令數(shù)時(shí),Markov方法的決定系數(shù)R2<0.9,這意味著擬合結(jié)果不能很好地解釋所有的原始數(shù)據(jù).其次,單位猜測(cè)數(shù)內(nèi)破解的口令數(shù)的積分值被近似為目標(biāo)集的大小是很理想的近似,而實(shí)際的曲線積分值會(huì)小于目標(biāo)集的大小.盡管這些可能的偏差會(huì)導(dǎo)致最優(yōu)分配策略和實(shí)際最優(yōu)性能的差距,但是第4節(jié)的實(shí)驗(yàn)評(píng)估結(jié)果顯示兩者的表現(xiàn)非常接近,并且可供繼續(xù)優(yōu)化的空間也很有限.此外,分配策略中α值的選擇依賴于實(shí)證分析的結(jié)果,但是4個(gè)數(shù)據(jù)集上的良好表現(xiàn)也表明α值的選擇可以看作是通用的.
本文提出了一個(gè)能夠在有限猜測(cè)數(shù)內(nèi)充分利用不同方法的猜測(cè)優(yōu)勢(shì)來(lái)高效地生成口令的參數(shù)化混合猜測(cè)的框架.基于現(xiàn)有的數(shù)據(jù)驅(qū)動(dòng)猜測(cè)方法,本文通過(guò)分析它們的猜測(cè)優(yōu)勢(shì)并組合不同方法來(lái)構(gòu)建實(shí)際可用的參數(shù)化混合猜測(cè)方法.評(píng)估結(jié)果表明,不同方法組合構(gòu)建的參數(shù)化混合猜測(cè)方法均表現(xiàn)出超越單一方法的猜測(cè)效率,驗(yàn)證了框架的通用性.在1010猜測(cè)數(shù)下,參數(shù)化混合猜測(cè)方法超越了單一方法的最優(yōu)效率1.52%~35.49%,且最優(yōu)猜測(cè)數(shù)策略配置下的參數(shù)化混合猜測(cè)方法表現(xiàn)均優(yōu)于其他策略配置下的參數(shù)化混合猜測(cè)方法.此外,相較于單一方法的最優(yōu)效率,參數(shù)化混合猜測(cè)方法與Min_auto理想值的差距相對(duì)縮短了16.78%~63.99%.不同猜測(cè)數(shù)下的實(shí)驗(yàn)結(jié)果還表明,最優(yōu)分配策略的猜測(cè)表現(xiàn)優(yōu)于平均分配策略和隨機(jī)分配策略,并在108猜測(cè)數(shù)下,在離散程度最大的數(shù)據(jù)集上有16.87%的相對(duì)提升.這些結(jié)果進(jìn)一步驗(yàn)證了框架的最優(yōu)性.
本文的實(shí)驗(yàn)結(jié)果與分析充分說(shuō)明了結(jié)合不同概率模型的猜測(cè)是比單一猜測(cè)方法更高效的生成口令猜測(cè)集的方式.在接下來(lái)的工作中,我們將嘗試將更多的猜測(cè)方法結(jié)合到本文提出的混合猜測(cè)框架中.我們還將引入不同的口令分類方案,例如根據(jù)口令長(zhǎng)度分類,更加深入挖掘數(shù)據(jù)驅(qū)動(dòng)方法的猜測(cè)優(yōu)勢(shì).此外,我們還將研究動(dòng)態(tài)調(diào)整框架中不同方法可用猜測(cè)數(shù)的方案.
作者貢獻(xiàn)聲明:韓偉力負(fù)責(zé)提出混合不同猜測(cè)方法優(yōu)勢(shì)的研究方向和算法思路,以及文章整體架構(gòu)的設(shè)計(jì)和修改;張俊杰負(fù)責(zé)參數(shù)化混合猜測(cè)方法hyPassGu的設(shè)計(jì)和改進(jìn),以及全文內(nèi)容的撰寫;徐銘負(fù)責(zé)全文內(nèi)容表達(dá)的修改,以及hyPassGu改進(jìn)思路的討論和補(bǔ)充;王傳旺和張浩東負(fù)責(zé)完成hyPassGu和其他方法的對(duì)比實(shí)驗(yàn),以及文章定理的驗(yàn)證;何震瀛和陳虎負(fù)責(zé)文章整體思路的指導(dǎo),以及文章內(nèi)容的修改.