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

?

基于可視化特征的Android惡意軟件分類模型

2022-06-27 10:00:00李坤明莊海燕
關(guān)鍵詞:輕量化灰度卷積

桑 振,李坤明,莊海燕

(鐵道警察學(xué)院,河南 鄭州 450000)

0 引言

隨著互聯(lián)網(wǎng)的飛速發(fā)展,智能手機(jī)和平板等終端設(shè)備廣泛普及,Android操作系統(tǒng)憑借其開放性和良好的體驗(yàn)感成為現(xiàn)在智能終端市場的主流系統(tǒng)。Strategy Analytics公布的2021年第一季度全球手機(jī)出貨量顯示,當(dāng)季全球智能手機(jī)出貨3.4億部,同比增加24%。操作系統(tǒng)為Android系統(tǒng)的三星、華為、小米、OPPO和VIVO占據(jù)市場上60%的份額,在移動(dòng)智能終端市場上有著重要地位。

惡意軟件是故意設(shè)計(jì)的對系統(tǒng)正常運(yùn)行造成嚴(yán)重破壞性的軟件的統(tǒng)稱,它是互聯(lián)網(wǎng)上最嚴(yán)重的威脅之一,各種移動(dòng)終端設(shè)備給人們的生活提供了便利,同時(shí)也存在著很大的風(fēng)險(xiǎn)。Android手機(jī)市場占有率的不斷上升,催生了Android應(yīng)用程序的迸發(fā)式增長,進(jìn)而也滋生很多惡意軟件,惡意軟件介于正規(guī)軟件和病毒軟件之間,既具備正常的下載、媒體播放功能,同時(shí)也有彈廣告、開后門等惡意行為,對于用戶的個(gè)人信息和財(cái)產(chǎn)造成很大威脅,這將導(dǎo)致用戶知情權(quán)和選擇權(quán)遭受侵犯。Android惡意軟件種類繁多,常見的有廣告軟件、后門程序、文件感染程序、勒索軟件、恐嚇軟件等。據(jù)統(tǒng)計(jì),2020年360安全大腦系統(tǒng)在移動(dòng)端共截獲惡意程序454.6萬個(gè),相較于2019年增長了151.3%,因此對于移動(dòng)終端惡意軟件的檢測至關(guān)重要。

1 國內(nèi)外研究現(xiàn)狀

近些年,將可視化技術(shù)和卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合的Android惡意軟件檢測方法層出不窮,NATARAJ等[1]首次將惡意軟件轉(zhuǎn)化為灰度圖像,開辟了卷積神經(jīng)網(wǎng)絡(luò)在惡意軟件分類中的新篇章。ZHANG等[2]直接提取惡意軟件的操作碼序列,使用直方圖歸一化方法,擴(kuò)張和侵蝕處理惡意軟件圖像,使用卷積神經(jīng)網(wǎng)絡(luò)來對操作碼圖像進(jìn)行分類。NI等[3]將反匯編的惡意軟件代碼轉(zhuǎn)換為基于SimHash的灰度圖像,然后通過卷積神經(jīng)網(wǎng)絡(luò)識(shí)別惡意軟件所屬家族。郗桐等[4]將可執(zhí)行文件的匯編操作碼序列映射為矩陣,然后使用卷積神經(jīng)網(wǎng)絡(luò)作為檢測模型。張晨斌等[5]將惡意軟件以字節(jié)為單位生成一個(gè)像素值,以固定像素寬度將惡意軟件轉(zhuǎn)換為灰度圖,然后使用包括CNN等多個(gè)分類器進(jìn)行檢測。張景蓮等[6]利用B2M算法將惡意代碼轉(zhuǎn)換為灰度圖,并采用單通道的卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)灰度圖像的紋理特征,通過SoftMax實(shí)現(xiàn)惡意代碼家族分類。夏曉玲等[7]把Apk文件解壓后的二進(jìn)制文件以灰度圖的形式展現(xiàn),再結(jié)合融合模型的高階卷積神經(jīng)網(wǎng)絡(luò)來提高檢測的準(zhǔn)確率。李媛媛等[8]提取Android安裝包中的dex可執(zhí)行文件,將其轉(zhuǎn)化為灰度數(shù)值向量并進(jìn)行歸一化處理,采用深度神經(jīng)網(wǎng)絡(luò)搭建惡意軟件二分類系統(tǒng)。

