国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于神經(jīng)網(wǎng)絡(luò)的多源密碼猜測(cè)模型*

2019-01-23 11:49夏之陽(yáng)
通信技術(shù) 2019年1期
關(guān)鍵詞:命中率分類(lèi)器密碼

夏之陽(yáng),易 平

(上海交通大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,上海 200240)

0 引 言

密碼是目前身份認(rèn)證的主流手段,且在短期內(nèi)不會(huì)被取代。出于方便,用戶(hù)通常不會(huì)設(shè)置復(fù)雜、不便于記憶的密碼。因此,可以認(rèn)為密碼是存在某種規(guī)律性的[1]。由于對(duì)于密碼保護(hù)的疏忽,目前已經(jīng)發(fā)生了多起大規(guī)模的密碼泄露事件。本文對(duì)于密碼的分析,均是基于歷史上國(guó)內(nèi)外各個(gè)網(wǎng)站的泄漏密碼。

目前比較成熟的密碼猜測(cè)技術(shù)主要是馬爾科夫模型(Markov models)[2]和概率上下文無(wú)關(guān)文法(Probabilistic Context-Free Grammars)[3]。這兩種技術(shù)都是依據(jù)概率模型,存在計(jì)算量龐大、耗時(shí)長(zhǎng)的問(wèn)題。遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network)[4]是分析文本的常用方法。Melicher等人證實(shí),基于神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效率被證實(shí)要優(yōu)于常用的概率模型方法[5]。然而,Melicher的研究中,針對(duì)單數(shù)據(jù)集對(duì)密碼的格式、長(zhǎng)度進(jìn)行了約束,因此應(yīng)用范圍有限。文獻(xiàn)[6]中提出基于對(duì)抗生成網(wǎng)絡(luò)(Generative Adversarial Network)的模型passGAN,進(jìn)一步提升了密碼生成能力。然而,和Melicher的研究相同,passGAN只能提升單數(shù)據(jù)集的測(cè)試命中率,在跨數(shù)據(jù)集的測(cè)試中表現(xiàn)較差。

本文提出一種基于多數(shù)據(jù)集的密碼生成模型GENPass(Generating General Passwords)。GENPass的目標(biāo)是生成具有泛化特征的密碼字典,從而提高對(duì)于未知密碼集的命中率。GENPass可以同時(shí)提升單數(shù)據(jù)集和多數(shù)據(jù)集的命中率。單數(shù)據(jù)集的命中率由PL(PCFG+LSTM)保證。密碼首先依據(jù)PCFG的策略進(jìn)行標(biāo)簽替換,替換后的標(biāo)簽序列再進(jìn)行LSTM訓(xùn)練,最后再將標(biāo)簽通過(guò)隨機(jī)采樣替換回密碼?;赑L模型,本文提出GENPass模型來(lái)提升多數(shù)據(jù)集的命中率。GENPass運(yùn)用對(duì)抗生成來(lái)消除不同數(shù)據(jù)集之間的專(zhuān)有特征,保留泛化特征,從而保證生成的密碼具有普遍性。

本文的貢獻(xiàn)主要有以下兩個(gè)方面:

(1)提出PL(PCFG+LSTM)模型,將密碼訓(xùn)練由以字符為單位提升到以單詞為單位,從而大大提升單數(shù)據(jù)集的命中率;

(2)提出GENPass模型,將訓(xùn)練集的數(shù)量由一個(gè)變?yōu)槎鄠€(gè),基于多數(shù)據(jù)集學(xué)習(xí)泛化的密碼特征,從而提升對(duì)于未知數(shù)據(jù)集的測(cè)試命中率。

1 背 景

本章節(jié)首先介紹傳統(tǒng)的密碼猜測(cè)方法并分析這些方法的優(yōu)缺點(diǎn),隨后介紹近幾年深度學(xué)習(xí)在該領(lǐng)域的應(yīng)用以及發(fā)展。

