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

基于異質信息網絡的安卓虛擬化程序檢測方法

2023-01-01 00:00:00張威楠孟昭逸熊焰黃文超包象琳
計算機應用研究 2023年6期

摘 要:考慮到安卓應用虛擬化技術的功能特性,精確檢測安卓虛擬化程序是識別其隱藏安全風險的基礎和必要前提。為此,提出了基于異質信息網絡的安卓虛擬化程序檢測方法,并實現了原型系統Aiplugin。根據安卓虛擬化程序的特點,提取四類靜態程序特征,并將程序特征映射到異質信息網絡上,以元路徑的形式將不同程序關聯起來。采用異質圖注意力網絡表征算法和OC-SVM算法,融合不同視圖的程序語義信息,實現對安卓虛擬化程序的表征和分類。實驗結果表明,相較于當前的代表性工具VAhunt,Aiplugin可有效檢測包括平行空間等更多類型的安卓虛擬化程序。

關鍵詞:異質信息網絡; 安卓虛擬化程序; 安卓安全; 軟件工程

中圖分類號:TP393 文獻標志碼:A

文章編號:1001-3695(2023)06-026-1764-07

doi:10.19734/j.issn.1001-3695.2022.09.0545

Detection method of Android virtualization program based on heterogeneous information network

Zhang Weinan Meng Zhaoyi Xiong Yan Huang Wenchao Bao Xianglin

(1.a.School of Cyber Scienceamp; Technology, b.School of Computer Science amp; Technology, University of Science amp; Technology of China, Hefei 230027, China; 2.School of Computer Science amp; Technology, University of Anhui, Hefei 230601, China; 3.School of Computer amp; Information, Anhui Polytechnic University, Wuhu Anhui 241000, China)

Abstract:Considering the functional characteristics of Android application virtualization technology, accurate detection of Android virtualization programs is the basis and necessary prerequisite for identifying hidden security risks. Therefore, this paper proposed a method to detect Android virtualization programs based on heterogeneous information networks, and implemented the prototype system Aiplugin. According to the characteristics of Android virtualization programs, the system extracted four types of static program features and mapped program features to heterogeneous information networks. Aiplugin associated different programs in the form of meta paths. It used heterogeneous graph attention network representation algorithm and OC-SVM algorithm and integrated program semantic information from different views to realize the representation and classification of Android virtualization programs. The experimental results show that Aiplugin can detect more types of Android virtuali-zation programs, including parallel space, compared with the current representative tool VAhunt.

Key words:heterogeneous information network; Android virtualization program; Android security; software engineering

0 引言

隨著安卓平臺的發展以及自帶設備(bring your own device,BYOD)辦公趨勢的流行[1],安卓用戶可能需要多個應用賬號,用于工作和生活等不同場景[2]。然而大多數應用程序(如微信、QQ、推特等)不支持同時登錄多個賬號,因此用戶需要重復登錄才能實現不同賬號之間的切換。為了迎合用戶的需求,安卓虛擬化程序應運而生,其實現了在一個設備上啟動多個副本的功能,已獲得了廣泛的關注和使用,平行空間作為其中最受歡迎的應用程序之一在谷歌市場上累計獲得超過一億次下載[3]。然而在給用戶帶來方便的同時,由于共享權限、共享UID等特性,安卓虛擬化程序存在安全風險[4~10],攻擊者可以利用該框架竊取用戶隱私、植入欺詐廣告等。

在實際檢測中,識別安卓虛擬化程序是精確檢測其安全風險的必要前提。具體而言,由于安卓虛擬化程序可對惡意插件進行加密(如PluginPhantom[9])或者在程序運行后從互聯網上動態加載其插件(如HummingBad[10]),傳統的安卓惡意應用檢測方案難以直接用于識別此類惡意行為。為輔助下游安全分析人員分析與選擇針對性的檢測手段,亟待研究如何確定待檢測應用屬于安卓虛擬化程序。

目前針對安卓應用虛擬化框架的檢測方法分為動態檢測[11,12]和靜態檢測[6,8]。動態檢測方案作為一種防御措施,通過評估受保護的插件程序的環境信息進行判斷。考慮到在宿主程序中的運行環境與安卓系統創建的運行環境不同,Plugin Killer[11]嵌入應用程序中收集權限、進程信息、內部存儲信息等,與系統環境下的對應信息進行比較,搜集的信息與預期的信息存在差異則使得插件程序崩潰。Diprint[12]則是通過代碼路徑、是否可以使用未聲明的權限等判斷是否在虛擬化環境下。這些解決方案如果被攻擊者提前知曉,攻擊者可以攔截插件程序的系統調用并返回一個修改后的值,以逃避動態檢查。在靜態檢測方面,Zhang等人[5]根據所聲明的組件之間的相似性來識別一個虛擬環境(宿主程序往往聲明許多樁組件,這些樁組件用來代替宿主程序的組件,本身結構具有很大的相似性)。VAHunt[7]設計了一個狀態模型機,通過控制流圖來查看插件組件是否最終被樁組件取代。然而這些方案都是基于一定先驗知識的固定觀察,難以對多種類型的虛擬化程序進行檢測。

