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

?

基于gcFor est算法的惡意URL檢測

2022-12-13 10:56濤李思鑒何智帆姚興博
機(jī)電信息 2022年23期
關(guān)鍵詞:分詞機(jī)器樣本

劉 濤李思鑒 何智帆 周 宇 姚興博

(1.深圳供電局有限公司,廣東 深圳 518133;2.南瑞集團(tuán)(國網(wǎng)電力科學(xué)研究院),江蘇 南京 210000;3.南京農(nóng)業(yè)大學(xué)人工智能學(xué)院,江蘇 南京 210095)

0 引言

惡意URL(Malicious URLs)是網(wǎng)絡(luò)犯罪的重要途徑,它作為釣魚網(wǎng)站、網(wǎng)絡(luò)惡意程序和腳本的載體,為網(wǎng)絡(luò)違法犯罪活動(dòng)提供了可乘之機(jī)[1]。這些惡意URL有著和一般URL幾乎一致的特征,一般不易被檢測出,且具有誘導(dǎo)、欺騙的特征,對用戶和企業(yè)的隱私、數(shù)據(jù)和財(cái)產(chǎn)等安全問題造成很大威脅。隨著網(wǎng)絡(luò)攻擊形式逐漸多樣化,惡意URL變得更加復(fù)雜、隱蔽且更具危害性,這就要求網(wǎng)絡(luò)安全研究人員研究更加高效的檢測方案以實(shí)現(xiàn)對其有效檢測。因此,對惡意URL的高效識別與檢測至關(guān)重要[2]。

傳統(tǒng)的惡意URL檢測方法包括黑名單技術(shù)[3]、啟發(fā)式技術(shù)[4-5],隨著新型惡意URL的逐漸復(fù)雜化,傳統(tǒng)技術(shù)的檢測水平逐漸下降,且具有誤報(bào)率高、更新復(fù)雜等特點(diǎn),無法滿足網(wǎng)絡(luò)安全的需求。

近年來,機(jī)器學(xué)習(xí)為惡意URL的檢測提供了新的研究方向。其中具有代表性的算法為k近鄰算法(KNN)[6]、Random Forest[7-8],此類算法常被用于一般的惡意URL檢測場景。但是隨著時(shí)間的推移以及惡意URL的逐漸復(fù)雜化、隱蔽化,這種分類模型往往不能達(dá)到預(yù)期的分類效果,變得誤判率高且穩(wěn)定性隨時(shí)間下降。而gcForest算法[9]由于其易訓(xùn)練、可擴(kuò)展、效率高的優(yōu)點(diǎn),在惡意URL檢測領(lǐng)域具有很大的發(fā)展空間。

本文對URL的特性展開針對性研究,并對機(jī)器學(xué)習(xí)模型訓(xùn)練過程中的特征工程技術(shù)與分類算法展開實(shí)驗(yàn),結(jié)果表明,gcForest算法訓(xùn)練出的模型在準(zhǔn)確率、精確率、召回率、F1-score等各方面遠(yuǎn)優(yōu)于一般機(jī)器學(xué)習(xí)算法,能實(shí)現(xiàn)對惡意URL的高效檢測。

1 總體處理框架

機(jī)器學(xué)習(xí)的一般流程包括數(shù)據(jù)集獲取、數(shù)據(jù)集預(yù)處理、特征工程、選取算法訓(xùn)練模型、模型調(diào)優(yōu)與應(yīng)用等步驟。因此,惡意URL高效檢測的機(jī)器學(xué)習(xí)模型包括以下步驟:

(1)獲取由正常URL和惡意URL組成的數(shù)據(jù)集,并分析其特征;

(2)對數(shù)據(jù)進(jìn)行預(yù)處理,劃分訓(xùn)練集、測試集,去除冗余信息;

(3)開展特征工程,對URL數(shù)據(jù)集進(jìn)行分詞、特征提取,并轉(zhuǎn)化為詞向量形式;

(4)部署gcForest算法,輸入U(xiǎn)RL數(shù)據(jù)進(jìn)行模型訓(xùn)練;

(5)選取評估指標(biāo),通過測試集對模型進(jìn)行評估,判斷其是否符合標(biāo)準(zhǔn);

(6)將訓(xùn)練完的模型導(dǎo)出并應(yīng)用,實(shí)現(xiàn)對新的URL的檢測,判斷其是否為惡意URL。

以上步驟的流程圖如圖1所示。

圖1 基于gcForest的惡意URL檢測模型開發(fā)流程圖

