本發(fā)明涉及網(wǎng)絡安全,尤其涉及一種惡意網(wǎng)站識別方法和裝置。
背景技術(shù):
1、近年來,不法分子利用惡意網(wǎng)站進行釣魚、欺詐等手段騙取錢財?shù)氖录覍野l(fā)生,惡意網(wǎng)站可能會偽裝成合法的網(wǎng)站,以獲取用戶的個人信息、賬號密碼等敏感信息,從而實施釣魚欺詐行為;惡意網(wǎng)站還可能會嵌入病毒或者惡意軟件,通過用戶點擊或下載等方式,感染用戶的電腦、手機等設備,從而使得用戶的隱私數(shù)據(jù)泄露、計算機系統(tǒng)癱瘓等。為了暴露和打擊惡意網(wǎng)站,對惡意網(wǎng)站進行準確識別尤為重要。
2、在目前的相關(guān)技術(shù)中,對惡意網(wǎng)站的檢測識別通常使用以下兩種方法:
3、第一種是基于bert模型,直接將統(tǒng)一資源定位符(uniform?resource?locator,url)序列當做一般文本進行處理,從而對惡意網(wǎng)站進行識別。由于bert模型基于大規(guī)模的語料庫進行預訓練,而惡意網(wǎng)站的url特征可能與常規(guī)文本數(shù)據(jù)不同,存在領域間的遷移問題,惡意網(wǎng)站的url特定領域特征可能無法被bert模型充分學習,并且可能需要大量的數(shù)據(jù)來微調(diào)模型以適應特定任務,此外bert模型的預訓練是基于可以通過上下文推測出被遮蓋詞語的假設進行的,該假設是有魯棒性的,但是在基于url的惡意網(wǎng)站分類任務中,這個假設不一定存在,導致惡意網(wǎng)站識別效果較差。
4、第二種是使用機器學習,基于人工總結(jié)出來的url特征對惡意網(wǎng)站進行識別。由于惡意網(wǎng)站的形式和特征在不斷變化和演變,不斷有新的威脅和惡意行為涌現(xiàn),僅依賴人工總結(jié)的特征無法及時適應這些新形式,此外,人工總結(jié)出的特征不可避免的丟失了原始url的語序信息,且人工特征可能無法捕捉到一些潛在的重要特征,從而影響惡意網(wǎng)站識別效果。
技術(shù)實現(xiàn)思路
1、本發(fā)明實施例提供一種惡意網(wǎng)站識別方法和裝置,用以解決上述現(xiàn)有的惡意網(wǎng)站識別方法中存在的識別效果不佳的技術(shù)問題。
2、第一方面,本發(fā)明實施例提供一種惡意網(wǎng)站識別方法,包括:
3、獲取網(wǎng)絡流量對應的url字符串、網(wǎng)絡流量特征和人工url特征;
4、將所述網(wǎng)絡流量特征和所述人工url特征進行拼接得到拼接人工特征,將所述url字符串轉(zhuǎn)化為向量;
5、將所述拼接人工特征和所述向量輸入惡意網(wǎng)站識別模型中,得到所述惡意網(wǎng)站識別模型輸出的惡意網(wǎng)站識別結(jié)果;
6、其中,所述惡意網(wǎng)站識別模型用于對所述向量進行特征提取,并將從所述向量提取出的特征與所述拼接人工特征進行融合,基于融合后的特征參數(shù)進行惡意網(wǎng)站的識別。
7、在一個實施例中,所述惡意網(wǎng)站識別模型包括分類器和多個堆疊的模塊,每個模塊均由自注意力層和交叉注意力層構(gòu)成;
8、所述自注意力層用于獲取所述向量的原始序列,將所述原始序列中的每個元素通過不同的線性變化轉(zhuǎn)換成query、key和value三個部分;將query和key進行點乘后,對query和key的點乘結(jié)果進行歸一化處理,得到規(guī)范化自注意力值,再將規(guī)范化自注意力值與value進行點乘得到與所述原始序列相同維度的新序列;
9、所述交叉注意力層用于獲取所述新序列和所述拼接人工特征,將所述新序列中的每個元素通過不同的線性變化轉(zhuǎn)換成key和value兩個部分,以及將所述拼接人工特征升維后作為query部分;將key和value進行點乘后,對key和value的點乘結(jié)果進行歸一化處理,得到規(guī)范化自注意力值,再將規(guī)范化自注意力值與query進行點乘得到特征參數(shù);
10、所述分類器由多層感知機組成,用于對所述特征參數(shù)進行分類計算,得到惡意網(wǎng)站的識別結(jié)果。
11、在一個實施例中,在將query和key進行點乘后之后,對query和key的點乘結(jié)果進行歸一化處理之前,還包括:對query和key的點乘結(jié)果進行縮放;在將key和value進行點乘后,對key和value的點乘結(jié)果進行歸一化處理之前,還包括:對key和value的點乘結(jié)果進行縮放;
12、在將所述拼接人工特征升維后作為query部分之前,還包括:對所述拼接人工特征進行升維,以使query、key和value具備相同的緯度。
13、在一個實施例中,所述惡意網(wǎng)站識別模型通過訓練數(shù)據(jù)集訓練得到,所述訓練數(shù)據(jù)集中包括多組樣本,每組樣本均包括所述拼接人工特征、所述向量以及用于標記樣本是否為惡意網(wǎng)站的標簽;在訓練過程中采用focal?loss損失函數(shù),公式如下:
14、
15、其中,p表示當前樣本的預測置信度,y表示用于標記樣本是否為惡意網(wǎng)站的標簽,α表示平衡因子,γ表示調(diào)制因子。
16、在一個實施例中,所述網(wǎng)絡流量特征包括:交換字節(jié)數(shù)、交換的tcp包數(shù)、從服務器獲得的包數(shù)、從客戶端和服務器傳輸?shù)臄?shù)據(jù)包數(shù)、連接的ip總數(shù)、生成的ip數(shù)據(jù)包數(shù)、從客戶端和服務器傳輸?shù)淖止?jié)數(shù)和從服務器獲得的字節(jié)數(shù)中的至少一項;
17、所述人工url特征包括:url字符串長度、數(shù)字字符的數(shù)量、ip地址是否在主機名中、url的路徑中是否存在“//”符號、路徑長度、主機名長度和預設的多種特殊符號的數(shù)量中的至少一項。
18、在一個實施例中,在將所述拼接人工特征輸入惡意網(wǎng)站識別模型中之前,還包括:
19、采用如下公式對所述拼接人工特征中的各個特征進行數(shù)據(jù)標準化:
20、
21、其中,z表示數(shù)據(jù)標準化的結(jié)果,xmin表示任一特征的最大值,xmax表示任一特征的最小值。
22、第二方面,本發(fā)明實施例提供一種惡意網(wǎng)站識別裝置,包括:
23、數(shù)據(jù)獲取模塊,用于獲取網(wǎng)絡流量對應的url字符串、網(wǎng)絡流量特征和人工url特征;
24、數(shù)據(jù)預處理模塊,用于將所述網(wǎng)絡流量特征和所述人工url特征進行拼接得到拼接人工特征,將所述url字符串轉(zhuǎn)化為向量;
25、識別模塊,用于將所述拼接人工特征和所述向量輸入惡意網(wǎng)站識別模型中,得到所述惡意網(wǎng)站識別模型輸出的惡意網(wǎng)站識別結(jié)果;
26、其中,所述惡意網(wǎng)站識別模型用于對所述向量進行特征提取,并將從所述向量提取出的特征與所述拼接人工特征進行融合,基于融合后的特征參數(shù)進行惡意網(wǎng)站的識別。
27、第三方面,本發(fā)明實施例提供一種電子設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)如上述任一種所述的惡意網(wǎng)站識別方法的步驟。
28、第四方面,本發(fā)明實施例還提供一種非暫態(tài)計算機可讀存儲介質(zhì),其上存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)如上述任一種所述的惡意網(wǎng)站識別方法的步驟。
29、第五方面,本發(fā)明實施例還提供一種計算機程序產(chǎn)品,該計算機程序被處理器執(zhí)行時實現(xiàn)如上述任一種所述的惡意網(wǎng)站識別方法的步驟。
30、本發(fā)明實施例提供的惡意網(wǎng)站識別方法和裝置,通過獲取網(wǎng)絡流量對應的url字符串、網(wǎng)絡流量特征和人工url特征;將網(wǎng)絡流量特征和人工url特征進行拼接得到拼接人工特征,將url字符串轉(zhuǎn)化為向量;將拼接人工特征和向量輸入惡意網(wǎng)站識別模型中,得到惡意網(wǎng)站識別模型輸出的惡意網(wǎng)站識別結(jié)果。通過上述方法和裝置的應用,有機的結(jié)合了url字符串中的特征、基于先驗知識構(gòu)建的人工url特征以及網(wǎng)絡流量特征,避免了單純使用bert等語言模型來處理url特征進行惡意網(wǎng)站識別帶來的領域間的遷移問題,以及避免了需要大量有標注數(shù)據(jù)進行模型微調(diào)的問題,有助于提高模型的可解釋性。此外,通過將網(wǎng)絡流量特征納入考量,增加了判斷惡意網(wǎng)站的依據(jù),提高了惡意網(wǎng)站識別的準確性。