本文基于異質信息網絡與多視圖表征技術設計針對安卓虛擬化程序的檢測系統。需要強調的是,本文工作的主要目的在于準確識別出使用了安卓虛擬化框架的應用,為下游的安卓惡意應用檢測任務提供輔助和支撐,而非直接識別出惡意安卓虛擬化程序。據筆者所知,本工作首次運用異質信息網絡與多視圖表征學習相關技術檢測安卓虛擬化程序。在實現過程中需解決以下兩個問題:如何準確表征安卓虛擬化程序的行為;由于商業合作等原因,現階段沒有一個公開的安卓虛擬化程序數據集,這導致本文獲得的虛擬化程序與非虛擬化程序樣本之間數量不平衡,常規的分類算法因無法獲得足夠的訓練樣本而難以直接使用。

一方面,為深入刻畫不同安卓虛擬化程序的潛在聯系、發揮不同視圖下應用行為語義的一致性和互補性,通過構建異質信息網絡對程序內的結構信息和行為語義以及程序間的關聯關系進行建模。具體而言,本文首先從應用中提取了懸浮權限、相似組件、特征API和特征方法四類靜態特征作為實體;然后設計了多條元路徑以描述不同實體間的關系;最后利用異質圖注意力網絡算法聚合不同元路徑下的實體語義關聯,以完成對安卓虛擬化程序協同表征。另一方面,OC-SVM可以解決分類中樣本不平衡的問題[13],部分研究人員在面臨相似問題時同樣使用了OC-SVM算法[14],均取得了不錯的效果。因此,本文使用OC-SVM算法,將虛擬化程序的檢測任務轉換為相應的離群點檢測任務,以解決當前數據集中樣本數量不平衡的問題。

本文的主要貢獻如下:a)通過分析安卓虛擬化程序的特點,從安卓虛擬化程序內部特征出發,以安卓虛擬化程序特征之間的關系作為切入點,提出并實現了基于異質信息網絡的安卓虛擬化程序檢測方法,并實現了原型系統Aiplugin,如圖1所示;b)實驗中,通過自動化工具和人工核驗相結合的方式,從谷歌市場[3]、AndroZoo[15]等安卓應用開源數據集中搜集到197個虛擬化程序以及5 720個非虛擬化程序。在此數據集上的實驗結果表明,Aiplugin的精確率達到92.43%,準確率為98.46%,召回率為80.91%。相較于當前的代表性工具VAhunt,Aiplugin可有效檢測更多類型的安卓虛擬化程序。

1 安卓虛擬化程序

安卓虛擬化程序是為了實現安卓應用程序多開而設計的[16],安卓虛擬化程序可以作為宿主程序,為其他安卓程序(即插件程序)創建一個可以運行的虛擬環境。圖2為一個安卓虛擬化程序的內部架構,主要包括宿主程序、插件程序、動態代理模塊等。

宿主程序會為插件程序提供一個獨立的進程空間,插件程序與宿主程序共享一個UID。宿主程序依靠Hook技術來加載應用程序的DEX文件并通過掛鉤進程間通信(inter-process commnication,IPC)來維護插件程序組件的生命周期。具體而言:a)插件程序啟動進程直接與宿主程序進行交互,傳送消息的intent經過代理層進行封裝;b)宿主程序通過將封裝好的intent發送給安卓框架層,執行相應的系統調用,這樣在安卓平臺的視角下,所有的系統服務都是宿主程序的調用,遇到權限檢查時,安卓平臺只對宿主程序的權限申請進行檢查,惡意插件程序就可以利用這個特點實施特權提升攻擊;c)系統調用的返回值同樣經過框架代理層,由代理層轉發給插件程序;d)在轉發的過程中,惡意的宿主程序就可以竊取用戶的輸入信息,如聊天記錄、賬號密碼等。

由于宿主程序和插件程序共享UID和權限,導致安卓虛擬化程序存在一定安全風險。插件程序可以實現特權提升,即使零權限也可以調用一些敏感API。由于插件程序可以在運行時進行加載,攻擊者可以借此隱藏惡意功能,逃避檢測。VirtualApp[17]和DroidPlugin[18]是兩個著名的虛擬化框架,支持安卓虛擬環境的生成。PluginPhantom基于VirtualApp,將每個惡意功能作為一個插件來實現(如攔截來電和上傳被盜數據),并利用一個安卓虛擬化程序來調度和控制,從而難以發覺。HummingBad基于DroidPlugin,將廣告功能作為插件程序,只有當用戶使用的時候進行安裝,從而逃過檢測工具的檢測。

2 Aiplugin的框架與具體實現