其中,最為關(guān)鍵的部分為特征工程和機(jī)器學(xué)習(xí)算法選取與模型訓(xùn)練。在特征工程部分,本文對原始的URL數(shù)據(jù)進(jìn)行分詞、特征提取、詞向量表示,最終作為機(jī)器學(xué)習(xí)模型訓(xùn)練的數(shù)據(jù)輸入。在算法選取與模型訓(xùn)練部分,本文利用gcForest研究在惡意URL檢測方面的應(yīng)用,通過準(zhǔn)確度、精確率、召回率、F1-score等多項(xiàng)指標(biāo)對其進(jìn)行評估,并將其與傳統(tǒng)的k近鄰算法(KNN)和Random Forest算法進(jìn)行對比。最終,將模型導(dǎo)出并應(yīng)用于惡意URL的檢測。

2 實(shí)驗(yàn)原理

gcForest[9]即多粒度級聯(lián)森林算法,是一種基于決策樹的集成方法,其思想是通過隨機(jī)森林的級聯(lián)結(jié)構(gòu)進(jìn)行學(xué)習(xí)。gcForest的性能較之深度神經(jīng)網(wǎng)絡(luò)有很強(qiáng)的競爭力,將其用于惡意URL檢測模型中,可以達(dá)到極佳的性能。本部分將介紹gcForest應(yīng)用于URL分類問題的原理以及實(shí)現(xiàn)方法。

gcForest采用的多層級結(jié)構(gòu)如圖2所示,每層(layer)由4個(gè)隨機(jī)森林組成,包括2個(gè)隨機(jī)森林和2個(gè)極端隨機(jī)森林,每個(gè)森林都會對數(shù)據(jù)進(jìn)行訓(xùn)練并輸出結(jié)果,這個(gè)結(jié)果被稱為森林生成的類向量。同時(shí)由圖2可知,每層都會輸出2個(gè)結(jié)果,即每個(gè)森林的預(yù)測結(jié)果與4個(gè)森林的預(yù)測的平均結(jié)果。

圖2 每層隨機(jī)森林結(jié)構(gòu)及輸出結(jié)果示意圖

如圖3所示,為防止過擬合,先對輸入給每個(gè)森林的訓(xùn)練數(shù)據(jù)進(jìn)行k折交叉驗(yàn)證。同時(shí),由于每一層結(jié)構(gòu)(layer)都會生成4個(gè)類向量,故將上一層的4個(gè)類向量以及原有的數(shù)據(jù)作為新的訓(xùn)練數(shù)據(jù),輸入下一層進(jìn)行訓(xùn)練,如此疊加,最后一層將類向量進(jìn)行平均,作為預(yù)測結(jié)果。

圖3 基于gcForest實(shí)現(xiàn)惡意URL檢測的完整結(jié)構(gòu)圖

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

3.1 環(huán)境配置

實(shí)驗(yàn)平臺為Windows 10,64位操作系統(tǒng),CPU為i5-10200H,2.40 GHz,GPU為NVIDA GeForce GTX 1650,內(nèi)存為16.0 GB。Python版本為3.9.12,pandas為1.3.4,conda為4.12.0。

3.2 模型評估指標(biāo)

本文使用準(zhǔn)確率(Accuracy)、精確率(Precision)、召回率(Recall)、F1-score、maro avg和weighted avg這6種指標(biāo)來評估模型的分類能力[10]。

準(zhǔn)確率(Accuracy)表示分類正確樣本占總樣本的比例,是最直觀的評價(jià)指標(biāo),其公式為:

式中:TP表示預(yù)測為正樣本且實(shí)際為正樣本;FP表示預(yù)測為正樣本而實(shí)際為負(fù)樣本;TN表示預(yù)測為負(fù)樣本且實(shí)際為負(fù)樣本;FN表示預(yù)測為負(fù)樣本而實(shí)際為正樣本。

精確率(Precision)表示所有預(yù)測結(jié)果為正例樣本中真實(shí)為正例的比例,其計(jì)算公式為:

召回率(Recall)表示在所有真實(shí)為正例的樣本中預(yù)測結(jié)果為正例的比例,其計(jì)算公式為:

F1-score是對模型精確率和召回率的加權(quán)平均計(jì)算,反映了模型的穩(wěn)健性,結(jié)合精確率和召回率計(jì)算公式如下:

maro avg為宏平均,其計(jì)算方式是對某個(gè)指標(biāo)求其所有類別指標(biāo)值的算術(shù)平均,以精確率Pi為例,Pi的maro avg計(jì)算公式如下:

weighted avg為加權(quán)平均,其計(jì)算方式是對某個(gè)指標(biāo)求其所有類別指標(biāo)值的加權(quán)平均,記Si表示支持第i類的樣本數(shù),以精確率Pi為例,Pi的weighted avg計(jì)算公式如下:

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

