羅 琴,楊 根,劉 智,唐賓徽
(1. 西南石油大學(xué)計算機(jī)科學(xué)學(xué)院 成都 610500;2. 四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 成都 610044)
近幾年,安全威脅的數(shù)量迅速增加,給企業(yè)的安全管理帶來了巨大的壓力。當(dāng)系統(tǒng)受到威脅并做出響應(yīng)時,所收集的信息對于遭受類似威脅的其他人是有價值的,這使得威脅情報共享成為檢測和防御攻擊的重要手段。因此威脅情報引起了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注, 當(dāng)前已有針對威脅情報共享機(jī)制[1-3]、威脅關(guān)聯(lián)分析[4]等研究方向的探索。
威脅指標(biāo)(indicators of compromise, IOC)作為網(wǎng)絡(luò)威脅的行為特征描述,不僅包括IP 等靜態(tài)信息,還包含惡意軟件運行時的動態(tài)特征。因此,通過提取網(wǎng)絡(luò)威脅情報中的IOC,結(jié)合企業(yè)間的信息共享和集體協(xié)作,建立一個新的快速檢測和快速反應(yīng)保護(hù)系統(tǒng),是應(yīng)對當(dāng)前日益增加的網(wǎng)絡(luò)攻擊的有效手段。
當(dāng)前針對IOC 自動提取已有大量研究工作,文獻(xiàn)[5-6]通過搭建沙盒模擬真實的網(wǎng)絡(luò)環(huán)境,收集惡意樣本運行過程中產(chǎn)生的行為信息并進(jìn)行分析,從而生成IOC。這種方法雖然可靠性高,但危險性也很高,且難以獲取大量IOC 數(shù)據(jù)。當(dāng)前IOC 提取領(lǐng)域的研究重點是如何從非結(jié)構(gòu)化文本信息中識別和提取IOC。文獻(xiàn)[7]基于URL 中的詞匯特征構(gòu)建分類系統(tǒng),可以用于檢測網(wǎng)絡(luò)釣魚和惡意域。文獻(xiàn)[8]將機(jī)器學(xué)習(xí)方法與信息檢索技術(shù)相結(jié)合,實現(xiàn)黑客論壇中威脅情報的識別和提取。文獻(xiàn)[9]提出通過構(gòu)建上下文詞庫,采用一種圖挖掘技術(shù)自動化識別IOC 的方法iACE。這些方法具有較高的精度和顯著的性能優(yōu)勢。然而,這些方法的泛化能力較低,過于依賴網(wǎng)絡(luò)安全專業(yè)詞庫和特征匹配規(guī)則庫的手工編制和維護(hù),需要大量的人力物力進(jìn)行前期準(zhǔn)備。為此,文獻(xiàn)[10]提出了一種利用卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)IOC 的識別系統(tǒng)iGen。文獻(xiàn)[11]在iGen 的基礎(chǔ)上引入BERT 作為詞向量。文獻(xiàn)[12]提出通過語法和語義兩個方面構(gòu)建分類器實現(xiàn)IOC 識別。這些工作通過訓(xùn)練神經(jīng)網(wǎng)絡(luò)實現(xiàn)IOC 自動識別,無需依賴人工構(gòu)造的上下文詞庫,也無需嚴(yán)格依賴書寫語句語法的規(guī)范性,具有較好的效果。但這些工作忽略了神經(jīng)網(wǎng)絡(luò)依賴大量已標(biāo)注訓(xùn)練數(shù)據(jù),而IOC 識別領(lǐng)域數(shù)據(jù)標(biāo)注成本高的問題。
威脅情報領(lǐng)域與其他領(lǐng)域不同,缺乏公認(rèn)的數(shù)據(jù)集。這是因為IOC 數(shù)據(jù)的標(biāo)注只能通過安全專家手動完成,標(biāo)注成本極高。之前的工作大多采用神經(jīng)網(wǎng)絡(luò)作為分類模型,然而由于成本限制,實驗數(shù)據(jù)集往往較小。如iGen 中采用5 000 個IOC 語句和2 500 個非IOC 語句訓(xùn)練和測試模型;iACE中采用1 500 個IOC 語句和3 000 個非IOC 語句訓(xùn)練和測試模型;而在AITI 中,實驗數(shù)據(jù)集僅包括3 564 個句子。數(shù)據(jù)標(biāo)注成本高的問題成為了限制IOC 識別領(lǐng)域發(fā)展的重要因素。
主動學(xué)習(xí)(active learning)[13-14]是指主動選擇最有價值的樣本進(jìn)行標(biāo)注,試圖通過最少的樣本訓(xùn)練出與預(yù)期性能相符合的模型。文獻(xiàn)[15]利用SVM模型將樣本到分類超平面的距離作為選點依據(jù),利用置信度減少相似樣本選擇。文獻(xiàn)[16]以模型預(yù)測概率的差值作為不確定度量來篩選樣本進(jìn)行標(biāo)注。文獻(xiàn)[17]通過結(jié)合樣本間最大距離和最小化估計風(fēng)險篩選樣本實現(xiàn)對惡意代碼的檢測。除此之外,文獻(xiàn)[18-20]提出使用樣本不確定性和樣本相似性來提高主動學(xué)習(xí)抽樣的有效性。這些方法雖然一定程度上解決了模型迭代時的數(shù)據(jù)選擇問題,但初始樣本選擇仍具有盲目性。隨機(jī)初始化模型或者隨機(jī)采樣部分?jǐn)?shù)據(jù)進(jìn)行人工標(biāo)注來實現(xiàn)模型初始化的方法無法確定初始樣本數(shù)量,也無法保證最終效果。以模型分類效果作為迭代終止條件的方法也不能很好的適用于威脅情報領(lǐng)域。
因此,為了解決IOC 識別中所存在的數(shù)據(jù)標(biāo)注成本高的問題,本文在IOC 識別領(lǐng)域引入主動學(xué)習(xí)方法,提出了一種結(jié)合主動學(xué)習(xí)的威脅情報IOC 識別方法ICAL(IOC identification combined with active learning)。首先,針對于傳統(tǒng)主動學(xué)習(xí)初始樣本選擇具有盲目性的問題,提出了一種基于樣本代表性的初始樣本選擇策略,實現(xiàn)了自動化確定初始樣本集大小和選取范圍。其次,提出對未標(biāo)注數(shù)據(jù)進(jìn)行偽標(biāo)注從而實現(xiàn)初始樣本集的有效擴(kuò)展。再次,針對威脅情報領(lǐng)域數(shù)據(jù)特點,提出通過設(shè)置樣本信息熵閾值,有效獲取高不確定性樣本。最后,提出設(shè)置樣本更新量閾值作為終止條件,及時停止迭代標(biāo)注,避免后續(xù)低效標(biāo)注。該方法解決了在標(biāo)注成本較高的情況下,如何有效實現(xiàn)IOC 識別的難題。
ICAL 整體篩選流程分為6 個步驟,具體框架如圖1 所示。
圖1 ICAL 整體篩選流程
1)對未標(biāo)注樣本進(jìn)行密度聚類,得到i個簇和j條噪聲點樣本。所有樣本分為簇中數(shù)據(jù)集C={C1,C2,···,Ci}和噪聲點數(shù)據(jù)集N={N1,N2,···,Nj}兩部分。
2) 從C1中隨機(jī)篩選一條樣本進(jìn)行人工標(biāo)注。同時,根據(jù)半監(jiān)督學(xué)習(xí)中的聚類假設(shè),聚類簇中樣本具有較高相似度,很大概率有相同的類標(biāo)簽。由此對C1中所有數(shù)據(jù)添加相同的偽標(biāo)注。
3) 將步驟2)重復(fù)進(jìn)行i次,僅標(biāo)注i條數(shù)據(jù),完成對C中所有數(shù)據(jù)的標(biāo)注工作。然后將所有已標(biāo)注樣本加入已標(biāo)注樣本集L1,所有噪聲點數(shù)據(jù)都加入未標(biāo)注樣本集U1。
4) 將已標(biāo)注樣本集L1作為訓(xùn)練集,利用隨機(jī)森林作為分類器進(jìn)行模型訓(xùn)練。并將未標(biāo)注樣本集U1作為測試集進(jìn)行分類概率預(yù)測。
5) 根據(jù)預(yù)測結(jié)果,基于信息熵進(jìn)行數(shù)據(jù)篩選。將篩選出的數(shù)據(jù)進(jìn)行人工標(biāo)注并更新到L1中,構(gòu)成已標(biāo)注樣本集L2。同時將數(shù)據(jù)從U1中移除,構(gòu)成未標(biāo)注樣本集U2。
6) 當(dāng)篩選出的數(shù)據(jù)量少于數(shù)據(jù)總量的1%時,標(biāo)注結(jié)束。反之,將已標(biāo)注樣本集L2作為訓(xùn)練集,未標(biāo)注樣本集U2作為測試集,重復(fù)步驟4)~6)。
對于傳統(tǒng)主動學(xué)習(xí)初始樣本選擇具有盲目性的問題,ICAL 提出了一種基于樣本代表性的初始樣本選擇策略,實現(xiàn)了自動化確定初始樣本集大小和選取范圍。同時,提出了通過偽標(biāo)注實現(xiàn)初始樣本集的有效擴(kuò)展?;跇颖敬硇缘某跏紭颖具x擇策略如算法1 所示。
為了從原始數(shù)據(jù)集中獲取具有代表性的數(shù)據(jù)作為初始樣本集,首先,ICAL 針對原始樣本集進(jìn)行密度聚類處理。通過對句向量聚類,相似度高的語句會被聚在一類。然后采用多子類抽樣,從每一類中分別選出一條數(shù)據(jù)進(jìn)行標(biāo)注。多子類抽樣能夠有效確保樣本的差異性和代表性,使人工標(biāo)注的收益最大化。人工標(biāo)注完成后,按照同一子類中所有數(shù)據(jù)標(biāo)簽相同的原則,對所有子類中的數(shù)據(jù)實現(xiàn)偽標(biāo)注,實現(xiàn)初始樣本集的有效擴(kuò)展。
主動學(xué)習(xí)中最常用的聚類算法包括K 均值聚類(K-means clustering, K-Means)和基于密度的噪聲空間聚類算法(density-based spatial clustering algorithm with noise, DBSCAN)。
本文選擇DBSCAN 算法作為初始聚類算法,因為與劃分和層次聚類方法不同,DBSCAN 將空間中緊密堆積在一起的點聚集為簇,將單獨位于低密度區(qū)域的點標(biāo)注為異常值。因此DBSCAN 可以發(fā)現(xiàn)任意形狀的聚類。與K 均值聚類算法相比,DBSCAN 不需要指定簇的數(shù)量,并且對于數(shù)據(jù)集中的異常點不敏感,更適用于威脅情報領(lǐng)域。
DBSCAN 主要包含掃描半徑(eps)和最小包含點數(shù)(MinPts)兩個參數(shù)。為了盡量對所有相似數(shù)據(jù)進(jìn)行聚類,ICAL 將最小包含點數(shù)設(shè)為2,這表示對于數(shù)據(jù)集中的任意一點來說,只要在掃描半徑內(nèi)存在另一點,那么這些點就會被劃分為一個簇。
DBSCAN 計算對象點的eps 鄰域時,采用的是最近鄰度量策略。而常見的個體差異度量包含兩種,一種是距離度量(歐式距離),另一種是相似度度量(余弦距離)。
本文采用余弦距離作為距離度量。因為相比歐氏距離,余弦距離更加注重兩個向量在方向上的差異,能夠更好地關(guān)注于句子的語義差異。余弦距離公式為:
式中,A、B為向量;DC表示A和B之間的余弦距離;SC表示A和B之間的相似度,其中相似度的計算公式為:
式中,Ai和Bi是向量A和B的分量。掃描半徑需要根據(jù)數(shù)據(jù)分布情況來設(shè)定,不同的掃描半徑對最終的模型訓(xùn)練影響較大。
完成未標(biāo)注數(shù)據(jù)的聚類后,依次從每個子類中隨機(jī)抽取一條數(shù)據(jù)進(jìn)行人工標(biāo)注。同時,依據(jù)半監(jiān)督學(xué)習(xí)中的聚類假設(shè)(cluster assumption):聚類簇中樣本具有較高相似度,很大概率下有相同的類標(biāo)簽。因此,依據(jù)每個子類中已標(biāo)注的一條數(shù)據(jù),就可以對整個子類中的所有數(shù)據(jù)打上相同的偽標(biāo)簽。而經(jīng)過實驗分析,掃描半徑設(shè)置為0.03 時,仍能保證聚類簇中標(biāo)簽的一致性。
通過上述操作,實現(xiàn)了對密度聚類簇中所有數(shù)據(jù)的標(biāo)注,剩下的噪聲點數(shù)據(jù)之間相似度較低,且都未標(biāo)注。在許多領(lǐng)域中,考慮到實際的計算能力以及效果,大都會對數(shù)據(jù)進(jìn)行去噪處理,直接過濾噪聲數(shù)據(jù)。按照ICAL 所提出的聚類策略對威脅情報數(shù)據(jù)進(jìn)行密度聚類時,近50%的數(shù)據(jù)被劃分為了噪聲點。而噪聲點并非錯誤值,同樣是真實情況的表現(xiàn),之所以在進(jìn)行密度聚類時被認(rèn)為異常,只是因為數(shù)據(jù)量不夠大。所以本文沒有輕易刪除掉噪聲點數(shù)據(jù),而是通過基于樣本不確定性的迭代選擇策略將噪聲點納入模型訓(xùn)練。
為了從噪聲點數(shù)據(jù)中進(jìn)一步篩選出部分?jǐn)?shù)據(jù),ICAL 提出一種基于不確定性的迭代選擇策略。具體流程如算法2 所示。
算法 2 基于樣本不確定性的迭代選擇策略
輸入:已標(biāo)注樣本集L,未標(biāo)注樣本集U,初始隨機(jī)森林模型R;
輸出:最終已標(biāo)注樣本集L,最終未標(biāo)注樣本集U;
式中,pi為每一種可能的情況發(fā)生的概率,對數(shù)的底數(shù)決定了信息熵的單位,一般以2 為底數(shù)。變量的不確定性越大,熵也就越大。而信息不確定性越大時,對于模型來說該信息的價值越高。
在選擇迭代數(shù)據(jù)時,ICAL 優(yōu)先對未標(biāo)注數(shù)據(jù)中信息熵較高的數(shù)據(jù)進(jìn)行人工標(biāo)注。為此,ICAL采用初始樣本進(jìn)行模型訓(xùn)練,然后對未標(biāo)注噪聲數(shù)據(jù)進(jìn)行概率預(yù)測并計算對應(yīng)的信息熵值。ICAL 將信息熵閾值設(shè)為0.9。熵值大于0.9 的樣本會在進(jìn)行人工標(biāo)注后加入已標(biāo)注樣本集,小于或等于0.9 的樣本仍被保留在未標(biāo)注樣本集中。
傳統(tǒng)主動學(xué)習(xí)中,常常以準(zhǔn)確率和總體數(shù)據(jù)量作為迭代終止的判斷指標(biāo)。在威脅情報領(lǐng)域,由于訓(xùn)練集和測試集關(guān)聯(lián)度不高且數(shù)據(jù)分布不同,隨機(jī)森林的分類效果具有很高的隨機(jī)性,因此不能將模型準(zhǔn)確率作為終止條件。ICAL 中采用篩選出的樣本量作為終止條件,這是因為每次迭代選取的數(shù)據(jù)量越少,對模型產(chǎn)生的影響也就越小。ICAL 將數(shù)據(jù)量的閾值設(shè)為數(shù)據(jù)總量的1%,當(dāng)篩選出的樣本量少于總量的1%,則停止迭代。
ICAL 首先通過多子類抽樣從密度聚類結(jié)果中篩選出具有高代表性的數(shù)據(jù)作為初始樣本進(jìn)行人工標(biāo)注。然后通過代表數(shù)據(jù)的標(biāo)簽對子類中其他數(shù)據(jù)進(jìn)行擴(kuò)展偽標(biāo)注。最后通過已標(biāo)注數(shù)據(jù)迭代選擇剩余未標(biāo)注數(shù)據(jù)中具有高不確定性的數(shù)據(jù)繼續(xù)進(jìn)行人工標(biāo)注,直到滿足迭代終止條件后停止。通過這一系列流程成功減少了數(shù)據(jù)標(biāo)注量,同時盡可能保留了數(shù)據(jù)中的重要數(shù)據(jù)。
目前威脅情報分析領(lǐng)域缺乏標(biāo)準(zhǔn)數(shù)據(jù)集,為此本文構(gòu)建了一個用于模型訓(xùn)練和測試的數(shù)據(jù)集。表1 中的8 個數(shù)據(jù)源收集了來自不同安全組織的529 篇安全報告和2 827 篇博客文章。提取文本后,使用NLTK 分句器對文本進(jìn)行分句處理,然后使用正則表達(dá)式匹配出所有包含疑似IOC 結(jié)構(gòu)的句子。
表1 威脅情報數(shù)據(jù)來源
本文根據(jù)當(dāng)前已知的IOC 類型,從中選取了URL、SHA256、SHA1、EMAIL、IP 和MD5 這6 種常見且較為重要的IOC 結(jié)構(gòu)作為實驗數(shù)據(jù)集。值得注意的是,本文并沒有將漏洞(common vulnerabilities & exposures, CVE)加入數(shù)據(jù)集,因為漏洞編號有著獨特的結(jié)構(gòu),可以直接采用正則匹配進(jìn)行提取。
通過正則匹配,本文提取出5 500 條疑似IOC 的句子,包含2 461 條IOC 句子和3 039 條非IOC 句子。數(shù)據(jù)集中不同IOC 結(jié)構(gòu)的數(shù)據(jù)量如表2所示。
表2 數(shù)據(jù)集中不同IOC 結(jié)構(gòu)數(shù)據(jù)分布
實驗在Ubuntu 16.04 的服務(wù)器上運行,使用RTX2080Ti GPU。
為了保證結(jié)果的可信性,采用十折交叉驗證進(jìn)行實驗。數(shù)據(jù)總量5 500 條,劃分為10 份,每份550 條數(shù)據(jù)。實驗時依次選取九份(4 950 條)作為訓(xùn)練集,剩余一份(550 條)作為測試集。使得每份數(shù)據(jù)都能作為測試集,提高實驗結(jié)果的可信性。
本文采用了準(zhǔn)確率(Accuracy)、召回率(Recall)和AUC 作為評價指標(biāo)。具體計算方式為:
式中,TP 表示將正類預(yù)測為正類的數(shù)量;TN 表示將負(fù)類預(yù)測為負(fù)類的數(shù)量;FP 表示將負(fù)類預(yù)測為正類的數(shù)量;FN 表示將正類預(yù)測為負(fù)類的數(shù)量。
AUC(area under curve)是ROC 曲 線 的 面 積,越大意味著分類器效果越好。其中ROC(receiver operating characteristic)曲線是以假正率(false positive rate, FPR)和真正率(true positive rate, TPR)為軸的曲線。真正率計算方法為:
代表分類器預(yù)測的正類中實際正實例占所有正實例的比例。假正類率計算方法為:
代表分類器預(yù)測的正類中實際負(fù)實例占所有負(fù)實例的比例。
在構(gòu)建的數(shù)據(jù)集上分別采用3 種初始數(shù)據(jù)選擇策略進(jìn)行實驗,具體實驗結(jié)果如下。
1) 隨機(jī)采樣策略:由于隨機(jī)采樣數(shù)量不確定,為了保證對比效果,選取約870 條數(shù)據(jù)進(jìn)行人工標(biāo)注。在后續(xù)的迭代標(biāo)注中,隨機(jī)采樣策略從數(shù)據(jù)中選取了約200 條數(shù)據(jù),總共標(biāo)注約1 078 條數(shù)據(jù),標(biāo)注占比約21.8%。
2) 密度聚類采樣策略:經(jīng)過密度聚類處理,得到約870 個聚類簇。然后從每個簇中隨機(jī)選擇一條數(shù)據(jù)進(jìn)行人工標(biāo)注,得到約870 條標(biāo)注數(shù)據(jù)。再運用迭代選擇策略從數(shù)據(jù)中選取約1 380 條數(shù)據(jù),總計標(biāo)注約2 250 條數(shù)據(jù),標(biāo)注占比約45.5%。
3) ICAL 初始樣本選擇策略:ICAL 所提出的初始樣本選擇策略包含密度聚類和偽標(biāo)注處理。經(jīng)過密度聚類處理,標(biāo)注得到約870 條數(shù)據(jù),偽標(biāo)注后得到約2 500 條已標(biāo)注數(shù)據(jù)。然后運用迭代選擇策略從剩余約2 450 條未標(biāo)注數(shù)據(jù)中選取約1 230條數(shù)據(jù),總計標(biāo)注約2 100 條數(shù)據(jù),標(biāo)注占比約42%。經(jīng)過偽標(biāo)注處理,總計得到3 780 條已標(biāo)注數(shù)據(jù)。
使用3 種初始數(shù)據(jù)選擇策略所篩選出的數(shù)據(jù)分別進(jìn)行實驗,實驗結(jié)果如表3 所示。ICAL 的初始選擇策略在準(zhǔn)確率和召回率上都取得了最好的效果。以準(zhǔn)確率為例,ICAL 比只采用密度聚類選擇數(shù)據(jù)的效果高0.5%,比傳統(tǒng)的隨機(jī)采樣策略高4.5%。這是因為密度聚類策略是先進(jìn)行密度聚類,再從每一個聚類簇中選擇一條數(shù)據(jù)進(jìn)行人工標(biāo)注。與隨機(jī)選擇的數(shù)據(jù)相比,經(jīng)過密度聚類篩選的數(shù)據(jù)更加具有代表性;在訓(xùn)練隨機(jī)森林模型時,模型分類準(zhǔn)確率也更高;在后續(xù)迭代選擇時,密度聚類策略也能夠更加準(zhǔn)確的從未標(biāo)注數(shù)據(jù)中迭代選擇出具有高不確定性的數(shù)據(jù)。
表3 不同初始樣本選擇策略實驗結(jié)果對比
ICAL 通過密度聚類策略實現(xiàn)了自動化確定初始樣本集,有效解決了初始樣本選擇具有盲目性的問題。在此基礎(chǔ)上,通過偽標(biāo)注策略實現(xiàn)了初始樣本擴(kuò)展,能夠通過增加訓(xùn)練數(shù)據(jù)量的方式加強模型訓(xùn)練效果。而且由于聚類方式的獨特性,基本不會出現(xiàn)錯誤標(biāo)注。
3.2.1 模型分類效果對比
經(jīng)過ICAL 篩選,累計從數(shù)據(jù)集中選擇出42%的數(shù)據(jù)進(jìn)行人工標(biāo)注。為了驗證該方法的有效性,本文以全量數(shù)據(jù)為基準(zhǔn),采用ICAL 和隨機(jī)采樣的方法分別選取42%的數(shù)據(jù)進(jìn)行實驗。3 種數(shù)據(jù)選擇方法的實驗結(jié)果如圖2 所示。
圖2 不同數(shù)據(jù)處理方法實驗結(jié)果對比
從圖2 中可以看出,與全量數(shù)據(jù)相比,ICAL減少了58%的數(shù)據(jù)標(biāo)注量,模型準(zhǔn)確率達(dá)到94.2%,取得較好效果。由此說明ICAL 能夠在降低58%的數(shù)據(jù)標(biāo)注工作量的情況下,達(dá)到與全量數(shù)據(jù)相近的模型分類效果。同樣選取42%的數(shù)據(jù)時,ICAL 比隨機(jī)采樣的準(zhǔn)確率高1.82%,驗證了ICAL 數(shù)據(jù)選擇的有效性。由此說明在獲取相同量數(shù)據(jù)時,ICAL 所選取數(shù)據(jù)的模型分類效果優(yōu)于隨機(jī)抽取。
為了進(jìn)一步驗證ICAL 的效果,本文繼續(xù)隨機(jī)抽取更多數(shù)據(jù)來對比分類效果。從40%的數(shù)據(jù)開始,每次增加10%的數(shù)據(jù),多次進(jìn)行實驗后,實驗結(jié)果如圖3 所示。
圖3 隨機(jī)抽取不同數(shù)據(jù)量的實驗結(jié)果對比
圖中,虛線為ICAL 選取42%的數(shù)據(jù)的實驗結(jié)果。隨著隨機(jī)抽取數(shù)據(jù)量的不斷增加,模型分類效果也在不斷加強。在抽取數(shù)量達(dá)到90%時,準(zhǔn)確率接近于ICAL 抽取42%數(shù)據(jù)的準(zhǔn)確率。由此說明與隨機(jī)抽取相比較,ICAL 能夠從未標(biāo)注數(shù)據(jù)中篩選出對模型訓(xùn)練較為重要的數(shù)據(jù)。
3.2.2 模型訓(xùn)練成本對比
與常用的IOC 識別模型訓(xùn)練策略相比,ICAL在相近的模型分類效果下,減少了58%的數(shù)據(jù)標(biāo)注工作量,降低了模型訓(xùn)練成本。同時,由于模型訓(xùn)練數(shù)據(jù)量減少,模型訓(xùn)練時間同樣減少。如表4所示,經(jīng)過ICAL 處理,從全量數(shù)據(jù)中標(biāo)注得到約3 780 條數(shù)據(jù),與全量數(shù)據(jù)相比,模型訓(xùn)練時間減少23%。ICAL 在模型訓(xùn)練時間成本上也具有優(yōu)越性。
表4 ICAL 與全量數(shù)據(jù)模型訓(xùn)練時間對比
為了驗證ICAL 主動學(xué)習(xí)策略的適用性,本文選取了自然語言處理領(lǐng)域的幾種流行方法:CNN(convolutional neural network)、 LSTM(long short-term memory)、 ATT(attention mechanism)、RCNN(regions with CNN features)和CNNPLUS 分別進(jìn)行實驗。首先采用構(gòu)建的全量數(shù)據(jù)集進(jìn)行實驗,實驗結(jié)果如表5 所示。在構(gòu)建的數(shù)據(jù)集中,CNNPLUS 的準(zhǔn)確率達(dá)到94.6%,召回率達(dá)到94.5%,AUC 得分達(dá)到0.945,優(yōu)于上述所有模型的結(jié)果,具有最好的分類性能。在采用Bert 作為詞嵌入模型的情況下,總體來說,各個模型的分類效果差距不大,分類效果最好的CNNPLUS 和最差的LSTM 也只相差了0.5%。
表5 全量數(shù)據(jù)集下不同模型結(jié)果對比
從原始數(shù)據(jù)集中通過ICAL 策略篩選出部分?jǐn)?shù)據(jù)后,再次進(jìn)行實驗,實驗結(jié)果如表6 所示。
表6 ICAL 數(shù)據(jù)篩選后不同模型結(jié)果對比
經(jīng)過主動學(xué)習(xí)選擇標(biāo)注,數(shù)據(jù)量減少了58%左右,模型分類效果也出現(xiàn)了一定程度的下降。以準(zhǔn)確率為例,除了LSTM 下降較多,達(dá)到了1.2%,其他的幾個分類模型都只有輕微下降,降幅在0.3%~0.5%左右。在全量數(shù)據(jù)中取得了最佳分類效果的CNNPLUS 在新數(shù)據(jù)集上表現(xiàn)同樣優(yōu)秀,準(zhǔn)確率僅下降了0.4%,達(dá)到了94.2%,召回率僅下降了0.4%,達(dá)到了94.1%。這在一定程度上說明ICAL 在不同的分類模型下都是有效的,能夠在減少數(shù)據(jù)標(biāo)注量的情況下保證模型的效果。
為解決IOC 識別領(lǐng)域數(shù)據(jù)標(biāo)注成本高的問題,本文提出了一種結(jié)合主動學(xué)習(xí)的IOC 識別方法ICAL。該方法在威脅情報領(lǐng)域引入主動學(xué)習(xí),并通過改進(jìn)主動學(xué)習(xí)減少了IOC 自動化識別中58%的人工標(biāo)注工作量。ICAL 在后續(xù)可以繼續(xù)嘗試其他主動學(xué)習(xí)策略,探究不同的主動學(xué)習(xí)策略在IOC 識別領(lǐng)域的適用性。