999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于紋理指紋與活動向量空間的Android惡意代碼檢測

2018-06-20 06:17:02羅世奇田生偉
計算機應用 2018年4期
關鍵詞:特征實驗檢測

羅世奇,田生偉,禹 龍,于 炯,孫 華

(1.新疆大學 軟件學院,烏魯木齊 830008; 2.新疆大學 網絡中心,烏魯木齊 830046)(*通信作者電子郵箱yul_xju@163.com)

0 引言

隨著安卓市場規模的擴大,大量的移動終端廣泛被人們使用。因此,安卓智能終端出現了諸多的信息安全攻擊與防護問題,很多用戶的隱私被惡意代碼(惡意代碼是一些惡意的軟件,即廣義的病毒)獲取。2017年5月,一種名為WannaCry(永恒之藍)的電腦勒索病毒正在全球蔓延,已超過100個國家受到病毒感染。最嚴重的地區集中在美國、歐洲、澳洲等地區,同時也由國外進入中國,而國內受影響最嚴重的主要集中在高校,并蔓延至機場、海關、公安網等大型公共服務區域。在移動終端領域,Android平臺已經成為了一個非常流行的手機操作系統平臺,并且占據了世界上超過一半的手機操作系統市場份額。隨著Android智能手機與Android平板電腦的大熱與普及,Android手機病毒也發展迅猛[1]。如何對Android惡意代碼進行檢測就顯得尤為關鍵,因此,惡意代碼的特征提取、識別預測是當前網絡空間安全領域研究的熱點。

目前,國內基于安卓平臺的各類應用程序還處在快速發展中。其惡意代碼還沒有引起計算機用戶足夠的重視,針對基于安卓平臺惡意代碼的分析手段還處在探索階段。就惡意代碼分析與檢測領域,代表性的研究如下:

李挺等[2]提出了一種基于Dalvik指令的Android惡意代碼特征形式化描述和分析方法,能夠在無需反編譯應用程序的基礎上,快速檢測樣本的惡意特征。該方法首先依照DEX文件格式對Android應用程序進行切分,得到以方法為單位的指令塊,通過對塊中Dalvik指令進行形式化描述以實現程序特征的簡化和提取,之后綜合使用改進的軟件相似度度量算法和閔可夫斯基距離算法計算提取特征與已知惡意特征的相似度,并根據相似度比對結果來判定當前待測軟件是否含有惡意代碼。陳鐵明等[3]提出了一個Android惡意代碼的靜態檢測系統Maldetect,首先采用逆向工程將DEX文件轉化為Dalvik指令并對其進行簡化抽象,再將抽象后的指令序列進行N-Gram編碼作為樣本訓練,最后利用機器學習算法創建分類檢測模型,并通過對分類算法與N-Gram序列的組合分析,提出了基于3-Gram和隨機森林的優選檢測方法。胡文君等[4]綜合靜態和動態分析技術,設計實現了Android惡意代碼檢測系統。在靜態分析部分,提取Android程序中的權限、程序編程接口(Application Programming Interface, API)調用序列、組件、資源以及APK結構構建特征向量,應用相似性度量算法,檢測已知惡意代碼家族的惡意代碼樣本,在動態分析部分,通過修改Android源碼、重新編譯成內核鏡像,使用該鏡像文件加載模擬器,實時監控Android程序的文件讀寫、網絡連接、短信發送以及電話撥打等行為,基于行為的統計分析檢測未知惡意代碼。Arp等[5]利用支持向量機(Support Vector Machine, SVM)對安卓惡意代碼進行檢測。本文作者已探索利用深度學習方法對Microsoft惡意代碼進行檢測,并且取得了不錯的效果[6-7]。

綜上所述,目前的惡意代碼研究可以劃分為:基于靜態分析的方法[8]、基于動態分析的方法[9]和基于動靜態融合分析的方法(基于特征碼+基于行為分析的技術)[10]。

這些研究雖然取得了不錯的進展,但是仍然存在以下不足:

1)傳統的方法(基于簽名、特征匹配、特征碼)對于指數級增長的惡意代碼,不能達到很好的識別和分類效果,并且單純依賴人工作業制定規則,不能夠全面地抽取并篩選出惡意代碼的特征。