在數(shù)據(jù)集的選取上,本實(shí)驗(yàn)中所需的URL數(shù)據(jù)集來源于kaggle,網(wǎng)址為:https://www.kaggle.com/taruntiwarihp/phishing-site-urls。先對URL數(shù)據(jù)進(jìn)行初步篩選,并按照8:2的比例劃分訓(xùn)練集和測試集,得到數(shù)據(jù)集情況如表1所示。

表1 URL數(shù)據(jù)集

3.4 特征工程

由 于URL中 的 協(xié) 議 部 分 中 如“http”“https”和“www.”等字段對URL分類基本無影響[6],因此,在對URL分詞前可先將這些部分去除掉,以提高分類效率。去除協(xié)議部分后的部分URL如表2所示。

表2 去除協(xié)議部分后的URL舉例

其次,由于URL是緊密連接的字符與符號,因此要對其進(jìn)行分詞,以此為基礎(chǔ)才能實(shí)現(xiàn)對URL的詞向量表示。如表3所示,經(jīng)過對比測試常用的分詞工具發(fā)現(xiàn),基于正則表達(dá)式Re工具可以實(shí)現(xiàn)對URL的最準(zhǔn)確分詞,其效果遠(yuǎn)優(yōu)于Jieba或Nltk等分詞工具。

表3 分詞結(jié)果對比

最后,本文借助sklearn中的TfidfVectorizer工具,完成對URL的文本特征提取和詞向量表示工作,以作為機(jī)器學(xué)習(xí)分類算法的數(shù)據(jù)輸入。

3.5 檢測結(jié)果

將上述預(yù)處理數(shù)據(jù)作為初始訓(xùn)練數(shù)據(jù)輸入gcForest,進(jìn)行模型訓(xùn)練即可得到分類模型。使用gcForest模型得到的訓(xùn)練結(jié)果評估如表4所示。

表4 基于gcForest的惡意URL檢測訓(xùn)練結(jié)果評估

由表4可知,該模型的分類準(zhǔn)確率(Accuracy)達(dá)到了99.53%,在保留兩位小數(shù)的情況下,該模型對惡意URL識別的精確率(Precision)、召回率(Recall)、F1-score均達(dá)到0.996以上;而對正常URL識別的精確率(Precision)、召回率(Recall)、F1-score能達(dá)到0.992以上。因此,該模型在惡意URL檢測的應(yīng)用中具有極高的準(zhǔn)確度與穩(wěn)定性,具有很大的應(yīng)用價(jià)值。

此外,本文將基于gcForest算法訓(xùn)練出的模型與KNN和Random Forest算法模型進(jìn)行對比,結(jié)果如圖4所示。

圖4 不同學(xué)習(xí)算法分類URL結(jié)果對比

gcForest在準(zhǔn)確率、精確率、召回率、F1-score、macro avg和weighted avg指標(biāo)下均遠(yuǎn)高于傳統(tǒng)的KNN算法,其中準(zhǔn)確率提升4.40%,精確率提升3.17%。而對比gcForest底層的Random Forest算法,其在精確率上帶來了3.42%的提升,衡量模型穩(wěn)定性的F1-score提升了2.31%。由此可以得出,gcForest在惡意URL檢測方面具有遠(yuǎn)優(yōu)于傳統(tǒng)機(jī)器學(xué)習(xí)算法的性能。

4 結(jié)論

本文將gcForest算法應(yīng)用于惡意URL檢測,訓(xùn)練出能夠準(zhǔn)確且高效識別惡意URL的機(jī)器學(xué)習(xí)模型,并從原理出發(fā),系統(tǒng)介紹了基于gcForest算法的惡意URL檢測模型訓(xùn)練過程。本文的機(jī)器學(xué)習(xí)模型準(zhǔn)確率達(dá)到99.53%,遠(yuǎn)高于傳統(tǒng)的機(jī)器學(xué)習(xí)分類算法,且其精確率、召回率、F1-score、maro avg和weighted avg值均高于0.99,具有很好的檢測效果。

猜你喜歡
分詞機(jī)器樣本
機(jī)器狗
機(jī)器狗
用樣本估計(jì)總體復(fù)習(xí)點(diǎn)撥
分詞在英語教學(xué)中的妙用
結(jié)巴分詞在詞云中的應(yīng)用
結(jié)巴分詞在詞云中的應(yīng)用
規(guī)劃·樣本
未來機(jī)器城
隨機(jī)微分方程的樣本Lyapunov二次型估計(jì)
“官員寫作”的四個(gè)樣本