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

?

惡意代碼檢測技術(shù)研究綜述

2023-06-25 23:37:59郭沁怡
電腦知識與技術(shù) 2023年13期
關(guān)鍵詞:機器學習檢測技術(shù)深度學習

郭沁怡

摘要:惡意代碼的危害性逐漸增大,且已威脅到網(wǎng)絡(luò)和信息安全。該文歸納了目前較為常見的三種惡意代碼檢測方法,并討論了每種方法的優(yōu)缺點,最后對當前檢測技術(shù)所面臨的問題進行總結(jié),并闡述了未來可能的研究方向,旨在為惡意代碼檢測技術(shù)的發(fā)展提供幫助。

關(guān)鍵詞:檢測技術(shù);惡意代碼;傳統(tǒng)方法;機器學習;深度學習

中圖分類號:TP311.12? ? ? ? 文獻標識碼:A

文章編號:1009-3044(2023)13-0079-03

開放科學(資源服務(wù))標識碼(OSID)

0 引言

互聯(lián)網(wǎng)的快速發(fā)展豐富了人們的生活,給人們帶來了便利,但也存在著不可避免的安全風險。由于計算機技術(shù)的發(fā)展,因黑客攻擊而導(dǎo)致財產(chǎn)損失的案例越來越多,而惡意代碼是最常見的攻擊手段之一。惡意代碼與正常代碼的區(qū)別在于,惡意代碼是為特定的惡意目的而編寫的計算機程序,通常是將其與正常的計算機程序相結(jié)合,并選擇在特定環(huán)境下執(zhí)行其功能。個人、社會乃至國家都將面臨惡意代碼帶來的嚴重危害。因此,惡意代碼檢測問題不僅是防范的重點,同時也是一大難題。目前網(wǎng)絡(luò)安全領(lǐng)域也將重點放在如何精準高效地檢測出惡意代碼。

1 傳統(tǒng)惡意代碼檢測方法

惡意代碼,又稱惡意軟件,是可以對用戶、計算機或網(wǎng)絡(luò)造成各種傷害的軟件。通過手動分析惡意代碼的具體特征來檢測惡意軟件,不僅費時,而且檢測效率低,不實用。傳統(tǒng)的惡意代碼檢測可分三種:啟發(fā)式檢測法﹑簽名檢測法和行為特征檢測法。

1.1 啟發(fā)式檢測法

啟發(fā)式檢測方法主要是將上層系統(tǒng)信息和從內(nèi)核獲得的系統(tǒng)狀態(tài)進行對比,以此來檢測隱藏的文件、進程和注冊表信息[1],還有關(guān)于通過監(jiān)測特定系統(tǒng)資源來檢測惡意代碼的研究。啟發(fā)式檢測主要分為兩種檢測方法:靜態(tài)啟發(fā)式檢測和動態(tài)啟發(fā)式檢測。

靜態(tài)啟發(fā)式檢測技術(shù)依賴于對代碼片段的分析來檢測病毒。通過對文件外部的靜態(tài)信息進行分類,結(jié)合病毒的感染形式,模擬對代碼執(zhí)行過程的跟蹤,以確定其是否為病毒。動態(tài)啟發(fā)式檢測是基于反病毒的VM技術(shù)。通過模擬英特爾處理器、計算機硬件組件(內(nèi)存、硬盤等)和Windows操作系統(tǒng),建立一個反病毒虛擬機,然后將需要檢測和執(zhí)行的程序加載到模擬系統(tǒng)。兩者比較可以看出,靜態(tài)啟發(fā)式掃描是一種靜態(tài)行為檢測方法,它將病毒可能執(zhí)行的一些行動作為簽名代碼列入病毒數(shù)據(jù)庫。而動態(tài)啟發(fā)式掃描技術(shù)多了一項對CPU的模擬。在加密病毒的情況下,直接的靜態(tài)啟發(fā)式掃描無法檢測到這一點。動態(tài)啟發(fā)式掃描通過模擬一臺具有基本操作環(huán)境的計算機來解決這個問題,首先模擬運行一個可能是病毒的文件,然后在解密病毒后進行靜態(tài)啟發(fā)式掃描[2]。

1.2 簽名檢測法