Aiplugin主要基于異質信息網絡和多視圖表征學習相關技術,實現對安卓虛擬化程序的表征與分類。Aiplugin總共分為四個模塊:a)特征提取模塊負責對程序進行反編譯,搜集程序特征并對特征進行預處理;b)異質信息網絡構建模塊將程序和提取的特征構建為異質信息網絡;c)多視圖表征學習模塊使用HAN算法對程序節點進行表征,生成程序的向量表示;d)虛擬化程序檢測模塊將最終生成的程序向量,利用OC-SVM模型實現分類檢測。

2.1 Aiplugin的框架

為了檢測應用程序是否使用了安卓虛擬化框架,本文提出了一種基于異質信息網絡的虛擬化程序檢測系統Aiplugin。該系統主要包括以下四個模塊:

a)特征提取模塊。該模塊負責對數據集進行預處理,首先對程序進行反編譯,獲得程序的Manifest.xml文件和Smali文件,并從中獲得程序的權限、組件、API和方法,之后對特征進行清洗過濾,獲得懸空權限、相似組件、特征API和特征方法等程序特征作為實體,送入下一模塊進行異質信息網絡的構建。

b)異質信息網絡構建模塊。該模塊負責異質信息網絡的構建,本文將不同視圖下的程序特征,如懸空權限、相似組件等,映射到異質信息網絡上用不同的實體表示,同時用不同的元路徑表示不同實體間的關系。例如,權限視圖下生成APK-懸空權限-APK路徑,表示兩個APK通過申請了相同的懸空權限聯系在一起。將生成的異質信息網絡送入多視圖表征模塊以進一步挖掘程序間的關聯,實現對程序的表征。

c)多視圖表征學習模塊。該模塊負責學習并匯聚不同視圖下的程序信息,融合分析并最終生成程序的向量表示。本文首先提取異質信息網絡中不同視圖下的元路徑信息,不同的視圖代表不同種類的程序特征,同一視圖下的不同元路徑代表該程序特征視圖下的不同特征,例如權限視圖下的Android.permission.INTERNET和Android.permission.READ_PHONE_STATE;之后利用圖注意力網絡算法融合分析不同視圖下的元路徑信息和鄰居信息,最終生成程序的向量表示,用于接下來對虛擬化程序進行檢測。

d)虛擬化程序檢測模塊。該模塊負責虛擬化程序的檢測,由于數據集中的安卓虛擬化程序的樣本相對于安卓非虛擬化程序較少,該模塊采用OC-SVM異常檢測算法對程序進行檢測,判斷是否屬于虛擬化程序。

2.2 Aiplugin的實現

2.2.1 特征提取

傳統方法提取的安卓程序特征主要從安卓的Manifest.xml文件和代碼文件中提取[19,20],如權限、API等。然而安卓虛擬化程序自身獨有的特點,如超量申請權限[12],使得傳統的程序特征不適用于安卓虛擬化程序檢測。為了準確描述虛擬化程序,本文利用ApkTool工具對收集到的虛擬化程序進行反編譯,獲得了程序的Manifest.xml文件和Smali代碼,通過對Manifest.xml文件和Smali代碼分析虛擬化程序的特點設計程序特征,并通過卡方分布等數據分析方法篩選總結提取以下四種類型的特征。具體的特征介紹和篩選標準如下所示。

a)懸空權限,是指被安卓應用程序申請卻沒有使用的權限,即程序沒有調用其控制的API。經過文獻統計,虛擬化程序平均會申請129個權限[12],但是一般情況下,應用程序平均只會申請5個權限[21]。虛擬化程序所申請的權限大部分是懸空權限,主要目的是為了滿足后續插件程序對權限的使用需求,而不會被宿主程序使用。這一特征可以在一定程度上區分安卓虛擬化程序和安卓非虛擬化程序。

本文通過反編譯獲得程序申請的權限集合和調用的API集合,遍歷權限集合中的權限,檢查API集合中是否有該權限所對應的API。本文所采用的權限與API的映射結果均取自代表性工作PScout[22]的結果。需要注意的是,由于程序版本迭代以及開發人員水平參差不齊,部分非虛擬化程序中也包含懸空權限,所以僅通過懸空權限一個特征不足以精確檢測虛擬化程序[23,24]。

b)相似組件。虛擬化程序會使用大量的樁組件作為插件程序和Android框架之間的代理,這些樁組件在結構上彼此相似,如圖3所示。這些組件只有name和process不同,其余屬性均相同,而name和process也只是分配的ID(如圖3中的201和202)不同。安卓虛擬化程序需要使用大量的樁組件來啟動插件程序,而非虛擬化程序不需要。類似的樁組件本文將其作為相似組件,用于區分安卓虛擬化程序和安卓非虛擬化程序。

