亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于神經(jīng)網(wǎng)絡(luò)的定向口令猜測(cè)研究

        2018-10-16 12:15:32劉奇旭張方嬌
        信息安全學(xué)報(bào) 2018年5期
        關(guān)鍵詞:用戶分析模型

        周 環(huán), 劉奇旭, 崔 翔, 張方嬌

        1中國(guó)科學(xué)院信息工程研究所 北京 中國(guó)100093

        2中國(guó)科學(xué)院大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 北京 中國(guó) 100049

        3廣州大學(xué)網(wǎng)絡(luò)空間先進(jìn)技術(shù)研究院 廣州 中國(guó) 510006

        1 引言

        在身份認(rèn)證中, 口令一直被認(rèn)為是安全性最薄弱的一環(huán), 所以很多人認(rèn)為文本口令已經(jīng)過(guò)時(shí), 并提出了各種各樣替代性的身份認(rèn)證方案(如圖形認(rèn)證[1]、生物認(rèn)證[2]、多因子認(rèn)證[3]等), 但是目前仍沒(méi)有任何一種替代性方案能像文本口令一樣部署簡(jiǎn)單且方便使用。文本口令依然是目前最主要的身份認(rèn)證方式, 并且在可預(yù)見(jiàn)的未來(lái), 其在身份認(rèn)證領(lǐng)域?qū)⒗^續(xù)扮演至關(guān)重要的角色[4]。

        在構(gòu)造口令的過(guò)程中對(duì)不同的服務(wù)使用不同的隨機(jī)字符序列被認(rèn)為是相對(duì)安全的口令構(gòu)造行為,但是為了方便記憶力, 用戶在構(gòu)造口令時(shí)通常遠(yuǎn)遠(yuǎn)無(wú)法滿足隨機(jī)構(gòu)造的要求[5-9]。通常情況下, 人們會(huì)選擇對(duì)自身來(lái)說(shuō)容易記憶的口令, 造成大量的口令在整個(gè)口令區(qū)間中呈現(xiàn)集中分布的情況, 這一現(xiàn)象大大提升了攻擊者破解口令的成功率。

        為了提升口令的安全等級(jí), 在線的身份認(rèn)證系統(tǒng)開(kāi)始強(qiáng)制用戶使用越來(lái)越嚴(yán)格的口令構(gòu)造策略。同時(shí), 很多網(wǎng)站部署口令強(qiáng)度評(píng)測(cè)器來(lái)幫助用戶構(gòu)造更安全的口令。然而這些口令強(qiáng)度評(píng)測(cè)器已經(jīng)被證明是啟發(fā)式的而且可持續(xù)性不強(qiáng)[10-11]。為了更好地評(píng)估口令的強(qiáng)度, 我們需要更深入地理解用戶是如何構(gòu)造口令的。

        與最開(kāi)始采用啟發(fā)式的方式研究口令安全不同,為了更加系統(tǒng)地研究口令安全, 近年來(lái)學(xué)術(shù)界逐漸提出一些新的口令概率模型, 比如 N階馬爾科夫模型(Markov N-grams)[12-13]、概率上下文無(wú)關(guān)文法模型(Probabilistic Context Free Grammar, PCFG)[14-15], 這些模型及相關(guān)理論的提出將口令研究帶入了一個(gè)新的研究階段。雖然這些口令概率模型在適用范圍和破解成功率上比傳統(tǒng)的啟發(fā)式的口令猜測(cè)方式更好,但是它們?cè)谠u(píng)估口令強(qiáng)度時(shí)忽略了用戶在構(gòu)造口令時(shí)的一些行為特征(如口令重用、使用個(gè)人信息), 同時(shí)由于采用統(tǒng)計(jì)計(jì)算的方式評(píng)估口令強(qiáng)度, 在實(shí)際破解過(guò)程中通常需要大量的計(jì)算資源和存儲(chǔ)空間且運(yùn)行耗時(shí)嚴(yán)重。因此這些口令概率模型在實(shí)際的在線口令強(qiáng)度評(píng)估中可用性不高。

        為了更好地理解用戶的口令構(gòu)造行為, 同時(shí)針對(duì)傳統(tǒng)的口令概率模型存在的問(wèn)題, 我們首先在大規(guī)??诹顢?shù)據(jù)集上對(duì)用戶的口令構(gòu)造特征進(jìn)行了分析, 接著提出了一種結(jié)合人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks, ANN)和用戶個(gè)人信息(Personal Information, PI)的定向口令猜測(cè)模型。神經(jīng)網(wǎng)絡(luò)是一種機(jī)器學(xué)習(xí)的方法, 它試圖通過(guò)模擬人類(lèi)大腦處理和記憶信息的方式實(shí)現(xiàn)信息的處理。相關(guān)研究已經(jīng)表明神經(jīng)網(wǎng)絡(luò)在序列生成和處理上取得了非常成功的應(yīng)用[16-17]。

        本文在近年來(lái)國(guó)內(nèi)外泄露的八個(gè)大規(guī)模用戶口令數(shù)據(jù)集上進(jìn)行了口令安全相關(guān)實(shí)驗(yàn)。我們首先對(duì)用戶口令行為進(jìn)行了分析, 發(fā)現(xiàn)了用戶在構(gòu)造口令過(guò)程中的一些行為特征。之后, 為了衡量用戶個(gè)人信息與其構(gòu)造口令的關(guān)聯(lián)性, 我們對(duì)各個(gè)數(shù)據(jù)集中各種不同類(lèi)型的個(gè)人信息進(jìn)行了統(tǒng)計(jì)分析, 對(duì)用戶在口令構(gòu)造中使用個(gè)人信息這一特征進(jìn)行了深入的研究, 設(shè)計(jì)了一種新的評(píng)估用戶個(gè)人信息與口令之間關(guān)聯(lián)度的方法Relevance。最后為了更加準(zhǔn)確有效地評(píng)估文本口令強(qiáng)度, 我們提出了一種結(jié)合神經(jīng)網(wǎng)絡(luò)和用戶個(gè)人信息進(jìn)行定向口令猜測(cè)的模型 TPGXNN(Targeted Password Guessing using X Neural Networks),并將該模與傳統(tǒng)的口令概率模型的猜測(cè)成功率進(jìn)行了比較, 驗(yàn)證了該模型的有效性。

        本文第 1節(jié)介紹了研究的背景以及主要的研究?jī)?nèi)容; 第2節(jié)介紹相關(guān)工作, 包括口令猜測(cè)攻擊、口令強(qiáng)度評(píng)估以及神經(jīng)網(wǎng)絡(luò); 第 3節(jié)主要通過(guò)對(duì)從公開(kāi)渠道收集的大規(guī)模用戶口令的實(shí)驗(yàn), 分析用戶的口令構(gòu)造行為; 第 4節(jié)提出了結(jié)合用戶個(gè)人信息和神經(jīng)網(wǎng)絡(luò)進(jìn)行定向口令猜測(cè)的模型 TPGXNN; 第 5節(jié)在數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn), 并將TPGXNN與傳統(tǒng)的口令猜測(cè)模型進(jìn)行比較; 最后, 第6節(jié)對(duì)本文進(jìn)行總結(jié)和展望。

        2 相關(guān)工作

        2.1 口令強(qiáng)度評(píng)估

        通常情況下, 口令的安全性能被劃分為兩大類(lèi)[18-19]:第一類(lèi)是整個(gè)口令集的安全性; 第二類(lèi)是單獨(dú)某個(gè)口令的安全性。我們能使用攻擊算法模擬現(xiàn)實(shí)攻擊[20-22]或者使用依托于統(tǒng)計(jì)學(xué)的評(píng)定指標(biāo)(比如香農(nóng)熵[23-24]或者其他高級(jí)的統(tǒng)計(jì)學(xué)方法)來(lái)衡量第一類(lèi)的安全性;而第二類(lèi)的安全性則只可以采用攻擊算法模擬現(xiàn)實(shí)攻擊的方式, 再通過(guò)攻擊結(jié)果來(lái)進(jìn)行評(píng)定。目前成功破解某一口令所實(shí)際需要的猜測(cè)次數(shù)是最常使用的評(píng)估指標(biāo)。

        我們基于神經(jīng)網(wǎng)絡(luò)的定向口令猜測(cè)模型便采用模擬現(xiàn)實(shí)口令猜測(cè)攻擊的方式來(lái)驗(yàn)證模型的有效性。接下來(lái), 我們簡(jiǎn)單介紹在學(xué)術(shù)界已經(jīng)被廣泛研究和使用的兩種口令概率模型: 基于馬爾科夫模型的口令概率模型(以下簡(jiǎn)稱為“Markov”模型)和基于上下文無(wú)關(guān)文法的口令概率模型(以下簡(jiǎn)稱為“PCFG”模型)。本文第 5小節(jié)我們將對(duì)以上兩種傳統(tǒng)的口令猜測(cè)模型與TPGXNN模型的口令猜測(cè)結(jié)果進(jìn)行對(duì)比。

        Markov模型 Narayanan和Shmatikov于2005年首次提出使用Markov模型進(jìn)行口令猜測(cè)[25]。近幾年, 出現(xiàn)了一些更加深入系統(tǒng)地利用Markov模型進(jìn)行口令安全研究的成果[26-27]。此模型假設(shè)用戶在構(gòu)造口令時(shí)是按一定順序(從前到后)構(gòu)造的, 基于口令前后字符之間的關(guān)聯(lián)性通過(guò)統(tǒng)計(jì)計(jì)算的方法得到目標(biāo)口令所對(duì)應(yīng)的概率值。該模型在進(jìn)行模擬口令猜測(cè)攻擊時(shí)可以分為兩個(gè)階段: 在訓(xùn)練集上訓(xùn)練階段和在測(cè)試集上測(cè)試階段。

        首先, 在訓(xùn)練集訓(xùn)練階段需要統(tǒng)計(jì)訓(xùn)練集口令中每個(gè)子串之后緊跟的那個(gè)字符頻數(shù)。階(gram)是Markov模型的一個(gè)重要概念, N階Markov模型需統(tǒng)計(jì)長(zhǎng)度為N的子串之后緊跟的字符頻數(shù)。比如在四階Markov模型中, 口令Lin678需統(tǒng)計(jì)的值有: 首字符是L的頻數(shù)、L后是字符i的頻數(shù)、Li后是字符n的頻數(shù)、Lin后是數(shù)字6的頻數(shù)、Lin6后是數(shù)字7的頻數(shù)以及in67后是數(shù)字8的頻數(shù)。按照這種方式, 每個(gè)口令經(jīng)過(guò)N階Markov模型訓(xùn)練之后便會(huì)得到一個(gè)概率值, 也就是從前到后將長(zhǎng)度為 N的子字符串在訓(xùn)練結(jié)果中查詢, 最后把得到的所有的概率值相乘便可得到目標(biāo)口令的概率值。在四階Markov模型下,口令 Lin678的概率計(jì)算為: P(Lin678)=P(L)×P(i|L)×P(n|Li)×P(6|Lin)×P(7|Lin6)×P(8|in67)。

        在測(cè)試集測(cè)試階段, 先基于上述方法得到每個(gè)口令的概率, 按照從高到低的順序排列就可以得到一個(gè)概率遞減的猜測(cè)集。然后再用得到的猜測(cè)集對(duì)測(cè)試口令集進(jìn)行破解測(cè)試即可。

        PCFG模型 Weir等人于2009年提出了一個(gè)基于概率上下文無(wú)關(guān)文法進(jìn)行口令概率猜測(cè)的模型[28]。PCFG模型的核心思想是將口令按數(shù)字(D)、字母(L)以及特殊字符(S)進(jìn)行分段, 并對(duì)每個(gè)段的長(zhǎng)度進(jìn)行計(jì)數(shù)表示。比如對(duì)于口令“l(fā)in&6789”, PCFG模型將其表示成L3S1D4, 這被稱為此口令的模式。該模型在進(jìn)行模擬口令猜測(cè)攻擊時(shí)也可以分為在訓(xùn)練集訓(xùn)上訓(xùn)練和在測(cè)試集上測(cè)試兩個(gè)階段。

        在訓(xùn)練集訓(xùn)練階段最關(guān)鍵的是通過(guò)統(tǒng)計(jì)計(jì)算得到各種口令模式對(duì)應(yīng)的頻率以及各字符組件所對(duì)應(yīng)的頻率。若要得到“l(fā)in&6789”的概率值, 首先需統(tǒng)計(jì)在所有口令中以L3S1D4作為模式的口令頻率, 以及“l(fā)in”在長(zhǎng)度為3的字母串(L3)中的頻率, “&”在長(zhǎng)度為1的特殊符號(hào)(S1)中的頻率, “6789”在長(zhǎng)度為4的數(shù)字串(D4)中的頻率。假設(shè)P(S→L3S1D4)=0.2, P(L3→lin)=0.3, P(S1→&)=0.1, P(D4→6789)=0.2,則口令“l(fā)in&6789”的猜測(cè)概率為: P(lin!6789) = P(S→L3S1D4)×P(L3→lin)×P(S1→!)×P(D4→6789)=0.0012, 這表明“l(fā)in&6789”的可猜測(cè)度為0.0012。

        同樣的, 通過(guò)這種方法就可以計(jì)算每個(gè)口令的概率值, 按照從高到低的順序排列就可以得到一個(gè)概率遞減的猜測(cè)集。然后在測(cè)試集測(cè)試階段使用得到的猜測(cè)集對(duì)測(cè)試口令集進(jìn)行破解測(cè)試便可以評(píng)估模型在特定測(cè)試集上的口令破解的成功率。

        2.2 人工神經(jīng)網(wǎng)絡(luò)

        人工神經(jīng)網(wǎng)絡(luò)[29-32](Artificial Neural Network,ANN)或者被稱為連接系統(tǒng)是由動(dòng)物大腦的生物神經(jīng)網(wǎng)絡(luò)啟發(fā)而設(shè)計(jì)實(shí)現(xiàn)的計(jì)算系統(tǒng)。這類(lèi)系統(tǒng)通過(guò)樣本學(xué)習(xí)(逐漸改善性能)來(lái)完成任務(wù), 而并非通過(guò)基于特定任務(wù)的格式化編程來(lái)實(shí)現(xiàn)目標(biāo)。例如, 在圖像識(shí)別中, 神經(jīng)網(wǎng)絡(luò)可以通過(guò)對(duì)標(biāo)注了“cat”和“no cat”標(biāo)簽的樣本圖片的學(xué)習(xí)來(lái)識(shí)別未標(biāo)注圖片中的貓。神經(jīng)網(wǎng)絡(luò)已經(jīng)在很難用傳統(tǒng)算法編程實(shí)現(xiàn)的領(lǐng)域中得到了廣泛應(yīng)用。

        神經(jīng)網(wǎng)絡(luò)是由連接在一起的被稱為神經(jīng)元的節(jié)點(diǎn)(類(lèi)似于生物腦中的軸突)所構(gòu)成, 每個(gè)節(jié)點(diǎn)代表了一種特定的被稱為激活函數(shù)(activation function)[33-35]的輸出函數(shù), 神經(jīng)元之間的連接可以傳遞隨連接強(qiáng)度而變化的單向信號(hào)。如果組合的輸入信號(hào)(來(lái)自潛在的許多發(fā)射神經(jīng)元)足夠強(qiáng), 則接收神經(jīng)元會(huì)激活并傳播一個(gè)信號(hào)到與其相連的下游神經(jīng)元。

        通常, 神經(jīng)元被分層組織。信號(hào)從第一(輸入)到最后(輸出), 可能會(huì)在層與層之間遍歷多次。 除了接收和發(fā)送信號(hào)之外, 節(jié)點(diǎn)可以具有由實(shí)數(shù)表示的狀態(tài), 值通常在0到1之間。閾值或限制功能可以管理每個(gè)連接和神經(jīng)元, 使得信號(hào)在傳播之前必須超過(guò)特定值。

        神經(jīng)網(wǎng)絡(luò)方法的最初目標(biāo)是以與人類(lèi)大腦相同的方式解決問(wèn)題。時(shí)至今日, 其已被用于各種任務(wù),包括計(jì)算機(jī)視覺(jué), 語(yǔ)音識(shí)別, 機(jī)器翻譯, 社交網(wǎng)絡(luò)過(guò)濾, 醫(yī)療診斷等許多領(lǐng)域。

        2.2.1 神經(jīng)網(wǎng)絡(luò)特性

        人工神經(jīng)網(wǎng)絡(luò)是由很多神經(jīng)元節(jié)點(diǎn)相互連接組成的自適應(yīng)、非線性的處理系統(tǒng)。在當(dāng)代神經(jīng)科學(xué)研究的基礎(chǔ)之上, 人工神經(jīng)網(wǎng)絡(luò)想要通過(guò)模擬動(dòng)物大腦生物神經(jīng)網(wǎng)絡(luò)處理以及記憶信息的方式來(lái)實(shí)現(xiàn)信息的處理[36-37]。其具備4個(gè)主要特性:

        (1) 非線性 在自然界中非線性關(guān)系是一種普遍特性。人工神經(jīng)元有兩種狀態(tài): 激活態(tài)和抑制態(tài)。在數(shù)學(xué)上, 這種行為便表現(xiàn)為一種非線性關(guān)系。

        (2) 非局限性 單個(gè)神經(jīng)網(wǎng)絡(luò)一般由很多神經(jīng)元節(jié)點(diǎn)連接構(gòu)成。系統(tǒng)的整體行為特征由兩個(gè)因素決定, 一個(gè)是單個(gè)神經(jīng)元的特征, 另一個(gè)是節(jié)點(diǎn)彼此之間的作用以及連接。神經(jīng)網(wǎng)絡(luò)通過(guò)節(jié)點(diǎn)間的大量連接來(lái)模擬大腦的非局限性。

        (3) 非常定性 自適應(yīng)、自學(xué)習(xí)、自組織是人工神經(jīng)網(wǎng)絡(luò)具備的三種能力。神經(jīng)網(wǎng)絡(luò)不僅處理的信息能夠存在很多變化, 同時(shí)在處理信息過(guò)程中, 非線性動(dòng)力系統(tǒng)本身也在不斷的變化[38]。

        (4) 非凸性 在一定條件下特定系統(tǒng)的演進(jìn)方向?qū)⑷Q于某個(gè)特定的狀態(tài)函數(shù)。非凸性代表這種函數(shù)有多個(gè)極值, 所以系統(tǒng)存在多個(gè)較穩(wěn)定的平衡態(tài),這會(huì)使系統(tǒng)系統(tǒng)演化存在多樣性[39]。

        2.2.2 循環(huán)神經(jīng)網(wǎng)絡(luò)

        RNN[40-42](Recurrent neural Network, 循環(huán)神經(jīng)網(wǎng)絡(luò))是人造神經(jīng)網(wǎng)絡(luò)的一種, 其中單元之間的連接形成定向循環(huán)。這創(chuàng)建了網(wǎng)絡(luò)的內(nèi)部狀態(tài), 允許其呈現(xiàn)動(dòng)態(tài)時(shí)間行為。與前饋神經(jīng)網(wǎng)絡(luò)不同, RNN可以使用其內(nèi)部存儲(chǔ)器來(lái)處理任意輸入序列。這使得它們適用于諸如未分段連接的手寫(xiě)識(shí)別、語(yǔ)音識(shí)別以及自然語(yǔ)言處理[43-45](Natural Language Processing,NLP)等任務(wù)。

        在RNN中, LSTM[46-48](Long Short-Term Memory,長(zhǎng)短時(shí)記憶模型)模型是現(xiàn)在使用范圍最廣也是應(yīng)用最成功的模型, LSTM能夠很好地對(duì)長(zhǎng)短時(shí)依賴進(jìn)行表達(dá), 它和一般的循環(huán)神經(jīng)網(wǎng)絡(luò)在結(jié)構(gòu)本質(zhì)上并沒(méi)有什么本質(zhì)不同, 在隱藏層的狀態(tài)的計(jì)算上只是使用了不同的函數(shù)。LSTM是一個(gè)深度學(xué)習(xí)系統(tǒng), 它不存在梯度消失問(wèn)題。

        在傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型中, 輸入層到隱藏層是全連接的, 隱藏層到輸出層也是全連接的, 每層內(nèi)部的節(jié)點(diǎn)之間是沒(méi)有連接的。但在很多問(wèn)題的處理上傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)無(wú)法很好地解決問(wèn)題。比如, 判斷一個(gè)未完成的句子中下一個(gè)詞是什么, 需要使用句子中已有的詞, 因?yàn)榫渥又性~語(yǔ)之間是由聯(lián)系的,而并不是彼此孤立的。使用RNN便可以使一個(gè)序列當(dāng)前的輸出與之前的輸入相關(guān)。具體的實(shí)現(xiàn)方式是循環(huán)神經(jīng)網(wǎng)絡(luò)存儲(chǔ)已有的信息并將其用于當(dāng)前輸出的計(jì)算中, 也就是說(shuō)隱藏層內(nèi)部的節(jié)點(diǎn)之間不再是沒(méi)有連接的, 相反其節(jié)點(diǎn)之間存在連接, 不僅如此,在輸入上, 隱藏層不僅包含輸入層的輸出還包含上一時(shí)刻隱藏層的輸出。理論上, RNN能夠?qū)θ魏伍L(zhǎng)度的序列數(shù)據(jù)進(jìn)行處理[47]。但在實(shí)際使用過(guò)程中, 為了降低復(fù)雜性通常假設(shè)當(dāng)前的輸出只與前面的幾個(gè)狀態(tài)存在關(guān)系, 如圖 1所示, 展示了一個(gè)典型的 RNN結(jié)構(gòu)。綜合 RNN的特點(diǎn)以及文本口令猜測(cè)的場(chǎng)景,RNN在口令猜測(cè)上可能會(huì)得到較好的應(yīng)用。本文基于RNN對(duì)大規(guī)模用戶口令進(jìn)行分析和研究, 提出了一種新的口令概率模型。

        圖1 典型的循環(huán)神經(jīng)網(wǎng)絡(luò)Figure 1 Typical Recurrent Neural Network

        3 用戶口令行為分析

        3.1 數(shù)據(jù)集準(zhǔn)備

        口令達(dá)不到理想強(qiáng)度的最直接原因是用戶不安全的口令行為, 所以理解用戶可能存在哪些不安全的脆弱口令行為是研究口令安全性的前提條件。通常情況下用戶需要管理幾十個(gè)乃至上百個(gè)口令賬戶,各個(gè)站點(diǎn)的口令設(shè)置要求也往往存在很大區(qū)別。不僅如此, 用戶用于處理信息安全問(wèn)題的精力有限且基本穩(wěn)定。這些問(wèn)題導(dǎo)致了用戶的一系列口令行為。

        本節(jié)從流行口令分析、口令重用和基于個(gè)人信息的口令構(gòu)造三個(gè)方面, 對(duì)用戶的常見(jiàn)口令行為進(jìn)行了研究。我們選擇了 8個(gè)國(guó)內(nèi)外數(shù)據(jù)質(zhì)量較好的數(shù)據(jù)集進(jìn)行口令分析和研究, 其中包括 4個(gè)國(guó)內(nèi)用戶泄露數(shù)據(jù)集和 4個(gè)國(guó)外用戶泄露數(shù)集, 這些泄露的數(shù)據(jù)集均通過(guò)公開(kāi)網(wǎng)絡(luò)渠道獲取, 且數(shù)據(jù)集中包含用戶明文口令。表1中列舉了這8個(gè)數(shù)據(jù)集的基本信息, 包括: 數(shù)據(jù)集來(lái)源、泄露網(wǎng)站類(lèi)型、泄露數(shù)據(jù)條數(shù)、用戶使用語(yǔ)言、數(shù)據(jù)集中是否包含用戶個(gè)人信息以及數(shù)據(jù)的泄露時(shí)間。

        表1 數(shù)據(jù)集基本信息Table 1 Data Set Basic Information

        3.2 流行口令分析

        Morris和Thompson在1979年分析了3289個(gè)真實(shí)的用戶口令, 發(fā)現(xiàn)其中有 86%的數(shù)據(jù)落入普通字典, 33%的數(shù)據(jù)能在5分鐘內(nèi)搜索出來(lái)。后續(xù)的大量研究也表明, 除了選擇常用單詞作為口令, 用戶常常將單詞做一些簡(jiǎn)單的變換, 以滿足站點(diǎn)口令設(shè)置策略的需求。如“password1314”可以滿足“字母+數(shù)字”的策略需求。一些最常用的單詞、數(shù)字、字符序列和其變換就成了大多數(shù)用戶可能選擇的弱口令。我們對(duì)上述 8個(gè)數(shù)據(jù)集中最常用的口令進(jìn)行了分析, 如表2所示。

        表2 數(shù)據(jù)集中最流行的前10個(gè)口令分析Table 2 Analysis of Top 10 Most Popular Password in the Data Set

        表3 國(guó)內(nèi)外用戶口令的字符組成結(jié)構(gòu)分析/%Table 3 Analysis of the Character Composition of Passwords at Home and Abroad/%

        表4 用戶口令長(zhǎng)度分布分析Table 4 Analysis of Length Distribution of Password

        通過(guò)對(duì)以上結(jié)果的分析, 可以發(fā)現(xiàn): 1)不管是國(guó)內(nèi)用戶還是國(guó)外用戶都傾向使用一些常見(jiàn)的、方便記憶(比如, 數(shù)字、字母以及鍵盤(pán)模式)的口令; 2)國(guó)內(nèi)用戶中流行使用的口令多為數(shù)字, 而國(guó)外用戶使用英文字母、單詞或者簡(jiǎn)單的鍵盤(pán)模式來(lái)構(gòu)造口令居多, 這體現(xiàn)了語(yǔ)言因素對(duì)口令行為的影響; 3)愛(ài)情在國(guó)內(nèi)外用戶構(gòu)造口令的過(guò)程中都扮演了重要角色,“iloveyou”和“princess”均出現(xiàn)在最流行的前10個(gè)口令中, 而“5201314”和“woaini1314”這種明顯有地域特點(diǎn)與愛(ài)情相關(guān)的口令則出現(xiàn)在了國(guó)內(nèi)用戶最流行的前10個(gè)口令中; 4)不僅如此, 文化以及網(wǎng)站名(比如“l(fā)inkedin”)等因素也在用戶最流行的口令中得到體現(xiàn)。

        相對(duì)于其他口令來(lái)說(shuō), 這些流行口令在整個(gè)口令集中占的比例很高, 同時(shí)考慮到口令集龐大的基數(shù), 可以說(shuō)這些流行口令的使用規(guī)模還是非常龐大的。這意味著攻擊者如果發(fā)現(xiàn)這一現(xiàn)象, 只要嘗試最流行的一些口令, 就很有可能破解大量的用戶賬戶信息。同時(shí)通過(guò)對(duì)這8個(gè)網(wǎng)站的流行口令分析, 也可以發(fā)現(xiàn)口令的分布遠(yuǎn)不是均勻的。

        3.3 用戶口令字符組成分析

        大多數(shù)網(wǎng)站會(huì)設(shè)置口令限制條件(比如, 口令長(zhǎng)度、字符種類(lèi)等), 這種情況下口令的字符組成通常會(huì)受到口令限制條件的影響。如果網(wǎng)站沒(méi)有設(shè)置口令構(gòu)成限制條件, 用戶使用的口令結(jié)構(gòu)就直接反映了用戶口令構(gòu)造過(guò)程中使用字符類(lèi)型的偏好。本文對(duì)目標(biāo)數(shù)據(jù)集的口令字符組成進(jìn)行了分析, 在分析中用正則表達(dá)式定義了 9種常見(jiàn)模式, 并對(duì)各個(gè)數(shù)據(jù)集中相應(yīng)模式的口令比例進(jìn)行了統(tǒng)計(jì)。表 3顯示了國(guó)內(nèi)外用戶口令的字符組成結(jié)構(gòu)。

        通過(guò)對(duì)以上結(jié)果的分析, 可以發(fā)現(xiàn): 1)用戶會(huì)使用包含特定模式的口令, 且有一些普遍存在的用戶口令構(gòu)成行為。比如, 用戶口令絕大多數(shù)都是由數(shù)字或字母組成, 使用純數(shù)字或者純字母的用戶比例都比較高; 2)在國(guó)內(nèi)外用戶口令組成模式對(duì)比方面, 國(guó)內(nèi)大多數(shù)用戶會(huì)在口令中包含數(shù)字, 而國(guó)外用戶則更偏愛(ài)使用字母。這一點(diǎn)也體現(xiàn)在使用純數(shù)字作為口令的國(guó)內(nèi)用戶比例多于國(guó)外用戶, 而使用純字母作為口令的用戶比例則國(guó)外用戶更多。

        用戶在口令字符組成中的這些偏好正是攻擊者所努力挖掘的對(duì)象, 因?yàn)槭褂眠@些用戶習(xí)慣, 通過(guò)構(gòu)造包含用戶常用模式的口令就可以大大提升破解用戶口令的效率。

        3.4 用戶口令長(zhǎng)度分析

        口令的長(zhǎng)度同樣直接受到網(wǎng)站口令設(shè)置限制條件的影響。大多數(shù)用戶口令安全意識(shí)不強(qiáng), 選擇的口令長(zhǎng)度往往只滿足網(wǎng)站口令限制的最短長(zhǎng)度要求。顯然, 口令的長(zhǎng)度大小直接影響攻擊者實(shí)施口令猜測(cè)攻擊的攻擊范圍, 下面對(duì)目標(biāo)數(shù)據(jù)集中的口令長(zhǎng)度進(jìn)行了統(tǒng)計(jì)。表4顯示了8個(gè)數(shù)據(jù)集中用戶口令長(zhǎng)度的分析結(jié)果。

        通過(guò)對(duì)以上結(jié)果的分析, 可以發(fā)現(xiàn): 1)用戶的口令長(zhǎng)度選擇存在集中分布的特點(diǎn); 2)對(duì)于普通網(wǎng)站來(lái)說(shuō), 長(zhǎng)度為 6,7,8用戶口令分布最多的, 過(guò)長(zhǎng)或者過(guò)短的口令在整個(gè)口令集合中分布都很少; 3)用戶使用最多的幾種口令長(zhǎng)度與大多數(shù)網(wǎng)站限制的最短口令長(zhǎng)度相近。

        這一分析結(jié)果揭示了用戶在口令構(gòu)造中在長(zhǎng)度選擇上存在集中分布的特點(diǎn), 而且跟特定站點(diǎn)在用戶設(shè)置口令過(guò)程中限制的最短口令長(zhǎng)度相近。這一分析結(jié)果對(duì)于攻擊者在猜測(cè)攻擊中減少猜測(cè)空間的大小具有重要意義。

        3.5 用戶口令重用分析

        由于用戶通常擁有幾十個(gè)甚至上百個(gè)口令賬戶,為了方便記憶和管理口令, 用戶往往會(huì)選擇在不同站點(diǎn)之間重復(fù)使用相同的口令。為了進(jìn)一步分析用戶在不同站點(diǎn)之間的口令重用行為, 本文基于最大共同距離 LCS算法, 對(duì)國(guó)內(nèi)和國(guó)外用戶的口令重用情況進(jìn)行了分析。分析過(guò)程中通過(guò)用戶的郵箱將兩個(gè)不同的數(shù)據(jù)集進(jìn)行合并, 保存在兩個(gè)數(shù)據(jù)集中都包含某一相同郵箱的記錄, 從而得到一個(gè)交叉數(shù)據(jù)集, 然后在交叉數(shù)據(jù)集上測(cè)量用戶口令的重用情況。本文對(duì)NetEase&12306、GFAN&Tianya、Linkedin&Yahoo、Fling&Neopets這四個(gè)交叉數(shù)據(jù)集中用戶的直接口令重用行為和間接口令重用行為進(jìn)行了分析,其中前兩個(gè)交叉數(shù)據(jù)集針對(duì)國(guó)內(nèi)用戶, 后兩個(gè)交叉數(shù)據(jù)集則針對(duì)國(guó)外用戶。表 5顯示了這四個(gè)交叉數(shù)據(jù)集中口令直接重用的比例。

        圖 2則顯示了這四個(gè)交叉數(shù)據(jù)集除去直接口令重用的記錄后, 不完全相同口令的 LCS分析結(jié)果,即用戶口令間接重用的結(jié)果。

        表5 交叉數(shù)據(jù)集中口令直接重用比例分析Table 5 Analysis of proportion of Password Direct Reuse in Cross Data Sets

        通過(guò)結(jié)果的分析, 可以發(fā)現(xiàn): 1)口令重用在國(guó)內(nèi)外用戶中都是一種普遍存在的現(xiàn)象; 2)用戶在不同站點(diǎn)之間直接重用口令的概率很高, 與國(guó)內(nèi)用戶相比,國(guó)外用戶直接重用口令的比例相對(duì)較低; 3)在間接重用口令方面, 國(guó)外用戶間接重用口令的相似度更小,約40%左右間接重用的中文口令相似度在[0.6,1], 國(guó)外用戶只有25%左右。

        一直以來(lái)口令重用行為被認(rèn)為是不安全的, 因此用戶應(yīng)盡可能地避免不同站點(diǎn)之間口令的大量重用行為。

        圖2 不同數(shù)據(jù)集口令間接重用分析Figure 2 Analysis of Indirect Reuse Password in Different Data Sets

        4 TPGXNN

        4.1 基于個(gè)人信息的用戶口令構(gòu)造分析

        口令攻擊可分為漫步口令攻擊和定向口令攻擊兩種, 這兩者之間最突出的不同點(diǎn)在于在攻擊過(guò)程中是否使用用戶的個(gè)人信息(PI, Personal Information)。個(gè)人信息大多數(shù)情況下可以和用戶可識(shí)別信息(PII, Personal Identifiable Information)交替使用。通常情況下, 一個(gè)用戶的個(gè)人信息是指與這個(gè)用戶相關(guān)的任何信息, 它的含義比用戶可識(shí)別信息更加廣泛。對(duì)于部分?jǐn)?shù)據(jù)集中不包含用戶個(gè)人信息情況, 我們采用了與口令重用分析中相似的方式, 將包含個(gè)人信息的數(shù)據(jù)集與不包含個(gè)人信息的數(shù)據(jù)集通過(guò)郵箱匹配的方式進(jìn)行關(guān)聯(lián), 從而達(dá)到給數(shù)據(jù)集中記錄添加個(gè)人信息的目的。為了盡可能多的增加表 1數(shù)據(jù)集中包含個(gè)人信息的記錄條數(shù), 我們選擇了四個(gè)用于補(bǔ)充用戶個(gè)人信息的數(shù)據(jù)集。如表6所示。

        表6 補(bǔ)充數(shù)據(jù)集Table 6 Supplementary Data Set

        在對(duì)數(shù)據(jù)集進(jìn)行關(guān)聯(lián)之后, 從表 1中不包含用戶個(gè)人信息的數(shù)據(jù)集中提取了關(guān)聯(lián)后的數(shù)據(jù)子集,并進(jìn)行了基于個(gè)人信息的口令構(gòu)造分析。具體分析結(jié)果如表 7所示, 表中數(shù)據(jù)代表包含特定種類(lèi)用戶個(gè)人信息的口令在總的口令中所占的比例。

        表 7中的統(tǒng)計(jì)數(shù)據(jù)顯示了各種類(lèi)型的用戶個(gè)人信息與用戶口令之間的關(guān)聯(lián)性, 但是卻無(wú)法準(zhǔn)確地、數(shù)值化地衡量用戶個(gè)人信息在單獨(dú)某個(gè)口令構(gòu)造中所起的作用。所以, 我們提出了一種可以準(zhǔn)確系統(tǒng)地衡量用戶個(gè)人信息在口令構(gòu)造中所造成影響的方法——Relevance。

        Relevance方法的值域?yàn)閇0,1], 值越大說(shuō)明用戶個(gè)人信息在口令構(gòu)造中所起的影響越大, 值為 0說(shuō)明沒(méi)有影響, 值為1說(shuō)明整個(gè)口令是由單一某種個(gè)人信息構(gòu)成。Relevance的值反映了單一口令中用戶個(gè)人信息所造成的影響, 其在某個(gè)集合上的均值則能反映這個(gè)集合上用戶個(gè)人信息與口令之間的關(guān)聯(lián)性。

        為了計(jì)算Relevance的值, 我們將口令和用戶個(gè)人信息作為字符串輸入并且使用一個(gè)滑動(dòng)窗口來(lái)進(jìn)行計(jì)算。通過(guò)維護(hù)一個(gè)動(dòng)態(tài)窗口從口令的頭部滑到尾部。窗口的初始大小為2, 如果窗口覆蓋的子串匹配了某種個(gè)人信息, 就將窗口大小增加 1, 然后嘗試在更大的窗口中匹配個(gè)人信息。如果發(fā)現(xiàn)匹配, 則進(jìn)一步擴(kuò)大窗口大小直到發(fā)現(xiàn)不匹配。發(fā)現(xiàn)不匹配后將窗口大小重置為2, 然后從不匹配的位置重新開(kāi)始滑動(dòng)窗口。同時(shí)我們維護(hù)了一個(gè)與口令長(zhǎng)度相同的標(biāo)記字符串, 用來(lái)記錄每個(gè)匹配用戶個(gè)人信息的口令子段的長(zhǎng)度。在完成對(duì)目標(biāo)口令從頭到尾整個(gè)滑動(dòng)過(guò)程之后, 標(biāo)記字符串中記錄的值便用來(lái)計(jì)算Relevance的值。計(jì)算公式如下:

        式(1)中n代表了匹配的口令子串?dāng)?shù), leni代表了匹配的口令子串的長(zhǎng)度, lentotal則代表整個(gè)口令的長(zhǎng)度。比如對(duì)于出生于1988年3月14日, 名叫Curry的用戶的口令是“curry314@@”, 在完成窗口滑動(dòng)之后, 標(biāo)記字符串為 [5,5,5,5,5,3,3,3,0,0], 字符串中前五個(gè)元素 {5,5,5,5,5} 代表了口令中的前五個(gè)元素匹配了特定種類(lèi)的個(gè)人信息(本例中是姓名), 緊跟的三個(gè)元素 {3,3,3} 代表了口令中接下來(lái)的 3個(gè)字符也匹配用戶個(gè)人信息(本例中是生日), 最后的兩個(gè)元素 {0,0} 則說(shuō)明口令的最后兩個(gè)字符不匹配用戶個(gè)人信息。則相關(guān)度的計(jì)算為:

        為了更準(zhǔn)確系統(tǒng)地評(píng)估用戶個(gè)人信息在每個(gè)數(shù)據(jù)集中所造成的影響, 我們?cè)诿總€(gè)數(shù)據(jù)集上計(jì)算了Relvance的平均值——AvgRelevance。

        通過(guò)分析結(jié)果可以發(fā)現(xiàn), 跟預(yù)想的情況一致,在構(gòu)造口令過(guò)程中使用個(gè)人信息是一種普遍存在的現(xiàn)象, 就選擇的數(shù)據(jù)集來(lái)說(shuō), 個(gè)人信息在國(guó)內(nèi)用戶的口令構(gòu)造中的影響要大于國(guó)外用戶。用戶通常喜歡在口令中包含個(gè)人信息, 特別是姓名、生日。而且在對(duì)姓名和生日進(jìn)行使用的過(guò)程中, 用戶還經(jīng)常會(huì)對(duì)它們做相應(yīng)的變化, 比如, 僅使用姓氏、僅使用名字、僅使用生日的年份、僅使用生日的日期、使用縮寫(xiě)等。與國(guó)外用戶相比, 國(guó)內(nèi)用戶使用姓名和生日構(gòu)造口令的比例更大, 所以相對(duì)來(lái)說(shuō)國(guó)外用戶的口令安全意識(shí)更強(qiáng)。還有一個(gè)有趣的現(xiàn)象是, 除了使用個(gè)人信息外, 用戶的賬號(hào)名和郵箱前綴也在口令構(gòu)造中起到了一定作用。電話號(hào)碼和身份證號(hào)在口令中出現(xiàn)的概率不高。而像用戶住址、性別以及IP地址這些信息, 雖然也屬于用戶個(gè)人信息范疇, 但是卻極少出現(xiàn)在用戶的口令中。

        這一分析結(jié)果在口令定向破解中能讓在進(jìn)行猜測(cè)攻擊時(shí), 更有針對(duì)性地使用用戶個(gè)人信息, 提高猜測(cè)攻擊的準(zhǔn)確性。在接下來(lái)要介紹的定向口令猜測(cè)實(shí)驗(yàn)中我們就基于上述分析結(jié)果, 利用了用戶的姓名、生日、用戶名以及郵箱前綴來(lái)對(duì)模型進(jìn)行訓(xùn)練。

        表7 基于個(gè)人信息的口令構(gòu)造分析Table 7 Analysis of Password Construction Based on Personal Information

        4.2 基于循環(huán)神經(jīng)網(wǎng)絡(luò)的定向口令猜測(cè)

        本文中我們用神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)口令進(jìn)行建模。神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)模仿了人類(lèi)的神經(jīng)元, 它在模糊分類(lèi)和序列生成上得到了很好的應(yīng)用。文獻(xiàn)[49]研究了從字符串中前面的字符元素序列來(lái)預(yù)測(cè)下一個(gè)字符元素的出現(xiàn)概率, 本文用于生成候選猜測(cè)口令的方法便是參考了相關(guān)研究成果。比如, 在字符串“password”的生成中, 如果把“passwor”作為參數(shù)輸入神經(jīng)網(wǎng)絡(luò), 那么字符“d”很有可能作為結(jié)果被輸出。

        雖然口令生成和文本生成在概念上很相似, 用自然語(yǔ)言生成的方法來(lái)研究口令生成的研究卻非常少。神經(jīng)網(wǎng)絡(luò)在十年前曾經(jīng)被提出用于對(duì)口令的強(qiáng)和弱進(jìn)行劃分, 但是此工作卻并沒(méi)有嘗試對(duì)口令的可能猜測(cè)序列進(jìn)行建模, 也沒(méi)有對(duì)口令猜測(cè)攻擊的相關(guān)方面進(jìn)行研究。

        與馬爾科夫模型類(lèi)似, 本文在給定前序字符序列的情況下, 使用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)來(lái)生成口令的下一個(gè)字符。圖 3對(duì)使用神經(jīng)網(wǎng)絡(luò)構(gòu)造口令片段的下一個(gè)字符的過(guò)程進(jìn)行了舉例介紹。與馬爾科夫模型一樣, 神經(jīng)網(wǎng)絡(luò)需要依賴一個(gè)特殊的口令結(jié)束標(biāo)記來(lái)計(jì)算一個(gè)口令序列的概率。比如, 為了計(jì)算口令“you”的概率, 首先以空口令作為開(kāi)始, 然后從網(wǎng)絡(luò)中查詢第一個(gè)字符是“y”的可能性; 然后查詢?cè)凇皔”之后是 “o”的可能性; 接著查詢“yo”之后是“u”的可能性; 最后查詢?cè)凇皔ou”之后出現(xiàn)結(jié)束標(biāo)記的概率。

        為了從神經(jīng)網(wǎng)絡(luò)模型中生成口令, 我們枚舉了高于某一個(gè)給定閾值的所有口令。然后按照口令的概率值對(duì)它們進(jìn)行排序, 排序后的口令作為猜測(cè)集。從根本上說(shuō), 此方法生成猜測(cè)集的方式與馬爾科夫模型十分相似。但在文獻(xiàn)[12]中利用神經(jīng)網(wǎng)絡(luò)進(jìn)行漫步口令猜測(cè)卻取得了比傳統(tǒng)的馬爾科夫模型更好的實(shí)驗(yàn)結(jié)果。

        上文中對(duì)用戶使用個(gè)人信息構(gòu)造口令這一現(xiàn)象進(jìn)行了實(shí)驗(yàn)分析, 分析結(jié)果發(fā)現(xiàn)用戶使用個(gè)人信息構(gòu)造口令是一種較為普遍的現(xiàn)象。

        結(jié)合用戶在生成口令過(guò)程中使用個(gè)人信息這一現(xiàn)象以及神經(jīng)網(wǎng)絡(luò)在序列生成中的有效應(yīng)用。本文提出了一種基于神經(jīng)網(wǎng)絡(luò)的定向口令猜測(cè)方法——TPGXNN(Target Guess Using X Neural Networks), 并使用該方法在表 8的數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)。下面分別對(duì)實(shí)驗(yàn)的方法和結(jié)果進(jìn)行介紹。

        圖3 使用神經(jīng)網(wǎng)絡(luò)構(gòu)造口令片段的下一個(gè)字符過(guò)程舉例Figure 3 An Example of the Construction procedure of Next Character of a Password Fragment Using a Neural Network

        4.3 TPGXNN模型結(jié)構(gòu)設(shè)計(jì)與實(shí)現(xiàn)

        神經(jīng)網(wǎng)絡(luò)包含輸入層、隱含層和輸出層三層, 從輸入層到隱含層最后到輸出層。對(duì)于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型, 兩層之間彼此采用全連接的方式傳遞信息,每層內(nèi)部的節(jié)點(diǎn)之間則彼此不相連接。基于這種構(gòu)造設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)在處理一些問(wèn)題時(shí)無(wú)法達(dá)到預(yù)期的效果。比方說(shuō)在一個(gè)預(yù)測(cè)單詞序列的場(chǎng)景中, 由于一個(gè)句子中的單詞彼此之間存在關(guān)聯(lián)而并不是相互獨(dú)立的, 所以如果想預(yù)測(cè)一個(gè)給定序列的下一個(gè)單詞是什么, 通常要結(jié)合序列已有的單詞來(lái)進(jìn)行。

        不同于傳統(tǒng)的 FNNs(Feed-forward Neural Networks, 前向反饋神經(jīng)網(wǎng)絡(luò)), RNNs(Recurrent Neural Networks, 循環(huán)神經(jīng)網(wǎng)絡(luò))引入了定向循環(huán), 能夠處理那些輸入之間前后關(guān)聯(lián)的問(wèn)題。

        循環(huán)神經(jīng)網(wǎng)路的核心設(shè)計(jì)理念是一個(gè)序列當(dāng)前的輸出與前面的輸出存在關(guān)聯(lián)。更為具體的表現(xiàn)形式是循環(huán)神經(jīng)網(wǎng)絡(luò)會(huì)將之前產(chǎn)生的信息進(jìn)行記憶,然后在當(dāng)前輸出的計(jì)算過(guò)程中使用之前產(chǎn)生的信息,在其內(nèi)部結(jié)構(gòu)的表現(xiàn)上就是隱藏層之間的節(jié)點(diǎn)不再是無(wú)連接的, 而是有連接的, 而且某一時(shí)刻隱藏層的輸入不但包含輸入層的輸出還包含上一個(gè)時(shí)刻隱藏層的輸出。

        相關(guān)研究已經(jīng)證明循環(huán)神經(jīng)網(wǎng)絡(luò)在字符級(jí)別的自然語(yǔ)言生成中是非常成功的。因此本文基于目前廣泛使用的一種循環(huán)神經(jīng)網(wǎng)絡(luò)模型——LSTM(Long Short-Term Memory, 長(zhǎng)短時(shí)記憶)[50]來(lái)構(gòu)造TPGXNN模型。

        在模型的構(gòu)造上, 模型整體由3層LSTM循環(huán)層和 2層密集連接層構(gòu)成。在服務(wù)器端基于 Keras庫(kù)完成模型的構(gòu)建, 實(shí)驗(yàn)的訓(xùn)練和測(cè)試階段均使用python來(lái)實(shí)現(xiàn)。圖4展示了模型結(jié)構(gòu)。如圖4所示,整個(gè)模型的訓(xùn)練包含了3個(gè)階段: 數(shù)據(jù)準(zhǔn)備、訓(xùn)練階段、猜測(cè)階段。數(shù)據(jù)準(zhǔn)備和猜測(cè)階段的實(shí)現(xiàn)與傳統(tǒng)的口令概率模型相同, 模型實(shí)現(xiàn)的關(guān)鍵在于訓(xùn)練階段。為了提高猜測(cè)的成功率, 在訓(xùn)練過(guò)程中我們使用遷移學(xué)習(xí)的方法來(lái)完成模型的訓(xùn)練, 采用這種方式, 網(wǎng)絡(luò)的不同部分在訓(xùn)練過(guò)程中通過(guò)學(xué)習(xí)能識(shí)別不同的現(xiàn)象。在使用遷移學(xué)習(xí)時(shí), 首先在整個(gè)口令集上訓(xùn)練口令。然后模型的低層將被鎖定,最后在目標(biāo)數(shù)據(jù)集上進(jìn)行訓(xùn)練, 這么做的目的是模型低層可以學(xué)習(xí)數(shù)據(jù)的低級(jí)特征(比如 e是一個(gè)元音字母), 而模型的高層則能夠?qū)W習(xí)數(shù)據(jù)的高級(jí)特征(比如元音字母通常跟在輔音字母后)。在模型大小的選擇上, 我們必須決定在模型中包含多少個(gè)參數(shù), 我們測(cè)試了一個(gè)包含682,851個(gè)參數(shù)的神經(jīng)網(wǎng)絡(luò)。

        圖4 TPGXNN模型結(jié)構(gòu)Figure 4 TPGXNN Model Structure

        表8 TPGXNN口令猜測(cè)實(shí)驗(yàn)數(shù)據(jù)集Table 8 TPGXNN Password Guessing Experimental Data Set

        5 實(shí)驗(yàn)結(jié)果

        5.1 數(shù)據(jù)集關(guān)聯(lián)

        為了實(shí)現(xiàn)定向的口令猜測(cè), 需要準(zhǔn)備包含用戶個(gè)人信息的數(shù)據(jù)集, 如表1所示, 部分?jǐn)?shù)據(jù)集中不包含用戶個(gè)人信息。我們采用與基于個(gè)人信息的口令構(gòu)造分析中相同的方法, 通過(guò)用戶郵箱將包含用戶個(gè)人信息的數(shù)據(jù)集和不包含用戶個(gè)人信息的數(shù)據(jù)集進(jìn)行關(guān)聯(lián), 得到了八個(gè)包含用戶個(gè)人信息的數(shù)據(jù)集。結(jié)合上文中的分析結(jié)果, 可知并不是所有的用戶個(gè)人信息在口令構(gòu)造中都占有很重要的比重, 所以本文提取了用戶姓名、生日、賬號(hào)、郵箱前綴這四類(lèi)用戶個(gè)人信息并將他們加入訓(xùn)練過(guò)程。表 8顯示了實(shí)驗(yàn)過(guò)程中使用的數(shù)據(jù)集信息, 訓(xùn)練集包含了用戶的口令信息以及提取出的四類(lèi)用戶個(gè)人信息。

        5.2 實(shí)驗(yàn)環(huán)境

        本文使用 Python實(shí)現(xiàn)模型的訓(xùn)練和測(cè)試, 實(shí)驗(yàn)環(huán)境如表9所示。

        表9 實(shí)驗(yàn)環(huán)境參數(shù)Table 9 Experimental Environment Parameters

        5.3 實(shí)驗(yàn)結(jié)果

        為了評(píng)估TPGXNN模型的性能, 本文在表8所列數(shù)據(jù)集上, 對(duì)其與現(xiàn)在最主流的兩種傳統(tǒng)的口令猜測(cè)模型(PCFG模型, Markov模型)進(jìn)行了對(duì)比實(shí)驗(yàn)。在PCFG模型和Markov模型的訓(xùn)練和測(cè)試中使用與TPGXNN模型相同的訓(xùn)練集和測(cè)試集, 在訓(xùn)練過(guò)程中將用戶個(gè)人信息看作口令加入到訓(xùn)練集中進(jìn)行訓(xùn)練。由于Markov模型階數(shù)的不同得到的結(jié)果也不同, 因此我們選擇了階數(shù)分別為4階、3階和1階的Markov模型分別進(jìn)行了實(shí)驗(yàn), 實(shí)驗(yàn)結(jié)果如圖5a-d所示。

        在實(shí)驗(yàn)數(shù)據(jù)集的劃分上, 我們將 8個(gè)數(shù)據(jù)集劃分成 4組進(jìn)行實(shí)驗(yàn)。劃分過(guò)程中首先按照用戶的語(yǔ)言分為國(guó)內(nèi)數(shù)據(jù)集和國(guó)外數(shù)據(jù)集, 這么做的目的是為了保證猜測(cè)模型的成功率; 然后分別將 4個(gè)國(guó)內(nèi)數(shù)據(jù)集和 4個(gè)國(guó)外數(shù)據(jù)集隨機(jī)劃分成兩組, 每組兩個(gè)數(shù)據(jù)集。分組完成之后, 將組內(nèi)的2個(gè)數(shù)據(jù)集其中的一個(gè)作為訓(xùn)練集進(jìn)行訓(xùn)練, 將另外一個(gè)數(shù)據(jù)集當(dāng)做測(cè)試集測(cè)試口令猜測(cè)的成功率, 即在給定的猜測(cè)數(shù)下數(shù)據(jù)集合中口令的破解百分比。

        通過(guò)圖 5顯示的實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn), 本文提出的TPGXNN模型與Markov和PCFG這兩種傳統(tǒng)的口令猜測(cè)模型相比在猜測(cè)次數(shù) 10到 10000范圍內(nèi),其破解口令的成功率明顯更高, 平均地, TPGXNN是四階Markov模型的猜測(cè)成功率的2.65倍, 是PCFG模型的猜測(cè)成功率的 2.27倍, 這不僅說(shuō)明了用戶個(gè)人信息在口令猜測(cè)中確實(shí)起到了重要的作用也證明了TPGXNN模型的有效性。

        綜合上述實(shí)驗(yàn)結(jié)果的分析, 可以說(shuō)明 TPGXNN是一種有效的口令猜測(cè)模型, 結(jié)合神經(jīng)網(wǎng)絡(luò)和用戶個(gè)人信息進(jìn)行用戶口令猜測(cè)是一種切實(shí)可行的研究思路。

        6 總結(jié)與展望

        本文首先選擇了從公開(kāi)渠道可獲取的 8個(gè)較有代表性國(guó)內(nèi)外泄露數(shù)據(jù)集作為研究對(duì)象, 其中國(guó)內(nèi)和國(guó)外泄露數(shù)據(jù)集各 4個(gè); 接著分別對(duì)用戶口令構(gòu)造的偏好性選擇、用戶口令重用情況以及基于個(gè)人信息的口令構(gòu)造這三個(gè)方面進(jìn)行了分析, 發(fā)現(xiàn)了口令構(gòu)造過(guò)程中存在的一些常見(jiàn)現(xiàn)象并設(shè)計(jì)了一種新的評(píng)估用戶個(gè)人信息與口令之間關(guān)聯(lián)性的方法Relevance; 最后結(jié)合分析得到的結(jié)果, 提出了一種結(jié)合神經(jīng)網(wǎng)絡(luò)和用戶個(gè)人信息進(jìn)行定向口令猜測(cè)的方法, 設(shè)計(jì)了猜測(cè)模型——TPGXNN, 并在數(shù)據(jù)集上進(jìn)行了對(duì)比實(shí)驗(yàn), 對(duì)此方法和現(xiàn)在主流的幾種口令猜測(cè)方法的猜測(cè)成功率進(jìn)行了比較, 驗(yàn)證了模型的可行性和有效性, 對(duì)口令安全進(jìn)行了有益探索。

        圖5 四種情況下各類(lèi)口令猜測(cè)模型比較Figure 5 Comparison of Various Types of Password Guessing Models in Four Cases

        在接下來(lái)的工作中, 我們將對(duì)利用神經(jīng)網(wǎng)絡(luò)進(jìn)行口令定向猜測(cè)進(jìn)行更加深入的研究, 包括模型結(jié)構(gòu)和大小不同對(duì)猜測(cè)成功率的影響以及各種不同類(lèi)型的神經(jīng)網(wǎng)絡(luò)在口令猜測(cè)領(lǐng)域的應(yīng)用等。

        猜你喜歡
        用戶分析模型
        一半模型
        隱蔽失效適航要求符合性驗(yàn)證分析
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        關(guān)注用戶
        電力系統(tǒng)及其自動(dòng)化發(fā)展趨勢(shì)分析
        3D打印中的模型分割與打包
        關(guān)注用戶
        關(guān)注用戶
        国产女同va一区二区三区| 久久精品国产热久久精品国产亚洲 | 好吊色欧美一区二区三区四区| 99精品热6080yy久久| 国产自产在线视频一区| 熟女人妻中文字幕av| ā片在线观看免费观看| 在线观看无码一区二区台湾| 区二区三区亚洲精品无| 黄片视频免费在线观看国产| 久久丫精品国产亚洲av不卡| 久久久99精品成人片中文字幕| 日本高清人妻一区二区| 大肉大捧一进一出好爽视频动漫| 精品亚洲成a人在线观看青青 | 久久人人爽人人爽人人片av麻烦| 99久久精品一区二区三区蜜臀| 日韩国产自拍视频在线观看| 无码aⅴ精品一区二区三区| 国产va免费精品观看| 区无码字幕中文色| 在线精品国产亚洲av麻豆| 少妇厨房愉情理伦bd在线观看| 亚洲欧美日韩国产一区| 一区二区三区精品偷拍| 伊人情人色综合网站| 国产成人精品av| 国产高清天干天天视频| 91麻豆精品国产91久久麻豆| 中国女人内谢69xxxx免费视频| 黄色毛片视频免费| 风流少妇一区二区三区91| 色哟哟最新在线观看入口| 欧美老妇与禽交| 日本最新一区二区三区视频 | 色噜噜久久综合伊人一本| 东北无码熟妇人妻AV在线| 日本在线中文字幕一区| 国产av激情舒服刺激| 欧美人与动牲交a欧美精品| 国产精品亚洲A∨无码遮挡|