Android是時下非常流行的移動操作系統(tǒng),盡管Android系統(tǒng)的開放性受到應(yīng)用開發(fā)者的歡迎,但存在許多安全隱患。當前,Android設(shè)備和Windows PC是惡意軟件主要的攻擊目標。檢測Android中的惡意軟件的主要方法是傳統(tǒng)的簽名檢測技術(shù)。簽名檢測的原理是將被測應(yīng)用程序的簽名與已知惡意軟件的簽名進行比較。如果簽名相同,被測應(yīng)用程序就是惡意軟件。傳統(tǒng)的簽名檢測方法的優(yōu)點是快速和高效,但在檢測混淆代碼或重新包裝的惡意軟件方面并不有效,因為它只分析被檢測應(yīng)用程序的整體簽名,只要攻擊者稍微改變代碼,例如名稱,惡意軟件的簽名就會發(fā)生重大變化,使傳統(tǒng)的簽名檢測無效[3]。

1.3 行為特征檢測法

傳統(tǒng)的檢測方法的優(yōu)點是一旦識別出惡意代碼的靜態(tài)簽名,就可以準確地檢測和刪除,而缺點是在沒有預(yù)定的簽名代碼的情況下,無法對未知的惡意代碼進行有效檢測。行為特征檢測是將惡意代碼的行為特征進行定義和抽象化來檢測和捕獲程序的異常行為的方法,以保護操作系統(tǒng)和合法應(yīng)用程序[4]。一般來說,具有行為特征的惡意代碼檢測系統(tǒng)由四層組成,即行為監(jiān)測層、行為分析層、行為決策層和聯(lián)動響應(yīng)層以及惡意行為庫[4]。

行為檢測是基于從惡意代碼中提取的特征。與基于啟發(fā)式的檢測方法相比,該方法聚焦在惡意代碼的實際行為,有效避開了只混淆代碼的方法可能帶來的影響,具有效率高、誤報率低的優(yōu)點,因此在惡意代碼檢測工具中被普遍使用,是目前惡意代碼檢測比較常見的方法[1]。然而,這種方法也有缺點,例如無法防止行為混淆方法,如行為等價替換。

2 基于機器學習技術(shù)的惡意代碼檢測

機器學習,或使計算機能夠在沒有特殊編程的情況下學習。機器學習是人工智能的一個重要領(lǐng)域,包含了廣泛的模型,有些偏向于符號,有些偏向于連接,有些則兩者都不偏向。在信息安全領(lǐng)域,不同類型的機器學習模型也可用于解決惡意軟件檢測問題。以下是三種傳統(tǒng)機器學習檢測方法:

1) 支持向量機(SVM) 檢測法

Android惡意軟件可以通過竊取隱私、耗費流量和抵扣電話費等方式造成嚴重損害,并將用戶置于危險之中。而Android系統(tǒng)使用權(quán)限機制來控制應(yīng)用程序?qū)ο到y(tǒng)資源和用戶私人信息的訪問,因此, Android應(yīng)用程序使用的權(quán)限與它們的行為密切相關(guān),通過分析權(quán)限信息可以有效檢測Android惡意軟件。

SVM,又名最大邊緣算法,是由Vapnik提出的一種機器學習方法。SVM是以統(tǒng)計學習理論為基礎(chǔ),將結(jié)構(gòu)風險降到最低,其學習策略是間隔最大化。SVM的特點是有著強泛化能力,能夠解決小樣本、高密度和非線性問題。支持向量機的原理是在正負數(shù)據(jù)中找到最優(yōu)超平面,使這個超平面能最大限度地將正負數(shù)據(jù)的分布展現(xiàn)出來,如圖1所示[5]。

在圖1中, H是最優(yōu)超平面,H1和H2分別是兩個平行于H的支持平面, margin是H1和H2之間的距離[5]。原則上,SVM避免了傳統(tǒng)的歸納和推理過程,允許從訓(xùn)練模型到預(yù)測模型的高效“過渡性推理”,大大簡化了傳統(tǒng)的分類和回歸問題[6]。然而,這種方法有一些缺點,例如,很難將SVM算法應(yīng)用于大型訓(xùn)練樣本。由于SVM算法在求解支持向量時運用二次規(guī)劃,過程中需要計算一個m階的矩陣(m為樣本數(shù)),對于大量的m來說,存儲和計算這個矩陣會消耗大量的內(nèi)存和計算時間。

2) 決策樹檢測方法

在機器學習中,決策樹是一種樹狀結(jié)構(gòu),其中葉節(jié)點代表類別,非葉節(jié)點代表定義類別的屬性。決策樹是一個預(yù)測模型,提供了屬性和類別之間的映射[7]。樹上的每個節(jié)點代表被測試對象的一個屬性,節(jié)點之間的分叉路徑代表測試某個特定屬性的結(jié)果,最后的預(yù)測也只能在決策樹的葉子節(jié)點上顯示。