為了判斷程序是否存在相似組件,本文首先遍歷Manifest.xml文件的組件,使用編輯距離算法來計算該組件與其他組件之間的相似性并設定一個閾值,小于閾值的兩個組件,本文認為是相似的,并將相似的組件合并為一個相似組件候選集合,將相似組件的公共部分作為該集合的關鍵字,之后遍歷到的組件與該關鍵字進行比較。遍歷完成后,根據集合中相似組件的數量判斷是否作為該程序的一個相似組件特征。通過統計分析發現,搜集到的安卓虛擬化程序的樁組件數量均沒有超過1 000,也就是其后續編號沒有超過4位,因此本文設置距離為4,當兩個組件的編輯距離小于4,本文認為這兩個組件是相似的。當程序中的一個組件集合的相似組件數量超過10時,本文將該相似組件作為一個應用程序的特征。為證明上述參數設定的可靠性,通過統計發現,約有7%的非虛擬化程序存在相似組件且數量大于10,而該數據在虛擬化程序中則為89%。因此,本文將待測程序中存在相似組件且數量大于10視為判定該程序為虛擬化程序的關鍵指標之一。

c)特征API。安卓系統為開發者提供了眾多API,這些API能在一定程度上表征程序的應用行為,可以作為特征用于區分安卓虛擬化程序。然而,并非所有的API都能夠有效區分虛擬化程序,甚至一些API會起到干擾的作用。本文從Smali文件中提取以“invoke”開頭的程序調用的安卓系統API,并對獲得的API合并為該程序的API集合。利用卡方分布對API進行篩選,以獲得有利于區分虛擬化程序的API,并將這些API作為特征API。

本文統計了虛擬化程序和非虛擬化程序的API使用頻率,如表1所示。類似于android/content/Context;→getPackageName()的API常用于調用常規的系統信息,此類API在虛擬化程序和非虛擬化程序中都會被大量使用。因此,其對于Aiplugin而言不僅會增加計算量,而且有可能造成一定的噪聲干擾。本文總共從程序中提取出101 309個API,通過查表可知,當置信度為0.95時,應選取卡方值大于3.84的數據。因此本文選取卡方值大于3.84并且在虛擬化程序中和非虛擬化程序中均被調用過的API作為特征API,總共獲得20 948個特征API。其中卡方值前10的特征API如表2所示。從表2可以發現虛擬化程序會大量使用Parcel類(主要作為盛放消息的容器,進行Java層和C++層之間的交互),而非虛擬化程序則很少使用。

d)特征方法。一個特征API所能包含的語義信息是有限的,而由多個特征API組成的特征方法則可包含更豐富的語義信息,輔助區分虛擬化程序。例如,Landroid/content/Intent;→getStringExtra()只能說明一個程序有獲取intent的動作,而當Landroid/content/Intent;→getStringExtra()和Landroid/content/Intent;→setClassName在一個方法中調用時,這個方法就有可能是虛擬化程序用來封裝插件程序組件的。

本文分析程序的Smali文件,通過“.method”和“.end method”指令判斷一個方法并從中提取特征API,將提取到的特征API合并為集合,并以集合的形式表示特征方法,用于輔助區分虛擬化程序和非虛擬化程序。

2.2.2 異質信息網絡構建

異質信息網絡是一種特殊的信息網絡,它包含多種類型的節點或多種類型的邊,相比于簡單的one-hot編碼,圖結構能夠更好地表征程序的行為信息。一方面異質信息網絡相比于同構信息網絡可以處理多種類型特征,另一方面異質信息網絡中的元路徑包含豐富的語義特征,能夠用來表征圖中不同節點之間的復雜關系。

2.2.3 多視圖表征學習

本文選擇異質圖注意力網絡(heterogeneous graph attention network,HAN)[27]來聚合不同視圖下的元路徑信息和鄰居信息,通過對元路徑信息的融合和鄰居信息的融合生成程序的向量表示。該算法是一種基于鄰居聚合的異質圖注意力網絡嵌入表征算法,一方面該算法可以處理異質圖結構,另一方面使用注意力機制,能夠選擇性地分配節點鄰居和元路徑的權重,更有效地捕獲程序中的行為信息。

2.2.4 虛擬化程序檢測

為有效解決數據集中樣本不平衡的問題,本文選擇一種無監督的學習技術OC-SVM算法[28]來檢測虛擬化程序。OC-SVM的一般思想是識別最小的超球以包括大多數正例的樣本,一個被模型視為離群值的樣本意味著數據點不在超球體中。

本文將沒有使用虛擬化框架的程序作為正例,使用了虛擬化框架的程序作為反例,利用正例訓練構建超球面,通過程序是否在超球面內判斷該程序是否使用虛擬化框架。本文選用核函數為高斯核函數,訓練誤差為0.1,Gamma值為0.000 05。

3 實驗結果與分析

為了評價Aiplugin的檢測效果,本文將回答以下三個問題:a)在表征虛擬化程序的任務中,Aiplugin所采用的異質圖注意力網絡算法是否比其他的表征算法更有效?b)在檢測虛擬化程序的任務中,Aiplugin所采用的不同視圖下的特征融合是否比單一視圖以及融合其他視圖下的特征組合更有效?c)Aiplugin的表現效果是否比現有的代表性工具更有效?