深度神經(jīng)網(wǎng)絡(luò)隨著層數(shù)的增多,對訓(xùn)練硬件配置要求更加苛刻,訓(xùn)練過程往往更加耗時(shí)。已有研究多專注于提升惡意代碼檢測的準(zhǔn)確率,對于Android惡意代碼的檢測速度還有待提高,通過在深度神經(jīng)網(wǎng)絡(luò)中引入輕量化結(jié)構(gòu),可以在保持對目標(biāo)檢測精度的同時(shí)大幅提升檢測速度,并且其部署相對簡單、易于實(shí)現(xiàn),多用于移動(dòng)和嵌入式設(shè)備中。本文引入提取 Android 應(yīng)用程序特征圖像的思想,通過輕量化的卷積神經(jīng)網(wǎng)絡(luò)來完成惡意代碼的檢測工作。

2 模型理論基礎(chǔ)

2.1 惡意軟件的靜態(tài)分析

惡意程序的檢測,可分為靜態(tài)分析與動(dòng)態(tài)分析。靜態(tài)分析不運(yùn)行待檢測代碼,而是通過直接對程序(如反匯編后的代碼)進(jìn)行統(tǒng)計(jì)分析得到數(shù)據(jù)特征,而動(dòng)態(tài)分析則在虛擬機(jī)或沙箱中執(zhí)行程序,獲取程序執(zhí)行過程中所產(chǎn)生的數(shù)據(jù)(如行為特征、網(wǎng)絡(luò)特征),進(jìn)行檢測和判斷。常用的靜態(tài)特征包括程序的二進(jìn)制文件、從使用IDA Pro等工具進(jìn)行反匯編得到的匯編代碼中提取的匯編指令、函數(shù)調(diào)用等信息,另外,基于字符串和基于API調(diào)用序列的特征也是比較常見的。

Android軟件在手機(jī)上的數(shù)據(jù)安裝格式為APK安裝包,Android應(yīng)用程序從編譯到打包為APK安裝包一般會(huì)經(jīng)過三個(gè)步驟,如圖1所示。首先,在編譯階段,編譯器將應(yīng)用模型的應(yīng)用模塊和相關(guān)依賴編譯為dex文件,該文件可以在Dalvik虛擬機(jī)上執(zhí)行;然后,將第一步生成的dex文件和一些已經(jīng)編譯過的資源打包為APK文件;最后,對APK進(jìn)行簽名,保證其在Android設(shè)備上正常安裝,如圖1所示。

圖1 APK的編譯與打包

2.2 特征可視化

本文分析了Android軟件的APK安裝包的編譯過程,提取其中具有代表性的可執(zhí)行文件classes.dex,它是整個(gè)APK文件的核心,可確保文件在Dalvik VM上的正常運(yùn)行??蓤?zhí)行文件在計(jì)算機(jī)中是以二進(jìn)制形式存儲(chǔ)的,通過讀取二進(jìn)制形式的dex文件,將其輸出為二進(jìn)制表示的矩陣形式,取8位的二進(jìn)制碼為一個(gè)單元,將其轉(zhuǎn)化為十進(jìn)制,每個(gè)十進(jìn)制數(shù)映射為灰度圖像中的每一個(gè)灰階值,進(jìn)而實(shí)現(xiàn)可執(zhí)行文件向灰度特征圖的轉(zhuǎn)換過程(圖2)。

圖2 特征可視化過程

2.3 MobileNet-V1模型

隨著卷積神經(jīng)網(wǎng)絡(luò)在人工智能領(lǐng)域的廣泛應(yīng)用,對其性能的要求逐漸提高。網(wǎng)絡(luò)的不斷加深、數(shù)據(jù)量的增多以及網(wǎng)絡(luò)學(xué)習(xí)任務(wù)的加重使得網(wǎng)絡(luò)訓(xùn)練的效率問題日益突出,主要包含以下兩個(gè)問題:(1)網(wǎng)絡(luò)層數(shù)的不斷增加,會(huì)帶來大量的參數(shù),而大量的參數(shù)則需要高性能的儲(chǔ)存設(shè)備;(2)在真實(shí)的應(yīng)用場景中,檢測任務(wù)經(jīng)常需要是毫秒級(jí)別的,即具備很高的實(shí)時(shí)性,這樣就需要高性能的處理器或是通過優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)減少計(jì)算量。