2)惡意代碼靜態分析方法不能檢測到運行中釋放的惡意代碼。惡意代碼動態分析無法處理的靜態的應用程序,基于動態分析方法在程序運行時執行,全面監視惡意代碼的執行過程,但是分析過程相當耗時,對實時性要求較高,必須確保在惡意程序對系統產生危害之前檢測出威脅。并且,目前動態分析方法在系統應用層對系統函數進行監控,缺乏對內存和寄存器方面的檢測,很難對內核級惡意代碼進行檢測,從而很難確保惡意代碼分析的完整性。

本文在利用惡意代碼紋理指紋與惡意代碼活動向量空間相結合的基礎之上,利用棧式自編碼模型對安卓惡意代碼進行檢測,主要工作如下:

本文探索惡意代碼紋理指紋與惡意代碼活動向量空間的基礎之上,利用棧式自編碼模型對安卓惡意代碼進行檢測,主要工作如下:

1)利用惡意代碼紋理指紋體現二進制塊的相似性,表示惡意代碼的靜態特征;利用惡意代碼活動向量空間代表惡意代碼的動態特征。利用動態特征和靜態特征相的結合的方式來分析惡意代碼。

2)采用深度學習機制,模擬人腦對惡意代碼數據進行特征抽取、篩選,從而達到良好的分類與檢測效果。

1 算法模型

Android惡意代碼分析檢測技術,采用深度學習中常見的神經網絡模型棧式自編碼。棧式自編碼屬于分層模型,第一層為可視層,也叫輸入層,頂層一般為分類器層,中間層均稱為隱藏層,網絡中的節點稱為神經元。

棧式自編碼神經網絡是一個由多層自編碼器(Auto Encoder, AE)組成的神經網絡,其前一層自編碼器的輸出作為其后一層自編碼器的輸入。通過逐層貪婪訓練法依次訓練網絡的每一層,進而預訓練整個深度神經網絡。

AE是一種三層神經網絡模型,包含了數據輸入層、隱藏層、輸出重構層,同時它是一種無監督學習模型。它嘗試學習一個和原數據相近的近似函數h(x)≈x,這也是它屬于無監督神經網絡的原因。自編碼網絡包含兩個過程:

1)從輸入層到隱藏層,即原始數據x的編碼過程:

h=gθ1(x)=f(W1x+b)

(1)

2)從隱藏層到輸出層,即數據的解碼過程:

(2)

其中:x表示原始數據輸入;h(x)表示學習一個和原數據相近的近似函數;神經元的激活函數f(z)指Sigmoid函數,即f(z)=1/(1+exp(-z))。

圖1 自編碼結構

圖1中,“+1”表示偏置項(截距項)的系數,xi表示輸入層的神經元單元,ai表示隱藏層的神經元單元,yi表示輸出層的神經元單元。

為了學習到輸入數據的高層特征并壓縮數據,隱藏層神經元數小于可視層神經元數,它的輸出向量即為原始數據的抽象表示,隱藏層的輸出可以表示如下:

hW,b(x)=sigmoid(Wx+b)

(3)

其中:W為權重參數矩陣;b為偏執項;x為輸入向量。整個網絡的代價可表示如下:

(4)

棧式自編碼(Stacked AE, SAE)[11]是自編碼器(AE)的深度形式,含有多個隱藏層。相對于AE,它能提取更抽象的特征。SAE如圖2所示。圖2中,“+1”表示偏置項(截距項)的系數,xi表示輸入層的神經元單元,ai表示隱藏層的神經元單元,bi表示隱藏層的神經元單元,yi表示輸出層的神經元單元,神經元的激活函數采用Sigmoid函數。

最后,整個模型通過Softmax分類器進行微調。Softmax回歸是邏輯回歸的擴展形式,通過估算樣本所屬類別的概率對多個類別的樣本進行分類。其基本思想是設訓練樣本及標簽數據為{(x1,y1),(x2,y2),…,(xn,yn)},xi為訓練樣本,yi∈{1,2,…,n}為xi對應的標簽,則估計樣本xi在Softmax函數中所對應的類別標簽k的概率為:

(5)

圖2 棧式自編碼結構

2 數據處理與特征提取

2.1 實驗數據

實驗數據來源于Drebin安卓惡意代碼數據集,其樣本收集了2010年8月—2012年10月。GooglePlay Store等大型Android應用市場的AndroidPackage文件,可以通過http://user.cs.uni-goettingen.de/~darp/drebin獲取數據集。在Drebin數據中共有129 013個數據集樣本,其中Android惡意代碼有5 560個,良性Android代碼樣本有123 453個。

圖5 基于SAE的Android惡意代碼指紋特征篩選

2.2 數據預處理

將帶標簽的安卓惡意代碼進行預處理,具體步驟如圖3所示:

1)對Android應用進行分析,利用Android軟件開發工具(Software Development Kit,SDK)中自帶的安卓資產打包工具(Android Assert Packaging Tool, AAPT)對每個安卓應用(即APK)進行解壓縮,得到Android Manifest.xml文件、lib庫等文件。

2)通過APK tool工具和shell腳本提取Android惡意程序樣本的權限。

3)使用Android原生軟件開發工具包NDK(Native Development Kit)中的arm-linux-Androideabi-readelf.exe提取native代碼,編譯鏈接后生成ELF文件的函數調用序列。

圖3 Android惡意代碼預處理

2.3 特征提取

Android惡意代碼檢測與分析技術研究中,特征提取的好壞直接影響了分類與檢測的準確率。因此,實驗中首先對數據進行預處理,然后提取惡意代碼紋理和惡意代碼向量空間特征。

2.3.1 惡意代碼紋理指紋特征

根據同一類型的惡意代碼在紋理指紋上具有一定的相似性,本文提出了一種基于紋理指紋的惡意代碼特征提取及檢測方法。通過結合圖像處理技術與惡意代碼檢測技術,將惡意代碼映射為無壓縮的灰階圖片[12-16]。本文在借鑒前人的研究之上,探索利用惡意代碼紋理指紋特征對惡意代碼進行分類,與以往利用紋理指紋就行惡代碼變種檢測方法[15]不同的是,本文是利用紋理特征對惡意代碼進行特征提取與分類。

圖4 惡意代碼紋理指紋分析

基于棧式自編碼的Android惡意代碼紋理指紋特征篩選策略,將特征提取、描述后的Android惡意代碼特征以灰度的方式展示出來,采用棧式自編碼無監督學習算法構建深度網絡模型,利用經過預處理的惡意代碼數據逐級無監督訓練每層網絡,并最終利用Softmax分類器進行調整,對Android惡意代碼紋理指紋進行特征篩選,如圖5所示。

2.3.2 惡意代碼活動向量空間特征

Android惡意代碼API調用通常反映特定的模式軟件的動態活動,例如惡意代碼發送短信會調用SEND_SMS作為許可,使用撥號功能會調用android.hardware.telephony作為許可。類比自然語言處理中詞向量的概念,本文提出了惡意代碼活動向量空間,將惡意代碼映射到向量空間。

本文利用集合S,定義一個|S|維的特征特征向量空間,如果對于一個Android惡意代碼樣本APKi,若調用SEND_SMS等活動則向量空間映射為1(多次調用則為次數n),反之為0。向量空間的構建如下所示:

Android系統具有嚴格的權限管理機制,很多與用戶體驗和數據相關的功能都設定了各自的使用權限,因此在實現其惡意行為時,需要相應的權限。例如,選取的惡意代碼活動包括敏感權限(SEND_SMS、SendSMS)、入口點和惡意模塊(Activity、 permission)。本文選取33類惡意代碼活動,選取的具有代表性的惡意代碼活動。

1) android.hardware.telephony

2) android.permission.INTERNET

3) android.permission.READ_PHONE_STATE

4) android.permission.ACCESS_CACHE_FILESYSTEM

5) android.permission.READ_LOGS

6) android.hardware.screen.portrait

7) android.hardware.screen.landscape

8) SEND_SMS

9) SendSMS

10) android.hardware.wifi

11) android.intent.action.MAIN

12) android.hardware.camera