3.1 實驗設置

本文在一臺使用Intel Xeon Gold 5215 2.50 GHz CPU、128 GB內存、GeForce RTX 3090顯卡和Ubuntu 16.04(64位)的服務器上進行了實驗。

本文數據來源于AndroZoo和谷歌市場等第三方平臺。首先通過谷歌市場等第三方市場檢索文獻中涉及的安卓虛擬化程序,并通過安卓虛擬化程序的相似推薦頁面獲得疑似安卓虛擬化程序,對疑似安卓虛擬化程序進行人工篩選,最終獲得127個虛擬化程序。其次本文從AndroZoo上隨機下載了22 960個安卓程序,通過VAHunt和人工檢查收集了69個安卓虛擬化程序,最后總共獲得了196個安卓虛擬化程序作為數據集中的安卓虛擬化程序樣本。本文從篩選后的非虛擬化程序中隨機選擇5 720個程序作為非虛擬化程序樣本。

3.2 異質信息網絡表征算法對比

作為對比實驗,本文同時評估了metapath2vec[29]、DeepWalk[30]和MetaGraph2Vec[31],在相同數據集上的表征效果,本文采用的檢測指標如表3所示。

a)metapath2vec,一種異質圖嵌入表示方法,它實現了基于元路徑的隨機游走,并利用skip-gram對異質圖進行嵌入。但是該算法每次只能利用一個元路徑進行表示,本文使用重啟動策略,即在隨機游走的過程中每完成一個元路徑的游走之后,在四個元路徑中隨機選擇一個元路徑進行下一步游走。

b)DeepWalk,一種基于隨機游走的針對同構圖的網絡嵌入表示方法。這里忽略了節點的異質性,并對整個異質圖執行隨機游走。

本文對數據集采用不同的表征算法進行表征,生成的向量統一使用相同參數的OC-SVM模型進行分類。在對程序表征部分,本文采用十倍交叉驗證,將數據集分為十份,輪流將其中的一份作為測試集,其余九份作為訓練集,共進行十次訓練,最終結果取平均值。對于metapath2vec、MetaGraph2Vec和DeepWalk,本文采用的超參數設置為:窗口大小為5,游走長度為50,游走數為1 000,負樣本個數為5。在檢測階段,本文將用不同表征算法表征的程序向量統一相同參數的OC-SVM模型進行分類,對于非虛擬化程序數據集同樣采用了十倍交叉驗證的方法,訓練集作為正例用于訓練生成超平面,虛擬化程序作為反例均為測試集,共進行10組實驗;對于非虛擬化程序數據集同樣采用了十倍交叉驗證的方法,訓練集作為正例用于訓練生成超平面,虛擬化程序作為反例均為測試集,共進行10組實驗。實驗結果如表4所示。

由實驗結果可以看出,Aiplugin的平均精確率達到92.43%,平均精準率為98.46%,召回率為80.91%,均優于metapath2vec、MetaGraph2Vec和DeepWalk。本文對假陰性樣本進行分析,發現假陰性樣本雖然同樣使用了虛擬化框架,但是并沒有申請大量的懸空權限和樁組件。本文分析其使用虛擬化框架的目的是突破安卓平臺64 K方法數量的限制(如com.didiglobal.passenger),所以不需要像其他虛擬化程序一樣使用懸空權限和樁組件,使得本方法將其判定為非虛擬化程序。

將DeepWalk應用在整張異質圖上,即在整張圖上直接進行隨機游走。由于DeepWalk在設計之初是應用在同質圖中,使得DeepWalk難以捕捉異質圖中節點之間的關系信息以及節點的語義信息。而HAN算法則是為異質圖而設計,能夠捕捉異質圖中的關系信息以及節點的語義信息,因此在本文應用場景中,HAN的四項指標均優于DeepWalk。

metapath2vec是基于元路徑的指導下進行隨機游走的,能夠捕捉程序的結構信息,使得模型能夠捕捉到更多的語義信息,相比于DeepWalk,整體效果有所提升。但是metapath2vec設計之初只能處理一條元路徑,為了使得metapath2vec能夠融合不同視圖下的元路徑信息,本文在一條元路徑隨機游走結束后重新隨機選擇元路徑游走。雖然這樣可以讓metapath2vec捕獲更多的信息進行融合,但是游走策略不能區分不同元路徑信息的重要性,在完全隨機的情況下無法平衡不同元路徑的重要性,影響了最終的判斷。HAN算法不僅可以處理多條元路徑,并且引入了注意力機制,為不同的元路徑分配注意力系數,這意味著HAN能夠更好地對獲得的信息進行融合分析,因此HAN的四項指標也均優于metapath2vec。

