成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

移動終端側的惡意軟件檢測

移動開發 Android
傳統的Android惡意軟件檢測通常基于模式匹配或指紋匹配的方法,需要采集惡意應用并抽取相關特征,構建惡意應用特征庫,然后將待測應用與特征庫進行匹配,完成正常/異常應用的二分類。其關鍵點在于如何選擇特征,并基于目標特征進行相似度計算。

?一、Android惡意軟件檢測方法

按照檢測算法的類型,可以將Android惡意軟件檢測方法分為傳統方法和基于人工智能算法的方法:

1. 傳統的Android惡意軟件檢測方法

傳統的Android惡意軟件檢測通常基于模式匹配或指紋匹配的方法,需要采集惡意應用并抽取相關特征,構建惡意應用特征庫,然后將待測應用與特征庫進行匹配,完成正常/異常應用的二分類。其關鍵點在于如何選擇特征,并基于目標特征進行相似度計算。

Yajin等人[1]提出基于權限的行為足跡和啟發式過濾,檢測惡意軟件及惡意軟件家族;Peng等人[2]基于一些粗粒度的特征,如AndroidManifest.xml中申請的權限信息,引入風險評分和風險排名的概念,采用多種概率生成模型完成惡意軟件檢測;Chen等人[3] 提出了Pegasus模型,結合權限、API的上下文和順序,以及應用程序和Android系統之間的交互信息,建立權限事件圖,自動檢測已知的惡意行為。這些方法都沒有關注Android惡意軟件的內部程序邏輯。因此,Aafer等人[4]提出DroidAPIMiner模型,采用靜態分析的方法,基于字節碼內的API級別信息,從惡意軟件庫中自動挖掘惡意軟件程序內在的邏輯信息,并將其抽象為惡意模式,最終采用模式匹配的方法識別惡意軟件。Grace等人[5]提出RiskRanker模型, 將潛在風險分為三級——高風險、中風險和低風險,高風險應用利用Android平臺漏洞,采用指紋識別的方法進行標識;中風險應用不利用系統漏洞,但會造成用戶財務損失或敏感信息泄露,采用控制流圖識別應用程序未提醒的敏感操作,進行標識;低風險應用與中風險相似,但收集的信息通常是設備特定或通用、一般可用的個人信息。該模型更加細粒度地識別了惡意軟件,同時在發現0-day惡意軟件方面有一定的效果。

傳統檢測方法廣泛應用于Android惡意軟件爆發初期,但存在一定的局限性:需要構建并維護惡意應用特征庫,隨著新的惡意應用的出現而不斷更新,最終特征庫的數據也會逐漸龐大;由于規則和模式庫通常由專家人工選擇制定,特征較為淺層,無法有效應對0-day惡意軟件,甚至無法抵抗代碼等對抗攻擊方法。

2. 基于人工智能算法的惡意軟件檢測方法

隨著人工智能技術的快速發展,深度學習算法廣泛應用于各個領域并有著出色的表現,越來越多的研究者開始探索基于人工智能算法的惡意軟件檢測方法。相較于傳統算法,人工智能方法通常可以自動獲取復雜度更高的特征,更好地表征惡意軟件,從而實現更好地檢測效果。同時,通過人工智能算法可以挖掘更加深層次的隱含特征,更好地獲得惡意軟件家族的共有特征,從而在0-day惡意軟件檢測方面具有更好的性能表現。根據選擇的特征類型,又可以將其劃分為{0, 1}型特征、序列型特征和端到端模式[6]。

(1){0, 1}型特征

   每一個特征使用一個標志位表示,非1即0, 1表示該特征存在,0表示不存在。特征的獲取主要通過Android應用程序的配置文件AndroidManifest.xml和可執行文件classes.dex,可以從xml文件中提取應用申請的權限信息、硬件信息等,從反編譯的dex文件中獲取API特征、URL等。但{0, 1}型特征方法具有一定的局限性:一方面由于特征種類數量通常較多,因此{0,1}表示的樣本矩陣存在稀疏問題;另一方面,這種特征表示方法忽略了不同特征之間存在的相關性,影響最終模型的檢測性能。

(2)序列型特征