13) android.intent.category.LAUNCHER

14) android.permission.WAKE_LOCK

15) android.permission.VIBRATE

16) android.hardware.location.network

17) getSystemService

18) getSubscriberId

19) android.permission.RECEIVE_BOOT_COMPLETED

20) android.permission.ACCESS_NETWORK_STATE

21) DELETE_PACKAGES

22) WebView

23) ru.alpha.AlphaReceiver

24) android/telephony/TelephonyManager

25) BootReceiver

26) Obfuscation

27) android/content/Context

28) RestartAppTrigger

29) android.hardware.location.gps

30) android/media/AudioManager

31) android.permission.CALL_PHONE

32) HttpPost

33) android/location/LocationManager

2.3.3 特征融合

為確保分析與檢測準確率的提高,融合本文提出惡意代碼紋理指紋和惡意代碼活動向量空間。

1) subtrainLabel= pd.read_csv(′label.csv′)

2) subtrainfeature1= pd.read_csv("imgfeature.csv")

3) subtrainfeature2= pd.read_csv("call.csv")

4) subtrain= pd.merge(subtrainfeature1,subtrainfeature2,on=′Id′)

5) subtrain= pd.merge(subtrain,subtrainLabel,on=′Id′)

6) labels=subtrain.Class

7) subtrain.drop(["Class","Id"], axis=1, inplace=True)

8) subtrain=subtrain.as_matrix()

融合上述兩類特征之后,訓練自編碼器和Softmax分類器,如圖6所示。

圖6 基于SAE的Android惡意代碼分析檢測模型

3 實驗與分析

3.1 實驗環境

實驗環境如表1所示,實驗所需python模塊如表2所示。

表1 實驗環境

表2 實驗需要的python模塊

本文實驗選取了不同的數據樣本來確定可變參數(特征數目、網絡層數等),分別有1 550、2 620、5 825、6 956條實驗數據,其中60%的樣本數據為訓練數據,其他為測試數據;同時使用統一的統計指標來評價模型的性能,準確率(Accuracy, A)由式(6)來衡量:

A=(TP+TN)/(TP+TN+FP+FN)

(6)

其中:TP代表真陽性的個數;FP代表假陽性的個數;TN代表真陰性的個數;FN代表假陰性的個數。

表3 基于混淆矩陣的 TP、TN、FP、FN

3.2 模型中可變參數對準確率的影響

實驗中的可變參數包括特征數目、網絡層數等,為使實驗結果達到最優,在相同的數據集上,對可變參數進行調試,選出最優參數。實驗結果如圖7所示。

圖7 紋理指紋特征數目對于準確率的影響

從圖7可看出,當紋理指紋特征數目為2 000時準確率最高,表明當紋理指紋特征為2 000時能夠很好地代表惡意代碼的特征,達到很好的分類效果。

從圖8可看出,當SAE網絡層數為4層時準確率最高。因此后續實驗中模型的參數的設定如表4所示。

圖8 SAE網絡層數對于準確率的影響

3.3 紋理指紋特征對于實驗結果的影響

為驗證紋理指紋特征對于實驗結果有著重要的影響,在上述參數模型的基礎上對使用紋理指紋特征融合惡意代碼活動向量空間和只采用惡意代碼活動向量空間進行對比實驗,結果如圖9所示。

圖9 紋理指紋特征對于準確率的影響

紋理指紋特征對于準確率有著重要的影響。從圖9可看出,加入紋理指紋特征后分類準確率明顯上升。

3.4 本文模型同支持向量機模型對比

根據上述實驗結果,使用棧式自編碼模型融合惡意代碼活動向量空間和惡意代碼紋理指紋特征,與經典傳統算法支持向量機SVM進行對比實驗。實驗結果如圖10所示。

圖10 同支持向量機模型對比

從圖10可以看出,與SVM相比,棧式自編碼模型結合惡意代碼紋理指紋和惡意代碼活動向量空間特征,能夠有效地識別出惡意代碼。

4 結語