輕量化模型通過設(shè)計(jì)高效的網(wǎng)絡(luò)計(jì)算方式,大幅減小網(wǎng)絡(luò)的計(jì)算復(fù)雜度,同時(shí)保持與原先網(wǎng)絡(luò)相當(dāng)?shù)男阅?。MobileNet-V1模型是為了適應(yīng)移動(dòng)端和嵌入式系統(tǒng)的視覺應(yīng)用而設(shè)計(jì)的輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)模型[9],如圖3所示,采用深度可分離卷積結(jié)構(gòu),將標(biāo)準(zhǔn)的卷積結(jié)構(gòu)分解成一個(gè)深度卷積和一個(gè)點(diǎn)卷積,3×3深度卷積將每個(gè)卷積核應(yīng)用到每一個(gè)通道,而1×1點(diǎn)卷積用來組合每個(gè)通道的輸出[10],采用深度可分離卷積結(jié)構(gòu)很大程度上減少模型參數(shù)數(shù)量,提升模型的速度,同時(shí)具有較高的分類準(zhǔn)確率,可以在保持很高的檢測精度的同時(shí)具有很好的檢測速度。本文模型采用深度可分離卷積結(jié)構(gòu)對深度神經(jīng)網(wǎng)絡(luò)進(jìn)行改造,將其設(shè)計(jì)為適用于移動(dòng)智能設(shè)備上的檢測任務(wù),可以保證移動(dòng)設(shè)備上檢測的準(zhǔn)確性和快速性。

圖3 標(biāo)準(zhǔn)卷積和深度可分離卷積

深度可分離卷積結(jié)構(gòu)將標(biāo)準(zhǔn)的卷積分成兩個(gè)部分:DWConv和PWConv。DWConv指對每個(gè)輸入通道單獨(dú)使用一個(gè)3×3的卷積核,PWConv是指1×1的點(diǎn)卷積,用于組合DWConv卷積的輸出,表1為MobileNet-V1網(wǎng)絡(luò)具體結(jié)構(gòu)。

表1 MobileNet-V1結(jié)構(gòu)

續(xù)表

(1)

因此,深度可分離卷積計(jì)算量是標(biāo)準(zhǔn)卷積計(jì)算量的1/N,可以很大程度上減少網(wǎng)絡(luò)的計(jì)算復(fù)雜度。

3 模型的搭建與訓(xùn)練

本模型選擇輕量化的卷積神經(jīng)網(wǎng)絡(luò)作為一個(gè)分類器,將Android軟件分為良性軟件和惡意軟件。主要有以下步驟:(1)數(shù)據(jù)采集與預(yù)處理;(2)模型設(shè)計(jì);(3)模型訓(xùn)練與評估。

3.1 數(shù)據(jù)采集與預(yù)處理

一般深度學(xué)習(xí)都是直接將原數(shù)據(jù)作為輸入,但是由于有些Android應(yīng)用軟件比較大,對于其特點(diǎn)的學(xué)習(xí)效率過低,一般都是從源數(shù)據(jù)中提取一些可以描述應(yīng)用的特征。本文數(shù)據(jù)集包含良性軟件和惡意軟件兩種類型,其中良性軟件下載自Google play市場,惡意軟件來自加拿大安全研究所提供的公共數(shù)據(jù)集[11],選擇其中良性軟件和惡意軟件安裝包各1 481個(gè),提取其中的classes.dex可執(zhí)行文件,將其轉(zhuǎn)化為二進(jìn)制表達(dá)的矩陣形式。本文采用卷積神經(jīng)網(wǎng)絡(luò)來訓(xùn)練,考慮將圖像作為輸入,即實(shí)現(xiàn)惡意軟件的可視化,將處理后的二進(jìn)制數(shù)據(jù)轉(zhuǎn)化生成對應(yīng)的灰度圖像,將構(gòu)造的數(shù)據(jù)特征轉(zhuǎn)換成適用于卷積神經(jīng)網(wǎng)絡(luò)輸入的數(shù)據(jù)類型,圖4為可執(zhí)行文件轉(zhuǎn)化后生成的灰度特征圖像。

(a)良性軟件 (b)惡意軟件圖4 良性軟件和惡意軟件灰度圖像

3.2 模型設(shè)計(jì)

本文模型主要分為兩個(gè)部分,首先提取Android軟件APK壓縮包中的可執(zhí)行文件,采用可視化方法將二進(jìn)制文件轉(zhuǎn)換成灰度圖像。然后搭建輕量化的卷積神經(jīng)網(wǎng)絡(luò),進(jìn)行檢測模型的訓(xùn)練與調(diào)參。在Windows環(huán)境下,基于Tensorflow框架搭建卷積神經(jīng)網(wǎng)絡(luò)檢測模型,并對模型進(jìn)行輕量化改造,將第一步預(yù)處理后的數(shù)據(jù)作為輸入,輸入搭建好的輕量化卷積神經(jīng)網(wǎng)絡(luò),通過網(wǎng)絡(luò)的迭代訓(xùn)練來學(xué)習(xí)惡意軟件樣本數(shù)據(jù)的全局泛化特征,實(shí)時(shí)監(jiān)控訓(xùn)練損失變化,并根據(jù)模型檢測的精度和速度不斷調(diào)節(jié)訓(xùn)練參數(shù),模型結(jié)構(gòu)設(shè)計(jì)如圖5所示。

