[發(fā)明專利]一種基于ED-GAN的仿冒域名訓練數(shù)據(jù)生成方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 202010895375.4 | 申請日: | 2020-08-31 |
| 公開(公告)號: | CN112217787B | 公開(公告)日: | 2022-11-04 |
| 發(fā)明(設(shè)計)人: | 朱怡;寧振虎 | 申請(專利權(quán))人: | 北京工業(yè)大學 |
| 主分類號: | H04L9/40 | 分類號: | H04L9/40;H04L61/4511;G06N3/08;G06N3/04 |
| 代理公司: | 北京思海天達知識產(chǎn)權(quán)代理有限公司 11203 | 代理人: | 沈波 |
| 地址: | 100124 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 ed gan 仿冒 域名 訓練 數(shù)據(jù) 生成 方法 系統(tǒng) | ||
1.一種基于ED-GAN的仿冒域名訓練數(shù)據(jù)生成系統(tǒng),其特征在于:包括真實仿冒域名集編碼模塊、GAN生成網(wǎng)絡(luò)構(gòu)建模塊、GAN判別網(wǎng)絡(luò)構(gòu)建模塊和生成類似仿冒域名集解碼模塊;真實仿冒域名集編碼模塊的輸出和GAN生成網(wǎng)絡(luò)構(gòu)建模塊的輸出均與GAN判別網(wǎng)絡(luò)構(gòu)建模塊的輸入連接,用于對GAN判別網(wǎng)絡(luò)參數(shù)的優(yōu)化訓練;GAN判別網(wǎng)絡(luò)構(gòu)建模塊的輸出與GAN生成網(wǎng)絡(luò)構(gòu)建模塊的輸入連接,用于繼續(xù)優(yōu)化GAN生成網(wǎng)絡(luò)的參數(shù)以生成新的數(shù)據(jù)輸入GAN判別網(wǎng)絡(luò)讓其識別;GAN生成網(wǎng)絡(luò)構(gòu)建模塊的輸出分別與GAN判別網(wǎng)絡(luò)構(gòu)建模塊的輸入和生成類似仿冒域名集解碼模塊的輸入連接,完成GAN判別網(wǎng)絡(luò)的訓練和字符級域名的還原;
(一)真實仿冒域名集編碼模塊;
真實仿冒域名數(shù)據(jù)集由網(wǎng)絡(luò)爬取得到,經(jīng)編碼器編碼后,字符級仿冒域名被編碼為域名向量,用于生成對抗網(wǎng)絡(luò)中判別網(wǎng)絡(luò)的輸入,是對域名字符數(shù)據(jù)的再表示;在編碼器的設(shè)計中采用域名字符與數(shù)值的轉(zhuǎn)換再進行歸一化處理的方法,根據(jù)需要統(tǒng)一設(shè)定域名字符向量的長度,所有的字符級域名經(jīng)編碼器后全部轉(zhuǎn)化為等長的域名向量,作為GAN判別網(wǎng)絡(luò)的輸入;
(二)GAN生成網(wǎng)絡(luò)構(gòu)建模塊;
生成對抗網(wǎng)絡(luò)GAN包括兩個部分,一個是生成網(wǎng)絡(luò)G,另一個是判別網(wǎng)絡(luò)D;生成網(wǎng)絡(luò)G從潛在空間中隨機采樣作為輸入,其輸出結(jié)果需要模仿訓練集中的真實樣本即真實仿冒域名,生成網(wǎng)絡(luò)G的輸入從服從先驗概率分布Pz(z)的隨機噪聲變量z中接收,生成數(shù)據(jù)G(z)并且提供給判別網(wǎng)絡(luò)D,這里的G(z)即為生成的類似仿冒域名;
(三)GAN判別網(wǎng)絡(luò)構(gòu)建模塊;
判別網(wǎng)絡(luò)D的輸入包括兩部分,其一是真實樣本Pdata(x)即真實仿冒域名,其二是生成器的輸出G(z)即生成的類似仿冒域名,判別網(wǎng)絡(luò)需要分辨出當前輸入數(shù)據(jù)是一個真實數(shù)據(jù)還是生成器生成的數(shù)據(jù)G(z);模型訓練過程中,判別網(wǎng)絡(luò)D通過不斷地學習來提高自己的判別能力,而生成網(wǎng)絡(luò)G又通過不斷地學習來提高自己的偽裝能力;生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)構(gòu)成了一個動態(tài)的對抗過程,兩者在迭代過程中不斷優(yōu)化,當D最后無法區(qū)別出真實數(shù)據(jù)和生成數(shù)據(jù)時,即D已經(jīng)將生成的數(shù)據(jù)G(z)當成了真實的數(shù)據(jù)時,則認為模型達到了最優(yōu),并且認為G已經(jīng)得到了真實數(shù)據(jù)完整的分布,此時生成數(shù)據(jù)已經(jīng)被作為仿冒域名;
(四)生成類似仿冒域名集解碼模塊;
經(jīng)GAN生成網(wǎng)絡(luò)生成的類似仿冒域名是以域名向量的形式出現(xiàn),為了直觀可視,需解碼器對其進行編碼器的逆處理;解碼器完成對生成數(shù)據(jù)的字符還原,其輸入為域名向量,輸出為字符級域名。
2.根據(jù)權(quán)利要求1所述的一種基于ED-GAN的仿冒域名訓練數(shù)據(jù)生成系統(tǒng),其特征在于:引入ED-GAN字符級域名生成模型生成可使用的攻擊數(shù)據(jù);設(shè)計域名的編碼器、解碼器;將域名的編碼器、解碼器和GAN神經(jīng)網(wǎng)絡(luò)進行結(jié)合,設(shè)計字符級域名生成對抗網(wǎng)絡(luò)模型來生成類似仿冒域名樣本,實現(xiàn)對仿冒域名的預測與檢測;最后通過多分類器參數(shù)性能對比進行生成仿冒域名樣本數(shù)據(jù)的有效性檢驗。
3.根據(jù)權(quán)利要求2所述的一種基于ED-GAN的仿冒域名訓練數(shù)據(jù)生成系統(tǒng),其特征在于:字符級生成模型的核心架構(gòu)思想是GAN神經(jīng)網(wǎng)絡(luò),該模型在GAN的架構(gòu)上設(shè)計了域名字符的編碼器和解碼器。
4.一種基于ED-GAN的仿冒域名訓練數(shù)據(jù)生成方法,其特征在于:該方法的流程如下:
S1真實仿冒域名集編碼
域名編碼器功能是將字符級域名編碼成對應的域名向量,用于表示域名字符數(shù)據(jù),作為生成對抗網(wǎng)絡(luò)判別網(wǎng)絡(luò)的輸入;先對域名進行預處理,去除域名的頂級域及可能的二級域、三級域,只提取域名的關(guān)鍵部分;對域名字符的編碼方法如下:設(shè)字符級域名為d,其順序散列后組成的向量為即其中n為域名長度;字符與數(shù)值的轉(zhuǎn)換函數(shù)如式(1):
f(x)=Q(di) (1)
其中,di(i=1,2,...,n)為域名字符,n為域名長度,即為字符數(shù)值;只考慮對‘0~9’、‘a(chǎn)~z’、‘-’連字符和‘.’點字符共計38個字符進行數(shù)值轉(zhuǎn)換,因為域名字符串中只允許使用此38個字符,且不區(qū)分大小寫;經(jīng)字符數(shù)值轉(zhuǎn)換函數(shù)后依次得到這38個字符的對應數(shù)值,即Q('0')=1,Q('1')=2,...,Q('a')=11,...,Q('z')=36,Q('-')=37,Q('.')=38;域名字符向量轉(zhuǎn)化為形如的域名字符數(shù)值向量;為使GAN的學習效率更高,采用數(shù)據(jù)歸一化的方式將域名字符數(shù)值向量的值映射到區(qū)間[0,1];對于i=1,2,...,n,n為域名長度,映射公式如式(2):
其中,為歸一化后的字符數(shù)值,為字符數(shù)值,minQ(d)=1為字符轉(zhuǎn)換值下限,maxQ(d)=38為字符轉(zhuǎn)換值上限,編碼器映射函數(shù)的定義域為[1,38],值域為[0,1],經(jīng)映射后域名字符向量被映射為由于域名字符長度不一,根據(jù)仿冒域名的特性在此設(shè)定域名向量的維度為15,對于維度不足的部分,在域名向量后補全0,因此所有的域名字符向量經(jīng)編碼器后全部轉(zhuǎn)化為維度為15的域名向量;經(jīng)此編碼器編碼后,字符級域名向量轉(zhuǎn)換為GAN的訓練數(shù)據(jù),作為S2的GAN生成網(wǎng)絡(luò)的輸入,最終通過Tesorflow轉(zhuǎn)換為深度神經(jīng)網(wǎng)絡(luò)運算的張量;
S2 GAN生成網(wǎng)絡(luò)構(gòu)建
生成網(wǎng)絡(luò)的作用是在判別網(wǎng)絡(luò)的引導下去學習真實數(shù)據(jù)的概率分布模型,其網(wǎng)絡(luò)結(jié)構(gòu)由四層神經(jīng)網(wǎng)絡(luò)組成,包括輸入層、兩層隱藏層和輸出層;其中輸入層數(shù)據(jù)來源于高斯分布模型并隨機產(chǎn)生n=100維的數(shù)據(jù),輸入層的激活函數(shù)采用ReLu函數(shù),采用ReLu函數(shù)是考慮到它的性能,在計算激活函數(shù)部分時會涉及指數(shù)運算,采用ReLu函數(shù)會節(jié)省整個過程的計算量,此外使用ReLu函數(shù)防止在深層網(wǎng)絡(luò)訓練過程中出現(xiàn)梯度消失的問題;隱藏層包含兩層,節(jié)點數(shù)分別為h1_size=150和h2_size=300,節(jié)點的激活函數(shù)部分仍然采用ReLu函數(shù);輸出層部分節(jié)點數(shù)目為域名向量的維度reset_size=15,考慮解碼器的輸入數(shù)據(jù)為[0,1]區(qū)間元素,因此為減少生成網(wǎng)絡(luò)的計算量只在輸出層的激活函數(shù)采用sigmoid函數(shù);由S2生成的數(shù)據(jù)分別傳遞給S3的判別網(wǎng)絡(luò)和S4的域名解碼器;
S3 GAN判別網(wǎng)絡(luò)構(gòu)建
判別網(wǎng)絡(luò)和生成網(wǎng)絡(luò)相類似,同樣為四層神經(jīng)網(wǎng)絡(luò),包括輸入層、兩層隱藏層和輸出層;其中輸入層的數(shù)據(jù)來源有二,一部分來源于真實數(shù)據(jù),另一部分來源于生成網(wǎng)絡(luò)生成的生成數(shù)據(jù),即真實數(shù)據(jù)經(jīng)S1后的輸出與S2的輸出一起構(gòu)成S3的輸入;將仿冒域名長度設(shè)置為reset_size=15,因此輸入數(shù)據(jù)維度為2*reset_size;兩層隱藏層的節(jié)點數(shù)分別為h2_size=300和h1_size=150,激活函數(shù)采用ReLu函數(shù);輸出層激活函數(shù)為sigmoid函數(shù),數(shù)據(jù)在經(jīng)過激活函數(shù)運算之前,將前reset_size維數(shù)據(jù)和后reset_size維數(shù)據(jù)拆分進行運算,訓練網(wǎng)絡(luò)的誤差最小并分別輸出真實數(shù)據(jù)和生成數(shù)據(jù)的丟棄率,防止網(wǎng)絡(luò)過擬合;
S4生成類似仿冒域名集解碼
域名解碼器(Decoder)的功能是將GAN生成網(wǎng)絡(luò)生成的域名向量解碼成對應的字符級域名,用于生成數(shù)據(jù)的字符還原,是生成對抗網(wǎng)絡(luò)判別網(wǎng)絡(luò)的輸出;其實質(zhì)是編碼器的鏡像,域名解碼器的反向映射公式如式(3):
Q(di)=Q'(di)*[maxQ(d)-minQ(d)+1]+minQ(d) (3)
其中,i=1,2,...,n,n為域名長度取15,minQ(d)=1為字符轉(zhuǎn)換值下限,maxQ(d)=38為字符轉(zhuǎn)換值上限,Q'(di)為生成網(wǎng)絡(luò)生成的域名向量中的元素;生成網(wǎng)絡(luò)生成的域名向量經(jīng)解碼后得到域名字符數(shù)值向量設(shè)字符與數(shù)值的轉(zhuǎn)換函數(shù)的反函數(shù)為:
g(x)=Q-1(x) (4)
則經(jīng)g(x)后域名字符數(shù)值向量被映射為將中的元素di順序組合后即為域名字符串d1,d2,...,dn,通過解碼器后的域名向量被解碼成可見域名。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京工業(yè)大學,未經(jīng)北京工業(yè)大學許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010895375.4/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