本文與在利用Android惡意代碼活動向量空間特征的基礎之上,提出了惡意代碼紋理指紋特征;并探索利用棧式自編碼模型來提取惡意代碼紋理指紋和惡意代碼活動向量空間特征。實驗結果表明,提出的棧式自編碼的Android惡意代碼分析檢測模型,平均分類準確率可達94.9%,比SVM提高1.1個百分點。

參考文獻(References)

[1] TAM K, FEIZOLLAH A, ANUAR N B, et al. The evolution of Android malware and Android analysis techniques[J]. ACM Computing Surveys, 2017, 49(4): 76.

[2] 李挺, 董航, 袁春陽, 等. 基于Dalvik指令的Android惡意代碼特征描述及驗證[J]. 計算機研究與發展, 2014, 51(7): 1458-1466.(LI T, DONG H, YUAN C Y, et al. Description of Android malware feature based on dalvik instructions[J]. Journal of Computer Research and Development, 2014, 51(7): 1458-1466.)

[3] 陳鐵明, 楊益敏, 陳波. Maldetect: 基于Dalvik指令抽象的Android惡意代碼檢測系統[J]. 計算機研究與發展, 2016, 53(10): 2299-2306.(CHEN T M, YANG Y M, CHEN B. Maldetect: an Android malware detection system based on abstraction of dalvik instructions[J]. Journal of Computer Research and Development, 2016, 53(10): 2299-2306.)

[4] 胡文君, 趙雙, 陶敬, 等. 一種針對Android平臺惡意代碼的檢測方法及系統實現[J]. 西安交通大學學報, 2013, 47(10): 37-43.(HU W J, ZHAO S, TAO J, et al. A detection method and system implementation for Android malware[J]. Journal of Xi’an Jiaotong University, 2013, 47(10): 37-43.)

[5] ARP D, SPREITZENBARTH M, HüBNER M, et al. DREBIN: effective and explainable detection of Android malware in your pocket[EB/OL]. [2017- 05- 10]. https: //www.tu-braunschweig.de/Medien-DB/sec/pubs/2014-ndss.pdf.

[6] 羅世奇, 田生偉, 孫華, 等. 深度信念網絡的惡意代碼分類策略研究[J]. 小型微型計算機系統, 2017, 38(11): 2465-2470.(LUO S Q, TIAN S W, SUN H, 等. Research strategy of classify malicious code into families on the method of deep belief networks[J]. Journal of Chinese Computer Systems, 2017, 38(11): 2465-2470.)

[7] 羅世奇, 田生偉, 孫華, 等. 棧式自編碼的惡意代碼分類算法研究[J]. 計算機應用研究, 2018, 35(1): 261-265.(LUO S Q, TIAN S W, SUN H, et al. Research on malicious code classification algorithm of stacked auto encoder[J]. Application Research of Computers, 2018, 35(1): 261-265.)

[8] SESHAGIRI P, VAZHAYIL A, SRIRAM P. AMA: static code analysis of Web page for the detection of malicious scripts [J]. Procedia Computer Science, 2016, 93: 768-773.

[9] SHIBAHARA T, YAGI T, AKIYAMA M, et al. Efficient dynamic malware analysis based on network behavior using deep learning[C]// Proceedings of the 2016 IEEE Global Communications Conference. Piscataway, NJ: IEEE, 2017: 1-7.

[10] MOSER A, KRUEGEL C, KIRDA E. Limits of static analysis for malware detection[C]// Proceedings of the Twenty-Third Annual Computer Security Applications Conference. Piscataway, NJ: IEEE, 2007: 421-430.

[11] CAO S, YANG N, LIU Z. Online news recommender based on stacked auto-encoder[C]// Proceedings of the 2017 IEEE/ACIS 16th International Conference on Computer and Information Science. Piscataway, NJ: IEEE, 2017: 721-726.

[12] NATARAJ L, KARTHIKEYAN S, JACOB G, et al. Malware images: visualization and automatic classification[C]// VizSec 2011: Proceedings of the 8th International Symposium on Visualization for Cyber Security. New York: ACM, 2011: Article No. 4.

[13] SHAID S Z M, MAAROF M A. Malware behavior image for malware variant identification[C]// Proceedings of the 2014 International Symposium on Biometrics and Security Technologies. Piscataway, NJ: IEEE, 2015: 238-243.