圖5 本文模型結(jié)構(gòu)

3.3 模型訓(xùn)練與評估

本文基于Windows10系統(tǒng),顯卡為NVIDIA GTX1050Ti,在主流的Tensorflow學(xué)習(xí)框架上搭建本文模型,并引入傳統(tǒng)的VGG16網(wǎng)絡(luò)作為對比,將預(yù)處理后的灰度圖片按照訓(xùn)練集、測試集為7∶3的比例隨機(jī)抽取并轉(zhuǎn)換為tfrecord文件,設(shè)置Batch size為32,迭代學(xué)習(xí)10萬步,通過Tensorboard實(shí)時(shí)監(jiān)控訓(xùn)練過程中損失變化,圖6為迭代過程中的總損失值變化。

圖6 總損失值變化

為了便于訓(xùn)練模型的定量測試,使用準(zhǔn)確率、圖片檢測速度和參數(shù)量三個(gè)指標(biāo)來評估本文模型分類的效果,其中,準(zhǔn)確率定義為

(2)

其中,TP表示被正確分類為惡意樣本的數(shù)量,TN表示被正確分類為良性軟件的數(shù)量,P表示總體的惡意軟件樣本數(shù),N表示總體的良性軟件樣本數(shù)。

將傳統(tǒng)VGG16模型和本文模型準(zhǔn)確率、圖片檢測速度和參數(shù)量三個(gè)指標(biāo)進(jìn)行對比,如表2所示。

表2 模型評估參數(shù)對比

根據(jù)評估結(jié)果可以看出,本文搭建的輕量化的卷積神經(jīng)網(wǎng)絡(luò)較傳統(tǒng)方法,可以在保持較高準(zhǔn)確率的同時(shí),很大程度上減少網(wǎng)絡(luò)的參數(shù)量,提高圖片檢測速度,滿足對移動(dòng)端惡意軟件快速且準(zhǔn)確分類的要求。

4 結(jié)語

本文將特征可視化與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合,設(shè)計(jì)了一種輕量化卷積神經(jīng)網(wǎng)絡(luò)的惡意軟件分類模型,首先通過分析惡意軟件的靜態(tài)特征,對惡意軟件安裝包中可執(zhí)行文件進(jìn)行特征可視化,將其轉(zhuǎn)化為對應(yīng)的灰度圖像,然后引入卷積神經(jīng)網(wǎng)絡(luò)用于惡意軟件的識(shí)別。模型可以很好地學(xué)習(xí)惡意軟件的深層次特征,具有很高的魯棒性。同時(shí),對于標(biāo)準(zhǔn)卷積在特征學(xué)習(xí)過程中計(jì)算復(fù)雜度較大的問題,對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行輕量化改造,大幅減少卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練參數(shù),能夠兼顧準(zhǔn)確性與實(shí)時(shí)性的要求,適用于移動(dòng)設(shè)備上端到端的實(shí)時(shí)分類任務(wù)。

猜你喜歡
輕量化灰度卷積
采用改進(jìn)導(dǎo)重法的拓?fù)浣Y(jié)構(gòu)灰度單元過濾技術(shù)
汽車輕量化集成制造專題主編
基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
基于灰度拉伸的圖像水位識(shí)別方法研究
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
一種輕量化自卸半掛車結(jié)構(gòu)設(shè)計(jì)
基于傅里葉域卷積表示的目標(biāo)跟蹤算法
基于最大加權(quán)投影求解的彩色圖像灰度化對比度保留算法
基于灰度線性建模的亞像素圖像抖動(dòng)量計(jì)算
瞄準(zhǔn)掛車輕量化 鑼響掛車正式掛牌成立
專用汽車(2016年1期)2016-03-01 04:13:19
屏南县| 萨嘎县| 曲阳县| 乌拉特后旗| 滦南县| 凤凰县| 法库县| 康定县| 隆尧县| 图们市| 八宿县| 稷山县| 永春县| 德庆县| 开阳县| 保山市| 康马县| 山丹县| 鹿泉市| 阜新市| 延庆县| 竹北市| 江川县| 宿州市| 通河县| 木里| 错那县| 江山市| 景谷| 湖口县| 波密县| 克东县| 治县。| 威信县| 邳州市| 汉源县| 汉中市| 北辰区| 泾川县| 富民县| 佛冈县|