魏先燕 盧加奇 馮燕茹 呂廣旭 王小英
摘? 要:云服務(wù)的文件存儲存在“后門”攻擊,以混淆用戶視聽,竊取用戶隱私。現(xiàn)有的檢測方法單一且需要更多的運行內(nèi)存,因此文章提出通過使用AC自動機算法和樸素貝葉斯算法,快速精準(zhǔn)地識別文本內(nèi)容,利用scikit-learn機器學(xué)習(xí)庫對圖片內(nèi)容進(jìn)行甄別,且調(diào)用VirusTotal的API檢測惡意文件,實驗結(jié)果表明該檢測方法在識別惡意內(nèi)容的準(zhǔn)確率上達(dá)到96.2%、可對海量數(shù)據(jù)進(jìn)行實時檢測,優(yōu)于其他檢測方法。
關(guān)鍵詞:惡意文件;圖片內(nèi)容檢測;AC自動機算法;樸素貝葉斯算法
中圖分類號:TP309? 文獻(xiàn)標(biāo)識碼:A? 文章編號:2096-4706(2023)12-0155-04
Research on Malicious Content Detection Methods Based on Cloud Services
WEI Xianyan, LU Jiaqi, FENG Yanru, LYU Guangxu, WANG Xiaoying
(Institute of Disaster Prevention, Langfang? 065201, China)
Abstract: There are “backdoor” attacks on the file storage of cloud services to confuse visual and auditory sense of users and steal their privacy. The existing detection methods are single and require more running memory. Therefore, this paper proposes to use AC automaton algorithm and Naive Bayesian algorithm to identify text content quickly and accurately. It uses scikit-learn machine learning library to screen image content, and calls API of VirusTotal to detect malicious files. The experimental results show that the detection method achieves 96.2% accuracy in identifying malicious content and can detect massive data in real time, which is better than other detection methods.
Keywords: malicious file; image content detection; AC automaton algorithm; Naive Bayesian algorithm
0? 引? 言
云服務(wù)平臺[1]是運營商為提升通信服務(wù)質(zhì)量所搭建的系統(tǒng)平臺,可以分配網(wǎng)絡(luò)資源供用戶使用。用戶則根據(jù)自己的需求隨時隨地在云服務(wù)平臺上進(jìn)行數(shù)據(jù)存取。而云存儲存在“后門”攻擊[2],攻擊的方式主要以“網(wǎng)絡(luò)釣魚”“網(wǎng)頁掛馬”、漏洞為主,主要通過發(fā)送用戶感興趣的文件,引導(dǎo)用戶下載,當(dāng)用戶打開并運行包含攻擊代碼的文件后,黑客就可以在用戶不知情的情況下將攻擊程序安裝到用戶系統(tǒng),然后攻擊者可以進(jìn)行查看用戶文件,更改電腦權(quán)限等操作。
黑客們將攻擊代碼植入上傳的文本文件、圖片、程序等中,以此混淆用戶的視聽,造成的損失小到搜索注冊表信息并更改,或使系統(tǒng)發(fā)生故障,大到竊取用戶的隱私,給用戶帶來嚴(yán)重的經(jīng)濟損失。
1? 研究概述
基于前者的研究經(jīng)驗,惡意軟件檢測技術(shù)[3]得到快速發(fā)展,檢測的準(zhǔn)確率越來越高效,但仍有提升空間,防御惡意攻擊的能力仍有不足。文本內(nèi)容良莠不齊、圖片內(nèi)容參差不齊、惡意文件復(fù)雜多變是網(wǎng)絡(luò)安全不斷研究的問題。
當(dāng)前已經(jīng)設(shè)計出一些針對惡意文本、圖片和文件的檢測與防御方法。針對文本的檢測,Paik[3]基于文本分類提出詞頻-逆文檔頻率算法,TF-IDF(Term Frequency-Inverse Document Frequency),詞頻就是在一篇文本中某一個詞的個數(shù)占該文本詞總個數(shù)的比例,逆文檔頻率就是整個數(shù)據(jù)集中的文本總數(shù)與包含該詞的文本數(shù)的比值的對數(shù)。根據(jù)某個詞在某些文本中多次出現(xiàn)而在其他文本中幾乎不出現(xiàn)的情況下利用這個信息區(qū)分文本類別,但向量維度隨著詞表的增加而擴大,造成向量高度稀疏,且無法處理一詞多義和一義多詞的問題。Brusselaers[4]為了減少分類的計算時間和復(fù)雜性,提出一種降維方法。即在第一階段,文本中的每個術(shù)語根據(jù)它們對分類的重要性使用IG方法按降序排列。因此,重要度高的術(shù)語被分配到第一等級,重要性較低的術(shù)語被分配到以下等級。在第二階段,將選擇用于特征選擇的PCA方法和選擇用于特征提取的GA方法分別應(yīng)用于最重要的術(shù)語,按照IG方法,進(jìn)行降維。這樣,在文本分類過程中,忽略重要性較低的術(shù)語,對重要性最高的術(shù)語應(yīng)用特征選擇和特征提取方法,這樣可以降低類別的計算時間和復(fù)雜度。但需要消耗更多的運行內(nèi)存。Brysbaert[5]等人通過對語料庫的大小、語料庫所基于的語言寄存器,以及頻率度量的定義的研究,發(fā)現(xiàn)英語中引理頻率并不優(yōu)于詞形頻率,語境多樣性的測量優(yōu)于基于原始出現(xiàn)頻率的測量。提出組合一個新的頻率規(guī)范,可以更好地預(yù)測文字處理時間。但會影響文檔表示的稀疏性。針對惡意軟件檢測,蔣晨[6]等人提出基于圖像紋理和卷積神經(jīng)網(wǎng)絡(luò)的方法檢測惡意文件,在Android平臺檢測的成功率為79.6%,在Windows平臺下檢測成功率為97.6%。但該方法所需要的內(nèi)存開銷大。趙敏[7]等人提出一種基于LSTM-SVM的Android惡意軟件檢測方法,檢測準(zhǔn)確率可達(dá)98%。但采用的數(shù)據(jù)集中惡意軟件較少。
綜上所述,現(xiàn)有的檢測方法一方面要面臨海量數(shù)據(jù),內(nèi)存消耗大、速度慢且成本高,另一方面是主要針對惡意軟件攻擊進(jìn)行檢測,對文本內(nèi)容檢測、圖片內(nèi)容檢測相對較少,而且對三者進(jìn)行綜合性的檢測也缺少研究。為了解決這些問題,提出一種檢測方法實現(xiàn)對文本內(nèi)容、圖片內(nèi)容和惡意文件的綜合性檢測,擴大檢測范圍,提高檢測效率,給用戶提供更安全便捷的服務(wù)。
2? 檢測方法
檢測主要有三大部分,第一部分為文本內(nèi)容檢測;第二部分為圖像內(nèi)容檢測;第三部分為惡意文件檢測。通過樸素貝葉斯算法和AC(Aho-Corasick)自動機算法檢測文本內(nèi)容、利用scikit-learn機器學(xué)習(xí)庫檢測圖像內(nèi)容、通過調(diào)用VirusTotal的API檢測惡意軟件,采用多模塊開發(fā)不僅可以對用戶上傳的文本、圖片、壓縮包等進(jìn)行檢查,而且可以對上億的數(shù)據(jù)進(jìn)行實時監(jiān)聽。圖1為檢測系統(tǒng)的功能流程圖。
2.1? 文本內(nèi)容的檢測方法
采用AC自動機[8]算法與樸素貝葉斯算法進(jìn)行文本內(nèi)容檢測。
2.1.1? AC自動機算法原理
AC自動機算法是將多模式串構(gòu)建成一個確定有窮自動機,當(dāng)將文本輸出有窮自動機時,狀態(tài)機進(jìn)行狀態(tài)轉(zhuǎn)換,當(dāng)達(dá)到特定狀態(tài)時,則認(rèn)為完成檢測。AC自動機創(chuàng)建包含三個步驟:創(chuàng)建Trie樹、構(gòu)造失配指針和模式匹配。
構(gòu)建Trie樹的過程為:初始狀態(tài)默認(rèn)為只有一個根節(jié)點,然后將文本內(nèi)容轉(zhuǎn)換為模式串插入到Trie樹。如給定一個模式集合T = {she,said,he}對應(yīng)的Trie樹如圖2所示,黑色圓圈表示某個字符串結(jié)束。
構(gòu)造失配指針是避免出現(xiàn)匹配失敗后狀態(tài)機不能進(jìn)行狀態(tài)轉(zhuǎn)換。如圖3所示,當(dāng)某一字符串查詢失敗時,若能找到一個與當(dāng)前正在匹配的字符串具有最長公共前后綴的另一字符串,那么失配指針就指向這個公共前后綴的最后一字符所指向的節(jié)點,否則指向根節(jié)點。
模式匹配是指從根節(jié)點開始沿著樹的一條路徑開始匹配到結(jié)束。如果當(dāng)前字符匹配,則繼續(xù)向下一個節(jié)點進(jìn)行匹配;如果不匹配,則回到失敗節(jié)點轉(zhuǎn)向其他分支繼續(xù)匹配。如圖4所示,匹配到的字符串為she。
2.1.2? 樸素貝葉斯算法原理
將AC自動機算法匹配的關(guān)鍵詞利用樸素貝葉斯算法進(jìn)行二次查詢并分類,判斷是否為惡意文本。
設(shè)每個類別對應(yīng)的特征集合A = {a1,a2,a3,…,an},類別集合B = {b1,b2,b3,…,bn},計算某個特征ai為文本類別bi的概率Q(bi | ai),貝葉斯公式為:
樸素貝葉斯通過假設(shè)各個特征之間是獨立的,計算某個特征ai為文本類別bi的概率Q(bi | ai):
將得到的結(jié)果進(jìn)行比較,取最大的概率值作為預(yù)測結(jié)果,得到文本ai所屬類別bi。當(dāng)數(shù)據(jù)不斷增加,則可在現(xiàn)有估值的基礎(chǔ)上,僅對新增樣本的屬性值所涉及的概率估值進(jìn)行計數(shù)修正即可實現(xiàn)增量學(xué)習(xí)。
基于AC自動機和樸素貝葉斯的惡意內(nèi)容識別方法流程圖如圖5所示。
2.1.3? 檢測內(nèi)容及步驟
對文章內(nèi)容進(jìn)行多個維度的審核,對網(wǎng)站用戶的評論信息進(jìn)行檢測,審核出涉及色情、暴恐、惡意推廣等內(nèi)容,保證良好的用戶體驗,對用戶的注冊信息進(jìn)行篩查,避免黑色產(chǎn)業(yè)通過用戶名實現(xiàn)違規(guī)信息的推廣,提供對敏感事件、違規(guī)詞語及監(jiān)管要求封禁詞語的識別審核能力。
基于此本文將AC自動機與樸素貝葉斯相結(jié)合,利用AC自動機算法匹配文本內(nèi)容中的關(guān)鍵字,然后利用樸素貝葉斯對進(jìn)行分類,得到關(guān)鍵詞是否屬于惡意文本類別。其檢測效果有效地降低識別誤報率。
2.2? 圖像內(nèi)容檢測
sklearn-learn機器學(xué)習(xí)庫中的方法對數(shù)據(jù)預(yù)處理,在進(jìn)行圖片內(nèi)容識別中,主要利用CNN的方法進(jìn)行圖像識別。圖片內(nèi)容檢測主要檢測圖片中的文本內(nèi)容、人物特征等。預(yù)處理過程首先要對每張圖像大小進(jìn)行統(tǒng)一的裁剪,通過對海量違規(guī)數(shù)據(jù)圖像進(jìn)行信息提取和標(biāo)記,處理好的數(shù)據(jù)集輸入到CNN中進(jìn)行訓(xùn)練。即先把圖片分成N×N的像素,對每個像素點提取特征,用于識別圖像中的邊或棱,當(dāng)進(jìn)入隱藏層后得到目標(biāo)圖像,最后根據(jù)分類結(jié)果判斷圖像是正常圖像還是非法圖像。
2.3? 針對惡意文件檢測
2.3.1? VirusTotal
惡意軟件是指蓄意破壞系統(tǒng)或竊取數(shù)據(jù)的軟件。網(wǎng)絡(luò)犯罪分子通常使用郵件攻擊、節(jié)點攻擊等手段發(fā)送惡意軟件。針對惡意文件的檢測,通過調(diào)用VirusTotal的api進(jìn)行文件檢測。VirusTotal是一個可疑文件分析網(wǎng)站,通過使用多種反病毒引擎對用戶所上傳的文件進(jìn)行檢測、分析,判斷是否被惡意感染。增強檢測出病毒的概率同時減少正常文件被誤殺的趕驢。當(dāng)前使用的反病毒引擎多達(dá)80種,可以最大化地降低檢測錯誤率。
2.3.2? 檢測的惡意文件類型
惡意軟件的常見形式包括:病毒、特洛伊木馬程序、勒索軟件、僵尸網(wǎng)絡(luò)等以及任何其他類型的潛在有害應(yīng)用程序。軟件能夠檢測文件類型有apk、exe、bat、js、elf、pdf、html等,壓縮包(rar、zip、7z等),Office文檔(doc、xls、ppt等),并會生成詳細(xì)報告。
3? 實驗分析
3.1? 實驗數(shù)據(jù)
如表1所示,實驗主要分文本內(nèi)容、圖片、文件三類進(jìn)行檢測,因此需要三種不同的數(shù)據(jù)進(jìn)行模型訓(xùn)練。
3.1.1? 文本內(nèi)容檢測的數(shù)據(jù)
通過提取網(wǎng)絡(luò)上主流網(wǎng)站的一些內(nèi)容,如知乎、微博等網(wǎng)站的評論與Drebin惡意文本數(shù)據(jù)集結(jié)合,構(gòu)建文本內(nèi)容數(shù)據(jù)集,將提取的文本內(nèi)容分為兩種類型。分別為正常和惡意內(nèi)容,其中惡意內(nèi)容包括文本色情、惡意推廣、低俗辱罵、違禁違規(guī)語言等信息。
通過對文本的內(nèi)容進(jìn)行檢測,當(dāng)檢測到惡意內(nèi)容時,對所檢測的文本內(nèi)容按不同類型進(jìn)行分類,形成日志并輸出,以提示用戶不可下載并運行,否則會帶來各種損失;當(dāng)為正常文本時,提示為正常文本。
3.1.2? 圖像內(nèi)容檢測的數(shù)據(jù)
通過提取網(wǎng)絡(luò)上主流網(wǎng)站的一些圖像內(nèi)容結(jié)合copy-move數(shù)據(jù)集組成最終的數(shù)據(jù)集,將提取的圖片內(nèi)容分為兩種類型。分別為正常和惡意圖像內(nèi)容,其中惡意圖像包括色情圖像、違規(guī)廣告等信息。
通過對圖片進(jìn)行審核,判斷圖片中是否包含惡意內(nèi)容,然后按照類型進(jìn)行分類并輸出提示用戶謹(jǐn)慎下載。并將其標(biāo)記為惡意圖像。
3.1.3? 惡意文件檢測數(shù)據(jù)
直接使用EICAR標(biāo)準(zhǔn)的病毒測試文件作為數(shù)據(jù)集,如果為惡意文件則提示用戶不可下載使用,如果為正常文件則可以使用。
3.2? 實驗結(jié)果分析
針對文本內(nèi)容檢測、圖像內(nèi)容檢測與惡意文件檢測,其中對文本內(nèi)容進(jìn)行檢測。根據(jù)不同的檢測方法,對檢測的內(nèi)容進(jìn)行分類并輸出,如表2所示。實驗檢測的結(jié)果表明AC-樸素貝葉斯優(yōu)于邏輯回歸算法的檢測結(jié)果,檢測的準(zhǔn)確率提高了3.4%。利用scikit-learn學(xué)習(xí)庫對惡意圖片進(jìn)行檢測,檢測結(jié)果優(yōu)于傳統(tǒng)檢測方法,對惡意文件檢測的結(jié)果優(yōu)于主成分分析法。
4? 結(jié)? 論
實驗通過對用戶提交的文本、圖像和文件內(nèi)容進(jìn)行自動化檢測識別,并返回檢測結(jié)果。提供便捷檢測云服務(wù)API供用戶使用。利用AC自動機算法和樸素貝葉斯算法,實現(xiàn)了對各式各樣常見的惡意、色情文本內(nèi)容的監(jiān)控、利用scikit-learn機器學(xué)習(xí)庫實現(xiàn)對圖片內(nèi)容檢測、利用VirusTotal的API實現(xiàn)對文件內(nèi)容的檢測。從實驗結(jié)果來看,采取的方法均獲得較優(yōu)的檢測效果,優(yōu)于其他對照實驗。
參考文獻(xiàn):
[1] 張康宏,艾林,張芳濤,等.云服務(wù)平臺的運維服務(wù)模式構(gòu)建 [J].數(shù)字通信世界,2022(9):38-40.
[2] 孫淑華,馬恒太,張楠,等.后門植入、隱藏與檢測技術(shù)研究 [J].計算機應(yīng)用研究,2004(7):78-81.
[3] PAIK J H. A novel TF-IDF weighting scheme for effective ranking [C]//SIGIR '13:Proceedings of the 36th international ACM SIGIR conference on Research and development in information retrieval.Dublin:Association for Computing Machinery,2013:343-352.
[4] BRUSSELAERS N,AGBENORKU P,HOYTE-WILLIAMS P E. Assessment of mortality prediction models in a Ghanaian burn population [J]Burns,2013,39(5):997-1003.
[5] BRYSBAERT M,WARRINER A B,KUPERMAN V. Concreteness ratings for 40 thousand generally known English word lemmas [J].Behavior Research Methods,2014,46:904-911.
[6] 蔣晨,胡玉鵬,司凱,等.基于圖像紋理和卷積神經(jīng)網(wǎng)絡(luò)的惡意文件檢測方法 [J].計算機應(yīng)用,2018,38(10):2929-2933.
[7] 趙敏,張雪芹,朱唯一,等.基于LSTM-SVM模型的惡意軟件檢測方法 [J].華東理工大學(xué)學(xué)報:自然科學(xué)版,2022,48(5):677-684.
[8] 顧君忠.大數(shù)據(jù)與大數(shù)據(jù)分析 [J].軟件產(chǎn)業(yè)與工程,2013(4):17-21+52.
作者簡介:魏先燕(1996—),女,漢族,湖北襄陽人,碩士研究生在讀,研究方向:語音安全、數(shù)據(jù)分析;盧加奇(1997—),
男,漢族,江蘇徐州人,碩士研究生在讀,研究方向:網(wǎng)絡(luò)安全、APT攻擊;馮燕茹(1985—),女,漢族,山西長治人,副教授,博士研究生,研究方向:語音安全、網(wǎng)絡(luò)工程;呂廣旭(1998—),男,漢族,山東德州人,碩士研究生在讀,研究方向:網(wǎng)絡(luò)安全、數(shù)據(jù)挖掘;通訊作者:王小英(1979—),女,漢族,陜西咸陽人,教授,碩士,研究方向:無線通信、WSN技術(shù)、網(wǎng)絡(luò)安全。
收稿日期:2023-01-07
基金項目:防災(zāi)科技學(xué)院教育研究與教學(xué)改革項目(JY2022B31)