MetaGraph2Vec能夠在構建的異質圖上提取元圖,即不同元路徑的組合,在元圖的指導下隨機游走,將元圖設計為本文提出的元路徑的組合,相較于MetaGraph2Vec能夠更合理地捕獲不同視圖下的信息,效果得到明顯提升。但是相比于HAN算法,MetaGraph2Vec沒有平衡節點相連的不同元路徑信息以及通過該元路徑連接的不同鄰居節點信息的重要性。HAN算法使用雙重注意力機制,既可以選擇性地關注更為重要的元路徑信息,同時也可以選擇性地關注節點的鄰居信息。因此HAN算法四項指標也略高于metagraph2vec算法。

HAN引入了雙重注意力機制,使得其在捕獲不同視圖下的信息外,能夠學習不同視圖下程序行為信息以及程序的鄰居節點信息對于虛擬化程序的關聯程度,能夠更好地融合異質圖中不同視圖下的信息,因此本文最終選擇HAN算法作為Aiplugin的最終表征算法。

3.3 基于不同視圖下特征組合的Aiplugin對比

在本節實驗中,基于3.1節中的數據集,本文評估了基于不同視圖下特征組合的Aiplugin的檢測效果。將不同的特征組合映射為異質信息網絡上的不同元路徑組合,通過分析融合不同元路徑組合的檢測效果來驗證Aiplugin的檢測效果。

在實驗中,給定一組元路徑集合,表示為S1,S2,S3,…,S15。本文使用Aiplugin來表征HIN中程序節點的向量表示,獲得程序的向量表示輸入OC-SVM進行訓練分類。本文總共評估了4個元路徑和11組元路徑融合的檢測效果,結果如表5所示。從表5可以看出,隨著更多元路徑的加入,Aiplugin的精確率、準確率、召回率和F1值都有一定的提升,說明多視圖融合分析可以有效區分虛擬化程序。值得一提的是,基于單個路徑的Aiplugin中,特征API和特征方法的檢測效果是優于懸浮權限和相似組件。同時,基于三個元路徑組成的集合檢測結果中,包含特征API和特征方法的集合也要優于另外兩個,說明特征API和特征方法能夠輔助懸浮權限和相似組件,有效區分虛擬化程序。

由前文所述,存在部分虛擬化程序并沒有使用懸空權限和相似組件而導致檢測結果中假陽性的增加,進而導致了Aiplugin召回率只有80.91%。但是根據表5,Aiplugin檢測的召回率依然高于目前最先進的靜態檢測工具VAHunt、Aiplugin單路徑以及Aiplugin其余路徑融合的召回率。在后續研究中,擬分析程序的控制流和數據流,并從中提取特征,以提高Aiplugin的召回率。

3.4 與現有靜態檢測工具對比

基于3.1節中的數據集,與目前最先進的安卓虛擬化程序檢測工具VAHunt進行比較。為了快速獲得虛擬化程序,本文對AndroZoo上獲得的程序用VAHunt進行初篩,之后對初篩的結果進行手工驗證。在測試部分,本文將虛擬化程序作為陽性,非虛擬化程序作為陰性,如果Aiplugin和VAHunt將非虛擬化程序檢測為虛擬化程序則作為假陰性,否則為真陰性,將虛擬化程序檢測為非虛擬化程序則作為假陽性,否則為真陽性。具體實驗結果如表6所示。由表6可知,Aiplugin在精準率和召回率上優于VAHunt,而VAHunt在準確率上優于Aiplugin。當檢測程序為基于VirtualApp和DroidPlugin框架的虛擬化程序時,VAHunt會展現出極高的準確率。

VAHunt是基于一定先驗知識的固定觀察去檢測程序是否使用了虛擬化框架,只有檢測到安卓虛擬化程序特定的行為時,VAHunt才會判定為安卓虛擬化程序,使得其具有很低的假陰性。同樣,由于其判定方式是固定不變的,當面對的虛擬化程序使用的是自主研發的虛擬化框架而不是VirtualApp和DroidPlugin時,VAHunt展現出了較高的假陽性,例如使用自研框架Multi-Droid的平行空間,而Aiplugin相對于VAHunt使用機器學習技術挖掘程序之間潛在的聯系,使得Aiplugin能夠發現虛擬化程序之間的共性,使得Aiplugin能夠檢測更多種類的虛擬化程序,且召回率遠遠大于VAHunt。Aiplugin的acc略低于VAHunt,但也達到了92.43%。通過進一步分析可知,非虛擬化程序使用了Parcel類的API以及申請了懸空權限,這使得Ailpugin產生了一些假陰性結果。在未來工作中,本文將嘗試抽象控制流和數據流等更高等級的特征以及進一步優化算法,減少Aiplugin的假陰性。

4 結束語

本文提出了一種基于異質信息網絡的安卓虛擬化程序檢測方法,并基于該方法實現了原型機Aiplugin。首次利用異質信息網絡與多視圖表征學習相關技術對安卓虛擬化程序進行檢測,實現了對多種類安卓虛擬化程序的精確檢測。實驗表明,Aiplugin檢測的準確率達到92.43%,精確率達到98.46%,召回率達到80.91%。其能夠檢測包括最新版本的平行空間在內的多種安卓虛擬化程序,優于現有的代表性檢測工具。