1.1 傳統(tǒng)密碼猜測(cè)方法

通常密碼不會(huì)以明文的形式傳輸與存儲(chǔ)[7],對(duì)密碼進(jìn)行哈希運(yùn)算是常用的操作。Hashcat[8]和John the Ripper(JtR)[9]是兩個(gè)針對(duì)哈希碼破解的常用工具。這兩個(gè)工具能夠借助GPU提高哈希碼的計(jì)算速度,但要破解出密碼必須基于一個(gè)已知的密碼字典,通過(guò)暴力匹配字典中的每一個(gè)密碼找出目標(biāo)密碼。換而言之,如果目標(biāo)密碼不在字典中,將無(wú)法破解出信息。因此,這兩個(gè)工具提供了一些密碼變異的方法來(lái)擴(kuò)大字典,如增加、修改、刪除幾位字符等操作。然而,這些操作并不智能,實(shí)際應(yīng)用效果不明顯。

基于馬爾科夫模型的密碼猜測(cè)在2005年最早提出[10]。馬爾科夫模型的核心概念是用空間換時(shí)間,通過(guò)大量的統(tǒng)計(jì)信息,依據(jù)前文推測(cè)下一個(gè)字符出現(xiàn)的概率。

基于概率上下文無(wú)關(guān)文法(Probabilistic Context-Free Grammars)的密碼猜測(cè)在2009年被提出[11],可以認(rèn)為是馬爾科夫模型的一種優(yōu)化。用戶(hù)在設(shè)置密碼時(shí)通常不會(huì)使用隨機(jī)的字符序列,一般都是有意義的字符串,這些字符串在生成時(shí)可以被看成一個(gè)整體。原始密碼被標(biāo)簽替換,L代表字母,D代表數(shù)字,S代表特殊符號(hào),每個(gè)標(biāo)簽后的數(shù)字表示長(zhǎng)度。例如,“password123#”被替換成“L8 D3 S1”。經(jīng)過(guò)替換后的標(biāo)簽串運(yùn)用馬爾科夫模型進(jìn)行訓(xùn)練。在生成階段,每次生成一個(gè)標(biāo)簽,然后在標(biāo)簽對(duì)應(yīng)的字符串中隨機(jī)選擇一個(gè)輸出。這種思想被進(jìn)一步推廣到針對(duì)個(gè)人信息的密碼猜測(cè)[12-13],將用戶(hù)的手機(jī)號(hào)、生日等信息看做一個(gè)整體用標(biāo)簽來(lái)替換。然而,這種方案并沒(méi)有改變馬爾科夫模型的弊端,依然存在計(jì)算量大、存儲(chǔ)量大的問(wèn)題。

1.2 神經(jīng)網(wǎng)絡(luò)的發(fā)展

遞歸神經(jīng)網(wǎng)絡(luò)模型(RNN)[4]在自然語(yǔ)言處理領(lǐng)域中已有廣泛的使用,可以根據(jù)時(shí)間序列數(shù)據(jù)進(jìn)行建模,從而處理數(shù)據(jù),如文本預(yù)測(cè)、語(yǔ)義分析等。

傳統(tǒng)遞歸神經(jīng)網(wǎng)絡(luò)模型存在梯度爆炸的缺陷[14],即在長(zhǎng)度過(guò)長(zhǎng)的情況下,模型的訓(xùn)練能力下降。一個(gè)訓(xùn)練文本中,如果具有關(guān)聯(lián)性的兩個(gè)詞在文本中相隔較遠(yuǎn),則模型無(wú)法找到其關(guān)聯(lián)性。這一問(wèn)題又稱(chēng)長(zhǎng)時(shí)依賴(lài)問(wèn)題。LSTM模型[15]是傳統(tǒng)遞歸神經(jīng)網(wǎng)絡(luò)的一種變形,可以有效解決長(zhǎng)時(shí)依賴(lài)問(wèn)題。LSTM在RNN模型的基礎(chǔ)上添加了一個(gè)“門(mén)”概念,通過(guò)“門(mén)”來(lái)控制是否遺忘或記憶之前的信息,從而解決長(zhǎng)文本導(dǎo)致的梯度爆炸問(wèn)題。