序列型特征關注應用程序中的API序列或字節碼序列信息,從反編譯的dex文件中獲取API調用序列,構建控制流圖;或是直接提取字節碼序列,將其映射為特征向量作為神經網絡模型的輸入。對于序列型特征,可以采用自然語言處理領域的思想,從中獲取語義信息。比如Xu等人[7]提出DeepRefiner模型,在第二輪處理時先對字節碼序列進行簡化,然后基于Word2Vec的思想進行Skip-gram建模,將簡化后的字節碼轉換成向量表示,得到向量表示的序列,對應于帶有語義信息的特征向量,最終采用LSTM模型完成訓練和分類。Mariconti等人[8]則是基于API調用序列提出MaMaDroid模型,將API調用序列轉化概率作為特征,構造馬爾科夫鏈,訓練機器學習模型完成檢測。API調用序列特征對于0-day軟件的檢測起著重要的作用。因為在惡意軟件家族中,即使代碼實現有所差異,但其內在的行為邏輯是相同的,API調用序列可以表達這種共有的重要行為特征,因此在檢測變種惡意軟件方面具有較好的性能。

(3)端到端模式

  端到端模式不需要復雜的特征預處理,直接使用原始apk二進制碼,或是簡單截取/映射后的字節碼。在端到端模式中,通常可以采用CNN等圖像處理領域的經典算法完成惡意軟件檢測。文獻 [9][10]分別利用CNN模型提取局部區域內的字節碼間特征和二進制碼間特征,最終都取得了不錯的檢測準確率。

二、Android惡意軟件檢測對抗攻擊

1.“道高一尺,魔高一丈”

隨著惡意軟件檢測技術的快速發展,攻擊者們開始研究如何繞過檢測模型,根據所采用的攻擊技術類型,可以分為混淆操作、梯度下降、基于生成對抗網絡訓練和抗逆向技術等。

2. 混淆操作

通過在惡意軟件中添加許多良性軟件多存在的特征信息,或是與良性軟件特征相似度較高的特征,從而欺騙檢測模型。Chen等人[11]指出了一系列投毒操作,如AndroidManifest.xml文件中添加許多與軟件運行過程無關但多在良性軟件中出現的權限信息,或是在代碼中嵌入一些良性代碼段等,但隨著人工智能算法的應用,這種簡單混淆操作逐漸難以繞過復雜模型的檢測。

Yang等人[12]提出特征模糊攻擊和進化攻擊方法,其中特征模糊攻擊就是將惡意軟件中的一些特征轉化為良性軟件與惡意軟件共有的模糊特征,從而繞過檢測模型。文章選擇了四種重要類型特征(資源、觸發時間、觸發位置、依賴)和上下文特征,從中找出良性軟件與惡意軟件的共有部分,然后根據良性軟件的技術來計算不同特征的權重,在生成對抗樣本時,根據輸入軟件每個特征找到模糊特征集中最接近的模糊特征,將此特征修改為對應模糊特征或修改其對應的上下文特征, 從而達到混淆檢測模型的目的[6]。

3. 梯度下降

在對抗攻擊領域,基于梯度修改惡意軟件特征生成對抗樣本是常用的思想,主要針對白盒攻擊方法。Grosse等人[13]參考圖像領域基于雅各比顯著性圖的攻擊方法,計算雅各比矩陣,根據檢測模型對樣本的梯度獲得最佳擾動方向,從而添加對檢測結果顯著性最高的特征,迭代至欺騙模型。該方法主要針對{0,1}型特征,為避免修改或刪除特征后對軟件的正常運行造成影響,因此僅向惡意應用軟件中添加特征。Chen等人[14]對該方法進行了改進,提出AndroidHIV模型。該模型除了關注{0,1}特征外,還關注了API調用等序列型特征。

4. 基于生成對抗網絡訓練

基于GAN模型的對抗攻擊方法在各領域都有廣泛的應用,且有著不錯的性能表現。Hu等人[15]提出MalGAN模型,其結構框架圖如圖所示,使用一個替代鑒別器來對應原來的黑盒檢測模型,通過最小化損失函數盡可能接近原黑盒檢測模型;使用一個生成器生成惡意軟件樣本,降低模型檢測出惡意軟件的概率。通過該模型生成的對抗樣本都具有很好的表現,甚至可以使有些檢測模型的檢出率達到0%。