在未來的工作中,將考慮設計輕量級的動態監測方法,通過與宿主程序協同配合獲取宿主程序的執行序列以及數據流信息,抽象為程序特征,以進行更準確的特征。為了解決樣本不平衡的問題,本文調研相關文獻后,在分類部分直接使用了OC-SVM經典模型并產生了較為優秀的檢測效果。未來將嘗試使用更為先進的推演模型進行分類,并進一步優化以提高Aiplugin的性能。

參考文獻:

[1]Barlette Y, Jaouen A, Baillette P. Bring your own device (BYOD) as reversed IT adoption: insights into managers’coping strategies [J].International Journal of Information Management,2021,56(2):102212.

[2]Park J. How to manage multiple Instagram accounts on desktop[EB/OL].(2020-01-14).https://tryshift.com/blog/apps-hub/instagram-login-on-desktop-manage-multiple-ig-accounts/.

[3]LBE Tech. Google Play[EB/OL].[2022-09-27].https://develo-per.android.google.cn/distribute/google-play?hl=zh-cn.

[4]Threat Intelligence Team. Malware posing as dual instance app steals users’ Twitter credentials[EB/OL].(2016-10-19).https://blog.avast.com/malware-posing-as-dual-instance-app-steals-users-twitter-credentials.

[5]Zhang Lei, Yang Zhemin,He Yuyu, et al. App in the middle: demystify application virtualization in Android and its security threats [J].ACM on Measurement and Analysis of Computing Systems,2019,3(1):article No.17.

[6]Ruggia A, Losiouk E, Verderame L, et al. Repack me if you can: an anti-repackaging solution based on Android virtualization[C]//Proc of Annual Computer Security Applications Conference.New York:ACM Press,2021:970-981.

[7]Shi Luman, Ming Jiang, Fu Jianming, et al. VAHunt: warding off new repackaged Android malware in app-virtualization’s clothing[C]//Proc of ACM SIGSAC Conference on Computer and Communications Security.New York:ACM Press,2020:535-549.

[8]Zheng Cong, Hu Wenjun, Xu Zhi. A new trend in Android adware: abusing Android plugin frameworks[EB/OL].(2017-03-22).https://unit42.paloaltonetworks.com/unit42-new-trend-android-adware-abusing-android-plugin-frameworks/.

[9]Khandelwal S. Nasty Android malware that infected millions returns to Google Play store[EB/OL].(2017-01-24).https://thehackernews.com/2017/01/hummingbad-android-malware.html.

[10]Wu Yifang, Huang Jianjun, Liang Bin, et al. Do not jail my app: detecting the Android plugin environments by time lag contradiction[J].Journal of Computer Security,2020,28(2):269-293.

[11]Luo Tongbo, Zheng Cong, Xu Zhi, et al. Anti-plugin: don’t let your app play as an Android plugin[EB/OL].(2018-08-30).https://vdocument.in/anti-plugin-dont-let-your-app-play-as-an-android-plugin-anti-plugin-dont.html?page=1.

[12]Shi Luman, Fu Jianming, Guo Zhengwei, et al. “Jekyll and Hyde” is risky: shared-everything threat mitigation in dual-instance apps[C]//Proc of the 17th Annual International Conference on Mobile Systems, Applications, and Services.New York:ACM Press,2019:222-235.

[13]Seliya N, Zadeh A A, Khoshgoftaar T M, et al. A literature review on one-class classification and its potential applications in big data[J].Journal of Big Data,2021,8(9):article No.122.

[14]Dreiseitl S, Osl M, Scheibbck C, et al. Outlier detection with one-class SVMs: an application to melanoma prognosis[C]//Proc of AMIA Symposium.2010:172-176.

[15]Allix K, Bissyandé T F, Klein J, et al. AndroZoo: collecting millions of Android apps for the research community[C]//Proc of the 13th International Conference on Mining Software Repositories.New York:ACM Press,2016:468-471.

[16]Arslan A. How to install multiple copies and run multiple instances of Android apps[EB/OL].(2022-06-25).https://www.makeuseof.com/tag/run-multiple-app-copies-android/.

[17]VirtualApp[EB/OL].[2022-09-27].https://github.com/asLody/VirtualApp.

[18]DroidPlugin Team. DroidPlugin[EB/OL].[2022-09-27].https://github.com/DroidPluginTeam/DroidPlugin.

[19]Zhang Yuan, Yang Min, Xu Bingquan, et al. Vetting undesirable behaviors in Android apps with permission use analysis[C]//Proc of ACM SIGSAC Conference on Computer amp; Communications Security.New York:ACM Press,2013:611-622.

[20]Meng Zhaoyi, Xiong Yan, Huang Wenchao, et al. AppAngio: revealing contextual information of Android app behaviors by API-level audit logs[J].IEEE Trans on Information Forensics and Security,2021,16:1912-1927.

