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

        ?

        基于Windows API調用序列的惡意代碼檢測方法

        2023-06-21 09:43:08楊波張健李煥洲唐彰國李智翔
        關鍵詞:特征融合機器學習

        楊波 張健 李煥洲 唐彰國 李智翔

        摘要:為解決現有惡意代碼檢測方法存在的特征提取能力不足、檢測模型泛化性弱的問題,提出了一種基于Windows API調用序列的惡意代碼檢測方法.使用N-gram算法和TF-IDF算法提取序列的統(tǒng)計特征,采用Word2Vec模型提取語義特征,將統(tǒng)計特征和語義特征進行特征融合,作為API調用序列的特征.設計了基于Stacking的三層檢測模型,通過多個弱學習器構成一個強學習器提高檢測模型性能.實驗結果表明,提出的特征提取方法可以獲得更關鍵的特征,設計的檢測模型的準確率、精確率、召回率均優(yōu)于單一模型且具有良好的泛化性,證明了檢測方法的有效性.

        關鍵詞:惡意代碼檢測; API調用序列; 特征融合; 機器學習; 三層檢測模型

        中圖分類號:TP309.5 文獻標志碼:A 文章編號:1001-8395(2023)05-0700-06

        Windows操作系統(tǒng)一直是使用最廣泛的PC端操作系統(tǒng),在給人們的工作和生活帶來方便的同時,也受到許多針對Windows操作系統(tǒng)的惡意代碼的攻擊.傳統(tǒng)的惡意代碼檢測方法依賴大量的人工進行手動分析且速度較慢,面對未知病毒時無法及時更新其特征庫,導致難以檢測未知病毒.

        針對以上問題,人們開始研究基于機器學習的惡意代碼檢測方法,此方法包括靜態(tài)檢測方法和動態(tài)檢測方法[1].靜態(tài)檢測方法通過對惡意代碼進行反編譯獲取文件字節(jié)碼操作碼等靜態(tài)特征進行檢測,具有流程簡便、執(zhí)行速度快的優(yōu)點.但對于經過加殼、代碼混淆等操作的惡意程序,靜態(tài)分析很難獲取其源代碼相關信息,使得準確率較低.動態(tài)檢測方法通過將惡意代碼放置在沙箱等虛擬環(huán)境中運行,可以獲取惡意代碼運行中的Windows API(application programming interface)調用序列、網絡流量等動態(tài)特征進行檢測.API調用序列可以反映一個惡意代碼的實際運行情況,是惡意代碼檢測中非常重要的特征.Tang等[2]提出了一種API序列的特征提取方法,根據顏色映射規(guī)則、API的類別、出現次數生成特征圖像,采用卷積神經網絡模型對圖像分類.雷凱[3]通過挖掘API調用序列數據信息,將API分為296類,對API進行One-hot編碼,使用Light GBM模型進行分類,取得了97.4%的準確率,但通過調用種類對API序列進行分類會明顯丟失API序列的時序特征.文獻[1-2]均在基于API調用序列的動態(tài)檢測技術上有所研究.這些研究成果可以很好應對靜態(tài)檢測技術的缺點,但也存在特征提取能力不足,模型泛化能力差的缺點.

        本文以惡意代碼的API調用序列為研究對象,提出了一種基于Windows API調用序列的惡意代碼檢測算法.主要貢獻如下:1) 提出一種新的基于API調用序列的惡意代碼特征提取方法,從統(tǒng)計特征與語義特征2個角度完成了對API序列的特征提取,可以從API序列中獲得更加豐富的特征;2) 設計基于Stacking集成策略的三層檢測模型,使用多個不同的弱學習器構成一個強學習器,提升了檢測模型的性能.

        1相關知識

        1.1Windows API Windows API是Windows操作系統(tǒng)中內置的功能函數,是應用程序與Windows操作系統(tǒng)交互的接口.例如,應用程序如果想要實現獲取權限、刪除文件、修改注冊表等功能就需要調用API實現.

        惡意代碼通過調用一系列的API來實現某種惡意行為.惡意行為相似的惡意代碼往往調用的API也具有相似性.因此可以通過分析API調用序列來判斷樣本是惡意樣本還是良性樣本.

        1.2N-gram算法 N-gram算法是一種基于統(tǒng)計語言模型的算法,被廣泛應用于詞性標注、垃圾郵件分類、機器翻譯和語音識別中.它的基本思想是將文本里面的內容按照詞語進行大小為N的滑動窗口操作,形成長度是N的詞語片段序列.其中N是指連續(xù)的N個詞語,N的取值任意.使用N-gram算法對API調用序列進行特征提取,將這個序列以N為大小進行窗口滑動操作得到長度為N的API序列.

        N-gram算法可以較好地保留單個API之間的時序特性,但是當N越大時,特征維數會急劇增加,使得分類器的學習時間過長、模型復雜度過高.因此,在使用N-gram算法時,需要選擇合適的N值.

        1.3TF-IDF算法 TF-IDF(term frequency-inverse document frequency,詞頻-逆向文件頻率)是一種統(tǒng)計方法,用以評估一段文字中一個詞語在一個語料庫中的重要程度.核心思想是:如果某個詞語在一段文字中出現的頻率高且在其他文字中出現的頻率很低,則認為此詞語具有很好的類別區(qū)分能力,適合用來分類.TF-IDF值的計算可表示為:TF-IDF=TF·IDF#.(1)TF表示某個API片段在樣本j中出現的頻率,定義為

        1.4Word2Vec模型 Word2Vec是一種從大量文本語料中以無監(jiān)督方式學習語義知識的語言模型,被廣泛地應用于自然語言處理中.Word2Vec模型本質上是具有一個隱含層的神經元網絡,其特點是能夠將單詞轉化為向量來表示,以便定量地去度量詞與詞之間的關系.

        Word2Vec模型有CBOW[4]和Skip-Gram[5]兩種方式.CBOW方法用周圍詞預測中心詞,根據中心的預測結果,使用Gradient Descent調整周圍詞的向量.Skip-Gram方法用中心詞來預測周圍詞,根據周圍詞的預測結果,使用Gradient Descent調整中心詞的詞向量.CBOW對小型數據庫比較合適;Skip-Gram在大型語料中表現更好,語料庫中有大量低頻詞時Skip-Gram的學習更加細致.

        1.5集成學習 集成學習就是將多個弱學習器按某種組合策略進行組合,構成一個強學習器,發(fā)揮單個學習器各自的優(yōu)點,提高整體模型的分類性能[6].Sagi等[7]指出集成學習可以提高模型的性能的原因有以下3點:

        1) 避免過擬合:當只有少量數據可用時,學習算法容易找到許多不同的假設,這些假設正確地預測了所有訓練數據,而對未知實例的預測較差.平均不同的假設可以降低選擇錯誤假設的風險,從而提高整體預測性能.

        2) 計算優(yōu)勢:執(zhí)行局部搜索的單個學習器可能陷入局部最優(yōu).通過組合多個學習器,集成方法降低了獲得局部最小值的風險.

        3) 最佳假設:組合不同的學習器,可以擴展搜索空間,從而更好地擬合數據空間.

        常見的組合策略有Bagging、Boosting、Stacking.Bagging的主要作用是減少數據的方差,Boosting主要作用是減少數據的偏差,Stacking集成學習框架是一種具有數學基礎,并且在不同領域得到良好應用的集成學習算法,主要用于提升預測結果.

        2基于Windows API的惡意代碼檢測方法

        2.1算法設計 本文提出的惡意代碼檢測方法總體架構如圖1所示.基本步驟如下:

        1) 使用沙箱獲取待檢測樣本的API調用序列,API進行截斷與去重操作;

        2) 提取API調用序列的統(tǒng)計特征與語義特征;

        3) 使用基于Stacking的三層檢測模型進行檢測.

        2.2數據預處理 由于原始數據中的API序列數據較為冗余.本文借鑒文獻[8]的方法,對API序列中的連續(xù)出現相同的API合并為一個API.

        2.3特征提取 本文使用N-gram算法和TF-IDF算法提取API序列的統(tǒng)計特征,使用Word2Vec模型提取API序列的語義特征.統(tǒng)計特征和語義特征進行拼接作為融合特征.

        1) 統(tǒng)計特征提取.使用N-gram算法將API序列處理成API片段.利用TF-IDF算法計算每個API片段的TF-IDF值作為API片段的特征值,可以為區(qū)分度較強的API片段分配更高的權重.N-gram算法導致特征維度過高,計算TF-IDF值時需要設置參數min_df與max_df過濾API片段進行特征降維.即當一個API片段的出現頻率(API_df)小于等于min_df或大于等于max_df時,則舍棄該API片段,可以有效地減少API序列的特征維度.

        2) 語義特征提取.由于API序列數據量較大,故采用Word2Vec模型的Skip-Gram方法訓練Word2Vec模型,訓練完成后可以將每個API表示為k維向量,向量之間的空間距離越小則說明二者的語義越相似.本文使用Word2Vec模型獲取API序列中單個API向量,以API序列的API向量的平均值作為此API序列的語義特征.

        2.4基于Stacking的三層檢測模型設計 本文采用Stacking組合策略設計了一個三層檢測模型,以提高模型的預測性能.本文設計的基于Stacking的三層檢測模型第一層為隨機森林(random forest,RF),第二層為Light GBM(LGB)和XGBoost(XGB),第三層為邏輯回歸(Logistic regression,LR).第一層使用特征維度為n的原始數據訓練隨機森林,獲得一組預測結果R1以及對特征的重要性排序;根據特征的重要性,選擇m維特征作為第二層的輸入來訓練LGB和XGB,在第二層獲得2組預測結果R2和R3;以上述的三組預測結果作為第三層LR的輸入,LR的預測結果作為最后的結果.

        3實驗結果與分析

        本章完成了本文提出的特征提取方法的論證,以及本文所設計模型的評估.

        3.1數據集 本文共使用3個數據集.數據集1來自阿里云安全惡意程序檢測比賽,共約9 000萬次調用記錄[9];數據集2來自文獻[10]中公開的數據集;數據集3來自Kaggle網站上公開的數據集[11],各數據集樣本分布如表1所示.后續(xù)實驗中采用5次5折交叉驗證進行實驗,實驗結果為各次實驗結果的平均值.

        3.2評價指標 機器學習中常用準確率Acc(Accuracy)、精確率Pre(Precision)、召回率Rec(Recall)、F1值(F1-score)和ROC(Receiver Operating Characteristic)曲線對模型的性能進行分析評估.

        3.3實驗環(huán)境 本文的實驗環(huán)境分為硬件環(huán)境和軟件環(huán)境,硬件環(huán)境:CPU(2.2 GHz)、內存(128 GB)、磁盤(36 TB);軟件環(huán)境:系統(tǒng)環(huán)境(Centos 7.8)、Python環(huán)境(Python 3.6).

        3.4特征提取 本節(jié)實驗在數據集1上完成了對API調用序列的特征提取.首先使用N-gram算法完成對API序列的離散化,計算API序列片段的TF-IDF值并設置min_df與max_df剔除冗余API片段,得到一維統(tǒng)計特征.其次,訓練Word2Vec模型,得到API序列的統(tǒng)計特征.統(tǒng)計特征與語義特征進行拼接作為融合特征.

        3.5模型評估 經過特征提取后,獲得的融合特征的維度為1 361維.本節(jié)實驗使用本文設計的基于Stacking的三層檢測模型(ST)與單一模型進行比較.實驗結果分別如表4和圖2所示.

        3.6檢測方法評估 本文方法與文獻[12-14]的方法,在數據集1上進行對照實驗.實驗結果表明:文獻[12-14]及本文的方法Acc分別為96.70%、97.10%、97.91%和98.30%.

        可以看出本文提出的方法要優(yōu)于其他3個方法.其原因在于:1) 使用N-gram算法可以保留單個API之間時序特性.使用TF-IDF算法可以反映API的調用頻率特性,給分類能力強的API片段賦予更高的權重,通過設置參數min_df和max_df過濾掉一些分類能力較弱的API片段.使用Word2Vec模型可以從API的語義層面反應API之間的關系.因此,本文所提出的惡意代碼特征提取方法可以獲得更重要的特征;2) 本文通過基于Stacking集成策略設計的學習器可以繼承各個學習器的優(yōu)點,增強模型的泛化性.所以在最后的實驗中可以取得較好的檢測效果.

        4結論

        為了充分挖掘出API調用序列中的重要特征,提高模型的準確性和泛化能力,本文提出了一種從API序列提取特征的方法,提取API序列的統(tǒng)計特征和語義特征為融合特征.設計了基于Stacking的三層檢測模型,利用集成學習的思想使用多個學習器構成一個學習器,以提高模型的性能.實驗結果表明,本文的特征提取方法是有效的.在多個數據集上證明了基于Stacking的三層檢測模型具有良好的準確率和泛化性.通過與其他文獻的方法進行比較,證明了本文檢測方法具有一定優(yōu)勢.

        參考文獻

        [1] GIBERT D, MATEU C, PLANES J. The rise of machine learning for detection and classification of malware:research developments, trends and challenges[J]. J Netw Comput Appl,2020,153:102526.

        [2] TANG M D, QIAN Q. Dynamic API call sequence visualisation for malware classification[J]. IET Inf Secur,2019,13(4):367-377.

        [3] 雷凱. 使用Windows API進行惡意軟件檢測的研究[D]. 北京:北京郵電大學,2021.

        [4] MIKOLOV T, CHEN K, CORRADO G, et al. Efficient estimation of word representations in vector space[EB/OL]. (2013-01-16) [2022-12-14] https://arxiv.org/pdf/1301.3781.pdf.

        [5] MIKOLOV T, SUTSKEVER I, CHEN K, et al. Distributed representations of words and phrases and their compositionality[C]//Proc 26th Inter Conf Neural Info Process Syst. Sydney:NIPS,2013,2:3111-3119.

        [6] DONG X B, YU Z W, CAO W M, et al. A survey on ensemble learning[J]. Frontiers of Computer Science,2020,14(2):241-258.

        [7] SAGI O, ROKACH L. Ensemble learning:a survey[J]. Wiley Interdisciplinary Reviews:Data Mining and Knowledge Discovery,2018,8(4):18.

        [8] TOBIYAMA S, YAMAGUCHI Y, SHIMADA H, et al. Malware detection with deep neural network using process behavior[C]//Proc Comput Soft & Appl Conf. Atlanta:IEEE,2016.

        [9] 阿里云. 阿里云安全惡意程序檢測[EB/OL]. [2019-03-24]. https://tianchi.aliyun.com.

        [10] CATAK F O, YAZ A F, ELEZAJ O, et al. Deep learning based sequential model for malware analysis using windows exe API calls[J/OL]. Peer J Comput Sci,2020. doi:10.7717/peerj-cs.285.

        [11] OLIVEIRA A. Malware analysis datasets:API call sequences[EB/OL]. (2022-08-20) [2022-12-14] www.kaggle.com.

        [12] 蘆效峰,蔣方朔,周簫,等. 基于API序列特征和統(tǒng)計特征組合的惡意樣本檢測框架[J]. 清華大學學報(自然科學版),2018,58(5):500-508.

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

        [14] 趙翠镕,張文杰,方勇,等. 基于語義API依賴圖的惡意代碼檢測[J]. 四川大學學報(自然科學版),2020,57(3):488-494.

        Malware Detection Method Based on Windows API Call SequenceYANG Bo ZHANG Jian LI Huanzhou TANG Zhangguo LI Zhixiang(1. College of Physics and Electronic Engineering, Sichuan Normal University, Chengdu 610101, Sichuan;

        2. Institute of Network and Communication Technology, Sichuan Normal University, Chengdu 610101, Sichuan)

        Abstract:In order to solve the problems of insufficient feature extraction ability and weak generalization of the detection model in existing malicious code detection methods, this paper presents a malicious code detection method based on Windows API call sequence. This detection method uses N-gram algorithm and TF-IDF algorithm to extract the statistical features of the sequence, and uses Word2Vec model to extract the semantic features, and then fuses the statistical features and semantic features as the features of API call sequences. The three-layer detection model based on stacking is designed, which forms a strong learner through multiple weak learners to improve the performance of the detection model. The experimental results show that the proposed feature extraction method can obtain more critical features, and the designed detection model is superior to the single model in accuracy, precision and recall rates, and has good generalization, which proves the effectiveness of the detection method.

        Keywords:malware detection; API call sequence; feature fusion; machines learning; three-layer detection model

        (編輯 周?。?/p>

        猜你喜歡
        特征融合機器學習
        基于多特征融合的圖像匹配算法
        軟件導刊(2017年7期)2017-09-05 06:27:00
        人體行為特征融合與行為識別的分析
        基于移動端的樹木葉片識別方法的研究
        科技資訊(2017年11期)2017-06-09 18:28:13
        基于SIFT特征的港口內艦船檢測方法
        融合整體與局部特征的車輛型號識別方法
        基于詞典與機器學習的中文微博情感分析
        基于機器學習的圖像特征提取技術在圖像版權保護中的應用
        基于網絡搜索數據的平遙旅游客流量預測分析
        時代金融(2016年27期)2016-11-25 17:51:36
        前綴字母為特征在維吾爾語文本情感分類中的研究
        科教導刊(2016年26期)2016-11-15 20:19:33
        基于支持向量機的金融數據分析研究
        欧洲美熟女乱又伦av影片| 亚洲图片第二页| 精品自拍偷拍一区二区三区| 国产桃色一区二区三区| 国产二级一片内射视频播放| 国产 国语对白 露脸| 亚洲av人妖一区二区三区| 亚洲综合国产精品一区二区| 制服丝袜一区二区三区| 超薄丝袜足j好爽在线观看| 亚洲欧美在线观看一区二区| 国产啪啪视频在线观看| 亚洲国产高清精品在线| 天天影视性色香欲综合网| 亚洲欧洲日产国码无码AV一| 91中文字幕精品一区二区| 日本中文一区二区在线观看| 国产精品无码av一区二区三区| 亚洲日韩欧美一区二区三区| 国产精品视频白浆免费看| 国产午夜片无码区在线播放| 欧美巨大性爽| 免費一级欧美精品| 中文字幕久久久人妻人区| 69sex久久精品国产麻豆| 国产夫妻av| 美女射精视频在线观看| 亚洲夜夜性无码| 亚洲黄色电影| 美女叉开双腿让男人插| 中文字幕乱码亚洲无限码| av一区二区三区人妻少妇| 久久精品爱国产免费久久| 日本免费大片一区二区三区| 国产电影一区二区三区| 狠狠久久久久综合网| 日韩精品中文字幕免费人妻| 一边摸一边做爽的视频17国产| 人人爽人人爽人人爽| 热re99久久精品国产66热6| 日韩av一区二区观看|