圖片

圖1

5. 抗逆向技術

由于多數惡意軟件檢測技術都需要對dex可執行文件進行反編譯,然后從中獲取特征信息,因此一些Android惡意軟件可以采用抗逆向技術如代碼加殼等,逃避惡意軟件檢測模型。

三、問題與展望

1. Android惡意軟件檢測存在的問題

(1)特征選擇

無論是傳統的惡意軟件檢測方法,還是基于人工智能算法的惡意軟件檢測方法,都需要關注如何選擇特征已經選擇何種特征可以達到較好的檢測效果。對于傳統方法來說,其關鍵就在于特征選擇,是選擇靜態特征、動態特征、還是結合二者,如何平衡特征計算復雜度與檢測準確率,如何有效應對代碼混淆、無用代碼注入等攻擊技術,都值得我們進行思考。而對于人工智能算法來說,雖然神經網絡或機器學習方法可以自動獲取復雜度較高的深層特征,但仍需要選擇合適的特征抽取對象,比如是選擇API調用序列還是字節碼序列,最終都將對模型檢測結果造成影響。

(2)0-day惡意軟件檢測

對于0-day惡意軟件的檢測,是目前Android惡意軟件檢測領域的主要問題之一。傳統算法基于惡意應用特征庫,進行模式匹配或指紋匹配的方法,顯然無法有效應對0-day惡意軟件。通常需要借助人工智能算法,獲取更深層的復雜特征,比如從API調用序列中獲取的語義信息等,深入理解惡意軟件家族的內在邏輯,對0-day惡意軟件的檢測發揮著重要的作用。

(3)對抗攻擊

對抗攻擊對惡意軟件檢測模型造成了巨大的威脅,直接影響了模型的可用性。因此目前的Android惡意軟件檢測必須考慮如何防御對抗攻擊,在模型設計時就應當提高模型的魯棒性,根據用戶對模型的訪問場景(不限次數訪問和有限次數訪問)進行針對性防御。

2. Android惡意軟件檢測的發展趨勢

(1)動態特征與靜態特征相結合

單一靜態特征與動態特征都存在一定的局限性,靜態特征沒有辦法獲取軟件在運行過程中的行為信息,而動態特征則無法全面覆蓋完整程序代碼,將動態特征與靜態特征相結合,才能同時獲取更加全面、完整的特征信息,使Android惡意軟件檢測更加高效和準確。

(2)模型堆疊

單個惡意軟件檢測模型可能在某個方面有所欠缺,那就再堆疊一個在該方面表現良好的模型。堆疊模型集成了多種分類器,這些分類器并行計算獲得各自預測的概率,將這些概率作為特征輸入,通過堆疊分類器將每個模型的結果進行融合,可以有效提高檢測模型的準確率和魯棒性。

圖片

圖2

(3)針對不同應用場景的惡意軟件檢測

Android惡意軟件檢測模型在實際應用中,需要針對不同應用場景設計不同量級的檢測方案。比如對于智能設備而言,由于其資源算力有限,普通的高開銷、高計算方法并不適用,需要設計輕量級的Android惡意軟件檢測方案;但對于安全廠商而言,系統安全性和檢測準確率是更值得關注的指標,因此通常采用多層檢測方案,用復雜的特征和模型獲得更好的檢測性能。

參考文獻

[1]Yajin Z. Get Off of My Market: Detecting Malicious Apps in Official and Alternative Android Markets[C]//Network and Distributed System Security Symposium (NDSS).

[2]Peng H, Gates C, Sarma B, et al. Using probabilistic generative models for ranking risks of android apps[C]//Proceedings of the 2012 ACM conference on Computer and communications security. 2012: 241-252.

[3]Chen K Z, Johnson N M, D'Silva V, et al. Contextual policy enforcement in android applications with permission event graphs[C]//NDSS. 2013, 234.

[4]Aafer Y, Du W, Yin H. Droidapiminer: Mining api-level features for robust malware detection in android[C]//International conference on security and privacy in communication systems. Springer, Cham, 2013: 86-103.