LSTM模型的單元(簡(jiǎn)稱(chēng)細(xì)胞)中,it、ft和ot分別是記憶門(mén)、遺忘門(mén)和輸出門(mén);每個(gè)細(xì)胞的輸出有兩個(gè)值,ct表示細(xì)胞狀態(tài),ht表示細(xì)胞輸出。其中,為向量?jī)?nèi)積,σ為sigmoid函數(shù)。遺忘門(mén)的作用是通過(guò)σ來(lái)決定什么樣的信息會(huì)被拋棄。記憶門(mén)的作用是決定什么樣的信息會(huì)被留下。LSTM模型通過(guò)遺忘門(mén)和記憶門(mén)的設(shè)計(jì)減少梯度爆炸問(wèn)題,解決傳統(tǒng)RNN中的長(zhǎng)時(shí)依賴(lài)問(wèn)題。

對(duì)抗生成網(wǎng)絡(luò)(Generative Adversarial Network,GAN)[16]是深度學(xué)習(xí)領(lǐng)域的又一個(gè)突破。GAN由一個(gè)生成器G和辨別器D組成,生成器G不斷生成假數(shù)據(jù),由辨別器D來(lái)判斷數(shù)據(jù)是由G生成的假數(shù)據(jù)還是真數(shù)據(jù)。通過(guò)不斷的對(duì)抗訓(xùn)練,使得D無(wú)法辨別G生成的數(shù)據(jù)的真假。GAN已經(jīng)在圖像領(lǐng)域取得了非常大的成就,然而并不能直接應(yīng)用于文本的生成。因此,本文借鑒GAN的對(duì)抗生成思想,來(lái)實(shí)現(xiàn)多數(shù)據(jù)集的密碼生成。

1.3 基于神經(jīng)網(wǎng)絡(luò)的密碼猜測(cè)

基于神經(jīng)網(wǎng)絡(luò)的密碼猜測(cè)開(kāi)始于2016年Melicher等人提出運(yùn)用LSTM來(lái)生成密碼[5],文中證明神經(jīng)網(wǎng)絡(luò)能夠更快、更準(zhǔn)地猜測(cè)密碼。然而,Melicher等人限制了密碼的格式,使得生成的密碼不具有廣泛性。2017年,Hitaj等人提出PassGAN[6],運(yùn)用GAN來(lái)生成密碼。實(shí)驗(yàn)結(jié)果表明,PassGAN能夠生成一些傳統(tǒng)工具無(wú)法生成的密碼。然而,這些密碼并不一定匹配真實(shí)用戶(hù)的習(xí)慣,在命中率的測(cè)試上,與傳統(tǒng)方式相比并沒(méi)有明顯優(yōu)勢(shì)。在目前已有的基于神經(jīng)網(wǎng)絡(luò)的密碼猜測(cè)方法中,重點(diǎn)均放在了提高單數(shù)據(jù)集的命中率。而實(shí)際環(huán)境中更多的是跨域攻擊,因此跨數(shù)據(jù)集的數(shù)據(jù)更為重要。本文將重點(diǎn)放在跨數(shù)據(jù)集的數(shù)據(jù)方面,與已有的工作有明顯不同。

2 系統(tǒng)概述

本章節(jié)將介紹文本解決的主要問(wèn)題,并詳細(xì)描述為了解決這些問(wèn)題而設(shè)計(jì)的PL(PCFG+LSTM)和GENPass模型結(jié)構(gòu)。

2.1 問(wèn)題描述