[14] KANCHERLA K, MUKKAMALA S. Image visualization based malware detection[C]// Proceedings of the 2013 IEEE Symposium on Computational Intelligence in Cyber Security. Piscataway, NJ: IEEE, 2013: 40-44.

[15] 韓曉光, 曲武, 姚宣霞, 等. 基于紋理指紋的惡意代碼變種檢測方法研究[J]. 通信學報, 2014, 35(8): 125-136.(HAN X G, QU W, YAO X X, et al. Research on malicious code variants detection based on texture fingerprint[J]. Journal on Communications, 2014, 35(8): 125-136.)

[16] 韓曉光, 姚宣霞, 曲武, 等. 基于圖像紋理聚類的惡意代碼家族標注方法[J]. 解放軍理工大學學報(自然科學版), 2014(5): 440-449.(HAN X G, YAO X X, QU W, et al. Malicious code family tagging based on image texture clustering technology[J]. Journal of PLA University of Science and Technology (Natural Science Edition), 2014(5): 440-449.)

This work is partially supported by the Scientific Research Innovation Project of Education Innovation Plan for Graduate Students in Xinjiang Uygur Autonomous Region (XJGRI2017007), the Science and Technology Talent Training Project of Xinjiang Uygur Autonomous Region (QN2016YX0051), the Cernet Next Generation Internet Technology Innovation Project (NGII20170420).

猜你喜歡
特征實驗檢測
記一次有趣的實驗
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
如何表達“特征”
做個怪怪長實驗
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 青青草一区| 日本AⅤ精品一区二区三区日| 亚洲欧美成人在线视频| 久草视频精品| 日韩午夜福利在线观看| 成人精品视频一区二区在线| 亚洲第一视频区| 无码日韩精品91超碰| 午夜视频在线观看免费网站| 国产91在线|日本| 欧美性久久久久| 国产成人综合久久精品尤物| 中文国产成人精品久久一| 91久久夜色精品国产网站 | 中文字幕无码制服中字| 亚洲第一天堂无码专区| 婷婷久久综合九色综合88| 久久大香伊蕉在人线观看热2| 国产人碰人摸人爱免费视频| 国产网站在线看| 国产特级毛片| 91久草视频| 国产午夜精品鲁丝片| 激情综合网址| 激情综合网激情综合| 亚洲欧洲日韩综合| 欧美中文字幕在线播放| 国产91久久久久久| AV无码国产在线看岛国岛| 在线视频精品一区| 99久久国产精品无码| 蜜桃视频一区| 国产丝袜91| 日韩 欧美 小说 综合网 另类| 57pao国产成视频免费播放| 自拍中文字幕| 日韩一级毛一欧美一国产 | 国产AV毛片| 亚洲精品麻豆| 中文字幕永久在线观看| 日日噜噜夜夜狠狠视频| 国产成人亚洲毛片| 欧美一道本| 伊人无码视屏| 国产视频a| 91色爱欧美精品www| www中文字幕在线观看| 美女视频黄频a免费高清不卡| 国产综合亚洲欧洲区精品无码| 日韩精品久久无码中文字幕色欲| 国产理论一区| 免费99精品国产自在现线| 九九九精品视频| 日韩精品一区二区三区swag| 农村乱人伦一区二区| www.亚洲一区| 国产日韩欧美精品区性色| 香蕉久人久人青草青草| 天天做天天爱夜夜爽毛片毛片| 亚洲最大福利网站| 久一在线视频| 国产激爽爽爽大片在线观看| 日韩中文字幕免费在线观看| 91人妻日韩人妻无码专区精品| 伊人成人在线视频| 中文字幕第4页| 很黄的网站在线观看| 婷婷亚洲综合五月天在线| 区国产精品搜索视频| 色网站在线视频| 久久黄色一级片| 国产成人一区二区| 亚洲国产高清精品线久久| 九九视频免费看| 丁香婷婷久久| 国产成人喷潮在线观看| 1024你懂的国产精品| 精品国产一区二区三区在线观看| 色综合五月| 美女高潮全身流白浆福利区| 色国产视频| 欧美精品不卡|