決策樹模型以前被用來從惡意應(yīng)用分類的未知文件中提取靜態(tài)信息,但基于神經(jīng)網(wǎng)絡(luò)的模型有固有的缺點。首先,無法知道哪些信息在網(wǎng)絡(luò)的輸入層起著關(guān)鍵作用,導(dǎo)致需要收集所有的數(shù)據(jù)供已形成的網(wǎng)絡(luò)模型使用,這不僅限制了處理,也使已形成的網(wǎng)絡(luò)模型中包含的知識無法被提取并用于其他相關(guān)項目。其次,神經(jīng)網(wǎng)絡(luò)所需的樣本數(shù)量不應(yīng)過大,因為輸入節(jié)點的元數(shù)據(jù),即可以提取的PE文件的數(shù)量很難與隱藏層的數(shù)量相匹配,盡管有經(jīng)驗理論可能會提供一些指導(dǎo),但在應(yīng)用于具有“變化粒度”的多層次模型時,就會更加復(fù)雜。然而,決策樹可以用來彌補神經(jīng)網(wǎng)絡(luò)的這些缺點,它可以通過統(tǒng)計方法獲得數(shù)據(jù),有著評估過程中快速而直觀的優(yōu)點。

3) 隨機森林檢測法

隨機森林是一個分類器,包含幾個隨機構(gòu)建的決策樹。當有輸入時,幾棵樹分別評估,最終的分類結(jié)果是由匹配過程得到的。隨機森林有能力對許多類型的信息產(chǎn)生非常準確的分類器,減少泛化和錯誤,而且學習過程很快[7]。

隨機森林結(jié)合了“Bootstrap aggregating”想法和“Random Subspace Metho”的想法,其中隨機性體現(xiàn)在樣本和特征中。前者對于確保每棵樹都有隨機數(shù)量的特征很有用,而后者則有助于保證樣本分裂的多樣性。與決策樹相比,隨機森林作為一種由弱分類器整合而成的強分類器的組合式分類器,在有效降低風險、抗噪聲、分類器更好地泛化以及減少過擬合等方面具有優(yōu)勢。在建立隨機森林的過程中,必須經(jīng)歷兩個階段,第一階段是森林生成階段,第二階段是決策階段。

隨著研究的深入,使用機器學習從大量的數(shù)據(jù)中提取潛在的價值,并發(fā)現(xiàn)數(shù)據(jù)中信息之間的關(guān)聯(lián)性,正在吸引越來越多的關(guān)注。最近的研究集中在如何將大數(shù)據(jù)挖掘、機器學習和深度神經(jīng)網(wǎng)絡(luò)的知識與大量的惡意代碼實例相結(jié)合進行檢測[8]?,F(xiàn)階段,研究學者對惡意代碼的探索基本上都是應(yīng)用數(shù)據(jù)分析和機器學習。根據(jù)機器學習的檢測方法可以分成兩階段:從海量信息中提取特征與建立檢測模型。Bayer等人[9]提出了基于概率的聚類算法來檢測惡意代碼,用局部敏感哈希來表示惡意代碼行為信息。這類聚類算法方法能夠很好地尋找最近鄰。Shabtai等人[10]依據(jù)惡意代碼的靜態(tài)數(shù)據(jù)特點,提出了一種用于惡意代碼檢測的機器學習模型,達到了相對較高的準確度和較低的漏報率。該方法運用N-Gram優(yōu)化算法獲取惡意代碼的命令層和字節(jié)數(shù)層特點,并用多分類器進行訓(xùn)練,對這些分類器的分類結(jié)果使用一種主動學習機制以及加權(quán)算法。Sun等人[11]等給出了一種基于靜態(tài)數(shù)據(jù)特征提取的惡意代碼檢測方法。該方法獲取字節(jié)碼、PE文檔、匯編代碼的特點,挑選8個分類器模型從而找尋最理想的分類器。經(jīng)過特征融合后,隨機森林分類器最終獲得了93.56%的F1分數(shù)。

使用機器學習檢測惡意代碼的技術(shù)方面涉及兩個關(guān)鍵點:特征提取和檢測分類模型的選擇。在特征提取層面,找尋更好的特征提取方法;在模型選擇方面,找到更好的分類算法模型和檢測準確率。因而,傳統(tǒng)式機器學習檢測方法的主要缺點是隨機森林(RF) 、SVM算法(Support Vector Machines) 、決策樹算法(DT) 等分類器模型較為簡單。這種模型不能全自動高效地獲取惡意代碼更深層次的特征,并且基于機器學習的惡意代碼檢測依賴于人工特征提取,不能完全準確地描述惡意代碼。而特征提取大大影響了惡意代碼檢測的結(jié)果,導(dǎo)致惡意代碼檢測的準確率較低等問題[8]。

