• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Android惡意應(yīng)用智能化分析方法研究綜述

      2023-10-31 11:40:12湯俊偉何儒漢
      軟件導(dǎo)刊 2023年10期
      關(guān)鍵詞:應(yīng)用程序機(jī)器深度

      張 馳,湯俊偉,何儒漢,徐 微,黃 晉

      (1.紡織服裝智能化湖北省工程研究中心;2.湖北省服裝信息化工程技術(shù)研究中心;3.武漢紡織大學(xué) 計(jì)算機(jī)與人工智能學(xué)院,湖北 武漢 430200)

      0 引言

      智能手機(jī)在日常生活的參與度越來(lái)越高,使用率迅速增加,大多數(shù)用戶使用社交、游戲、銀行、教育等手機(jī)應(yīng)用程序,包含許多敏感、有價(jià)值的數(shù)據(jù),例如聯(lián)系人信息、照片、銀行信息、密碼等。根據(jù)Statcounter 全球統(tǒng)計(jì)數(shù)據(jù)顯示,2022 年10 月全球移動(dòng)操作系統(tǒng)市場(chǎng)份額Android 占有率為71.6%。目前,Android 成為了受惡意軟件影響最大的移動(dòng)平臺(tái),托管第三方應(yīng)用程序的開(kāi)放架構(gòu)和應(yīng)用程序編程接口(API)[1],更是導(dǎo)致各種Android 惡意軟件產(chǎn)品的爆炸性增長(zhǎng)[2]。這些惡意軟件執(zhí)行惡意活動(dòng),給用戶帶來(lái)了包括資費(fèi)消耗、隱私竊取、遠(yuǎn)程控制等巨大危害。

      為此,本文將工作分為以下5 點(diǎn):①總結(jié)Android 惡意應(yīng)用檢測(cè)使用靜態(tài)、動(dòng)態(tài)分析方法提取的惡意應(yīng)用特征類型;②基于機(jī)器學(xué)習(xí)技術(shù)分析Android 惡意應(yīng)用研究;③分析、概述Android 惡意應(yīng)用分析模型的攻擊方法,從對(duì)抗攻擊、防護(hù)層面歸納與Android 惡意應(yīng)用檢測(cè)攻防相關(guān)的工作;④在共同數(shù)據(jù)集上,比較分析Android 惡意應(yīng)用的傳統(tǒng)機(jī)器學(xué)習(xí)和深度學(xué)習(xí)方法,并歸納對(duì)抗分析的研究現(xiàn)狀;⑤討論Android 惡意應(yīng)用智能化分析方法領(lǐng)域的發(fā)展趨勢(shì),從特征、數(shù)據(jù)集、分析模型方面對(duì)未來(lái)研究方向和挑戰(zhàn)進(jìn)行總結(jié)。

      1 Android惡意應(yīng)用分析方法特征類型

      1.1 靜態(tài)分析特征

      靜態(tài)分析不涉及代碼執(zhí)行,是對(duì)應(yīng)用程序包進(jìn)行分析的過(guò)程,如圖1所示。

      Fig.1 Process of static analysis圖1 靜態(tài)分析過(guò)程

      靜態(tài)分析過(guò)程主要關(guān)注Android 應(yīng)用程序包(APK)中的清單文件和源代碼文件(class.dex)。清單文件包含有關(guān)權(quán)限、硬件組件的信息及有關(guān)包的其他詳細(xì)信息。源代碼文件包含所有編程代碼,例如API 信息、Intent、系統(tǒng)事件等,還可從應(yīng)用商店中提取元數(shù)據(jù)信息進(jìn)行靜態(tài)分析,以下示例為靜態(tài)分析特征及相關(guān)描述。

      1.1.1 權(quán)限

      應(yīng)用程序需請(qǐng)求各自的特定權(quán)限來(lái)執(zhí)行代碼,使得應(yīng)用程序在未經(jīng)用戶同意和批準(zhǔn)情況下,將無(wú)法執(zhí)行或運(yùn)行任何后臺(tái)活動(dòng)[3-5]。

      1.1.2 Intents

      該數(shù)據(jù)用于組件活動(dòng)、services 等之間進(jìn)行通信的消息對(duì)象,執(zhí)行需要系統(tǒng)干預(yù)或在其他操作開(kāi)始時(shí)使用,通常用于分析應(yīng)用程序的惡意行為[3]。

      1.1.3 硬件組件

      例如,GPS、麥克風(fēng)、等可能會(huì)被惡意軟件應(yīng)用程序使用,研究和分析這些活動(dòng)有助于識(shí)別惡意軟件應(yīng)用程序[3,6]。

      1.1.4 API calls

      將apk 文件中dex 文件轉(zhuǎn)換成Java 文件,從中提取API調(diào)用數(shù)據(jù)進(jìn)行靜態(tài)分析[3,5-8]。

      1.1.5 數(shù)據(jù)流與函數(shù)調(diào)用圖

      從classes.dex 文件中提取源代碼,創(chuàng)建語(yǔ)句依賴關(guān)系圖,假設(shè)語(yǔ)句為節(jié)點(diǎn),控制流為節(jié)點(diǎn)路徑,將一種惡意代碼模式轉(zhuǎn)換為圖。創(chuàng)建數(shù)據(jù)流圖和與函數(shù)調(diào)用相關(guān)的圖來(lái)設(shè)計(jì)惡意應(yīng)用檢測(cè)方法[9-10]。

      1.1.6 污點(diǎn)分析

      污點(diǎn)分析是檢測(cè)來(lái)自源和接收器中敏感數(shù)據(jù)流的方法[11-12]。

      1.1.7 操作碼(opcode)/URL

      使用通過(guò)反匯編得到的dalvik 字節(jié)碼中的操作碼進(jìn)行分析,例如使用Java 代碼中的特定字符串測(cè)試、分析網(wǎng)絡(luò)流量[13-14]。

      1.1.8 Java字節(jié)碼/APK-API圖像

      將Java 字節(jié)碼轉(zhuǎn)換為圖像用于檢測(cè),將源代碼中的對(duì)象和類,根據(jù)清單文件的有關(guān)權(quán)限進(jìn)行分析或?qū)PK 文件的字節(jié)碼轉(zhuǎn)換為圖像[15],使用機(jī)器學(xué)習(xí)對(duì)圖像進(jìn)行分類[16]。

      1.1.9 系統(tǒng)事件

      從API 獲取系統(tǒng)服務(wù)(使應(yīng)用程序與系統(tǒng)交互)事件,作為分析特征[17-18]。

      1.1.10 元數(shù)據(jù)信息

      Android 應(yīng)用在應(yīng)用商店的信息,例如APK 名稱、開(kāi)發(fā)者信息、評(píng)分、評(píng)論等,可能有助于分類應(yīng)用[3,6]。

      1.2 動(dòng)態(tài)分析特征

      動(dòng)態(tài)分析涉及代碼執(zhí)行與觀察,需要一個(gè)隔離環(huán)境來(lái)運(yùn)行應(yīng)用程序并實(shí)時(shí)觀察信息[3,19],相較于靜態(tài)分析更復(fù)雜,需要一些資源和技術(shù)組合來(lái)觀察并得出結(jié)論[20],主要將應(yīng)用程序安裝到沙箱或虛擬機(jī)中模擬用戶觸發(fā)行為,運(yùn)行應(yīng)用程序,并記錄監(jiān)控模擬運(yùn)行期間行為。以下為用于動(dòng)態(tài)分析的主要特征及相關(guān)描述,圖2為動(dòng)態(tài)分析過(guò)程。

      Fig.2 Process of dynamic analysis圖2 動(dòng)態(tài)分析過(guò)程

      1.2.1 系統(tǒng)調(diào)用

      通過(guò)收集系統(tǒng)調(diào)用日志,使用系統(tǒng)調(diào)用分析檢測(cè)惡意活動(dòng)。

      1.2.2 信息流

      在污點(diǎn)分析情況下觀察源和目的地。在網(wǎng)絡(luò)流量分析中,分析數(shù)據(jù)包大小、類型、進(jìn)出的頻率等參數(shù)[12]。

      1.2.3 函數(shù)調(diào)用

      使用API 框架動(dòng)態(tài)監(jiān)測(cè)函數(shù)調(diào)用情況,跟蹤使用參數(shù),重建函數(shù)調(diào)用序列用于分析[3]。

      1.2.4 依賴圖

      為特定的敏感代碼片斷創(chuàng)建控制流圖,使用該圖對(duì)應(yīng)用程序進(jìn)行分析分類[21]。

      1.2.5 硬件組件

      分析運(yùn)行的硬件組件、系統(tǒng)參數(shù),例如電池?cái)?shù)據(jù)[3]、內(nèi)存的利用率、應(yīng)用程序內(nèi)存等。

      1.2.6 API和權(quán)限

      應(yīng)用程序執(zhí)行時(shí)使用的權(quán)限和調(diào)用的API[22-23]。

      1.2.7 通信

      短信、電話、URLs、WiFi、GPS 和藍(lán)牙能連接系統(tǒng)與外部實(shí)體,可作為單一或多個(gè)因素的組合進(jìn)行觀察,以達(dá)到檢測(cè)目的[23-24]。

      1.2.8 代碼注入

      在源代碼中注入特殊代碼,運(yùn)行時(shí)執(zhí)行該代碼跟蹤目標(biāo)API,并為分析過(guò)程創(chuàng)建日志以檢測(cè)惡意行為[25]。

      2 基于機(jī)器學(xué)習(xí)的Android惡意應(yīng)用檢測(cè)

      2.1 傳統(tǒng)機(jī)器學(xué)習(xí)

      動(dòng)態(tài)分析的低代碼覆蓋率和低效率,限制了基于動(dòng)態(tài)特征的惡意應(yīng)用檢測(cè)方法的大規(guī)模部署[26]。因此,研究者開(kāi)始利用靜態(tài)分析和機(jī)器學(xué)習(xí)提出大量的檢測(cè)方法[27-29]。機(jī)器學(xué)習(xí)是在惡意應(yīng)用檢測(cè)過(guò)程中應(yīng)用程序分類技術(shù),包括訓(xùn)練和測(cè)試[30]兩個(gè)主要模塊。其中,在訓(xùn)練模塊從特征集中學(xué)習(xí)良性和惡意應(yīng)用程序的行為;在測(cè)試模塊中對(duì)新的應(yīng)用程序進(jìn)行相應(yīng)分類[31],測(cè)試算法準(zhǔn)確性。

      現(xiàn)有方法已探索了豐富的靜態(tài)特征[21,32-33],根據(jù)這些特征可構(gòu)建基于各種機(jī)器學(xué)習(xí)算法的檢測(cè)模型,如表1所示。

      Table 1 Investigation results of traditional machine learning for Android malicious application detection表1 傳統(tǒng)機(jī)器學(xué)習(xí)進(jìn)行Android惡意應(yīng)用檢測(cè)的調(diào)查結(jié)果

      Rana 等[28]比較各種機(jī)器學(xué)習(xí)算法在惡意應(yīng)用檢測(cè)領(lǐng)域情況下的性能發(fā)現(xiàn),支持向量機(jī)(Support Vector Machine,SVM)、隨機(jī)森林(Random Forest,RF)和K 最鄰近(K-NearestNeighbo,KNN)相較于其他算法表現(xiàn)良好,準(zhǔn)確率超過(guò)90%。Kumar 等[34]使用機(jī)器學(xué)習(xí)比較各種算法的提取結(jié)果,發(fā)現(xiàn)SVM 表現(xiàn)更好,準(zhǔn)確率超過(guò)95%。

      針對(duì)特征間的相關(guān)性及特征權(quán)重的計(jì)算,Cai 等[4]采用靜態(tài)分析方法,從APK 文件中提取8 個(gè)類別的原始特征,使用信息增益(Information Gain,IG)選擇一定數(shù)量的最重要特征,通過(guò)機(jī)器學(xué)習(xí)模型計(jì)算每個(gè)選定特征的初始權(quán)重并使用權(quán)重映射函數(shù)將初始權(quán)重映射到最終權(quán)重,最后使用差分進(jìn)化(Different Evolution,DE)算法聯(lián)合優(yōu)化權(quán)重,映射函數(shù)和分類器的參數(shù),在Drebin[28]、AMD[35]上均取得96%以上的精確率。

      此外,Chawla 等[36]提出一種基于信號(hào)處理和機(jī)器學(xué)習(xí)的方法,利用嵌入式設(shè)備的電磁發(fā)射來(lái)遠(yuǎn)程檢測(cè)設(shè)備上運(yùn)行的惡意應(yīng)用程序,開(kāi)發(fā)了基于快速傅里葉變換的特征提取方法,使用SVM、RF 模型檢測(cè)惡意應(yīng)用。Taheri 等[37]使用漢明距離尋找惡意樣本間的相似性,提出第一最近鄰、所有最近鄰、加權(quán)所有最近鄰和基于K-medoid 的最近鄰4種惡意應(yīng)用檢測(cè)方法,在Drebin 等3 個(gè)數(shù)據(jù)集上選取API、Intent 和Permission 特征進(jìn)行實(shí)驗(yàn),結(jié)果表明算法的準(zhǔn)確率均超過(guò)90%。

      2.2 基于深度學(xué)習(xí)

      深度學(xué)習(xí)在圖像分析、神經(jīng)機(jī)器翻譯及其他領(lǐng)域的突出貢獻(xiàn),為許多最先進(jìn)、基于人工智能的應(yīng)用奠定了基礎(chǔ)[38]。目前,各種深度學(xué)習(xí)結(jié)構(gòu)已應(yīng)用于Android 惡意應(yīng)用的檢測(cè)或分類,并取得了良好的效果,惡意應(yīng)用檢測(cè)深度學(xué)習(xí)體系結(jié)構(gòu)如圖3所示。

      Fig.3 Malicious application detection based on deep learning architecture圖3 基于深度學(xué)習(xí)體系結(jié)構(gòu)的惡意應(yīng)用檢測(cè)

      由圖3 可見(jiàn),該方法相較于傳統(tǒng)機(jī)器學(xué)習(xí)方法,在Android 惡意應(yīng)用分析領(lǐng)域的應(yīng)用中具有以下優(yōu)點(diǎn):①深度學(xué)習(xí)擅長(zhǎng)學(xué)習(xí)應(yīng)用程序中更復(fù)雜模式的高級(jí)抽象表示[38];②深度學(xué)習(xí)能自動(dòng)學(xué)習(xí)潛在表示,具有更強(qiáng)的泛化能力,極大減輕了研究者描述Android 應(yīng)用程序特征時(shí)繁瑣、主觀、易出錯(cuò)的特征工程任務(wù)[15,39-40];③深度學(xué)習(xí)提供了針對(duì)不同任務(wù)定制特定結(jié)構(gòu)的靈活性。例如,可使用帶有詞嵌入包的長(zhǎng)短期記憶(Long Short-Term Memory,LSTM)層,將Android 權(quán)限序列編碼成特征,然后將提取的特征通過(guò)非線性激活函數(shù)送入激活層全連接層進(jìn)行分類[17]。

      Android 應(yīng)用的原始特征可直接輸入深度學(xué)習(xí)模型中,學(xué)習(xí)高級(jí)語(yǔ)義特征表示。一方面可通過(guò)反編譯從Android 應(yīng)用中提取操作碼序列,采用深度學(xué)習(xí)序列數(shù)據(jù)分類技術(shù)處理原始操作碼序列,從而實(shí)現(xiàn)深度神經(jīng)網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)高級(jí)語(yǔ)義特征表示[40];另一方面通過(guò)反編譯應(yīng)用程序提取其中的classes.dex 字節(jié)碼,受自然語(yǔ)言處理(Natural Language Processing,NLP)或圖像分類技術(shù)的啟發(fā),使用編碼技術(shù)將classes.dex 字節(jié)碼編碼后的圖像送入深度神經(jīng)模型自動(dòng)提取特征和學(xué)習(xí)[15]。

      表2 為使用深度神經(jīng)網(wǎng)絡(luò)模型進(jìn)行Android 惡意應(yīng)用檢測(cè)或分類的調(diào)查研究,展示了每項(xiàng)研究的關(guān)鍵點(diǎn)和差異。

      Table 2 Investigation results of Android malicious application detection or classification based on deep neural network model表2 基于深度神經(jīng)網(wǎng)絡(luò)模型進(jìn)行Android惡意應(yīng)用檢測(cè)或分類的調(diào)查結(jié)果

      2.2.1 特征表示方法

      向量化表示是Android 惡意應(yīng)用檢測(cè)或分類中最廣泛使用的表示方法。對(duì)于提取的語(yǔ)義字符串特征,矢量化表示可使用one-hot 編碼技術(shù)、詞頻—逆文檔頻率(TF-IDF)技術(shù)[41-42]或word2vec[17]等嵌入技術(shù)進(jìn)行構(gòu)造。

      (1)基于圖像特征的表示。Iadarola 等[15]通過(guò)圖像表示移動(dòng)應(yīng)用程序,利用梯度加權(quán)類激活映射(Grad-CAM)算法,定位圖像中對(duì)模型有用的顯著部分,還引入累積熱圖(Cumulative Heatmap)為分類器決策提供可解釋性支持。Vasan 等[16]將原始惡意軟件二進(jìn)制文件轉(zhuǎn)換為彩色圖像,結(jié)合數(shù)據(jù)增強(qiáng)方法微調(diào)卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),檢測(cè)和識(shí)別惡意軟件家族,在不平衡IoT-android 移動(dòng)應(yīng)用數(shù)據(jù)集上的準(zhǔn)確率超過(guò)97.35%。李默等[43]將DEX、XML 與JAR文件進(jìn)行灰度圖像化處理,使用Bilinear 插值算法放縮圖片尺寸,將3 張灰度圖合成一張三維RGB 圖像,通過(guò)結(jié)合SplitAttention 的ResNeSt 的算法進(jìn)行訓(xùn)練分類,在Drebin 數(shù)據(jù)集上的平均分類準(zhǔn)確率達(dá)到98.97%。

      (2)基于函數(shù)調(diào)用序列的表示。Imtiaz 等[8]提出使用深度人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)檢測(cè)真實(shí)世界惡意應(yīng)用的方法DeepAMD,并在CICAndMal2019 數(shù)據(jù)集的實(shí)驗(yàn)表明,該算法在靜態(tài)特征集上惡意應(yīng)用分類、惡意應(yīng)用類別分類、惡意應(yīng)用家族分類的最高準(zhǔn)確率分別為93.4%、92.5%和90%。此外,為惡意應(yīng)用程序分配家族標(biāo)簽,是將具有相同行為的惡意應(yīng)用歸為一類的常見(jiàn)做法。Mirzaei 等[44]提出從不同家族的聚合調(diào)用圖中提取敏感的API,調(diào)用集合的Android 惡意應(yīng)用家族表征系統(tǒng),指出移動(dòng)勒索軟件和短信木馬類型惡意應(yīng)用的惡意操作不一定是同時(shí)使用多個(gè)敏感的API調(diào)用所執(zhí)行。

      (3)基于圖結(jié)構(gòu)特征的表示。目前,各種圖結(jié)構(gòu)已被提出描述Android 應(yīng)用程序,例如API 調(diào)用圖、控制流圖(CFG)等,這些圖可直接提供給深度學(xué)習(xí)模型,相較于某些Android 惡意應(yīng)用中的規(guī)避技術(shù)具有更高的魯棒性。

      Huang 等[9]通過(guò)選擇與惡意軟件相關(guān)的API 特征,并結(jié)合API 間的結(jié)構(gòu)關(guān)系,將它們映射到一個(gè)矩陣作為卷積神經(jīng)網(wǎng)絡(luò)分類器。具體為,基于API 的輸入特征圖選擇API 特征選擇,使用調(diào)和平均函數(shù)考慮惡意軟件的出現(xiàn)頻率及惡意與良性軟件間的出現(xiàn)頻率差異。Feng 等[45]通過(guò)輕量級(jí)靜態(tài)分析提取近似調(diào)用圖和函數(shù)內(nèi)語(yǔ)義信息來(lái)表示Android 應(yīng)用程序,并通過(guò)Word2Vec 進(jìn)一步提取所需權(quán)限、安全級(jí)別和Smali 指令的語(yǔ)義信息等函數(shù)內(nèi)屬性,以形成圖結(jié)構(gòu)的節(jié)點(diǎn)屬性,使用圖神經(jīng)網(wǎng)絡(luò)生成應(yīng)用程序的向量表示,然后在該表示空間上檢測(cè)惡意軟件。Pekta? 等[10]通過(guò)對(duì)Android 應(yīng)用程序進(jìn)行偽動(dòng)態(tài)分析,為每個(gè)執(zhí)行路徑構(gòu)建API 調(diào)用圖,提取執(zhí)行路徑信息,并將圖嵌入用于訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)的低維特征向量,利用卷積層從圖嵌入矩陣中檢測(cè)、提取隱藏的結(jié)構(gòu)相似性,并依據(jù)組合卷積層發(fā)現(xiàn)的所有復(fù)雜局部特征來(lái)確定該應(yīng)用的屬性。Pei 等[5]提出一種基于聯(lián)合特征向量的新型深度學(xué)習(xí)框架AMalNet,在提取的所有權(quán)限、組件和API 靜態(tài)特征文本數(shù)據(jù)中,通過(guò)word2vec 嵌入技術(shù)將文本數(shù)據(jù)的詞、字符和詞匯特征作為圖的節(jié)點(diǎn),并映射到向量中,集成圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolutional Networks,GCNs)與獨(dú)立循環(huán)神經(jīng)網(wǎng)絡(luò)(Independent Recurrent Neural Network,RNN,IndRNN)形成檢測(cè)模型。

      2.2.2 數(shù)據(jù)集處理

      訓(xùn)練數(shù)據(jù)可能包含噪聲標(biāo)簽,是基于機(jī)器學(xué)習(xí)的Android 惡意應(yīng)用檢測(cè)的一個(gè)常見(jiàn)問(wèn)題。Xu 等[46]提出差分訓(xùn)練(Differential Training)作為通用框架,用于檢測(cè)、減少訓(xùn)練數(shù)據(jù)中的標(biāo)簽噪聲。差分訓(xùn)練在整個(gè)噪聲檢測(cè)訓(xùn)練過(guò)程中使用輸入樣本的中間狀態(tài),使用下采樣集來(lái)最大化錯(cuò)誤標(biāo)記樣本與正確標(biāo)記樣本間的差異,并且異常值檢測(cè)算法不依賴一小組正確標(biāo)記的訓(xùn)練樣本。同時(shí),使用SDAC[47]、Drebin 和DeepRefiner[39]這3 種不同的Android 惡意應(yīng)用檢測(cè)方法評(píng)估差異訓(xùn)練的有效性。在3 個(gè)不同的數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果表明,差分訓(xùn)練可將錯(cuò)誤標(biāo)記的樣本大小分別減少到原始大小的12.6%、17.4%和35.3%,在對(duì)噪聲水平約為10%的訓(xùn)練數(shù)據(jù)集進(jìn)行降噪后,差異訓(xùn)練顯著提升了每種惡意應(yīng)用檢測(cè)方法的性能。

      然而,缺乏惡意軟件源代碼是惡意應(yīng)用安全研究的一大阻礙。Rokon 等[48]提出有效識(shí)別惡意軟件源代碼存儲(chǔ)庫(kù)的監(jiān)督學(xué)習(xí)方法——SourceFinder,識(shí)別惡意軟件存儲(chǔ)庫(kù)的準(zhǔn)確率為89%,創(chuàng)建了擁有7 504 個(gè)存儲(chǔ)庫(kù)的非商業(yè)惡意軟件源代碼檔案庫(kù),研究了惡意軟件存儲(chǔ)庫(kù)及其作者的基本屬性和趨勢(shì)。

      3 Android惡意應(yīng)用檢測(cè)對(duì)抗攻擊與防護(hù)

      3.1 對(duì)抗攻擊

      對(duì)抗樣本攻擊是指故意對(duì)輸入樣本添加一些人無(wú)法察覺(jué)的細(xì)微干擾,導(dǎo)致模型以高置信度給出一個(gè)錯(cuò)誤輸出。由于建立模型的內(nèi)在假設(shè)是訓(xùn)練和測(cè)試數(shù)據(jù)來(lái)自相同的分布,然而惡意樣本違反了這種假設(shè),在特征向量中激活一定數(shù)量的特征,使其逃避基于人工智能的惡意應(yīng)用檢測(cè)而不影響其惡意功能,因此惡意應(yīng)用檢測(cè)的機(jī)器學(xué)習(xí)模型可能會(huì)受到精心設(shè)計(jì)的對(duì)抗樣本攻擊。

      在白盒攻擊中,假設(shè)對(duì)手擁有關(guān)于知識(shí)矩陣(知識(shí)矩陣由訓(xùn)練數(shù)據(jù)、特征集、ML/DL 算法的目標(biāo)函數(shù)和模型結(jié)構(gòu)等信息組成)的完整信息;而在黑盒攻擊中,假設(shè)對(duì)手不知道知識(shí)矩陣?;谀繕?biāo)的攻擊者可通過(guò)故意注入錯(cuò)誤標(biāo)記的樣本來(lái)執(zhí)行針對(duì)訓(xùn)練階段的中毒攻擊,從而降低模型的檢測(cè)能力,還可執(zhí)行規(guī)避攻擊修改測(cè)試樣本以強(qiáng)制檢測(cè)模型錯(cuò)誤分類。因此,在對(duì)抗攻擊時(shí)若能在任何實(shí)際任務(wù)部署前進(jìn)行驗(yàn)證,將提升檢測(cè)模型的魯棒性。

      表3為Android 惡意應(yīng)用檢測(cè)對(duì)抗攻擊調(diào)查研究結(jié)果,展示了每項(xiàng)研究的關(guān)鍵點(diǎn)及其差異。Hu 等[49]提出基于生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)的算法(MalGAN),生成對(duì)抗性的惡意軟件實(shí)例能繞過(guò)基于黑盒的機(jī)器學(xué)習(xí)檢測(cè)模型,通過(guò)替代檢測(cè)器適應(yīng)黑盒惡意軟件檢測(cè)系統(tǒng),能將檢測(cè)率降低到接近零,并使基于再訓(xùn)練的對(duì)抗性實(shí)例的防御方法難以發(fā)揮作用。Chen 等[50]直接在APK 的Dalvik 字節(jié)碼上擾動(dòng)制作對(duì)抗樣本,以逃避從Dalvik 字節(jié)碼中收集特征(句法或語(yǔ)義特征)來(lái)捕獲惡意行為的檢測(cè)器,該方法成功地欺騙了Drebin、MaMaDroid[51]等基于機(jī)器學(xué)習(xí)的檢測(cè)方法。Grosse 等[18]擴(kuò)展了Papernot等[52]提出的方法,既調(diào)整了處理二進(jìn)制文件的功能,又保留了應(yīng)用程序的惡意功能,在Drebin 數(shù)據(jù)集應(yīng)用該攻擊的誤導(dǎo)比率高于63%。Demontis 等[53]針對(duì)關(guān)注0,1 型特征(1表示應(yīng)用存在某個(gè)特征,0表示不存在)的Drebin 模型指出一些潛在的攻擊場(chǎng)景,主要就混淆攻擊進(jìn)行研究,僅使用Android 應(yīng)用代碼混淆和加密工具DexGuard 對(duì)Drebin 產(chǎn)生一定干擾。

      Table 3 Android malicious application counterattack investigation results表3 Android惡意應(yīng)用對(duì)抗攻擊調(diào)查結(jié)果

      Chen 等[54]提出現(xiàn)實(shí)世界中的中毒攻擊表現(xiàn)為弱、強(qiáng)和復(fù)雜3 種類型,采用基于Jocobian 矩陣的對(duì)抗制作算法[52],在語(yǔ)義上以對(duì)抗攻擊的攻擊性為特征,使用語(yǔ)法特征生成偽裝樣本可在很大程度上模擬現(xiàn)實(shí)世界的攻擊,能誤導(dǎo)Drebin 和MaMaDroid 使用基于機(jī)器學(xué)習(xí)方法的檢測(cè)系統(tǒng)。Rathore 等[55]通過(guò)中毒/修改惡意樣本讓安卓惡意應(yīng)用檢測(cè)模型錯(cuò)誤分類,使用經(jīng)典機(jī)器學(xué)習(xí)、集成(bagging &boosting)算法和深度神經(jīng)網(wǎng)絡(luò)構(gòu)建各種檢測(cè)模型使用規(guī)避攻擊策略,在12 種不同惡意應(yīng)用檢測(cè)模型的平均欺騙率均超過(guò)50%,基于決策樹(shù)的檢測(cè)模型欺騙率最高,達(dá)到68.54%。Severi 等[56]研究基于特征的機(jī)器學(xué)習(xí)惡意應(yīng)用分類器分析后門樣本中毒攻擊的敏感性,為解決攻擊者無(wú)法控制樣本標(biāo)記過(guò)程的干凈標(biāo)簽攻擊,提出與模型無(wú)關(guān)的基于特征使用可解釋機(jī)器學(xué)習(xí)的惡意應(yīng)用分類器來(lái)生成后門樣本,在Drebin 數(shù)據(jù)集中將30個(gè)特征后門樣本作為訓(xùn)練線性SVM 的原始545 K 維向量,在2%的中毒率下攻擊將后門樣本的模型準(zhǔn)確度平均降低到42.9%。

      3.2 檢測(cè)防護(hù)

      Sebastián 等[57]在AVclass 等[58]基礎(chǔ)上建立AVclass 2,使其從專門針對(duì)惡意應(yīng)用家族的惡意應(yīng)用標(biāo)記工具演變?yōu)閻阂鈶?yīng)用標(biāo)簽提取工具,自動(dòng)從反病毒(Anti-Virus,AV)引擎的檢測(cè)標(biāo)簽中提取標(biāo)簽,并根據(jù)惡意應(yīng)用類別、系列、行為等分類惡意應(yīng)用樣本。

      由于構(gòu)建了不封閉標(biāo)簽集的開(kāi)放分類法,因此既可處理AV 供應(yīng)商隨時(shí)間推移引入的新標(biāo)簽,還能通過(guò)概括反病毒標(biāo)簽中發(fā)現(xiàn)的關(guān)系擴(kuò)展輸入分類法、標(biāo)記和擴(kuò)展規(guī)則。Demontis 等[53]針對(duì)規(guī)避攻擊提出對(duì)抗感知機(jī)器學(xué)習(xí)檢測(cè)器,通過(guò)更均勻分布的特征權(quán)重提升線性分類系統(tǒng)的安全性,甚至能確保在基于DexGuard 的混淆下仍然具有較強(qiáng)的魯棒性,所提出的安全學(xué)習(xí)范式減輕了規(guī)避攻擊的影響,在沒(méi)有攻擊的情況下還略微降低了檢測(cè)率。

      Chen 等[54]提出兩階段迭代的基于對(duì)抗的檢測(cè)模型(KUAFUDET),引入自動(dòng)偽裝檢測(cè)器過(guò)濾可疑的假陰性,并將其反饋到訓(xùn)練階段以解決對(duì)抗環(huán)境,增強(qiáng)了惡意軟件檢測(cè)系統(tǒng)的魯棒性,實(shí)驗(yàn)表明該模型可顯著減少假陰性并將檢測(cè)準(zhǔn)確率提升至少15%。Grosse 等[18]使用DNN 訓(xùn)練的惡意軟件檢測(cè)模型的潛在防御機(jī)制,防御蒸餾和對(duì)抗再訓(xùn)練,實(shí)驗(yàn)表明該方法降低了對(duì)抗樣本的錯(cuò)誤分類率,但觀察到的改進(jìn)通常可忽略不計(jì)。

      相比之下,在對(duì)抗訓(xùn)練期間引入擾動(dòng),僅使用對(duì)抗制作的惡意軟件應(yīng)用程序訓(xùn)練模型就能提升算法的魯棒性。Rathore 等[55]針對(duì)對(duì)抗攻擊使用對(duì)抗再訓(xùn)練作為防御機(jī)制,以構(gòu)建穩(wěn)健的惡意應(yīng)用檢測(cè)模型。防御機(jī)制在12 種不同的檢測(cè)模型下將同一攻擊的平均欺騙率降低到1/3。Han 等[22]開(kāi)發(fā)了FARM 的檢測(cè)器,提出基于標(biāo)志點(diǎn)的特征變換、基于特征值聚類的特征變換和基于關(guān)聯(lián)圖的特征變換3 種特征變換技術(shù),用于生成逆向工程難以得到的特征向量,面對(duì)偽造API 調(diào)用、權(quán)限請(qǐng)求和人為減少API 調(diào)用次數(shù)3種攻擊均表現(xiàn)出良好的魯棒性。

      4 未來(lái)研究方向

      4.1 更有效的特征組合方法

      靜態(tài)分析對(duì)高級(jí)別混淆后的應(yīng)用局限性較高,難以保證動(dòng)態(tài)分析代碼覆蓋率。然而,通過(guò)動(dòng)態(tài)分析和靜態(tài)分析集成的方法可能是增強(qiáng)準(zhǔn)確性,減輕靜態(tài)、動(dòng)態(tài)惡意應(yīng)用分析缺點(diǎn)的解決方案。因此,后續(xù)應(yīng)研究與Android 惡意應(yīng)用檢測(cè)相關(guān)的各種因素,例如通過(guò)不同策略進(jìn)行混合分析。

      4.2 更完備數(shù)據(jù)集的生成方法

      Android 惡意軟件仍在不斷演變,然而大多數(shù)研究并未公開(kāi)研究數(shù)據(jù)集,缺乏基準(zhǔn)Android 惡意軟件數(shù)據(jù)集。如果能使用最新應(yīng)用程序創(chuàng)建數(shù)據(jù)集并公開(kāi),將對(duì)研究者評(píng)估所提技術(shù)具有極大幫助。在數(shù)據(jù)集處理方面,檢測(cè)并減少數(shù)據(jù)集中的標(biāo)簽噪聲能有效提升惡意應(yīng)用檢測(cè)方法的性能。此外,最新提出的Android 惡意應(yīng)用檢測(cè)研究在實(shí)際應(yīng)用具有重要意義,但當(dāng)前針對(duì)此類的研究較少、難度更大,有待深入研究。

      4.3 更魯棒的深度學(xué)習(xí)分析模型

      Android 惡意應(yīng)用程序使用的規(guī)避技術(shù),在惡意應(yīng)用開(kāi)發(fā)者和安全研究者間引發(fā)了軍備競(jìng)賽。目前,大多數(shù)機(jī)器學(xué)習(xí)模型對(duì)對(duì)抗示例缺乏魯棒性,在訓(xùn)練或測(cè)試階段可能發(fā)生對(duì)抗攻擊、中毒攻擊、規(guī)避攻擊、模擬攻擊、反轉(zhuǎn)攻擊等,因此深度學(xué)習(xí)算法需提升魯棒性和安全性以抵御上述攻擊。

      目前,大多數(shù)對(duì)抗樣本只能欺騙依賴句法特征(請(qǐng)求的權(quán)限、API 調(diào)用等)的檢測(cè)方法,并且只能簡(jiǎn)單地修改應(yīng)用程序清單實(shí)現(xiàn)擾動(dòng)。雖然部分對(duì)抗樣本具有欺騙依賴語(yǔ)義特征(控制流圖)的機(jī)器學(xué)習(xí)檢測(cè)方法,但需要密切關(guān)注惡意應(yīng)用程序使用的創(chuàng)新規(guī)避技術(shù)、新型威脅、新型攻擊、防御對(duì)抗機(jī)器學(xué)習(xí)攻擊、防御對(duì)抗攻擊應(yīng)用檢測(cè)、抗混淆等方法,以便作好準(zhǔn)備對(duì)其采取防御措施。

      4.4 可解釋深度學(xué)習(xí)的惡意應(yīng)用檢測(cè)

      深度學(xué)習(xí)模型包含隱藏層,解釋算法在決策時(shí)缺乏透明度。如何提升深度學(xué)習(xí)模型的可解釋性(全局和局部可解釋性)和透明度,使其真正在實(shí)際場(chǎng)景中應(yīng)用,是未來(lái)的研究方向之一。此外,基于深度學(xué)習(xí)的算法需要持續(xù)再訓(xùn)練、細(xì)致調(diào)整超參數(shù)。同時(shí),與Android 惡意應(yīng)用分類相關(guān)的維度縮減、處理不平衡數(shù)據(jù)等問(wèn)題尚未被深入研究。

      5 結(jié)語(yǔ)

      由于移動(dòng)應(yīng)用程序的指數(shù)級(jí)增長(zhǎng),移動(dòng)惡意應(yīng)用已被認(rèn)為是對(duì)企業(yè)、政府和個(gè)人的主要網(wǎng)絡(luò)威脅之一。本文歸納了Android 惡意應(yīng)用檢測(cè)中靜態(tài)、動(dòng)態(tài)分析常用的特征,分析了Android 惡意應(yīng)用的不同檢測(cè)技術(shù),對(duì)使用人工智能技術(shù)檢測(cè)Android 惡意應(yīng)用進(jìn)行了回顧,還討論了Android 惡意應(yīng)用阻礙分析、逃避檢測(cè)的能力與防護(hù)方法。此外,本文總結(jié)歸納了現(xiàn)有研究的優(yōu)勢(shì)與不足之處,強(qiáng)調(diào)從研究中獲得主要見(jiàn)解,并提出未來(lái)的研究方向。

      猜你喜歡
      應(yīng)用程序機(jī)器深度
      機(jī)器狗
      機(jī)器狗
      深度理解一元一次方程
      刪除Win10中自帶的應(yīng)用程序
      深度觀察
      深度觀察
      未來(lái)機(jī)器城
      電影(2018年8期)2018-09-21 08:00:06
      深度觀察
      無(wú)敵機(jī)器蛛
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      龙州县| 三河市| 奉节县| 甘肃省| 广州市| 黔南| 西藏| 博野县| 庄河市| 石首市| 延安市| 紫阳县| 民勤县| 尼勒克县| 贵南县| 宁强县| 昭通市| 贵定县| 合山市| 安乡县| 蒙阴县| 会昌县| 丰镇市| 孟连| 石楼县| 益阳市| 大兴区| 吉林市| 波密县| 崇义县| 丰台区| 桂林市| 镇江市| 潼关县| 米林县| 苗栗市| 肃北| 阿拉善右旗| 霍邱县| 韶山市| 泾源县|