研究密碼猜測(cè)并不是為了破解特定密碼,而是從宏觀上提高訓(xùn)練和測(cè)試集之間的重合度。密碼猜測(cè)有兩種類(lèi)型的測(cè)試:一種稱(chēng)為同站測(cè)試,其訓(xùn)練集和測(cè)試集是相同的;另一種稱(chēng)為跨站測(cè)試,其訓(xùn)練集和測(cè)試集是不同的。在背景介紹中已經(jīng)提到,以前的研究工作都意在提高同站測(cè)試的命中率,其在跨站測(cè)試中的表現(xiàn)很差。然而,跨站攻擊是黑客破解數(shù)據(jù)庫(kù)的主要手段,這方面的技術(shù)能力需要提高。此外,歷史上已經(jīng)發(fā)生了多起密碼泄露事件,但是每個(gè)數(shù)據(jù)集對(duì)于深度學(xué)習(xí)模型來(lái)說(shuō)都不夠大,不足以學(xué)習(xí)到足夠的用戶(hù)習(xí)慣。

工作中試圖從多個(gè)數(shù)據(jù)集中生成“泛化”密碼字典,以提高跨站測(cè)試中密碼猜測(cè)的性能。所謂泛化,是指生成的密碼具有通用性,通過(guò)學(xué)習(xí)多個(gè)數(shù)據(jù)集來(lái)獲取其中共同的特征,而非各個(gè)數(shù)據(jù)集中特有的一些特征??缯緶y(cè)試的目標(biāo)是針對(duì)一個(gè)未知的數(shù)據(jù)集提高命中率,因此某個(gè)數(shù)據(jù)集特有的特征不利于提高跨站測(cè)試中的命中率,只有通用的特征才能提高命中率。GENPass的結(jié)構(gòu)設(shè)計(jì)就是為了消除不同數(shù)據(jù)集中的特有特征,利用分類(lèi)器過(guò)濾有明顯偏向的密碼。例如,某個(gè)密碼被分類(lèi)器判定為明顯屬于A數(shù)據(jù)集,則認(rèn)為其包含A數(shù)據(jù)集的特有特征。如果分類(lèi)器無(wú)法判定某個(gè)密碼屬于A數(shù)據(jù)集還是B數(shù)據(jù)集,則認(rèn)為其包含A和B的共有特征。

2.2 PL(PCFG+LSTM)

因?yàn)槊艽a總是有意義的幾段字符的組合,PCFG將密碼劃分為幾個(gè)不同的部分。例如,“password123”可以分為兩個(gè)標(biāo)簽“L8”和“D3”。之前的研究表明,這會(huì)提高猜測(cè)的準(zhǔn)確性。同時(shí),神經(jīng)網(wǎng)絡(luò)可以檢測(cè)到標(biāo)簽之間隱藏的關(guān)系,這是馬爾科夫模型無(wú)法檢測(cè)到的。因此,本文將這兩種方法結(jié)合,提出了一種新模型——PL模型。

2.2.1 預(yù)處理

密碼首先被編碼為幾個(gè)標(biāo)簽,每個(gè)標(biāo)簽由一個(gè)字符(L、D、S)和一個(gè)數(shù)字組成。其中,L代表字符,D代表數(shù)字,S代表特殊字符,數(shù)字代表序列的長(zhǎng)度。例如,“$Password123”將表示為“S1 L8 N3”,詳細(xì)規(guī)則顯示在表1中。預(yù)處理密碼時(shí)會(huì)生成一個(gè)表,同于統(tǒng)計(jì)每個(gè)字符串出現(xiàn)的次數(shù)。例如,統(tǒng)計(jì)了Myspace中的所有L8字符串,發(fā)現(xiàn)“password”出現(xiàn)了58次,“iloveyou”出現(xiàn)了56次,依此類(lèi)推。這個(gè)表格的統(tǒng)計(jì)數(shù)據(jù)將會(huì)在權(quán)重選擇中使用。