3 基于深度學習技術(shù)的惡意代碼檢測方法

深度學習算法可以將處理過的惡意軟件數(shù)據(jù)作為檢測或分類的輸入,為最終檢測或分類進行高效的特征提取。

卷積神經(jīng)網(wǎng)絡(luò)(CNN) 是一類包含卷積計算且具有深度結(jié)構(gòu)的前饋神經(jīng)網(wǎng)絡(luò)[12],常用于視覺圖像分析。卷積神經(jīng)網(wǎng)絡(luò)在各領(lǐng)域被廣泛應(yīng)用,如圖像處理、自然語言處理、文本處理及惡意軟件檢測等。

卷積神經(jīng)網(wǎng)絡(luò)通常由輸入層、卷積層、池化層以及全連接層組成。各種常規(guī)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)基本相同。如圖2所示,在卷積神經(jīng)網(wǎng)絡(luò)中,首先輸入層輸入數(shù)據(jù),通過卷積層對輸入數(shù)據(jù)進行計算得到輸入數(shù)據(jù)的特征空間。其次,池化層用于篩選特征空間中的突出特征,經(jīng)過幾次反復(fù)的卷積和融合,得到輸入數(shù)據(jù)的最終特征空間。最后,提取的特征空間被用作全連接層的輸入。全連接層的主要功能是完成從輸入數(shù)據(jù)到標簽的映射,以實現(xiàn)分類目標。

對于機器學習算法檢測技術(shù)性的缺點,深度學習模型可以全自動獲取惡意代碼更深層次的特征,更準確地描述惡意代碼。因而,根據(jù)深度學習的惡意代碼檢測理論是這兩年的新研究趨勢。Yujie Fan[13]利用惡意代碼的指令層操作碼序列特征來發(fā)現(xiàn)惡意代碼操作碼序列模式,根據(jù)神經(jīng)網(wǎng)絡(luò)算法來高效地檢測惡意代碼。Pascanu等人[14]獲得了惡意代碼語義層系統(tǒng)的序列特征,并根據(jù)遞歸神經(jīng)網(wǎng)絡(luò)對惡意代碼進行檢測分類。試驗結(jié)果顯示,自動門遞歸算法模塊351(GRU) 和LSTMl36模型具有較好的分類特性。Cui Z等人[15]將惡意代碼的特征展示在二值圖像中,運用CNN全自動獲取惡意代碼圖像的特征,對圖片進行歸類從而達到惡意代碼檢測的目的。

深度學習發(fā)展趨勢十分迅速,近些年,根據(jù)深度學習的惡意代碼檢測研究逐漸增加。利用深度學習模型,例如CNN、RNN、深層置信網(wǎng)絡(luò)等模型,成了一個新的研究領(lǐng)域,其檢測效果很好。但是,傳統(tǒng)的基于深度學習的惡意代碼檢測方式存在劣勢。因為惡意代碼特征序列長度并不是相對穩(wěn)定的,所以在單用LSTM作為惡意代碼的檢測模型的情形下,LSTM模型不能獲取較長序列的特征信息內(nèi)容;單用卷積和神經(jīng)系統(tǒng)模型作為惡意代碼的檢測和分類模型時,通過CNN訓(xùn)練后,特征與前后文不相干,會嚴重影響檢測實際效果。

4 結(jié)束語

惡意代碼作為一種強有力的網(wǎng)絡(luò)攻擊工具,從竊取數(shù)據(jù)和身份信息、損壞系統(tǒng)和數(shù)據(jù)信息以及拒絕服務(wù)等多方面對個人、組織機構(gòu)和國家構(gòu)成了重大威脅。惡意代碼的檢測是一個至關(guān)重要的研究方向,雖然,研究者們在惡意代碼檢測技術(shù)方面取得了很大的進展,但是各種新型的惡意代碼不斷涌現(xiàn)[16],因此,基于圖像紋理特征的惡意代碼檢測將具有極高的應(yīng)用場景和研究價值。在未來的研究中可以探討的兩個方面是:首先,可以研究新型的惡意代碼可視化技術(shù),將圖像中獨特的家族特征納入其中,并利用GAN來解決數(shù)據(jù)集分布不均的問題,提高模型的通用性;其次,目前檢測方法中使用的深度學習模型主要是CNN和RNN,未來的研究可以考慮結(jié)合數(shù)據(jù)可視化、圖像處理、GAN以及GCN技術(shù)來更有效地檢測新的惡意代碼[17]。

參考文獻:

[1] 王蕊,馮登國,楊軼,等.基于語義的惡意代碼行為特征提取及檢測方法[J].軟件學報,2012,23(2): 378-393.

