本發(fā)明屬于網(wǎng)絡(luò)安全領(lǐng)域,具體涉及一種基于元偽標(biāo)簽的半監(jiān)督惡意域名檢測方法及系統(tǒng)。
背景技術(shù):
1、dns(域名系統(tǒng))是互聯(lián)網(wǎng)最重要的基礎(chǔ)設(shè)施之一,能夠?qū)⒁子谟洃浀挠蛎D(zhuǎn)化為ip地址,包括由dns服務(wù)器組成的分布式數(shù)據(jù)庫,實(shí)現(xiàn)定位互聯(lián)網(wǎng)資源。由于dns在互聯(lián)網(wǎng)中的重要地位,它已成為垃圾郵件、網(wǎng)絡(luò)釣魚和惡意軟件等網(wǎng)絡(luò)犯罪的重要攻擊載體。因此,惡意域名檢測是網(wǎng)絡(luò)安全研究的熱點(diǎn)之一。
2、現(xiàn)有的惡意域名檢測方法包括基于規(guī)則的方法、基于特征的方法和基于關(guān)聯(lián)的方法。
3、基于規(guī)則的方法是最傳統(tǒng)、應(yīng)用最廣泛的惡意域名檢測方法,該類方法主要依靠專家領(lǐng)域知識來檢測惡意域名。sato等[1]經(jīng)過分析發(fā)現(xiàn),如果兩個(gè)域名經(jīng)常被同一個(gè)用戶請求解析,其中一個(gè)域名是惡意域名,那么另外一個(gè)域名很有可能也是惡意域名。grill等[2]研究domain-flux技術(shù)原理發(fā)現(xiàn),受感染的主機(jī)能夠在短時(shí)間內(nèi)解析大量域名,卻沒有訪問相應(yīng)數(shù)量的ip,作者建模每個(gè)主機(jī)發(fā)出dns請求與訪問ip之間的比率關(guān)系,利用fuzz方程并設(shè)置閾值識別惡意域名,在測試數(shù)據(jù)集上取得了不錯(cuò)的效果。然而,該類方法嚴(yán)重依賴專家領(lǐng)域經(jīng)驗(yàn),只能檢測某一類惡意域名,泛化能力不強(qiáng)。
4、基于特征的方法從dns流量數(shù)據(jù)、dns日志或者其它dns相關(guān)數(shù)據(jù)中提取域名特征,然后構(gòu)建分類器對域名進(jìn)行分類。antonakakis[3]設(shè)計(jì)了一個(gè)動態(tài)、全面的dns評估系統(tǒng)notos,他們提取了域名的三類特征:基于網(wǎng)絡(luò)的特征、基于域的特征、基于證據(jù)的特征。notos基于這些特征及歷史惡意數(shù)據(jù)對惡意域名賦予低的信譽(yù)分,良性域名給予高的信譽(yù)分,實(shí)驗(yàn)表明notos甚至能夠識別一個(gè)月后出現(xiàn)在黑名單上的惡意域名。bilge等[4]提出了在線惡意域名檢測系統(tǒng)exposure,該系統(tǒng)提取了四大類域名特征,即基于時(shí)間、基于dns響應(yīng)、基于ttl、基于域名文本信息。schüppen[5]提出了fanci系統(tǒng)將dns流量中的不存在的域名(nxdomain)分類為惡意域名和良性域名。該系統(tǒng)僅從域名本身提取特征,包括三大類的21個(gè)特征:域名的結(jié)構(gòu)特征,域名的語言學(xué)特征、域名的統(tǒng)計(jì)特征,然后使用機(jī)器學(xué)習(xí)方法svm、rf對域名進(jìn)行分類,在多個(gè)真實(shí)網(wǎng)絡(luò)上都能取得很高的準(zhǔn)確率。與上述基于特征的惡意域名檢測方法相比,fanci系統(tǒng)只需要域名的文本信息,消耗的訓(xùn)練時(shí)間更短。基于特征的惡意域名檢測方法由于需要抽取特征信息,因此需要相應(yīng)的領(lǐng)域知識,并且設(shè)計(jì)的特征容易被攻擊者修改。
5、基于關(guān)聯(lián)的方法利用域名間的關(guān)聯(lián)將惡意域名檢測問題轉(zhuǎn)化為圖節(jié)點(diǎn)分類問題。manadhata[6]構(gòu)建主機(jī)-域名二部圖,用已知的惡意域名及受感染的主機(jī)對圖節(jié)點(diǎn)進(jìn)行標(biāo)注,然后用置信傳播算法計(jì)算域名是惡意域名的可能性。khalil[7]認(rèn)為攻擊者傾向于重復(fù)使用ip地址資源,建立域名-ip的域名解析圖,運(yùn)用路徑推理算法檢測惡意域名。由于二部圖的局限性,不能充分挖掘dns場景。sun[8]提出了deepdom惡意域名檢測系統(tǒng),將dns場景建模為異質(zhì)信息網(wǎng)絡(luò),包含主機(jī)、域名、ip地址、賬戶四類節(jié)點(diǎn),設(shè)計(jì)了一個(gè)圖卷積網(wǎng)絡(luò)shetgcn學(xué)習(xí)節(jié)點(diǎn)嵌入,實(shí)現(xiàn)節(jié)點(diǎn)分類,在真實(shí)的cernet2數(shù)據(jù)集的結(jié)果表明shetgcn優(yōu)于當(dāng)前的一些主流異質(zhì)圖嵌入方法。基于關(guān)聯(lián)的方法能夠有效避免攻擊者通過偽造特征來規(guī)避檢測,并取得了一定的檢測效果。然而,這類方法仍面臨以下兩個(gè)問題:
6、1.無法檢測孤立節(jié)點(diǎn)中隱藏的惡意域名:如圖1所示,真實(shí)的dns流量中存在許多孤立的域名節(jié)點(diǎn),基于關(guān)聯(lián)的惡意域名檢測方法將它們刪除以避免影響圖上的知識傳播,這導(dǎo)致在訓(xùn)練時(shí)丟失了大量的域名信息,并且無法檢測出孤立節(jié)點(diǎn)中的惡意域名。
7、2.忽視無標(biāo)簽數(shù)據(jù)中的潛在信息:在對域名進(jìn)行標(biāo)注時(shí),將出現(xiàn)在白名單中的域名標(biāo)注為良性域名,出現(xiàn)在黑名單中的域名標(biāo)注為惡意域名。由于黑白名單包含的域名數(shù)量有限,導(dǎo)致大部分域名的標(biāo)簽是未知的?;陉P(guān)聯(lián)的方法的訓(xùn)練數(shù)據(jù)依賴關(guān)聯(lián)圖中的標(biāo)簽數(shù)據(jù)來提升模型的檢測效果,忽略了無標(biāo)簽數(shù)據(jù)中隱含的大量信息。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提出一種基于元偽標(biāo)簽的半監(jiān)督惡意域名檢測方法及系統(tǒng),能夠檢測出隱藏在孤立節(jié)點(diǎn)中的惡意域名。
2、本發(fā)明實(shí)現(xiàn)上述目的所采用的技術(shù)方案如下:
3、一種基于元偽標(biāo)簽的半監(jiān)督惡意域名檢測方法,包括以下步驟:
4、從dns流量中提取域名之間的關(guān)聯(lián)關(guān)系;
5、以具有上述關(guān)聯(lián)關(guān)系的域名和孤立域名為節(jié)點(diǎn),以關(guān)聯(lián)關(guān)系為邊,建立域名關(guān)聯(lián)圖;
6、提取域名特征并作為域名關(guān)聯(lián)圖中節(jié)點(diǎn)的初始化向量;
7、對域名關(guān)聯(lián)圖中的全部孤立域名節(jié)點(diǎn)和部分具有上述關(guān)聯(lián)關(guān)系的域名節(jié)點(diǎn)的良性域名和惡意域名標(biāo)注上真實(shí)標(biāo)簽,得到金標(biāo)簽節(jié)點(diǎn);
8、由金標(biāo)簽節(jié)點(diǎn)和其余的無標(biāo)簽節(jié)點(diǎn)構(gòu)成訓(xùn)練集,輸入到作為教師網(wǎng)絡(luò)的偽標(biāo)簽生成器,推測出無標(biāo)簽節(jié)點(diǎn)上的偽標(biāo)簽,得到偽標(biāo)簽節(jié)點(diǎn);
9、將金標(biāo)簽節(jié)點(diǎn)和偽標(biāo)簽節(jié)點(diǎn)輸入到作為學(xué)生網(wǎng)絡(luò)的域名分類器中,預(yù)測出良性域名和惡意域名;
10、通過對偽標(biāo)簽生成器和域名分類器進(jìn)行循環(huán)迭代訓(xùn)練,優(yōu)化域名分類器的內(nèi)循環(huán)參數(shù)和偽標(biāo)簽生成器的外循環(huán)參數(shù);
11、利用訓(xùn)練好的域名分類器對網(wǎng)絡(luò)dns流量中的惡意域名進(jìn)行檢測。
12、進(jìn)一步地,域名之間的關(guān)聯(lián)關(guān)系包括查詢關(guān)聯(lián)、解析關(guān)聯(lián)和cname關(guān)聯(lián)。
13、進(jìn)一步地,對域名關(guān)聯(lián)圖進(jìn)行剪枝處理,去除流行域名、不活躍域名和單點(diǎn)域名對應(yīng)的節(jié)點(diǎn)和邊。
14、進(jìn)一步地,域名的字符特征包括結(jié)構(gòu)特征、語義特征和統(tǒng)計(jì)特征三類。
15、進(jìn)一步地,偽標(biāo)簽生成器基于自適應(yīng)標(biāo)簽傳播算法alp來推測無標(biāo)簽節(jié)點(diǎn)的偽標(biāo)簽。
16、進(jìn)一步地,內(nèi)循環(huán)參數(shù)基于域名分類器在偽標(biāo)簽節(jié)點(diǎn)上的計(jì)算損失進(jìn)行更新。
17、進(jìn)一步地,外循環(huán)參數(shù)基于偽標(biāo)簽生成器在金標(biāo)簽節(jié)點(diǎn)上的計(jì)算損失進(jìn)行更新。
18、一種基于元偽標(biāo)簽的半監(jiān)督惡意域名檢測系統(tǒng),包括存儲器和處理器,該存儲器存儲有計(jì)算機(jī)程序,該處理器執(zhí)行該計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述方法的步驟。
19、本發(fā)明具有的優(yōu)點(diǎn):
20、1.本發(fā)明從dns流量中提取出域名,客戶端和ip地址等信息,利用他們之間的關(guān)聯(lián)構(gòu)造一個(gè)語義豐富的域名關(guān)聯(lián)圖。本發(fā)明在數(shù)據(jù)集中保留了dns數(shù)據(jù)中的孤立域名節(jié)點(diǎn),能夠檢測出隱藏在孤立節(jié)點(diǎn)中的惡意域名。
21、2.為了充分利用無標(biāo)簽數(shù)據(jù)中隱藏的豐富信息,引入一個(gè)元偽標(biāo)簽框架對域名進(jìn)行半監(jiān)督分類。外循環(huán)的偽標(biāo)簽生成器利用大量無標(biāo)簽的節(jié)點(diǎn),將關(guān)聯(lián)圖中的結(jié)構(gòu)信息編碼為偽標(biāo)簽;內(nèi)循環(huán)的域名分類器評估偽標(biāo)簽的生成效果并將其反饋給偽標(biāo)簽生成器。偽標(biāo)簽生成器和域名分類器交替更新,直至模型收斂。
1.一種基于元偽標(biāo)簽的半監(jiān)督惡意域名檢測方法,其特征在于,包括以下步驟:
2.如權(quán)利要求1所述的方法,其特征在于,域名之間的關(guān)聯(lián)關(guān)系包括查詢關(guān)聯(lián)、解析關(guān)聯(lián)和cname關(guān)聯(lián)。
3.如權(quán)利要求1所述的方法,其特征在于,對域名關(guān)聯(lián)圖進(jìn)行剪枝處理,去除流行域名、不活躍域名和單點(diǎn)域名對應(yīng)的節(jié)點(diǎn)和邊。
4.如權(quán)利要求1所述的方法,其特征在于,域名的字符特征包括結(jié)構(gòu)特征、語義特征和統(tǒng)計(jì)特征三類。
5.如權(quán)利要求1所述的方法,其特征在于,偽標(biāo)簽生成器基于自適應(yīng)標(biāo)簽傳播算法alp來推測無標(biāo)簽節(jié)點(diǎn)的偽標(biāo)簽。
6.如權(quán)利要求1所述的方法,其特征在于,偽標(biāo)簽生成器推測偽標(biāo)簽的表達(dá)式為:
7.如權(quán)利要求1所述的方法,其特征在于,內(nèi)循環(huán)參數(shù)基于域名分類器在偽標(biāo)簽節(jié)點(diǎn)上的計(jì)算損失進(jìn)行更新,表達(dá)式為:
8.如權(quán)利要求7所述的方法,其特征在于,外循環(huán)參數(shù)基于偽標(biāo)簽生成器在金標(biāo)簽節(jié)點(diǎn)上的計(jì)算損失進(jìn)行更新,表達(dá)式為:
9.如權(quán)利要求8所述的方法,其特征在于,按照以下表達(dá)式應(yīng)用鏈?zhǔn)椒▌t通過θ′對jgold(θ′(φ))進(jìn)行微分:
10.一種基于元偽標(biāo)簽的半監(jiān)督惡意域名檢測系統(tǒng),其特征在于,包括存儲器和處理器,該存儲器存儲有計(jì)算機(jī)程序,該處理器執(zhí)行該計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)權(quán)利要求1-9任一項(xiàng)所述方法的步驟。