表1 字符替換規(guī)則

2.2.2 生成

將預(yù)處理后的密碼即標(biāo)簽序列送入LSTM模型中進(jìn)行訓(xùn)練,并通過(guò)LSTM模型生成標(biāo)簽。LSTM的結(jié)構(gòu)與Melicher等人[5]使用的網(wǎng)絡(luò)結(jié)構(gòu)相同。

2.2.3 權(quán)重選擇

當(dāng)確定下一個(gè)標(biāo)簽時(shí),將根據(jù)預(yù)處理期間生成的表格選擇一個(gè)字符串進(jìn)行替換。實(shí)驗(yàn)表明,如果每次選擇最高權(quán)重輸出,則會(huì)生成大量重復(fù)密碼。所以,通過(guò)隨機(jī)采樣選擇字符串。這種隨機(jī)采樣可以確保選擇的字符串有較高的概率,但又不會(huì)出現(xiàn)大量重復(fù)的情況。

2.3 GENPass

由于不同的密碼數(shù)據(jù)集具有不同的特征和不同的長(zhǎng)度,因此簡(jiǎn)單的混合多個(gè)數(shù)據(jù)集反而會(huì)混淆特征,使得模型難以學(xué)習(xí)到通用的特征。實(shí)驗(yàn)結(jié)果也證實(shí)了這一推論。為了解決多數(shù)據(jù)集的訓(xùn)練問(wèn)題,設(shè)計(jì)了GENPass-pro模型,總體設(shè)計(jì)如圖1所示。

圖1 GENPass總體結(jié)構(gòu)

2.3.1 n個(gè)PL模型的獨(dú)立預(yù)測(cè)

共有n個(gè)PL模型,分別學(xué)習(xí)不同的密碼庫(kù),并分別訓(xùn)練每個(gè)模型。因此,給定輸入,模型可以輸出具有其自身特征的結(jié)果。

2.3.2 帶權(quán)重的隨機(jī)選擇過(guò)程

假設(shè)概率分布p表示每個(gè)數(shù)據(jù)集的權(quán)重,∑ p=1,不同PL模型的輸出概率分布應(yīng)乘以該數(shù)據(jù)集的權(quán)重。圖2假設(shè)兩個(gè)模型的權(quán)重相同,則兩個(gè)輸出在合并時(shí)需要乘以0.5的權(quán)重,然后進(jìn)行隨機(jī)選擇。選擇過(guò)程采用隨機(jī)采樣,確保高權(quán)重的標(biāo)簽被高概率選擇。替換同樣采用隨機(jī)采樣,依據(jù)預(yù)處理時(shí)各個(gè)字符串的出現(xiàn)頻率。

圖2 生成-隨機(jī)選擇流程舉例

2.3.3 分類(lèi)器

分類(lèi)器是由原始密碼訓(xùn)練的CNN分類(lèi)。分類(lèi)器的結(jié)構(gòu)采用成熟的分類(lèi)模型[17]。給定密碼,分類(lèi)器可以給出密碼來(lái)自不同數(shù)據(jù)集的概率分布。分類(lèi)器處理的是生成的完整密碼,而不是標(biāo)簽序列。只有在生成結(jié)束字符‘ ’時(shí),一個(gè)完整的密碼才會(huì)被送入分類(lèi)器,并將新生成的密碼與先前生成的4個(gè)密碼組合在一起,作為分類(lèi)器的輸入。由于單個(gè)密碼不足以提取特征,經(jīng)過(guò)實(shí)驗(yàn)后認(rèn)為5個(gè)密碼一組作為輸入是一種比較合理的方式。

2.3.4 鑒別器

辨別器的作用是判斷分類(lèi)器的輸出,即概率分布是否接近合理分布。例如,某一個(gè)密碼的特征非常偏向某一個(gè)數(shù)據(jù)集,則認(rèn)為這個(gè)密碼具有特定特征而非普遍特征。引入Kullback-Leibler散度[18]來(lái)描繪兩個(gè)分布之間的距離,KL散度為:

訓(xùn)練過(guò)程中,使用梯度下降使P接近Q。分配P首先是隨機(jī)生成的。每次迭代中,GENPass生成10個(gè)新密碼。這些密碼被送到分類(lèi)器,結(jié)果記錄為Qi(i=1,2,…,10)。將這些結(jié)果的平均值表示為分類(lèi)器Q的輸出,使用KL散度作為損失函數(shù)。通過(guò)梯度下降法來(lái)更新P,使得P快速接近Q。認(rèn)為當(dāng)損失小于0.001時(shí),分布是穩(wěn)定的。當(dāng)訓(xùn)練完成后,P的值確定下來(lái)。經(jīng)過(guò)實(shí)驗(yàn),設(shè)定通過(guò)的標(biāo)準(zhǔn)是P與Q的KL散度是小于0.1。

圖3是分類(lèi)器到辨別器的整個(gè)流程舉例說(shuō)明。假設(shè)新生成的密碼S為“abcdef1@34”。它會(huì)和之前生成并通過(guò)辨別器的4個(gè)密碼組合在一起,作為分類(lèi)器的輸入。分類(lèi)器會(huì)輸出一個(gè)分布Q,假設(shè)Q為(0.4,0.6),P為(0.4,0.6),則KL散度為0,則S可以輸出;若Q為(0.1,0.9),則KL散度超過(guò)0.1,S被丟棄。

圖3 分類(lèi)器-辨別器流程舉例

3 實(shí)驗(yàn)及討論

3.1 實(shí)驗(yàn)數(shù)據(jù)

實(shí)驗(yàn)數(shù)據(jù)均來(lái)自于歷史上世界各網(wǎng)站的泄露密碼,均是密碼研究最常用的四個(gè)數(shù)據(jù)集。具體的實(shí)驗(yàn)數(shù)據(jù)見(jiàn)表2。

表2 實(shí)驗(yàn)數(shù)據(jù)

3.2 測(cè)試和評(píng)價(jià)

3.2.1 PL測(cè)試方案

為了測(cè)試PL模型,分別選取Myspace和phpBB作為訓(xùn)練集,生成若干長(zhǎng)度的密碼字典。測(cè)試分為兩種形式:第一種是同站測(cè)試,即訓(xùn)練集和測(cè)試集的數(shù)據(jù)來(lái)自同一個(gè)數(shù)據(jù)集,其中70%作為訓(xùn)練數(shù)據(jù),剩余的30%作為測(cè)試數(shù)據(jù);第二種是跨站測(cè)試,即訓(xùn)練集和測(cè)試集的數(shù)據(jù)來(lái)自不同的數(shù)據(jù)集,測(cè)試集中隨機(jī)選取10%的密碼。評(píng)價(jià)標(biāo)準(zhǔn)為命中率,即生成的密碼與測(cè)試集的交集占測(cè)試集的比例。為了消除合理的波動(dòng),同一模型將生成10組長(zhǎng)度相同的密碼字典,分別計(jì)算命中率后取平均值。

3.2.2 GENPass測(cè)試方案

為了測(cè)試GENPass模型,選取Myspace和phpBB作為訓(xùn)練集,RockYou和LinkedIn作為測(cè)試集。測(cè)試方法和評(píng)價(jià)標(biāo)準(zhǔn)與3.2.1中一致。此外,分別用PL和LSTM訓(xùn)練MySpace、phpBB,用來(lái)和GENPass作對(duì)比。額外的,運(yùn)用PL訓(xùn)練Myspace和phpBB直接混合后的數(shù)據(jù)集作為對(duì)比數(shù)據(jù)。

3.3 PL模型評(píng)價(jià)