[2] 陳月玲.基于程序語義的計算機病毒檢測方法[D].青島:青島大學, 2007.

[3] 寧卓,邵達成,陳勇,等.基于簽名與數(shù)據(jù)流模式挖掘的Android惡意軟件檢測系統(tǒng)[J].計算機科學,2017,44(B11):317-321.

[4] 左黎明,湯鵬志,劉二根,等.基于行為特征的惡意代碼檢測方法[J].計算機工程,2012,38(2): 129-131.

[5] 張玉玲,尹傳環(huán).基于SVM的安卓惡意軟件檢測[J].山東大學學報(工學版),2017,47(1): 42-47.

[6] 王義鋒.基于XGBoost+RF的個人信貸風險預(yù)測研究[D].重慶:重慶大學,2020.

[7] 戴逸輝,殷旭東.基于隨機森林的惡意代碼檢測[J].網(wǎng)絡(luò)空間安全,2018,9(2):70-75.

[8] 陳克.基于深度學習的惡意代碼檢測技術(shù)研究[D].北京:北京交通大學,2020.

[9] Bayer U, Comparetti P M, Hlauschek C, et al. Scalable, behavior-based malware clustering[C]//NDSS,2009:8-11.

[10] Shabtai A,Moskovitch R,Elovici Y,et al.Detection of malicious code by applying machine learning classifiers on static features:a state-of-the-art survey[J].Information Security Tech Report,2009,14(1):16-29.

[11] Sun B W,Li Q,Guo Y H,et al.Malware family classification method based on static feature extraction[C]//2017 3rd IEEE International Conference on Computer and Communications (ICCC).December 13-16,2017,Chengdu,China.IEEE,2018:507-513.

[12] 何景暉,敖銀輝,趙偉良.光纜交接箱端口狀態(tài)的視覺檢測方法[J].微處理機,2021,42(2):53-57.

[13] Yujie,F(xiàn)an.Malicious sequential pattern mining for automatic malware detection[J].Expert Systems With Applications,2016(52):16-25.

[14] Pascanu R,Stokes J W,Sanossian H,et al.Malware classification with recurrent networks[C]//2015 IEEE International Conference on Acoustics,Speech and Signal Processing (ICASSP).April 19-24,2015,South Brisbane,QLD,Australia.IEEE,2015:1916-1920.

[15] Cui Z H,Xue F,Cai X J,et al.Detection of malicious code variants based on deep learning[J].IEEE Transactions on Industrial Informatics,2018,14(7):3187-3196.

[16] 韓曉光.惡意代碼檢測關(guān)鍵技術(shù)研究[D].北京:北京科技大學, 2015.

[17] 李豪,錢麗萍.惡意代碼可視化檢測技術(shù)研究綜述[J].軟件導(dǎo)刊,2022,21(5): 9-16.

【通聯(lián)編輯:代影】

猜你喜歡
機器學習檢測技術(shù)深度學習
MOOC與翻轉(zhuǎn)課堂融合的深度學習場域建構(gòu)
基于機器學習的圖像特征提取技術(shù)在圖像版權(quán)保護中的應(yīng)用
大數(shù)據(jù)技術(shù)在反恐怖主義中的應(yīng)用展望
基于網(wǎng)絡(luò)搜索數(shù)據(jù)的平遙旅游客流量預(yù)測分析
時代金融(2016年27期)2016-11-25 17:51:36
公路工程試驗檢測存在的問題及措施
價值工程(2016年30期)2016-11-24 16:39:03
煤礦機電產(chǎn)品檢測技術(shù)
前綴字母為特征在維吾爾語文本情感分類中的研究
深度學習算法應(yīng)用于巖石圖像處理的可行性研究
基于深度卷積網(wǎng)絡(luò)的人臉年齡分析算法與實現(xiàn)
軟件工程(2016年8期)2016-10-25 15:47:34
鍋爐檢測應(yīng)用壓力管道無損檢測技術(shù)的分析
江川县| 珠海市| 宜丰县| 邵阳市| 孟津县| 沽源县| 舞钢市| 酒泉市| 进贤县| 始兴县| 綦江县| 彭阳县| 文成县| 繁昌县| 明溪县| 明水县| 江山市| 扎兰屯市| 苍山县| 兴义市| 达孜县| 合水县| 白河县| 连州市| 砀山县| 延安市| 肥城市| 密山市| 紫金县| 河北省| 醴陵市| 张北县| 屯昌县| 墨玉县| 乐陵市| 施甸县| 嘉黎县| 星座| 江孜县| 大新县| 兴化市|