亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于動(dòng)靜態(tài)結(jié)合分析的Android惡意應(yīng)用多重檢測模型

        2018-03-01 10:26:16陳明翔解夢飛張欽堯劉俊
        無線互聯(lián)科技 2018年22期
        關(guān)鍵詞:動(dòng)態(tài)監(jiān)測機(jī)器學(xué)習(xí)

        陳明翔 解夢飛 張欽堯 劉俊

        摘 要:文章通過對大量Android惡意軟件的研究,提出并設(shè)計(jì)一種Android惡意應(yīng)用綜合檢測模型。模型中包含動(dòng)態(tài)監(jiān)測和靜態(tài)分析兩種惡意應(yīng)用識(shí)別技術(shù),并結(jié)合機(jī)器學(xué)習(xí)算法,對Android應(yīng)用中可能存在的惡意代碼攻擊、漏洞利用、隱私泄露3種問題進(jìn)行了研究并設(shè)計(jì)出解決方案。

        關(guān)鍵詞:Android;惡意軟件;動(dòng)態(tài)監(jiān)測;靜態(tài)分析;機(jī)器學(xué)習(xí);漏洞掃描;隱私泄露

        近年來,Android智能設(shè)備在全球市場的占有率越來越高,但Android系統(tǒng)的安全問題卻層出不窮。一方面各大應(yīng)用市場寬松的審查機(jī)制導(dǎo)致Android惡意軟件泛濫,另一方面開發(fā)者的水平不一也導(dǎo)致Android應(yīng)用自身的安全性良莠不齊。隨著時(shí)間的推移,各大廠商的手機(jī)大多都已安裝了自家的安全軟件,并配套了具有審查機(jī)制的應(yīng)用市場。但是,由于Android系統(tǒng)的開源性,許多智能手機(jī)愛好者會(huì)為系統(tǒng)進(jìn)行root提權(quán),從而對手機(jī)進(jìn)行高度定制。然而,各大廠商原生的安全機(jī)制對root手機(jī)不再適用。用戶在沒有對Android應(yīng)用安全性進(jìn)行確認(rèn)的情況下,經(jīng)過root提權(quán)的手機(jī)(以下簡稱root手機(jī))更容易被惡意軟件以高權(quán)限入侵。

        與此同時(shí),目前常見的Android應(yīng)用安全性檢測方案主要使用動(dòng)態(tài)和靜態(tài)兩種檢測技術(shù),但大多數(shù)設(shè)計(jì)方案只針對其中一項(xiàng)技術(shù)進(jìn)行應(yīng)用或改進(jìn),少有對這些技術(shù)檢測效果的相關(guān)性與互補(bǔ)性進(jìn)行研究。這明顯無法對root手機(jī)進(jìn)行全面、高效的安全防護(hù)。

        在此背景下,本文提出一種綜合多種檢測技術(shù)的Android應(yīng)用安全性檢測模型。此模型基于現(xiàn)有的檢測技術(shù)進(jìn)行改進(jìn),并通過不同檢測方案間的互補(bǔ)性來設(shè)計(jì)檢測流程,一方面可以提高檢測的精度,另一方面則可以擴(kuò)展應(yīng)用安全性的評(píng)估面。此外,本系統(tǒng)針對root手機(jī)的特點(diǎn),在應(yīng)用安全性評(píng)估模型中還著重實(shí)現(xiàn)了動(dòng)態(tài)的風(fēng)險(xiǎn)評(píng)估和危險(xiǎn)行為攔截,具有全面性、精確性、高效性。

        1 基于動(dòng)靜態(tài)結(jié)合分析的Android惡意應(yīng)用多重檢測模型的總體設(shè)計(jì)

        本系統(tǒng)包括:動(dòng)態(tài)監(jiān)測部分和靜態(tài)檢測部分(見圖1),分別運(yùn)行在Android客戶端和服務(wù)器端。

        動(dòng)態(tài)監(jiān)測部分包括敏感行為監(jiān)測模塊和流量監(jiān)控模塊,靜態(tài)檢測部分包括惡意軟件鑒別模塊、漏洞檢測模塊和隱私泄露檢測模塊。

        2 基于API Hook的敏感行為監(jiān)測模塊

        Android操作系統(tǒng)維護(hù)著自己的一套事件分發(fā)機(jī)制,Android應(yīng)用程序、觸發(fā)事件和后臺(tái)邏輯處理,都是根據(jù)該機(jī)制一步步向下執(zhí)行,惡意軟件的敏感行為也不例外。若能在事件傳送到終點(diǎn)前將事件截獲并對其操作進(jìn)行一定修改,就可以有效地抑制惡意行為的效果,這就是Hook機(jī)制。

        本模塊設(shè)計(jì)一種基于Xposed框架的Hook模塊,運(yùn)行于Android客戶端上,利用Xposed框架對Zygote進(jìn)程及其創(chuàng)建的Dalvik虛擬機(jī)的劫持[1],在開機(jī)時(shí)完成對所有的Hook方法的重定義或改寫,實(shí)現(xiàn)對于應(yīng)用中調(diào)用的系統(tǒng)敏感API的鉤取、分析、預(yù)警。

        2.1 確定敏感行為

        通常,移動(dòng)平臺(tái)的惡意行為包含:惡意控制設(shè)備、強(qiáng)行推送廣告、偷跑流量、竊取用戶隱私、獲取用戶實(shí)時(shí)動(dòng)態(tài)等[2],根據(jù)以上惡意行為,Hook模塊預(yù)設(shè)80多項(xiàng)行為作為敏感行為。

        2.2 模塊工作流程

        模塊工作流程包含API Hook模塊、風(fēng)險(xiǎn)評(píng)估模塊、風(fēng)險(xiǎn)預(yù)警模塊。

        2.2.1 API Hook

        Hook模塊隨Android客戶端安裝后托管于Xposed模塊,運(yùn)行于后臺(tái)。API Hook模塊每鉤取到一個(gè)API,就會(huì)記錄其調(diào)用時(shí)間、重要參數(shù),加入相應(yīng)Android應(yīng)用程序的API調(diào)用鏈中。API Hook模塊只記錄固定時(shí)間內(nèi)的API調(diào)用,若超過該固定時(shí)間,API調(diào)用鏈中過早調(diào)用的API會(huì)被刪去。若該應(yīng)用在固定時(shí)間內(nèi)程序調(diào)用鏈長度達(dá)到閾值或者API調(diào)用鏈中出現(xiàn)了固定的惡意API組合,模塊就會(huì)啟動(dòng)惡意風(fēng)險(xiǎn)評(píng)估流程。

        2.2.2 風(fēng)險(xiǎn)評(píng)估

        本文提出并設(shè)計(jì)一種風(fēng)險(xiǎn)評(píng)估模型,首先提出以下前提和概念。

        a) 本文預(yù)設(shè)敏感API集為。

        b) 定義為APP調(diào)用的敏感API集,包含于{API}。

        c)對APP中的敏感API調(diào)用鏈進(jìn)行分析、評(píng)估,分以下兩種情況執(zhí)行:

        (1)若無匹配惡意行為特征API集的調(diào)用出現(xiàn)。

        Hook模塊設(shè)計(jì)前期,對大量惡意軟件的反編譯提取其中敏感API調(diào)用代碼。本文通過大量的動(dòng)態(tài)監(jiān)測分析其惡意程度,定義了各敏感API的惡意權(quán)重。

        Hook模塊提出一種風(fēng)險(xiǎn)評(píng)估算法:

        定義為ai執(zhí)行過程中調(diào)用的敏感API集。

        定義為ai的調(diào)用權(quán)重,特別地若,則。

        定義為該APP的帶權(quán)惡意系數(shù)。通過機(jī)器學(xué)習(xí)分類算法計(jì)算,若V>0.61,則判定該應(yīng)用為惡意軟件。

        (2)若匹配到惡意行為特征API集。

        為該惡意API組合調(diào)用的組合時(shí)間惡意系數(shù),若T<0,則將該APP評(píng)估為惡意APP。

        使用現(xiàn)有的APP自動(dòng)化檢測系統(tǒng)得出在100款惡意軟件上,該風(fēng)險(xiǎn)評(píng)估算法成功率為87%。

        2.3 風(fēng)險(xiǎn)預(yù)警

        對于判定為惡意APP的應(yīng)用,API Hook模塊提醒用戶卸載,并將其包名、簽名添加到黑名單中。Hook模塊監(jiān)聽系統(tǒng)安裝程序,對于黑名單中的應(yīng)用直接予以卸載處理。對于未判定為惡意但進(jìn)入風(fēng)險(xiǎn)評(píng)估流程的APP,本系統(tǒng)會(huì)在用戶允許下將其上傳到服務(wù)器,啟動(dòng)靜態(tài)檢測流程。

        3 Android流量監(jiān)控、分析、攔截模型

        多數(shù)Android惡意應(yīng)用通過聯(lián)網(wǎng)下載APP、展示廣告等方式盈利,這不僅導(dǎo)致用戶消耗大量流量,還可能威脅到用戶隱私和Android系統(tǒng)安全。基于惡意應(yīng)用依賴互聯(lián)網(wǎng)盈利這個(gè)特點(diǎn),本文在Android設(shè)備上搭建一個(gè)流量監(jiān)控、分析、攔截平臺(tái),建立惡意流量規(guī)則庫,對惡意應(yīng)用的請求報(bào)文進(jìn)行攔截,從而阻止惡意應(yīng)用的惡意行為,保護(hù)用戶的流量和隱私。

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

        Android流量監(jiān)控、分析、攔截平臺(tái)架構(gòu)如圖2所示。

        Android流量監(jiān)控、分析、攔截平臺(tái)采用C-S模式,客戶端實(shí)現(xiàn)監(jiān)控和攔截功能,服務(wù)器實(shí)現(xiàn)惡意流量規(guī)則的匯總、判優(yōu)和同步。

        客戶端流量攔截模塊長期在后臺(tái)運(yùn)行,核心是請求報(bào)文惡意特征匹配機(jī)制。該機(jī)制根據(jù)本地惡意URL模式庫和URL黑名單庫檢查每一個(gè)請求報(bào)文,命中規(guī)則即進(jìn)行攔截,否則放行。流量監(jiān)控模塊由用戶啟動(dòng),抓取用戶指定應(yīng)用的流量包,輔助用戶編寫自定義攔截規(guī)則,添加到本地惡意流量數(shù)據(jù)庫中。用戶可選擇上傳分享自定義規(guī)則,同時(shí)也可對其他人編寫的規(guī)則進(jìn)行評(píng)價(jià)。此外,客戶端還接受Hook模塊判定的惡意應(yīng)用的流量清單,根據(jù)用戶選擇將流量清單加入惡意流量黑名單庫中。

        服務(wù)器端接收用戶分享的自定義規(guī)則,暫時(shí)存放在共享惡意流量規(guī)則庫中。用戶可以試用共享規(guī)則庫中的規(guī)則并對其評(píng)價(jià)打分。服務(wù)器定期將高評(píng)分規(guī)則加入公共惡意流量規(guī)則庫中,向所有客戶端同步。隨著用戶的分享和數(shù)據(jù)庫的不斷更新,逐步加強(qiáng)對惡意流量攔截的廣度和準(zhǔn)確度。

        3.2 模型實(shí)現(xiàn)

        客戶端流量攔截功能基于browsermob-proxy代理實(shí)現(xiàn)。代理工具browsermob-proxy開放源代碼,本文除了使用API接口提供的功能外,還改動(dòng)源碼適配Android系統(tǒng)。代理需要長期運(yùn)行,為了保證代理不被系統(tǒng)回收,將代理寫入Android前臺(tái)服務(wù)中并在通知欄顯示運(yùn)行狀態(tài)。

        客戶端流量監(jiān)控功能基于VPNService實(shí)現(xiàn)。在VPNService框架中,開發(fā)者可以獲取和控制所有網(wǎng)絡(luò)層流量。此外,網(wǎng)絡(luò)層中包含的傳輸層端口信息用來區(qū)分出不同應(yīng)用的流量。

        4 基于權(quán)限與敏感API的機(jī)器學(xué)習(xí)分類算法靜態(tài)檢測模型

        本模塊針對Android應(yīng)用程序的權(quán)限機(jī)制與敏感API的調(diào)用情況,分別建立基于權(quán)限與敏感API的特征向量,然后使用樸素貝葉斯與隨機(jī)森林兩種機(jī)器學(xué)習(xí)算法建立分類模型。通過對兩種分類模型的性能評(píng)估,提出了基于敏感API調(diào)用的隨機(jī)森林算法分類模型,從而完成對惡意軟件與正常應(yīng)用的基本鑒別,并反饋用戶鑒別結(jié)果。

        4.1 特征選取

        4.1.1 權(quán)限信息

        Android應(yīng)用程序的一系列行為都需要它所申請的權(quán)限作為支撐,所以權(quán)限在一定程度上反映了應(yīng)用程序的行為模式。通過對Android應(yīng)用程序的配置文件AndroidManifest.xml的分析,提取了關(guān)于應(yīng)用注冊的權(quán)限信息。

        4.1.2 敏感API調(diào)用

        敏感API包括涉及竊取用戶隱私行為的高危函數(shù)接口,通過這些函數(shù)的調(diào)用,程序可以直接或間接地獲取一些敏感數(shù)據(jù)。本文通過對應(yīng)用程序反編譯之后的中間代碼進(jìn)行提取,整理出53個(gè)調(diào)用次數(shù)較多的敏感API,其中部分API如表1所示。

        將敏感API的調(diào)用次數(shù)作為特征值構(gòu)建特征向量,由于不同大小的應(yīng)用程序相對調(diào)用API的次數(shù)不同,所以本文將應(yīng)用程序的大小與API調(diào)用次數(shù)做了加權(quán)平均,來降低應(yīng)用程序大小帶來的影響。

        4.2 模型分析與評(píng)估

        本文取正常應(yīng)用與惡意應(yīng)用各1 500個(gè)作為訓(xùn)練集,另取250個(gè)作為測試集,其中惡意應(yīng)用來自公開的惡意軟件庫VirusShare,正常應(yīng)用爬取自GooglePlay商店,基本涵蓋了所有應(yīng)用類別。

        采用精確率(pre)與召回率(recall)[3]作為衡量分類性能的指標(biāo),實(shí)驗(yàn)結(jié)果如表2所示。

        不同于權(quán)限,敏感API信息包含每個(gè)API的平均調(diào)用次數(shù),所以惡意特征的表現(xiàn)方式會(huì)更加明顯,通過反編譯得到每個(gè)應(yīng)用的API調(diào)用情況,結(jié)合調(diào)用次數(shù)建立基于敏感API的特征向量,并輸入分類器中。實(shí)驗(yàn)結(jié)果如表3所示。

        可以看出,隨機(jī)森林算法的分類性能依然優(yōu)于樸素貝葉斯算法,無論準(zhǔn)確率(ACC)還是召回率(recall)都接近95%,精確率(pre)也接近97%,說明利用敏感API作為鑒別特征,基于隨機(jī)森林分類算法能達(dá)到很好的分類效果。

        5 Android應(yīng)用漏洞檢測模塊

        漏洞檢測模塊為靜態(tài)檢測中的第二部分,基于Soot[4]對應(yīng)用進(jìn)行反編譯以檢測出其中可能存在的漏洞。另一方面,為了提高漏洞檢測精度,本文提出了一種基于過程內(nèi)數(shù)據(jù)流分析技術(shù)的變量行為記錄算法,在漏洞檢測中可以用于實(shí)現(xiàn)函數(shù)內(nèi)變量到相關(guān)常量的追溯,提高檢測準(zhǔn)確率。

        5.1 Android應(yīng)用漏洞檢測模塊的工作流程

        首先使用Soot對APK進(jìn)行初始化工作,輸出的兩個(gè)結(jié)果一個(gè)是Jimple中間代碼,另一個(gè)則是控制流圖,其中控制流圖使用5.2小節(jié)中介紹的追溯算法為函數(shù)內(nèi)的變量生成行為記錄。初始化工作結(jié)束后,則開始進(jìn)行漏洞特征匹配,最后輸出檢測結(jié)果。

        5.2 基于數(shù)據(jù)流分析的變量行為記錄算法

        在對漏洞特征進(jìn)行匹配時(shí),經(jīng)常將特定的常量參數(shù)作為漏洞特征。然而應(yīng)用開發(fā)中有很多情況是先將常量賦值到一個(gè)變量對象里,進(jìn)行處理之后再作為參數(shù)傳值到漏洞特征函數(shù)中。一個(gè)最簡單的例子就是使用StringBuilder連接字符串,最后調(diào)用toString()方法將生成的字符串作為參數(shù)傳給函數(shù)。對于這種情況,傳統(tǒng)基于字符匹配的檢測方案是無法匹配到特征的。本小節(jié)提出的算法則用于解決這種問題,算法基于過程內(nèi)數(shù)據(jù)流分析生成變量的行為記錄,之后基于此記錄追溯變量的常量特征。具體算法流程如圖3所示。

        在利用Soot生成控制流圖后,使用Soot提供的過程內(nèi)數(shù)據(jù)流分析框架來模擬完整控制結(jié)構(gòu)下的語句遍歷分析,并在此過程中基于傳入的記錄規(guī)則,詳細(xì)記錄所有變量的初始化、變量的方法和成員變量調(diào)用、變量賦值、變量值傳遞等所有變量相關(guān)的行為。在最終生成的變量行為記錄中,即可清楚地獲得變量的常量特征。

        6 隱私泄露檢測模塊

        在智能設(shè)備大量普及的當(dāng)下,手機(jī)比電腦中存放著更多用戶的隱私信息,這些信息一旦被應(yīng)用惡意獲取,就可能給用戶帶來無法挽回的損失。因此,用戶隱私安全性與Android應(yīng)用的安全性是緊密相關(guān)的,隱私泄露檢測模塊便從隱私泄露的角度入手,進(jìn)行Android應(yīng)用安全性的評(píng)估。

        6.1 對Sources點(diǎn)及Sinks點(diǎn)的分析歸類

        Android系統(tǒng)中含有很多涉及獲取用戶隱私的API(Sources點(diǎn))以及隱秘的數(shù)據(jù)發(fā)送途徑(Sinks點(diǎn)),通過歸類整理并使用基于過程間數(shù)據(jù)流分析技術(shù)[5]的污點(diǎn)傳播算法,尋找從Sources點(diǎn)到Sinks點(diǎn)的傳播路徑,從而發(fā)現(xiàn)這些隱私泄露問題。

        6.2 使用污點(diǎn)分析算法尋找傳播路徑

        Android應(yīng)用中每一個(gè)組件都有自己完整的生命周期,組件在運(yùn)行過程中隨時(shí)可能被觸發(fā)調(diào)用。因此,要對Android應(yīng)用程序進(jìn)行過程間數(shù)據(jù)流分析,就需要先為Android應(yīng)用程序的生命周期建模,并構(gòu)造一個(gè)虛擬的main方法,在方法內(nèi)模擬觸發(fā)所有組件,然后再對這個(gè)虛擬的main方法進(jìn)行數(shù)據(jù)流分析,尋找Sources到Sinks間的路徑。

        模型使用FlowDroid[6]進(jìn)行實(shí)現(xiàn)污點(diǎn)傳播路徑的尋找。FlowDroid是基于流分析技術(shù)的隱私泄露分析工具,它對Android應(yīng)用程序的生命周期做了完整建模,并構(gòu)建了一個(gè)虛擬dummyMainMethod方法來模擬生命周期,在對應(yīng)用內(nèi)的Sources點(diǎn)及Sinks點(diǎn)做了標(biāo)記后,使用過程間數(shù)據(jù)流分析技術(shù)尋找這些點(diǎn)間的傳播路徑。

        本模型即基于FlowDroid所提供的分析接口以及6.1歸類的Sources點(diǎn)與Sinks點(diǎn)進(jìn)行Android應(yīng)用中的隱私泄露分析。

        [參考文獻(xiàn)]

        [1]于航,劉麗敏,高能,等.基于模擬器的沙箱系統(tǒng)研究[J].信息網(wǎng)絡(luò)安全,2015(9):139-143.

        [2]任偉,柳坤,周金.An Da:惡意代碼動(dòng)態(tài)分析系統(tǒng)[J].信息網(wǎng)絡(luò)安全,2014(8):28-33.

        [3]邵舒迪,虞慧群,范貴生.基于權(quán)限和API特征結(jié)合的Android惡意軟件檢測方法[J].計(jì)算機(jī)科學(xué),2017(4):135-139.

        [4]EINARSSON A,NIELSEN J D.A survivors guide to java program analysis with soot[EB/OL].(2008-07-17)[2018-09-28].https://www.researchgate.net/publication/241734740_A_Survivors_Guide_to_Java_Program_Analysis_with_Soot.

        [5]BODDEN E.Inter-procedural data-flow analysis with IFDS/IDE and soot[C].Beijing:Acm Sigplan International Workshop on the State of the Art in Java Program Analysis,2012.

        [6]ARZT S,RASTHOFER S,F(xiàn)RITZ C,et al.FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps[C].Edinburgh:Acm Sigplan Conference on Programming Language Design & Implementation,2014.

        猜你喜歡
        動(dòng)態(tài)監(jiān)測機(jī)器學(xué)習(xí)
        動(dòng)脈血乳酸動(dòng)態(tài)監(jiān)測在心臟外科重癥患者圍手術(shù)期的臨床應(yīng)用
        淺談實(shí)現(xiàn)電網(wǎng)經(jīng)濟(jì)調(diào)度運(yùn)行的可行性措施探究
        動(dòng)態(tài)監(jiān)測C反應(yīng)蛋白評(píng)估重癥社區(qū)獲得性肺炎療效和預(yù)后的臨床研究
        基于機(jī)器學(xué)習(xí)的圖像特征提取技術(shù)在圖像版權(quán)保護(hù)中的應(yīng)用
        經(jīng)顱多普勒超聲動(dòng)態(tài)監(jiān)測對多發(fā)性腦梗塞認(rèn)知障礙的應(yīng)用
        基于網(wǎng)絡(luò)搜索數(shù)據(jù)的平遙旅游客流量預(yù)測分析
        前綴字母為特征在維吾爾語文本情感分類中的研究
        基于支持向量機(jī)的金融數(shù)據(jù)分析研究
        国产美女精品AⅤ在线老女人| av综合网男人的天堂| 亚洲综合区图片小说区| 无码国产精品一区二区免| 亚洲精品综合在线影院| 日本av不卡一区二区三区| 日本成本人片视频免费| 最近中文字幕mv在线资源| 国产精品国产三级国产av创| 中文字幕视频一区懂色| 放荡的美妇在线播放| 日韩高清在线观看永久| 亚洲 欧美 激情 小说 另类| 久久精品国产亚洲av试看| 亚洲精品无码久久久久y| 麻豆一区二区99久久久久| 国产精品福利片免费看| 丝袜美腿亚洲综合一区| 精品乱人伦一区二区三区| 夜夜爽一区二区三区精品| 亚洲AV秘 片一区二区三区 | 国产精品麻豆成人AV电影艾秋| 精品国产乱来一区二区三区| 国产一级一片内射视频播放| 少妇aaa级久久久无码精品片| 在线不卡av天堂| 一区二区三区视频免费观看在线 | 日本中文字幕一区二区视频| 亚洲国产成人久久精品不卡| 亚洲av片一区二区三区| 粉嫩极品国产在线观看| 午夜一区二区三区免费观看| 久久精品人人做人人爱爱| 精品人妻系列无码一区二区三区 | 亚洲色大成网站www永久一区| 国产精品无码久久久久久久久作品| 国产高潮迭起久久av| 蜜桃日本免费看mv免费版| 欧美在线不卡视频 | 国产精品亚洲av高清二区| 中文字幕欧美人妻精品一区|