分別用PL和LSTM訓(xùn)練Myspace和phpBB,并進(jìn)行了同站測(cè)試,結(jié)果如圖4所示。其中,PL(Myspace)表示用PL來(lái)訓(xùn)練Myspace數(shù)據(jù)集得到的結(jié)果,其余同理。從圖4可以明顯發(fā)現(xiàn),PL模型的命中率要明顯高于LSTM。盡管隨著生成密碼的數(shù)量增加,兩者的準(zhǔn)確率會(huì)最終接近相同,但PL可以生成更少的數(shù)據(jù)來(lái)獲得相同的命中率。例如,用LSTM來(lái)訓(xùn)練Myspace,需要生成1012個(gè)密碼才能達(dá)到50%的準(zhǔn)確率,而PL模型僅需要生成107個(gè)密碼。

圖4 PL和LSTM同站測(cè)試比較

在跨站測(cè)試中,分別用PL和LSTM訓(xùn)練Myspace和phpBB,四個(gè)模型再分別生成數(shù)據(jù),對(duì)RockYou和LinkedIn計(jì)算命中率。表3展示了生成密碼量在106和107時(shí)的數(shù)據(jù)。

表3 單訓(xùn)練集的跨站測(cè)試

跨站測(cè)試的準(zhǔn)確率要明顯低于同站測(cè)試,因?yàn)楦鱾€(gè)數(shù)據(jù)集的特征都不相同,而僅訓(xùn)練一個(gè)數(shù)據(jù)集不足以猜測(cè)其他數(shù)據(jù)集。從實(shí)驗(yàn)結(jié)果可以看到,PL要比LSTM的準(zhǔn)確率高16%~30%,表明用戶(hù)習(xí)慣設(shè)置有意義的字符串的現(xiàn)象在各個(gè)數(shù)據(jù)集中通用,且PL模型在這方面能夠比LSTM更優(yōu)秀。

3.4 GENPass模型評(píng)價(jià)

GENPass基于多數(shù)據(jù)集生成密碼。首先根據(jù)式(7)迭代計(jì)算Myspace和phpBB之間的概率分布P。迭代的過(guò)程如圖5所示,橫坐標(biāo)為訓(xùn)練次數(shù),縱坐標(biāo)為KL散度。經(jīng)過(guò)約450次迭代,KL散度值趨于穩(wěn)定,最終得到Myspace和phpBB之間的分布為(30.004%,69.996%),表明phpBB的權(quán)重更重。同站測(cè)試中發(fā)現(xiàn),phpBB的特征相對(duì)分散,而Myspace的特征比較集中,導(dǎo)致在生成相同數(shù)量密碼的情況下,Myspace的命中率普遍高于phpBB。因此,在多數(shù)據(jù)集情形下,為了能夠汲取更多phpBB的特征,應(yīng)當(dāng)給予其更大的關(guān)注。

圖5 KL散度訓(xùn)練過(guò)程

圖6 和圖7展現(xiàn)了GENPass與其他模型的性能對(duì)比。其中,PL(Myspace)-RockYou表示用PL模型訓(xùn)練Myspace生成的密碼集來(lái)測(cè)試RockYou,其余同理??梢钥吹?,GENPass的表現(xiàn)幾乎一直是最佳的,用PL單獨(dú)訓(xùn)練Myspace得到的結(jié)果次之,說(shuō)明Myspace具有較好的特征,與其他數(shù)據(jù)集重合度比較高。直接將Myspace和phpBB混合后訓(xùn)練,得到的命中率更低,說(shuō)明盲目增大數(shù)據(jù)量而沒(méi)有辨別的學(xué)習(xí),結(jié)果適得其反。結(jié)果顯示,使用GENPass可以比簡(jiǎn)單混合兩個(gè)訓(xùn)練集提升超過(guò)20%的命中率。

圖6 針對(duì)RockYou的跨站測(cè)試

圖7 針對(duì)LinkedIn的跨站測(cè)試