[21]Johnson R, Wang Zhaohui, Gagnonr C, et al. An analysis of Android app permissions[C]//Proc of the 6th International Conference on Software Security and Reliability Companion.Piscataway,NJ:IEEE Press,2012:45-46.

[22]Au K W A, Zhou Yifan, Huang Zhen, et al. PScout: analyzing the Android permission specification [C]//Proc of the 19th ACM Confe-rence on Computer and Communications Security.New York:ACM Press,2012:217-228.

[23]Tang Junwei, Li Ruixuan, Han Hongmu, et al. Detecting permission over-claim of Android applications with static and semantic analysis approach[C]//Proc of IEEE International Conference on Trust, Security and Privacy in Computing and Communications. Piscataway,NJ:IEEE Press,2017:706-713.

[24]Oul M, Baktir S, Tatli E I. Abused Android permissions by adverti-sing networks[C]//Proc of the 4th International Conference on IT Convergence and Security.2014: 1-4.

[25]Sun Yizhou, Han Jiawei. Mining heterogeneous information networks: a structural analysis approach[J].ACM SIGKDD Explorations Newsletter,2012,14(2):20-28.

[26]Sun Yizhou, Han Jiawei, Yan Xifeng, et al. PathSim: meta path-based top-k similarity search in heterogeneous information networks[J].Proceedings of the VLDB Endowment,2011,4(11):992-1003.

[27]Wang Xiao, Ji Houye, Shi Chuan, et al. Heterogeneous graph attention network[C]//Proc of World Wide Web Conference.New York:ACM Press,2019:2022-2032.

[28]Schlkopf B, Platt J C, Shawe-Taylor J, et al. Estimating the support of a high-dimensional distribution[J].Neural Computation,2001,13(7):1443-1471.

[29]Dong Yuxiao, Chawla N V, Swami A. metapath2vec: scalable representation learning for heterogeneous networks[C]//Proc of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York:ACM Press,2017:135-144.

[30]Perozzi B,Al-Rfou R, Steven S. DeepWalk: online learning of social representations[C]//Proc of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York:ACM Press,2014:701-710.

[31]Zhang Daokun, Yin Jie, Zhu Xingquan, et al. MetaGraph2Vec:complex semantic path augmented heterogeneous network embedding[C]//Proc of the 22nd Pacific-Asia Conference on Knowledge Discovery and Data Mining.Cham:Springer,2018:196-208.

主站蜘蛛池模板: 欧美视频在线观看第一页| 国产精品女主播| 国产亚洲精品在天天在线麻豆| 在线日韩日本国产亚洲| 成人韩免费网站| 亚洲第一天堂无码专区| 亚洲人成网线在线播放va| 日本高清成本人视频一区| 国产一级小视频| 国产欧美中文字幕| 精品视频一区二区三区在线播| 日韩在线中文| 国产亚洲精品va在线| 亚洲欧美人成电影在线观看| 欧美另类图片视频无弹跳第一页| 亚洲永久视频| 亚洲一区二区三区中文字幕5566| 四虎影视库国产精品一区| 亚洲黄网在线| 国产区在线看| 国产精品熟女亚洲AV麻豆| 自拍偷拍欧美日韩| 成人免费午间影院在线观看| 亚洲人网站| 国产www网站| 国产av无码日韩av无码网站| 久久久久九九精品影院| 国产日韩AV高潮在线| 伊人久久婷婷五月综合97色| 成人免费午夜视频| 欧美成人精品一级在线观看| 国产在线精品人成导航| 沈阳少妇高潮在线| 亚洲欧美综合在线观看| 日韩不卡免费视频| 91伊人国产| 97精品久久久大香线焦| 538精品在线观看| 老汉色老汉首页a亚洲| 国产人在线成免费视频| 亚洲一区二区三区香蕉| 欧美亚洲激情| 91最新精品视频发布页| 欧洲亚洲一区| 久久www视频| 久久黄色免费电影| 99热免费在线| 欧美中文字幕无线码视频| 精品乱码久久久久久久| 日韩 欧美 国产 精品 综合| 亚洲精品视频免费| 国产在线观看高清不卡| 亚洲精品另类| 日韩乱码免费一区二区三区| www.精品国产| 成年人国产视频| 午夜日本永久乱码免费播放片| 99中文字幕亚洲一区二区| 三上悠亚一区二区| 免费无码又爽又刺激高| 青青操国产| 高清色本在线www| 日韩大片免费观看视频播放| 69综合网| 中文字幕有乳无码| 五月激情综合网| 久久精品一品道久久精品| 制服丝袜国产精品| 国产亚洲成AⅤ人片在线观看| 国产高清国内精品福利| 国产日产欧美精品| 亚洲精品图区| av午夜福利一片免费看| 色哟哟国产精品| 国产老女人精品免费视频| 9cao视频精品| 亚洲欧美日韩成人在线| 亚洲色图在线观看| 国产jizz| 亚洲欧美日韩成人在线| 青草国产在线视频| 日本少妇又色又爽又高潮|