亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于卷積神經(jīng)網(wǎng)絡(luò)的惡意代碼API分類

        2023-05-30 10:48:04梅振輝方歡
        關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò)

        梅振輝 方歡

        摘 要:惡意代碼已經(jīng)成為威脅網(wǎng)絡(luò)安全的重要因素之一,安全人員一直致力于研究如何有效檢測惡意代碼,在動態(tài)分析方法中可以通過程序的API調(diào)用序列進行分析。通過對惡意軟件的API調(diào)用序列進行編碼處理,可以獲得圖片格式的數(shù)據(jù),進而使用卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練出分類模型,從而實現(xiàn)對惡意軟件進行分類,獲得較高的準(zhǔn)確率,針對阿里云天池上的數(shù)據(jù)集進行實驗驗證,實驗使用有向圖編碼方式,采用不同的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),對比不同方法的準(zhǔn)確性。

        關(guān)鍵詞:卷積神經(jīng)網(wǎng)絡(luò);惡意代碼分類;API調(diào)用序列

        中圖分類號:TP309? 文獻標(biāo)識碼:A? 文章編號:1673-260X(2023)02-0039-05

        1 引言

        惡意軟件是當(dāng)今互聯(lián)網(wǎng)面臨的主要安全威脅之一,準(zhǔn)確地檢測出惡意軟件,并且把惡意軟件進行準(zhǔn)確分類對于防范網(wǎng)絡(luò)攻擊很重要。惡意軟件檢測技術(shù)主要分為靜態(tài)分析技術(shù)和動態(tài)分析技術(shù)[1],靜態(tài)分析技術(shù)主要通過語法、語義和控制流來判斷是否為惡意代碼,動態(tài)分析技術(shù)是通過實際執(zhí)行代碼,觀察程序的執(zhí)行是否有危害計算機操作的行為來判斷是否是惡意程序。惡意代碼會有一系列的對抗技術(shù)來阻止安全人員對其檢測分析,其中包括加殼、代碼混淆技術(shù)和反虛擬技術(shù)。靜態(tài)分析技術(shù)容易受到對抗技術(shù)影響,在動態(tài)分析技術(shù)中可以通過可執(zhí)行程序的API(Application Programming Interface)序列進行分析,惡意代碼在執(zhí)行某些惡意行為時,要通過調(diào)用一系列的API來完成,不同的惡意行為需要調(diào)用不同的API序列,因此正常軟件和惡意軟件所執(zhí)行的API序列特征有很大差異,不同類型的惡意軟件執(zhí)行的API序列特征也有差異。同類惡意家族類型的軟件,產(chǎn)生的API序列具有相似的行為,所以將API序列可視化為圖像之后也具有相同的紋理、結(jié)構(gòu)等特征。此時,針對惡意軟件分類的問題,可以轉(zhuǎn)換為圖像分類問題,可以使用機器學(xué)習(xí)算法和深度學(xué)習(xí)算法的分類器進行分類。本文使用有向圖將API序列進行編碼為圖像格式的數(shù)據(jù),然后使用了四種經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練分類,準(zhǔn)確地分析程序是否為惡意軟件以及惡意程序的類型。

        本文結(jié)構(gòu)如下,第二節(jié)介紹了相關(guān)工作,第三節(jié)介紹了我們的研究方法,在第四節(jié)中介紹了本文的實驗和結(jié)果分析,最后一節(jié)進行了總結(jié)和展望。

        2 相關(guān)工作

        對惡意軟件的檢測,有些研究者研究把惡意的可執(zhí)行程序轉(zhuǎn)化為圖像格式的數(shù)據(jù),然后使用深度學(xué)習(xí)和群體智能算法對惡意軟件進行分類[2]。本文主要研究如何通過使用可執(zhí)行軟件的API序列來對惡意軟件進行分類。

        對于通過使用API調(diào)用序列來判斷惡意軟件的類型的工作有很多,主要的思想就提取每種惡意軟件類型中的數(shù)據(jù)信息,對提取的數(shù)據(jù)信息采用不同的編碼方式進行編碼,然后使用機器學(xué)習(xí)或者深度學(xué)習(xí)建立分類器,從而實現(xiàn)對惡意代碼進行分類。Xu等人最早提出了在windows平臺上為已知病毒和可疑代碼構(gòu)建API調(diào)用序列[3],通過序列對比進行相似性測量,判斷程序是否為惡意代碼。不同于傳統(tǒng)的基于序列挖掘和圖匹配檢測惡意代碼,為了對抗惡意樣本的反檢測行為,趙翠镕等人設(shè)計提出了一種基于程序語義API依賴圖的動態(tài)分析方法[4],使用隨機森林進行分類。不同于其他文獻只使用API調(diào)用序列特征進行學(xué)習(xí),韓蘭勝等人提出使用可執(zhí)行程序運行時API函數(shù)調(diào)用名、API函數(shù)的輸入?yún)?shù)以及兩種特征的組合作為特征[5],利用信息增益選取關(guān)鍵特征,最后使用決策樹進行分類,效果要高于僅使用函數(shù)名作為特征的方法。Acarman等人使用了n-gram提取特征作為向量[6],用以發(fā)現(xiàn)代表惡意軟件行為的特征,然后使用機器學(xué)習(xí)分類器訓(xùn)練建立惡意軟件分類模型。Ki等人提出通過使用提取的API調(diào)用序列模式和關(guān)鍵API調(diào)用序列[7],利用了DNA序列比對算法,可以精確地檢測未知惡意軟件或惡意軟件變體。Schofield等人通過提取API調(diào)用序列的TF-IDF向量和分類向量[8],使用一維卷積神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練分類。Sun等人提出使用Word2Vec模型訓(xùn)練語言模型對提取序列中的名稱進行向量化[9],使用時間卷積網(wǎng)絡(luò)(TCN)訓(xùn)練分類模型。

        文獻中提出的方法都使用阿里云天池中的惡意代碼數(shù)據(jù)集進行驗證。Chai等人采用了一種LGMal[10]惡意軟件檢測框架結(jié)合了堆疊卷積神經(jīng)網(wǎng)絡(luò)和圖卷積網(wǎng)絡(luò),使用堆疊卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)API調(diào)用序列中的局部語義特征,使用圖卷積網(wǎng)絡(luò)用于學(xué)習(xí)API調(diào)用語義圖結(jié)構(gòu)信息以捕獲全局語義特征。Xu等人提出一種基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)和長短期記憶(LSTM)網(wǎng)絡(luò)的混合深度學(xué)習(xí)結(jié)構(gòu)[11],將API的調(diào)用順序與其他統(tǒng)計特征相結(jié)合,得到的向量信息通過卷積輸入LSTM單元進行訓(xùn)練。Zhang等人提出了一種基于譜的有向圖網(wǎng)絡(luò)(SDGNet)架構(gòu)[12]來對有向圖進行分類。王天歌使用了兩種方法[13]訓(xùn)練分類模型,一種使用n-gram算法對API序列進行特征提取,然后用隨機森林進行訓(xùn)練模型,另一種使用詞向量的方法對API序列進行向量化表示提取特征,最后用卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)進行訓(xùn)練[14]。

        現(xiàn)有的惡意軟件API分類的文獻中的編碼方式主要提取不同API名稱的數(shù)量信息,或者使用n-gram和詞向量提取特征,其中使用數(shù)量的編碼方式,并不能包含序列中的行為信息,使用n-gram和詞向量的方式也只能夠包含惡意執(zhí)行序列的部分行為信息。針對以上的問題,本文提出了使用有向圖編碼的方式,對API執(zhí)行的序列編碼為圖像格式,使用經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,可以充分利用卷積神經(jīng)網(wǎng)絡(luò)提取API執(zhí)行序列中的行為信息,從而對不同種類的惡意軟件進行分類。

        3 研究方法

        卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network)是目前基于深度學(xué)習(xí)的計算機視覺領(lǐng)域中重要的研究方向之一,因為其具有強大的特征學(xué)習(xí)與特征表達能力,被廣泛應(yīng)用于圖像分類和分割、目標(biāo)檢測等的應(yīng)用中。卷積神經(jīng)網(wǎng)絡(luò)最初被LeCun提出用于手寫字識別,CNN有多層結(jié)構(gòu)組成:包括卷積層、非線性層、池化層和全連接層。卷積層和全連接層有參數(shù),池化層和非線性層沒有參數(shù)。

        LeNet[15]是Yan LeCun在1998年引入的用于手寫數(shù)字識別的網(wǎng)絡(luò)。他的網(wǎng)絡(luò)模型共有7層,包含了三個卷積層、兩個池化層、一個輸入層、輸出層,其網(wǎng)絡(luò)如下圖1所示。

        AlexNet[16]是由Hinton研究組于2012年提出的一種模型。其主要貢獻在于:(1)采用ReLU作為非線性激活函數(shù),緩解了梯度消失問題;(2)使用Dropout方法用于防止過擬合;(3)通過參數(shù)優(yōu)化策略增強CNN的學(xué)習(xí)能力;(4)使用CUDA加速深度卷積網(wǎng)絡(luò)的訓(xùn)練,利用GPU強大的并行計算能力處理神經(jīng)網(wǎng)絡(luò)訓(xùn)練時大量的矩陣運算。ResNet[17]由何凱明等人在2015年提出,解決了一般網(wǎng)絡(luò)模型增加卷積層數(shù),造成誤差率上升的問題。MobileNet[18]由Google團隊在2017年提出,核心思想是使用深度可分離卷積代替標(biāo)準(zhǔn)的卷積操作,它是一個輕量級的深度神經(jīng)網(wǎng)絡(luò),計算復(fù)雜度也較低,適合移動和嵌入式應(yīng)用。

        在本文中,我們將使用以上四種結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡(luò),對經(jīng)過有向圖編碼后的惡意代碼數(shù)據(jù)進行分類,本文的實驗框架如下圖2所示。

        4 實驗和結(jié)果分析

        4.1 數(shù)據(jù)集描述

        本次試驗使用阿里云天池大數(shù)據(jù)平臺上的公開數(shù)據(jù)集[14],數(shù)據(jù)集提供的數(shù)據(jù)來自windows可執(zhí)行程序經(jīng)過沙箱程序模擬運行后的API指令序列,數(shù)據(jù)經(jīng)過脫敏處理,樣本數(shù)據(jù)收集于互聯(lián)網(wǎng),其中惡意文件的類型有勒索病毒、感染型病毒、木馬程序、挖礦程序、DDOS木馬等。天池平臺提供了訓(xùn)練集和測試集樣本,其中訓(xùn)練集共有13887個數(shù)據(jù)樣本,具體每種樣本信息如表1所示。其中因為測試樣本沒有提供標(biāo)簽,所以在本次試驗中,我們只使用13877個數(shù)據(jù)樣本,把這些樣本劃分訓(xùn)練集和測試集,我們采用了5折交叉驗證,驗證對比了不同CNN網(wǎng)絡(luò)架構(gòu)訓(xùn)練的兩種編碼方法的準(zhǔn)確率。

        4.2 數(shù)據(jù)預(yù)處理

        首先我們對Windows API具有相同含義但是函數(shù)名不同的API進行處理,例如CopyFileW、CopyFileExW和CopyFileA三個函數(shù)有相同的含義,但是分別以W、ExW和A結(jié)尾,是因為計算機系統(tǒng)對于不同的編碼提供的API不同,以W結(jié)尾的API主要對UNICODE編碼使用,Ex表示拓展的API函數(shù),A結(jié)尾主要是針對ASCII編碼格式使用。對于這種情況,如果把這三個API都作為一個單獨的特征,會使生成的圖像數(shù)據(jù)很稀疏,因此,對于這三個API,我們把它們統(tǒng)一用CopyFile替換,對于其他的也類似處理,這樣可以有效地減少特征空間。

        本節(jié)介紹如何把序列數(shù)據(jù)轉(zhuǎn)化為圖像格式的數(shù)據(jù),為了實現(xiàn)這一目標(biāo),我們要解決兩個問題,第一問題,是如何把API序列轉(zhuǎn)為圖像,第二個問題,是每個API序列的長度不固定,如何轉(zhuǎn)化為固定大小的矩陣?第一個問題的解決方法是,通過記錄相鄰的API名稱在序列中出現(xiàn)的次數(shù),構(gòu)成有向圖矩陣,矩陣中的每個數(shù)值可以作為一個像素值,同時用圖像的形式存儲API序列,圖的長度由所有不同的API名稱的數(shù)量決定,所以使用有向圖的形式存儲為圖像可以容納任意長度的API序列,第二個問題也得以解決。因為數(shù)據(jù)集中的程序執(zhí)行的不同線程之間沒有順序關(guān)系,所以首先我們將每個文件子線程順序調(diào)用的序列連接在一起,然后連接不同線程之間序列,組成一條API序列,對于這個序列,提取所有序列中所有的API名稱組成字母表,通過把序列轉(zhuǎn)為有向圖向量,可以獲得一個圖像格式的數(shù)據(jù)。提取兩種序列特征,一種是提取兩個相鄰API序列,構(gòu)成一個有向圖組成圖像格式數(shù)據(jù),另一種是分別從API序列中提取間隔為1、2、3的三個相鄰的序列組成3通道的圖片格式。

        為了便于讀者理解,我們以字母表為{A,B,C,D,E}中構(gòu)成的序列AABDDCDCBD進行說明,他們被編碼為類圖像格式如下圖3和圖4所示。本文的數(shù)據(jù)處理以及模型訓(xùn)練的代碼公開在https://github.com/meiief/Malicious-code-classification。

        4.3 實驗環(huán)境

        為了更加高效和穩(wěn)定地進行模型搭建和模型參數(shù)的訓(xùn)練,本文采用了基于pytorch的深度學(xué)習(xí)框架,實驗具體的硬件環(huán)境和軟件環(huán)境如表2所示。對每次訓(xùn)練我們設(shè)置訓(xùn)練最大迭代次為50輪,并使用早停技術(shù),當(dāng)連續(xù)5次準(zhǔn)確度沒有提高時,停止訓(xùn)練。對于訓(xùn)練神經(jīng)網(wǎng)絡(luò)使用的參數(shù),我們采用隨機梯度下降(stochastic gradient descent)優(yōu)化器優(yōu)化器,動量為0.5,學(xué)習(xí)率參數(shù)設(shè)置為0.001。

        4.4 結(jié)果分析

        對于每種方法的試驗結(jié)果準(zhǔn)確度如下表3所示,為了直觀展示,我們繪制了圖5。由圖可以清楚地發(fā)現(xiàn),在使用3通道的編碼方法訓(xùn)練的結(jié)果中,四種經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)中三種網(wǎng)絡(luò)的準(zhǔn)確度比1通道的準(zhǔn)確度高,這是因為3通道的編碼方式提取了更多的行為信息,但是同時也耗費了更多的訓(xùn)練時間和內(nèi)存資源。

        5 總結(jié)

        本文通過把API序列編碼為圖像格式的數(shù)據(jù),提取了API序列中更多的行為信息,把惡意代碼分類問題轉(zhuǎn)化為圖像分類問題,采用了四種經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)進行訓(xùn)練模型,并使用真實的數(shù)據(jù)集進行試驗,得到了較好的結(jié)果。其中對API序列進行三通道編碼的準(zhǔn)確度明顯高于1通道的編碼,這是因為3通道包含的行為特征更多,同時訓(xùn)練的時間也更長,對于未來的研究,我們將計劃考慮數(shù)據(jù)集中的數(shù)據(jù)特征,如關(guān)鍵每個出現(xiàn)的次數(shù)、每個程序的線程數(shù)量等,同時使用更有效的編碼方式,使得編碼后的數(shù)據(jù)更多包含API序列中的行為,這對提高準(zhǔn)確度可能會更有效。

        ——————————

        參考文獻:

        〔1〕汪嘉來,張超,戚旭衍.Windows平臺惡意軟件智能檢測綜述[J].計算機研究與發(fā)展,2021,58(05):977-94.

        〔2〕JIN X, XING X, ELAHI H, et al. A malware detection approach using malware images and autoencoders; proceedings of the 2020 IEEE 17th International Conference on Mobile Ad Hoc and Sensor Systems (MASS), F, 2020 [C]. IEEE.

        〔3〕XU J-Y, SUNG A H, CHAVEZ P, et al. Polymorphic malicious executable scanner by API sequence analysis; proceedings of the Fourth International Conference on Hybrid Intelligent Systems (HIS'04), F, 2004 [C]. IEEE.

        〔4〕趙翠镕,方勇,劉亮.基于語義API依賴圖的惡意代碼檢測[J].四川大學(xué)學(xué)報:自然科學(xué)版,2020,57(03):488-94.

        〔5〕韓蘭勝,高昆侖,趙保華.基于API函數(shù)及其參數(shù)相結(jié)合的惡意軟件行為檢測[J].計算機應(yīng)用研究,2013,30(11):3407-10.

        〔6〕PEKTAA, ACARMAN T. Malware classification based on API calls and behaviour analysis [J]. IET Information Security, 2018, 12(02): 107-17.

        〔7〕KI Y, KIM E, KIM H K. A novel approach to detect malware based on API call sequence analysis [J]. International Journal of Distributed Sensor Networks, 2015, 11(06): 659101.

        〔8〕SCHOFIELD M, ALICIOGLU G, BINACO R, et al. Convolutional neural network for malware classification based on API call sequence; proceedings of the Proceedings of the 8th International Conference on Artificial Intelligence and Applications (AIAP 2021), F, 2021 [C].

        〔9〕SUN J, LUO X, GAO H, et al. Categorizing malware via a Word2Vec-based temporal convolutional network scheme[J]. Journal of Cloud Computing, 2020, 9(01): 1-14.

        〔10〕CHAI Y, QIU J, SU S, et al. LGMal: A joint framework based on local and global features for malware detection; proceedings of the 2020 International Wireless Communications and Mobile Computing (IWCMC), F, 2020 [C]. IEEE.

        〔11〕XU A, CHEN L, KUANG X, et al. A hybrid deep learning model for malicious behavior detection; proceedings of the 2020 IEEE 6th Intl Conference on Big Data Security on Cloud (BigDataSecurity), IEEE Intl Conference on High Performance and Smart Computing,(HPSC) and IEEE Intl Conference on Intelligent Data and Security (IDS), F, 2020 [C]. IEEE.

        〔12〕ZHANG Z, LI Y, DONG H, et al. Spectral-based directed graph network for malware detection [J]. IEEE Transactions on Network Science and Engineering, 2020, 8(02): 957-70.

        〔13〕王天歌.基于API調(diào)用序列的Windows平臺惡意代碼檢測方法[D].北京:北京交通大學(xué),2021.

        〔14〕CLOUD Alibaba. Alibaba Cloud Malware Detection Based On Behaviors [Z]. 2018.

        〔15〕LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition [J]. Proceedings of the IEEE, 1998, 86(11): 2278-324.

        〔16〕KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks [J]. Advances in neural information processing systems, 2012, 25.

        〔17〕HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition; proceedings of the Proceedings of the IEEE conference on computer vision and pattern recognition, F, 2016 [C].

        〔18〕HOWARD A G, ZHU M, CHEN B, et al. Mobilenets: Efficient convolutional neural networks for mobile vision applications [J]. arXiv preprint arXiv:170404861, 2017.

        收稿日期:2022-09-22

        通訊作者:方歡(1982-),女,安徽池州人,博士,碩士生導(dǎo)師,教授。研究方向:Petri網(wǎng)理論與應(yīng)用、行為輪廓、變化挖掘、過程挖掘。

        基金項目:國家自然科學(xué)基金(61902002)

        猜你喜歡
        卷積神經(jīng)網(wǎng)絡(luò)
        基于深度神經(jīng)網(wǎng)絡(luò)的微表情識別
        卷積神經(jīng)網(wǎng)絡(luò)中減少訓(xùn)練樣本時間方法研究
        卷積神經(jīng)網(wǎng)絡(luò)語言模型研究
        基于卷積神經(jīng)網(wǎng)絡(luò)的車輛檢索方法研究
        基于卷積神經(jīng)網(wǎng)絡(luò)溫室智能大棚監(jiān)控系統(tǒng)的研究
        基于深度卷積神經(jīng)網(wǎng)絡(luò)的物體識別算法
        深度學(xué)習(xí)算法應(yīng)用于巖石圖像處理的可行性研究
        基于深度卷積網(wǎng)絡(luò)的人臉年齡分析算法與實現(xiàn)
        軟件工程(2016年8期)2016-10-25 15:47:34
        深度學(xué)習(xí)技術(shù)下的中文微博情感的分析與研究
        軟件(2016年5期)2016-08-30 06:27:49
        基于卷積神經(jīng)網(wǎng)絡(luò)的樹葉識別的算法的研究
        日本少妇一区二区三区四区| 久久久久亚洲AV无码专区喷| 美女黄频视频免费国产大全| 免费看片的网站国产亚洲| 亚洲成a人片在线观看无码专区| 亚洲av永久无码精品一区二区| 99精品成人片免费毛片无码| 亚洲爆乳少妇无码激情| 亚洲色欲Aⅴ无码一区二区| 美国又粗又长久久性黄大片| 欧美亅性猛交内射| 日韩人妻无码一区二区三区| 美女污污网站| 国产午夜三级精品久久久| 豆国产96在线 | 亚洲| 国产啪精品视频网站| 一本一道AⅤ无码中文字幕| 人妻系列中文字幕av| 男女猛烈无遮挡免费视频| 中文字幕 人妻熟女| 偷拍女厕尿尿在线免费看| 亚洲国产精品高清在线| 亚洲成av人片天堂网| 国产白丝网站精品污在线入口 | 日韩va高清免费视频| 婷婷四虎东京热无码群交双飞视频| 久久人人爽天天玩人人妻精品| 韩日无码不卡| 亚洲丰满熟女一区二亚洲亚洲 | av天堂久久天堂av色综合 | 天堂av一区二区麻豆| 久青草影院在线观看国产| 中文字幕一区二区人妻| 精品国产91久久久久久久a| 亚洲毛片免费观看视频| 男人进去女人爽免费视频| 国产精品主播视频| h视频在线观看视频在线| 东京热人妻系列无码专区 | 国产女精品视频网站免费| 久久高潮少妇视频免费|