最后,衡量GENPass創(chuàng)造有效密碼的能力,結(jié)果如表4所示。以第一行為例,表示用Myspace作為訓(xùn)練集,運(yùn)用PL模型來(lái)訓(xùn)練,生成107長(zhǎng)度的密碼字典,其中有460 878個(gè)不在Myspace中但卻出現(xiàn)在RockYou中,有611 927個(gè)不在Myspace中但出現(xiàn)在了LinkedIn中。這說(shuō)明了模型創(chuàng)造有效密碼的能力,即生成的密碼不在訓(xùn)練集中但出現(xiàn)在了跨站測(cè)試集中。從表4中可以看到,GENPass的創(chuàng)造能力同樣是最出色的。

表4 模型創(chuàng)造密碼的能力

4 結(jié) 語(yǔ)

本文介紹一種基于多數(shù)據(jù)集的密碼生成模型GENPass。GENPass借用PCFG和GAN的思想,通過(guò)遞歸神經(jīng)網(wǎng)絡(luò)訓(xùn)練,提高了單數(shù)據(jù)集的命中率和多數(shù)據(jù)集的泛化性。GENPass的核心是神經(jīng)網(wǎng)絡(luò),在此之前,大部分密碼研究均是基于馬爾科夫模型。隨著神經(jīng)網(wǎng)絡(luò)的興起,模型有了更好理解字符之間關(guān)系的能力,從而能夠生成更貼近真實(shí)數(shù)據(jù)的密碼。

本文首先提出PL(PCFG+LSTM)模型將密碼的訓(xùn)練由字符級(jí)提升至單詞級(jí)。在單數(shù)據(jù)集的測(cè)試中,PL模型取得50%的命中率僅需要生成107個(gè)密碼,而單純用LSTM需要生成1012個(gè)密碼;在跨數(shù)據(jù)集的測(cè)試中,PL同樣能夠相比LSTM提高16%~30%。更進(jìn)一步,本文將單數(shù)據(jù)集的提升拓展到多數(shù)據(jù)集,提出了GENPass模型,使用Myspace和phpBB作為訓(xùn)練集,RockYou和LinkedIn作為測(cè)試集。實(shí)驗(yàn)結(jié)果表明,使用GENPass可以比簡(jiǎn)單混合兩個(gè)訓(xùn)練集提升超過(guò)20%的命中率。

密碼是身份認(rèn)證的最主要方式,短期內(nèi)不會(huì)被生物識(shí)別完全取代。研究密碼不是為了破解而獲得私利,更重要的是能夠?qū)γ艽a復(fù)雜度進(jìn)行準(zhǔn)確判斷,從而引導(dǎo)用戶(hù)設(shè)置更安全的密碼。然而,數(shù)據(jù)量是密碼研究的最重要問(wèn)題。由于各家公司不會(huì)主動(dòng)把用戶(hù)數(shù)據(jù)公布出來(lái),僅僅憑借目前泄漏出來(lái)的數(shù)據(jù),不足以訓(xùn)練出一個(gè)非常完備的模型。為了解決數(shù)據(jù)量不足,遷移學(xué)習(xí)可以在未來(lái)進(jìn)一步研究。

猜你喜歡
命中率分類(lèi)器密碼
基于文獻(xiàn)回顧的罰球命中率與軀干穩(wěn)定性影響因素研究
密碼里的愛(ài)
基于樸素Bayes組合的簡(jiǎn)易集成分類(lèi)器①
基于特征選擇的SVM選擇性集成學(xué)習(xí)方法
密碼抗倭立奇功
夜夜“奮戰(zhàn)”會(huì)提高“命中率”嗎
2015男籃亞錦賽四強(qiáng)隊(duì)三分球進(jìn)攻特點(diǎn)的比較研究
基于差異性測(cè)度的遙感自適應(yīng)分類(lèi)器選擇
投籃的力量休斯敦火箭
密碼藏在何處