[5]Grace M, Zhou Y, Zhang Q, et al. Riskranker: scalable and accurate zero-day android malware detection[C]//Proceedings of the 10th international conference on Mobile systems, applications, and services. 2012: 281-294.

[6]李佳琳, 王雅哲, 羅呂根, 等. 面向安卓惡意軟件檢測的對抗攻擊技術綜述[J]. 信息安全學報, 2021, 6(4): 28-43.

[7]Xu K, Li Y, Deng R H, et al. Deeprefiner: Multi-layer android malware detection system applying deep neural networks[C]//2018 IEEE European Symposium on Security and Privacy (EuroS&P). IEEE, 2018: 473-487.

[8]Mariconti E, Onwuzurike L, Andriotis P, et al. Mamadroid: Detecting android malware by building markov chains of behavioral models[J]. arXiv preprint arXiv:1612.04433, 2016.

[9]McLaughlin N, Martinez del Rincon J, Kang B J, et al. Deep android malware detection[C]//Proceedings of the seventh ACM on conference on data and application security and privacy. 2017: 301-308.

[10]Hasegawa C, Iyatomi H. One-dimensional convolutional neural networks for Android malware detection[C]//2018 IEEE 14th International Colloquium on Signal Processing & Its Applications (CSPA). IEEE, 2018: 99-102.

[11]Chen S, Xue M, Fan L, et al. Automated poisoning attacks and defenses in malware detection systems: An adversarial machine learning approach[J]. computers & security, 2018, 73: 326-344.

[12]Yang W, Kong D, Xie T, et al. Malware detection in adversarial settings: Exploiting feature evolutions and confusions in android apps[C]//Proceedings of the 33rd Annual Computer Security Applications Conference. 2017: 288-302.

[13]Grosse K, Papernot N, Manoharan P, et al. Adversarial perturbations against deep neural networks for malware classification[J]. arXiv preprint arXiv:1606.04435, 2016.

[14]Chen X, Li C, Wang D, et al. Android HIV: A study of repackaging malware for evading machine-learning detection[J]. IEEE Transactions on Information Forensics and Security, 2019, 15: 987-1001.

[15]Hu W, Tan Y. Generating adversarial malware examples for black-box attacks based on GAN[J]. arXiv preprint arXiv:1702.05983, 2017.?

責任編輯:武曉燕 來源: 中國保密協會科學技術分會
相關推薦

2022-10-20 12:07:20

2015-11-06 10:56:03

2012-12-17 09:47:33

2014-03-13 09:28:34

2021-12-24 10:26:10

側載攻擊惡意軟件網絡攻擊

2015-07-22 10:33:04

2014-03-07 16:58:57

2012-05-02 10:05:41

2012-11-07 10:27:20

2013-05-31 10:05:30

2013-04-23 15:38:27

2013-10-29 15:17:41

2021-11-18 14:01:25

網絡安全數據技術

2019-03-04 08:46:16

2013-10-22 10:27:59

2017-02-28 12:41:03

2012-11-19 13:25:21

2019-03-26 09:11:32

無文件惡意軟件

2017-04-14 08:33:47

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品国产第一综合99久久 | 亚洲免费av一区 | 特a毛片| 国产最新网址 | 日韩一区中文字幕 | 在线亚洲一区二区 | 久久丁香 | 精品成人 | 欧美在线观看一区二区 | 国产精品午夜电影 | av国产精品| 国产三级电影网站 | 成人天堂| 综合第一页| 精品国产不卡一区二区三区 | 一区二区国产精品 | 毛片一级网站 | 欧美二级 | 色资源站| 激情 婷婷 | 日韩在线综合网 | 欧美日韩在线视频一区 | 国产一区二区在线免费观看 | 国产一区二区三区 | 伊人精品久久久久77777 | 青青草久久 | 91在线综合 | 久久综合久久久 | 亚洲精品日韩在线观看 | 91成人小视频 | 欧美成人二区 | chinese中国真实乱对白 | 日本高清视频网站 | 精品久久久一区 | 欧美一级免费黄色片 | 日本中文字幕一区 | 欧美亚洲免费 | 婷婷久久综合 | 欧美精品久久久 | 国产综合视频 | 久久久久国产精品午夜一区 |