謝佳筠,伏 曉,駱 斌
(南京大學(xué) 軟件學(xué)院,南京 210093)
在移動互聯(lián)網(wǎng)高速發(fā)展的今天,企業(yè)和個人正在將越來越多的計算通過移動平臺來實現(xiàn),同時也將越來越多的數(shù)據(jù)存儲到移動設(shè)備上。根據(jù)互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC)2015年第二季度的報道,Android在移動市場占有82.8%的市場占有率,擁有著絕對的領(lǐng)先地位。工信部2014年發(fā)布的《移動互聯(lián)網(wǎng)白皮書》顯示,移動互聯(lián)網(wǎng)催生了全新的應(yīng)用服務(wù)體系,在交通、餐飲、旅游、支付等領(lǐng)域已經(jīng)產(chǎn)生了深遠影響,為用戶提供了便利。
但是,Android設(shè)備在提供便利的同時,安全問題也日益凸顯。由于Android平臺開源的特性,針對Android平臺的攻擊屢見不鮮。根據(jù)McAfee報告顯示,從2014年第4季度-2015年第3季度短短兩年時間,惡意軟件的規(guī)模從300萬上升至接近1 000萬。除此之外,惡意軟件攻擊的范圍很廣,從硬件設(shè)備、內(nèi)核層、系統(tǒng)層到應(yīng)用層,每一層都可能成為惡意攻擊的目標。Android平臺上的惡意攻擊呈現(xiàn)出數(shù)量巨大、范圍很廣和后果嚴重的特點。
為了保證Android平臺健康穩(wěn)定的發(fā)展,各個層面的安全問題必須得到有效的解決,這就催生了針對Android各個層面上的安全防護。安全防護的目的是在應(yīng)用安裝至移動設(shè)備之前對其進行全方位的安全性驗證,最大程度上過濾掉惡意應(yīng)用;對于在安裝前不能夠過濾的惡意應(yīng)用,需要在應(yīng)用運行的時刻實時進行防護,保證應(yīng)用不被利用從事惡意攻擊。學(xué)術(shù)界和工業(yè)界也一直致力于提出更安全的防護機制和框架來應(yīng)對惡意威脅。Android防護技術(shù)作為實現(xiàn)安全的重要手段,發(fā)展至今已經(jīng)存在很成熟的方案,但是仍然存在很多重要的問題有待解決。為此,本文整理近年來有關(guān)Android防護領(lǐng)域方面的文章,并加以綜述,希望通過總結(jié)歸納提供一個全面的認識,促進該領(lǐng)域的更加深入的研究。
本文闡述Android安全問題的理論研究情況,包括可能存在的安全缺陷和面臨的威脅,介紹針對各個層面的Android防護技術(shù)的研究進展,對Android安全防護領(lǐng)域現(xiàn)有的工作進行分析比較和總結(jié)歸納,并指出Android防護領(lǐng)域的機遇與挑戰(zhàn)。
目前,Android安全問題得到學(xué)術(shù)界的廣泛關(guān)注,針對Android安全方面的研究文獻[1-3]對Android各個層面上的Android安全機制進行歸納和總結(jié),總結(jié)了當前研究領(lǐng)域的相關(guān)工作與發(fā)展的趨勢。針對Android中的安全缺陷進行研究有助于更好的了解惡意攻擊實施的攻擊面,能夠更好地了解其所面臨的威脅。本文將對這些文章中所涉及的Android安全問題加以概括和總結(jié),歸納了目前Android的安全缺陷以及安全所面臨的威脅。
Android安全缺陷如下所示。
1)不同設(shè)備廠商的設(shè)備固件、操作系統(tǒng)和預(yù)裝的應(yīng)用都有可能被用來發(fā)動攻擊。在全球存在多種不同的移動設(shè)備供應(yīng)商,例如三星、華為、HTC和小米等。他們所使用的操作系統(tǒng)都是經(jīng)過深度定制的,擁有不一樣的安全特性。往往存在一些特定的安全漏洞,一旦被利用將會引發(fā)安全問題。
2)應(yīng)用開發(fā)者安全意識薄弱。即使專業(yè)的應(yīng)用開發(fā)者,也會不經(jīng)意地暴露一些接口。應(yīng)用開發(fā)者對于權(quán)限認知不夠,經(jīng)常會不經(jīng)意地聲明無關(guān)的權(quán)限。某些應(yīng)用會暴露應(yīng)用內(nèi)部的接口,給惡意攻擊者提供了攻擊的途徑。
3)應(yīng)用市場魚龍混雜,不同應(yīng)用市場的審查機制不一。Google官方的應(yīng)用市場Google Play,用戶可以從上面下載應(yīng)用安裝至自己的移動設(shè)備上。此外,其他應(yīng)用市場也提供類似功能,例如小米應(yīng)用商店、豌豆莢和91助手等。由于各個市場的安全審查機制不同,惡意應(yīng)用能夠在特定市場上傳播,嚴重危害了用戶的安全。
4)應(yīng)用安裝途徑多樣。一般而言,直接從應(yīng)用市場下載并安裝程序是最直接的方式。但是,也存在直接通過USB連接將Android應(yīng)用安裝到設(shè)備上,使用ADB的install命令可將應(yīng)用安裝至目標設(shè)備上。由于無法驗證應(yīng)用程序是否存在惡意行為,通過ADB安裝是十分危險的。
5)Android權(quán)限模型粒度較粗。用戶需要在安裝應(yīng)用的時候?qū)?yīng)用的權(quán)限進行授權(quán),但是用戶并不能夠準確的知道權(quán)限被用在了哪些地方。不僅如此,權(quán)限較粗的粒度也會帶來相應(yīng)的安全性風(fēng)險。盡管在Android 6.0中提出運行時權(quán)限的概念,但是這個權(quán)限缺陷對于6.0之前的Android設(shè)備仍然存在。
6)相較于Windows和Unix的可執(zhí)行文件,Android應(yīng)用很容易反編譯。經(jīng)過反編譯之后的代碼往往是脆弱的,非常容易添加新的代碼,重新打包成一個新的應(yīng)用。很大一部分惡意軟件是通過重新打包來實現(xiàn)的[4]。
7)Android組件間通信。應(yīng)用間通信方式存在安全隱患,容易發(fā)生多個應(yīng)用之間合謀的情況。多個應(yīng)用合謀通道存在多樣性,包括顯示通道和隱蔽通道,對于隱蔽通道的監(jiān)控與防范仍然不完善。
8)Android設(shè)備包含很多可以唯一確定該設(shè)備的信息,包括IMEI、設(shè)備序列號等。如果這些信息泄露了出去,那么很容易就能對該設(shè)備進行跟蹤定位。
9)Linux內(nèi)核層漏洞也會成為攻擊者攻擊的對象。Android設(shè)備使用Linux內(nèi)核進行實現(xiàn),既繼承了Linux十分可靠的安全隔離機制,同時也帶來了Linux內(nèi)核方面的漏洞。
現(xiàn)有的主要威脅來源于Android各層次的安全缺陷。攻擊者可以通過挖掘平臺的漏洞,竊取敏感用戶信息,利用電話服務(wù)來獲取金錢利益,或者創(chuàng)造僵尸網(wǎng)絡(luò)來獲取智能手機的控制權(quán)。其可以使用竊取、動態(tài)執(zhí)行、代碼混淆,重新打包和加密等技術(shù),去繞過現(xiàn)有的Android平臺和反病毒軟件提供的安全檢測。本節(jié)對Android面臨的主要威脅進行了歸納。
1)重新打包攻擊。惡意作者可以對原始應(yīng)用進行反編譯,加入惡意負載,重新打包成一個新的應(yīng)用。新的應(yīng)用往往偽裝成原始應(yīng)用,在提供一些基礎(chǔ)功能的同時執(zhí)行惡意攻擊。
2)越權(quán)攻擊。沒有權(quán)限的應(yīng)用,通過其他具備權(quán)限的應(yīng)用或者設(shè)置功能,可以獲取需要權(quán)限才能夠訪問到的資源,執(zhí)行相應(yīng)的操作。這類攻擊可以發(fā)生在應(yīng)用內(nèi)部,例如獲得root權(quán)限;可以發(fā)生在應(yīng)用之間,執(zhí)行越權(quán)行為;也可以發(fā)生在不同的操作系統(tǒng)版本升級的時候。
3)隱私泄露和個人信息竊取。移動設(shè)備包括很多隱私數(shù)據(jù),例如移動設(shè)備號碼、聯(lián)系人信息和地理位置等信息。惡相同意應(yīng)用通過短信、互聯(lián)網(wǎng)等通信方式,可以將敏感信息傳送出去。
4)合謀攻擊。在同一個設(shè)備上,擁有的證書簽名的應(yīng)用集合可以相互合作。他們擁有相同的UID,能夠互相共享彼此的權(quán)限。單個應(yīng)用運行的時候表現(xiàn)的十分正常,但是當多個應(yīng)用并存的時候,它們可以一起合作完成攻擊。
5)拒絕服務(wù)攻擊。此類攻擊可以發(fā)生在移動設(shè)備資源耗盡的時候,移動設(shè)備的資源一般包含CPU計算資源、內(nèi)存資源、電池資源、寬帶資源等,而這些資源一旦耗盡,移動設(shè)備將不能夠正常提供服務(wù)。
6)遠程控制。惡意應(yīng)用通過遠程命令控制整個設(shè)備,執(zhí)行惡意操作。能夠監(jiān)控用戶的操作,包括電話、短信、銀行和音頻和視頻等。
針對Android平臺的弱點和可能存在的威脅,不少研究者提出了他們的安全防護措施。本節(jié)首先介紹Android各個版本的安全增強機制。隨后從一個Android應(yīng)用程序的開發(fā)、發(fā)布、安裝、運行和更新5個步驟出發(fā),列出在各個階段已有的防護策略。
為了應(yīng)對來自各方面的威脅,Android對其自身的操作系統(tǒng)也在不斷地改良和完善。本節(jié)總結(jié)了Android各個版本的改進內(nèi)容。
Android尋求為移動平臺提供一個安全可用的操作系統(tǒng),用來保護用戶的數(shù)據(jù),保護系統(tǒng)的資源和提供應(yīng)用隔離。為了實現(xiàn)這些目標,Android提供了以下的安全特性:Linux內(nèi)核層的魯棒性,強制為所有應(yīng)用提供應(yīng)用沙箱,保護進程間通信,應(yīng)用簽名,應(yīng)用定義權(quán)限,并由用戶授權(quán)。Android各個版本分別對平臺進行了各方面的安全增強。
Android1.5中提出了防止堆緩沖區(qū)溢出的安全增強。Android2.3提出了格式化字符串的防范,提出了基于硬件不執(zhí)行來防止堆棧代碼執(zhí)行。Android4.0提出內(nèi)存地址空間布局隨機化(ASLR)的功能來防止對內(nèi)存的攻擊。Android4.2修改了權(quán)限描述。Android4.3增強了SELinux,取消了setuid和setgid函數(shù)。Android5.0將WebView設(shè)置為獨立模塊,更改了加密機制,防止在丟失設(shè)備情況下的數(shù)據(jù)丟失。在Android6.0中,提出了運行時權(quán)限的問題。不同于在安裝的時候提供粗粒度的授權(quán)機制,用戶可以在運行時動態(tài)設(shè)置權(quán)限。
由于Android應(yīng)用可以被反編譯,所以很容易被惡意作者篡改并加入惡意代碼。從開發(fā)者的角度來看,在開發(fā)階段對應(yīng)用進行加固能夠有效防止惡意操作。
重新打包成為各類惡意攻擊的主要形式,文獻[4]指出,在其收集的1 260個惡意程序中,通過重新打包生成的比例是86%。為了防止重新打包,文獻[5]提出了一種基于路徑的水印模式,它以應(yīng)用程序代碼和一組隨機的字符串或者數(shù)字作為輸入,生成一款全新的內(nèi)嵌水印的應(yīng)用。在之后的運行中它可以對掛鉤的代碼進行驗證,同時恢復(fù)之前的水印,對開發(fā)者的代碼做防護。
在應(yīng)用程序中,針對可能存在的安全漏洞打補丁也是一種方法。例如,組件劫持漏洞將會暴露應(yīng)用中的公開接口,方便惡意程序調(diào)用。為了應(yīng)對此類漏洞,文獻[6]事先對應(yīng)用進行分析,在每個應(yīng)用上面的沉淀點添加防護策略,提供更加全面的、以數(shù)據(jù)為中心的系統(tǒng)級防護,構(gòu)建更加安全的應(yīng)用。文章中提出的Droidforce工具基于時間序列,能夠在運行過程中動態(tài)更新,方便提供精細化的策略。
應(yīng)用開發(fā)者完成應(yīng)用,需要將應(yīng)用發(fā)布到應(yīng)用市場。應(yīng)用市場作為連接用戶手機和應(yīng)用的平臺,在Android安全中有著舉足輕重的地位。2011年Google官方的Android市場上DroidDream惡意應(yīng)用肆虐,大量手機被感染。為了防止惡意軟件大范圍傳播,Google推出了一款叫做Bouncer的應(yīng)用審查工具,用來對應(yīng)用進行審查和分析。它將應(yīng)用安裝至模擬的環(huán)境中動態(tài)的運行,分析出其中可能存在的問題。即便如此,一些惡意軟件依然能夠繞過該檢測機制,成功地發(fā)布到應(yīng)用市場中,所以在應(yīng)用市場中實現(xiàn)更加安全的防護機制是十分必要的。值得注意的是,目前相互獨立的Android應(yīng)用市場很多,它們各自的審查機制又存在很大的差別,所以攻擊者更容易挖掘特定應(yīng)用市場的漏洞并傳播惡意應(yīng)用。
在應(yīng)用市場進行審查,能夠有效過濾出惡意應(yīng)用,在源頭上減少惡意應(yīng)用的數(shù)量。應(yīng)用市場可以利用其豐富的計算資源,對應(yīng)用進行更加全面的安全分析。在應(yīng)用市場中可以針對性地對應(yīng)用進行漏洞挖掘、權(quán)限映射分析、數(shù)據(jù)流分析、組件間通信分析和重新打包的檢測。
2.3.1 相似度計算
針對應(yīng)用市場上良莠不齊的應(yīng)用,查找重新打包應(yīng)用具有十分重要的意義。在檢測重新打包的應(yīng)用的方法中,計算相似度成為經(jīng)常使用的方法。相似度計算往往需要定義不同的特征,通過匹配這些特征的相似度來進行檢測。文獻[7]使用了基于模糊哈希的方法,對應(yīng)用市場內(nèi)的所有應(yīng)用,通過應(yīng)用程序的操作碼生成應(yīng)用程序的指紋。對比兩個應(yīng)用的指紋距離,判斷2個應(yīng)用是否存在重新打包的可能性,進而識別重新打包的應(yīng)用。文獻[8]通過比較兩個不同應(yīng)用的程序依賴圖來判定是否存在重新打包的操作。利用WALA工具可以生成一個應(yīng)用的程序依賴圖,每個點代表一個語句,每條邊代表兩條語句之間的關(guān)系。在獲取兩個應(yīng)用的程序依賴圖后,構(gòu)造出其子圖,進而計算出其相似度。
2.3.2 權(quán)限映射計算
Android通過權(quán)限來限制應(yīng)用對敏感資源的訪問和操作。Android應(yīng)用權(quán)限和API調(diào)用存在著映射關(guān)系,這些映射關(guān)系能夠為進一步的安全分析提供基礎(chǔ)。
文獻[9]用來研究一個應(yīng)用是否滿足其所聲明的最小使用權(quán)限,確定一個應(yīng)用程序使用到了哪些權(quán)限。本文提出的Stowaway通過結(jié)合基于模糊測試、生成專用的測試用例和手動驗證的技術(shù),經(jīng)驗性地得出權(quán)限和API之間的映射關(guān)系。由于Stowaway所提出的方法需要耗費大量的人工進行手動驗證,導(dǎo)致了其無法應(yīng)對Android多個版本變更的現(xiàn)實。文獻[10]提出了一種自動化的工具,對Android各個版本源碼進行分析,進而得到更加全面的映射關(guān)系。在Android2.2中,PScout分析出了17 218個映射關(guān)系,而Stowaway僅僅分析出1 259個。
2.3.3 數(shù)據(jù)流分析
通過對應(yīng)用進行數(shù)據(jù)流分析,可以很好地知道一些敏感數(shù)據(jù)的流向,進而有效地防范出可能存在的信息泄漏問題。文獻[11]考慮到了與回調(diào)函數(shù)相關(guān)的控制流不連續(xù)的情況,從而判斷應(yīng)用能否通過公共接口訪問到危險權(quán)限,用來判定應(yīng)用是否存在能力泄露漏洞。文獻[12]提出一款靜態(tài)分析工具,用來分析組件劫持漏洞。它使用數(shù)據(jù)依賴圖來進行可達性分析,進而識別出未授權(quán)的應(yīng)用對被攻擊的應(yīng)用進行的惡意操作,如讀取敏感數(shù)據(jù)操作或者將數(shù)據(jù)寫入敏感位置的操作。文獻[13]對一個應(yīng)用進行兩步分析,首先發(fā)現(xiàn)調(diào)用root、非法花銷和隱私泄露的路徑,然后對應(yīng)用進行啟發(fā)式搜索來發(fā)現(xiàn)可能的惡意行為。
Android應(yīng)用包含了生命周期回調(diào)函數(shù)。對于數(shù)據(jù)生命周期的分析能夠更準確的發(fā)現(xiàn)數(shù)據(jù)的流向。文獻[14]提出的FlowDroid就是一款包含了流、上下文、對象和域等特性的靜態(tài)分析工具。FlowDroid定義數(shù)據(jù)流源頭和數(shù)據(jù)流沉淀點,使用向前分析和向后分析技術(shù),分析出從數(shù)據(jù)流源頭到數(shù)據(jù)流沉淀點的路徑,用于識別敏感信息的泄露。
并不是所有發(fā)送敏感信息的行為都可以稱為隱私泄露,只有用戶不知情的情況下才屬于隱私泄露。文獻[15]提出AppIntent,將信息傳輸分為在用戶知情的和用戶不知情的,用來提取出用戶不知情的數(shù)據(jù)傳輸。它采用符號執(zhí)行的方法,計算出一系列會導(dǎo)致數(shù)據(jù)傳輸?shù)慕缑娼换ズ蛿?shù)據(jù)輸入行為。在符號執(zhí)行的過程中,AppIntent為了避免路徑爆炸的問題,采用靜態(tài)分析方法生成事件空間約束圖。事件空間約束圖包含了所有能夠產(chǎn)生數(shù)據(jù)傳輸?shù)慕缑娼换?、生命周期回調(diào)方法和系統(tǒng)事件。結(jié)合生成的時間和數(shù)據(jù),事件空間約束圖可以確定數(shù)據(jù)傳輸是否是用戶知情的。
2.3.4 組件間通信分析
在Android安全中,需要對應(yīng)用內(nèi)部和應(yīng)用間的通信通道進行防護。組件間通信作為應(yīng)用內(nèi)部和應(yīng)用之間相互通信的主要方式,被大量研究者進行研究和分析。
文獻[16]主要用來檢測應(yīng)用之間通信是否存在相應(yīng)的漏洞,并提出了ComDroid工具,采用靜態(tài)分析的方法來對應(yīng)用進行分析檢測。首先將不同的權(quán)限映射到不同的危險等級,隨后分析反編譯出來的文件,追蹤其中的Intents、IntentFilters、寄存器、污點槽和組件,最后通過檢測Manifest文件和反編譯得到的源代碼文件來得到組件的相關(guān)信息,判斷一個組件是否是具有風(fēng)險的。
對于組件間通信,首先需要找到所有存在的組件,并將其關(guān)聯(lián)起來。文獻[17]開發(fā)出了一款工具Epicc,將組件間通信的分析轉(zhuǎn)換為IDE的問題。它將所有的應(yīng)用間通信組件連接在一起,利用Soot解決IDE問題。實驗表明,Epicc相較于ComDroid而言擁有更少的誤報率。然而,Epicc也存在不足之處,它僅做了簡單的字符串分析并且對Content Provider缺乏相應(yīng)的分析。僅僅分析組件間的關(guān)聯(lián)并不能夠準確地對應(yīng)用內(nèi)部和應(yīng)用間通信進行區(qū)別。
文獻[18]提出了基于組件間通信的污點分析的工具ICCTA,主要用來分析不同組件和不同應(yīng)用之間的隱私泄露問題。它利用ApkCombiner將2個應(yīng)用合稱為一個應(yīng)用,進而將應(yīng)用間通信的分析轉(zhuǎn)換為應(yīng)用內(nèi)通信分析。文獻[19]對整個應(yīng)用進行數(shù)據(jù)流分析,得到組件間通信的數(shù)據(jù)流圖。在數(shù)據(jù)流圖的基礎(chǔ)上,針對顯示的信息流,構(gòu)造出數(shù)據(jù)依賴圖。使用生成的數(shù)據(jù)流圖和數(shù)據(jù)依賴圖進行安全分析,檢測應(yīng)用中是否存在數(shù)據(jù)泄露、數(shù)據(jù)注入或者API濫用的情況。
特色是旅游解說系統(tǒng)構(gòu)建的關(guān)鍵。特色的旅游解說系統(tǒng)不僅能夠發(fā)揮保護水資源,維護水生態(tài)的作用,還能夠吸引游客。歷史和大自然恩賜了蕉城區(qū)豐富而寶貴的旅游資源,特別是水利風(fēng)景資源更是得天獨厚,霍童洞天、菩薩道場、瀛洲擊水、國師故里、軍地文化……,美麗的濱水資源孕育了這些豐富分旅游資源。在旅游解說系統(tǒng)自導(dǎo)式解說的設(shè)計上,可以添加特色資源優(yōu)勢,例如在導(dǎo)引牌,指示牌的設(shè)計上能夠添加特色資源元素。
一個應(yīng)用可以通過多種方式安裝到Android設(shè)備上,例如從應(yīng)用市場下載或者直接通過USB連接安裝。針對USB安裝的情況,Android4.3提出了ADB驗證的功能,對于沒有經(jīng)過RSA密鑰對驗證的應(yīng)用程序?qū)⒉荒馨惭b在設(shè)備上。
通過對安裝時候的檢查,判斷其是否滿足設(shè)備上的安全策略,進而對其進行防護。文獻[20]在安裝應(yīng)用的時候?qū)崿F(xiàn)了一組基于權(quán)限的策略,通過特定的權(quán)限組合定義應(yīng)用的安全規(guī)則。如果應(yīng)用不符合相應(yīng)的安全規(guī)則,將會提醒用戶是否需要拒絕安裝。
在安裝應(yīng)用的時候通常提供兩種信息,一種是權(quán)限信息,另一種是文字信息。為了使終端用戶能夠意識到安全威脅,現(xiàn)在的這種描述還存在很大的不足。文獻[21]開發(fā)了DescribeMe。該工具通過使用自然語言處理技術(shù)生成應(yīng)用描述,從用戶的角度來幫助用戶判別應(yīng)用是否存在惡意。它的做法是首先從應(yīng)用中提取所有的行為圖,對其進行子圖挖掘和壓縮,最終形成用戶可以理解的基于安全的描述,從而更好地在安裝階段進行防護。
雖然前幾個步驟的防護能夠有效過濾惡意應(yīng)用,但是對于一些運行時才能觸發(fā)的惡意行為缺乏有效監(jiān)控??紤]到前幾個步驟的防護策略存在的不足之處,對運行時態(tài)的應(yīng)用進行持續(xù)性的監(jiān)控,捕獲運行操作是十分必要的。運行時防護主要包含訪問控制、安全策略、污點分析、權(quán)限監(jiān)控和沙盒控制等多個防護方案。
2.5.1 訪問控制
SEAndroid是一款安全增強版本的Android系統(tǒng),采用MAC機制,將SELinux應(yīng)用到Android系統(tǒng)中。SEAndroid分別實現(xiàn)了系統(tǒng)核心層面的支持、用戶空間層面的支持以及策略配置。SEAndroid推出時間不長,沒有得到太多的關(guān)注,還需要進一步的完善。
文獻[22]利用了機器學(xué)習(xí)的方法來分析審查日志,捕獲審查日志中包含的良性或者惡意接口,從而提供更好的SELinux策略。
2.5.2 安全策略
文獻[23]繼承了Android的監(jiān)控機制,并對其進行了擴展。它基于以系統(tǒng)為中心的策略,在運行時檢測和阻止應(yīng)用程序?qū)哟蔚臋?quán)限提升攻擊。同時添加了與組件間通信相關(guān)的機制來防止勾結(jié)攻擊。在SEAndroid和文獻[23]的基礎(chǔ)上,文獻[24]提出了一個基于內(nèi)核層和中間件層MAC架構(gòu)的FlaskDroid,從而提供細粒度的策略控制。
文獻[25]在Android上提出了分級的策略,將應(yīng)用分為3種:系統(tǒng)的,可信的和不可信的。在這個框架下面,可信的應(yīng)用和不可信的應(yīng)用之間是不能夠相互通信的。通過分級的方式來限制不可信應(yīng)用的功能,進而提供更加安全的運行環(huán)境。
當前移動設(shè)備的操作系統(tǒng)并沒有一個合適的保護機制來控制應(yīng)用之間、應(yīng)用和網(wǎng)絡(luò)之間的相互交流時,跨源攻擊便很容易出現(xiàn)。文獻[26]針對Android跨源攻擊在操作系統(tǒng)的層面上進行了更改。類似于傳統(tǒng)的Web程序保護機制,它為應(yīng)用提供針對跨源攻擊的保護。首先告訴開發(fā)者他們所接收信息的真正源頭,讓開發(fā)者可以根據(jù)這些信息進行相應(yīng)的保護工作。隨后提供一個白名單給開發(fā)者,記錄他們可以發(fā)送或接收信息的源的信息,并且在操作系統(tǒng)中透明且強制地執(zhí)行策略。這2個步驟可以有效地對源頭進行保護。
2.5.3 污點跟蹤
文獻[27]通過構(gòu)建一款高效的動態(tài)污點跟蹤和分析系統(tǒng)TaintDroid來對敏感數(shù)據(jù)進行監(jiān)控,從而識別敏感數(shù)據(jù)和隱私數(shù)據(jù)的使用方式。通過利用變量級別、消息級別、方法級別和文件級別這4個粒度的污點傳播,Android用戶可以方便地了解應(yīng)用程序如何使用它們的隱私數(shù)據(jù)。后續(xù)的一些動態(tài)污點分析工具也都使用了TaintDroid作為基礎(chǔ)進行相應(yīng)的分析,并做了一些加強。
2.5.4 權(quán)限監(jiān)控
困惑代理攻擊是越權(quán)攻擊的一種,在各個版本的Android系統(tǒng)中都較為常見。文獻[28]在中間層提出了一種權(quán)限裁剪的思路。對于被調(diào)用者,將其運行時程序權(quán)限裁剪至其與調(diào)用者權(quán)限的交集,從而有效防范越權(quán)攻擊。
文獻[29]對設(shè)備上的進程間通信進行跟蹤,并記錄其調(diào)用鏈。它允許被調(diào)用的進程縮減調(diào)用者權(quán)限。同時,它提出了一種輕量級的簽名機制,允許運行在同一設(shè)備上的各個應(yīng)用進行驗證。這些特性使得它可以被用來防范困惑代理攻擊。
文獻[30]提出了VetDroid來對一個應(yīng)用的權(quán)限使用和敏感資源訪問進行分析。VetDroid會自動在沙盒中執(zhí)行應(yīng)用,通過權(quán)限使用分析模塊識別出所有的權(quán)限使用點和它們的關(guān)系,并記錄到日志文件中。然后根據(jù)得到的日志文件,自動生成行為報告。
2.5.5 沙盒控制
文獻[31]提出的Aurasium對應(yīng)用進行重新打包,提供了用戶級沙盒,進而對底層的系統(tǒng)調(diào)用進行監(jiān)控。它可以對底層的關(guān)鍵系統(tǒng)調(diào)用進行攔截,判斷其具體行為,并向用戶給出安全建議。
文獻[32]提出了一款自動化代碼重寫的應(yīng)用,能夠?qū)ava方法層面的調(diào)用進行監(jiān)控。它主要對虛擬機的虛擬方法表進行重寫,進而能夠控制所有的方法。
文獻[33]提供了一種安全沙盒用于讀取和運行不受信任的應(yīng)用。不受信任的軟件運行在Boxify虛擬運行環(huán)境,不會對系統(tǒng)和用戶造成危害。該沙盒的實現(xiàn)主要利用了android中獨立進程的特性,不用對OS級別或者應(yīng)用級別的代碼進行重寫和設(shè)計,也不需要root權(quán)限,提供了對不受信的程序的隔離運行。
更新階段可以分為2種,一種是應(yīng)用更新,另一種是操作系統(tǒng)更新。應(yīng)用更新的時候主要還是需要應(yīng)用市場對其進行甄別和篩選。操作系統(tǒng)更新的時候,需要對所有的應(yīng)用進行校驗,判斷其是否滿足新的操作系統(tǒng)的安全策略。應(yīng)用更新的時候,需要判斷該應(yīng)用是否修改了安全策略。
文獻[34]針對操作系統(tǒng)更新時可能產(chǎn)生的越權(quán)攻擊進行了闡述和防護。這類攻擊發(fā)生的主要原因是在低版本系統(tǒng)中的應(yīng)用聲明了高版本系統(tǒng)新增的權(quán)限,一旦更新至高版本,應(yīng)用的權(quán)限就會提升,用來進行攻擊。
在Android安全防護領(lǐng)域已經(jīng)出現(xiàn)了許多十分有價值的安全防護方案。但是,可以想象的是,未來出現(xiàn)的惡意應(yīng)用的數(shù)量會越來越多,惡意應(yīng)用種類和攻擊方式也會越來越多、越來越有針對性。Android安全防護的工作將會變得更加艱巨,需要更深入的研究。
在現(xiàn)有的移動平臺的安全防護領(lǐng)域中,學(xué)術(shù)界和工業(yè)界已經(jīng)出現(xiàn)了許多有價值的工作。其中,防護的層面涉及到Android應(yīng)用發(fā)布的各個環(huán)節(jié),包括Android自身系統(tǒng)的增強、開發(fā)時的防護、應(yīng)用市場的分析與防護、安裝應(yīng)用時候的防護、運行應(yīng)用防護和更新時的防護。當前研究重點集中在應(yīng)用市場階段和運行階段,如果能夠在這2個階段進行有效分析監(jiān)控,將對Android防護起到至關(guān)重要的作用。本文的概述章節(jié)總結(jié)了Android防護需要面對的問題和各類惡意威脅,本節(jié)將分析現(xiàn)有的應(yīng)用市場階段和運行階段的技術(shù)應(yīng)對這些挑戰(zhàn)所取得的進展。
3.1.1 應(yīng)用市場分析階段
在應(yīng)用市場階段,由于具備了大量的計算能力,所以可以對應(yīng)用進行深入的分析。在此階段借助相似度匹配技術(shù)、權(quán)限映射技術(shù)、數(shù)據(jù)流分析技術(shù)和組件間通信技術(shù)等技術(shù),對應(yīng)用進行全面的分析。
表1展示了在應(yīng)用部署的各個階段的使用技術(shù)和Android面臨威脅的映射關(guān)系,其中×為不能解決,-為部分解決,√為完全解決。
表1 現(xiàn)有Android應(yīng)用市場防護技術(shù)解決面臨威脅的情況
相似度計算技術(shù)可以有效針對重新打包問題進行解決。計算應(yīng)用的相似度主要通過提取應(yīng)用的一些特征,對這些特征進行抽象化,通過抽象出來的模型計算其相似度。應(yīng)用的一些特征主要包含其應(yīng)用簽名文件、應(yīng)用配置文件、應(yīng)用資源文件和應(yīng)用代碼,這些都可以用來進行相似度分析。相似度高的代表2個應(yīng)用存在大量的類似的實現(xiàn),兩個應(yīng)用存在重新打包的關(guān)系。由于需要計算兩個應(yīng)用的相似度,只需對2個應(yīng)用的某些關(guān)鍵特征進行分析就行,所以開銷較小。
由于Android操作系統(tǒng)實現(xiàn)的API調(diào)用較多,其官方文檔都有可能存在遺漏。同時,應(yīng)用開發(fā)者對各類API調(diào)用所對應(yīng)的權(quán)限也存在一定的誤區(qū),這就導(dǎo)致經(jīng)常會發(fā)生濫用權(quán)限的問題。針對這些問題,提供一個權(quán)限-API調(diào)用映射關(guān)系就十分有必要了。通過精確地分析應(yīng)用代碼里的API調(diào)用,就可以獲取其實際使用的權(quán)限,為有效防范越權(quán)攻擊提供了基礎(chǔ)的支持。由于權(quán)限映射計算需要對Android整個系統(tǒng)的源碼進行分析,因此其所消耗的代價較大。
數(shù)據(jù)流分析技術(shù)主要通過構(gòu)造出應(yīng)用內(nèi)部的一些數(shù)據(jù)流向路徑,對應(yīng)用的敏感信息的流向進行分析。在數(shù)據(jù)流分析中使用較為頻繁的就是構(gòu)造數(shù)據(jù)流圖和使用靜態(tài)污點分析的技術(shù)進行分析。由于這類技術(shù)能夠有效跟蹤細粒度的數(shù)據(jù)流向,因此能夠很好地解決隱私泄露問題。由于在分析的過程中需要將應(yīng)用構(gòu)造成抽象的數(shù)據(jù)結(jié)構(gòu),然后再根據(jù)所形成的數(shù)據(jù)結(jié)構(gòu)進行進一步分析,因此其所消耗的代價中等。對于數(shù)據(jù)流分析,現(xiàn)有的較多的技術(shù)存在路徑爆炸、誤報率較高等缺點,所以,需要今后更加全面的研究,努力減少這些問題所帶來的影響。
組件間通信技術(shù)主要針對組件間通信的數(shù)據(jù)流進行有效分析,能夠較為有效地應(yīng)對越權(quán)攻擊、隱私泄露,針對合謀攻擊的話,其能夠有效地針對基于組件間通信的合謀攻擊,但是針對于系統(tǒng)層級的攻擊并不能有效甄別。現(xiàn)有的大部份組件間通信使用對組件的流向進行分析,組件的源和目標進行鏈接等手段進行研究的,開銷較大并且還存在一定的局限性。作為Android最主要的通信機制,今后需要將對組件間通信進行更加深入的研究,提出更多創(chuàng)新的思路。
3.1.2 運行監(jiān)控階段
在運行防護階段,包括了一系列從內(nèi)核層、中間層和應(yīng)用層的防護手段,能夠提供全面的防護機制,抵御各類攻擊。在運行防護階段主要可以借助訪問控制、安全策略、污點跟蹤、權(quán)限監(jiān)控和沙盒控制等技術(shù),對應(yīng)用運行時提供防護。
表2展示了在應(yīng)用部署的各個階段的使用技術(shù)和Android面臨威脅的映射關(guān)系。
表2 現(xiàn)有Android運行時防護技術(shù)解決面臨威脅的情況
訪問控制技術(shù)主要將Linux系統(tǒng)中的SELinux技術(shù)引入Android平臺,在中間層和內(nèi)核層提供訪問控制策略,開銷較小。能夠?qū)τ谠綑?quán)攻擊、隱私泄露進行相應(yīng)的訪問控制,但對合謀攻擊并不能夠很好地進行防護。而且在提供訪問控制策略的時候,一般都需要對整個系統(tǒng)進行刷新,并不能夠提供較為有效的配置手段。對于訪問控制技術(shù)還需要進行加強,今后在此方面的研究也需要更加深入。
安全策略技術(shù)主要在中間層定義相應(yīng)的策略,在運行時對一些操作進行監(jiān)控,進而實現(xiàn)更有針對性的防護。例如通過在中間層的實現(xiàn)了一個策略庫,對運行時的各項操作定義了相對應(yīng)的策略。由于需要對內(nèi)核層和中間層某些關(guān)鍵的數(shù)據(jù)結(jié)構(gòu)進行監(jiān)控,因此在運行時也需要動態(tài)的去匹配相對應(yīng)的策略,整體開銷較小,但誤報率較高。如何定義更加良好的安全策略,能夠?qū)崿F(xiàn)更高的防護率值得研究者進行更加深入的研究。
動態(tài)污點跟蹤技術(shù)作為一種從計算機系統(tǒng)移植過來的技術(shù),擁有廣大的理論基礎(chǔ)。動態(tài)污點技術(shù)針對應(yīng)用內(nèi)部的可疑的數(shù)據(jù)進行污點跟蹤,首先標記出需要監(jiān)控的污點,然后針對可能發(fā)生泄露的沉淀點進行監(jiān)控,觀察是否存在污點通過沉淀點流出?,F(xiàn)有的技術(shù)主要從中間層進行修改,在Dalvik虛擬機內(nèi)部添加標記污點的數(shù)據(jù)結(jié)構(gòu),對其進行跟蹤。整個修改在中間層進行修改,在運行時需要實時計算被污染的代碼片段和數(shù)據(jù)結(jié)構(gòu),所以,整個系統(tǒng)的開銷較中等。在后續(xù)的研究中研究者針對其中存在的不足提出了相應(yīng)的補充,但是如何利用該技術(shù)去防范其他攻擊也值得研究,需要研究者們投入更多的精力。
權(quán)限監(jiān)控作為一個較為重要的技術(shù),目標是對Android系統(tǒng)權(quán)限相關(guān)的問題進行防護,能夠有效防護越權(quán)攻擊和信息泄露。Android系統(tǒng)提供了一個較為重要的機制就是權(quán)限,用戶只有申請了相應(yīng)的權(quán)限才有能力去訪問相應(yīng)的資源,執(zhí)行對應(yīng)的操作?,F(xiàn)有的權(quán)限監(jiān)控機制主要在中間件層進行相應(yīng)的修改,在運行時對發(fā)生權(quán)限操作的行為進行監(jiān)控,進而能夠有效地防范各類權(quán)限相關(guān)的攻擊,開銷較小。
沙盒技術(shù)主要為隔離惡意應(yīng)用提供了方便,任何與外層的通信都可以使用沙盒機制進行有效的防護。該技術(shù)能夠有效防范越權(quán)攻擊、信息泄露和合謀攻擊,只需要將惡意應(yīng)用放入沙盒中執(zhí)行,一旦發(fā)生惡意行為,立即對其進行相應(yīng)的防護即可。應(yīng)用在沙盒內(nèi)執(zhí)行的過程中,需要對沙盒內(nèi)的應(yīng)用提供持續(xù)不斷的監(jiān)控,所以其性能開銷較大。提供一個完整而且有效的沙盒,對于運行時的防護能夠起到較好的作用。沙盒機制雖然能夠有效防護一些攻擊,但是對于較為底層的操作還存在一定的局限性。所以在未來的研究中,還需對上述局限性做更深入的研究。
3.2.1 應(yīng)用領(lǐng)域
現(xiàn)在的Android設(shè)備廣泛應(yīng)用于各個領(lǐng)域,手表、電視、汽車和醫(yī)療設(shè)備等產(chǎn)品上面都可以搭載Android操作系統(tǒng),這就需要對各類設(shè)備進行針對性的防護。尤其是涉及到用戶的生命財產(chǎn)安全方面的,需要更為嚴格的安全策略來確保萬無一失。
3.2.2 計算和存儲能力
隨著Android手機不斷發(fā)展,將擁有更為強大的移動計算能力和存儲能力。由于計算能力已經(jīng)得到了顯著的提升,今后甚至可以將一部分在應(yīng)用市場才能完成的任務(wù)放到移動設(shè)備上進行處理,進而實現(xiàn)更加全面的防護。而存儲能力的加強意味著可以存儲更多隱私數(shù)據(jù),如何針對這些數(shù)據(jù)進行保護也是一個挑戰(zhàn)。
3.2.3 攻擊種類
從Android提出到現(xiàn)在應(yīng)用,攻擊的方式以及類型在不斷進化,繞過現(xiàn)有的安全機制,來實現(xiàn)惡意目的,防護難度增強。由于攻擊者不斷更新其攻擊方式,因此很難實現(xiàn)一個完善的系統(tǒng)能夠抵御所有的攻擊。雖然現(xiàn)在存在很多的安全防護機制,但是很多都是針對特定類型的攻擊的,不具備普適性。
3.2.4 歷史版本遺留問題
歷史版本迭代更新頻繁,遺留問題增多。雖然現(xiàn)在Android系統(tǒng)已經(jīng)更新到6.0了,但是還存在很多用戶在使用4.0~5.0的版本。每個版本都有新的安全特性加入。舊版本不具備這些新的安全特性,將面臨著更大的安全風(fēng)險。
3.2.5 合謀應(yīng)用
合謀攻擊一直是研究者重點關(guān)注的問題,很多安全防護機制不能夠完全覆蓋其多樣性的通信通道。一般說來,合謀攻擊存在顯示通道和隱式通道2種通道。顯示通道一般會包括Intent、套接字、內(nèi)部存儲、共享引用和系統(tǒng)日志,而隱式通道則可能為多樣化設(shè)置、處理器狀態(tài)、處理器頻率和文件系統(tǒng)的空余空間等。
一般而言,數(shù)據(jù)流分析和動態(tài)監(jiān)控能夠有效地防護顯示通道所產(chǎn)生的攻擊。但是對于隱式通道,目前還沒有較好的方式對其進行處理。對于合謀攻擊中隱式通道的防護值得研究者更深層次的研究。
本文介紹Android平臺存在的一些安全缺陷和威脅,從應(yīng)用開發(fā)、發(fā)布、安裝、運行和更新等部署階段的現(xiàn)有研究出發(fā),分別總結(jié)歸納和分析了各個階段的安全防護措施。在此基礎(chǔ)上,通過對比已有工作的優(yōu)缺點,分析了Android安全防護的機遇與挑戰(zhàn),并展望了未來Android安全領(lǐng)域的前景。
[1] 卿斯?jié)h.Android 安全研究進展[J].軟件學(xué)報,2016,27(1):45-71.
[2] 張玉清,王 凱,楊 歡,等.Android 安全綜述[J].計算機研究與發(fā)展,2014,51(7):1385-1396.
[3] TAN D J J,CHUA T W,THING V L L.Securing Android:A Survey,Taxonomy,and Challenges[J].ACM Computing Surveys,2015,47(4):58-99.
[4] ZHOU Yajin,JIANG Xuxian.Dissecting Android Malware:Characterization and Evolution[C]//Proceedings of IEEE Symposium on Security and Privacy.IEEE Computer Society.Washington D.C.,USA:IEEE Press,2012:95-109.
[5] ZHOU Wu,ZHANG Xinwen,JIANG Xuxian.AppInk:Water-marking Android Apps for Repackaging Deterrence[C]//Proceedings of the 8th ACM SIGSAC Symposium on Information,Computer and Communications Security.New York,USA:ACM Press,2013:1-12.
[6] RASTHOFER S,ARZT S,LOVAT E,et al.Droidforce:Enforcing Complex,Data-centric,System-wide Policies in Android[C]//Proceedings of Ninth International Conference on Availability,Reliability and Security.Washington D.C.,USA:IEEE Press,2014:40-49.
[7] ZHOU Wu,ZHOU Yajin,JIANG Xuxian,et al.Detecting Repackaged Smartphone Applications in Third-party Android Marketplaces[C]//Proceedings of the 2nd ACM Conference on Data and Application Security and Privacy.New York,USA:ACM Press,2012:317-326.
[8] CRUSSELL J,GIBLER C,CHEN Hao.Attack of the Clones:Detecting Cloned Applications on Android Markets[C]//Proceedings of European Symposium on Research in Computer Security.Berlin,Germany:Springer-Verlag,2012:37-54.
[9] FELT A P,CHIN E,HANNA S,et al.Android Permissions Demystified[C]//Proceedings of the 18th ACM Conference on Computer and Communications Security.New York,USA:ACM Press,2011:627-638.
[10] AU K W Y,ZHOU Yifan,HUANG Zhen,et al.Pscout:Analyzing the Android Permission Specification[C]//Proceedings of the 2012 ACM Conference on Computer and Communications Security.New York,USA:ACM Press,2012:217-228.
[11] GRACE M C,ZHOU Yajin,WANG Zhi,et al.Systematic Detection of Capability Leaks in Stock Android Smartphones[C]//Proceedings of the 19th Network and Distributed System Security Symposium.Washington D.C.,USA:IEEE Press,2012:19.
[12] LU Long,LI Zhichun,WU Zhenyu,et al.Chex:Statically Vetting Android Apps for Component Hijacking Vulner-abilities[C]//Proceedings of 2012 ACM Conference on Computer and Communications Security.New York,USA:ACM Press,2012:229-240.
[13] GRACE M,ZHOU Yajin,ZHANG Qiang,et al.Riskranker:Scalable and Accurate Zero-day Android Malware Detec-tion[C]//Proceedings of the 10th International Conference on Mobile Systems,Applications,and Services.New York,USA:ACM Press,2012:281-294.
[14] ARZT S,RASTHOFER S,FRITZ C,et al.Flowdroid:Precise Context,Flow,Field,Object-sensitive and Lifecycle-aware Taint Analysis for Android Apps[C]//Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation.New York,USA:ACM Press,259-269.
[15] YANG Zhemin,YANG Min,ZHANG Yuan,et al.Appintent:Analyzing Sensitive Data Transmission in Android for Privacy Leakage Detection[C]//Proceedings of ACM SIGSAC Conference on Computer & Com-munications Security.New York,USA:ACM Press,2013:1043-1054.
[16] CHIN E,FELT A P,GREENWOOD K,et al.Analyzing Inter-application Communication in Android[C]//Proceedings of the 9th International Conference on Mobile Systems,Applications,and Services.New York,USA:ACM Press,2011:239-252.
[17] OCTEAU D,MCDANIEL P,JHA S,et al.Effective Inter-component Communication Mapping in Android with Epicc:An Essential Step Towards Holistic Security Analysis[C]//Proceedings of the 22nd USENIX Conference on Security.USENIX Association.Washington D.C.,USA:[s.n.],2013:543-558.
[18] LI Li,BARTEL A,BISSYANDE T F,et al.IccTA:Detecting Inter-component Privacy Leaks in Android Apps[C]//Proceedings of the 37th International Conference on Software Engineering-Volume 1.Washington D.C.,USA:IEEE Press,2015:280-291.
[19] WEI Fengguo,ROY S,OU Xinming.Amandroid:A Precise and General Inter-component Data Flow Analysis Framework for Security Vetting of Android Apps[C]//Proceedings of 2014 ACM SIGSAC Conference on Computer and Communications Security.New York,USA:ACM Press,2014:1329-1341.
[20] ENCK W,ONGTANG M,MCDANIEL P.Understanding Android Security[J].IEEE Security & Privacy,2009(1):50-57.
[21] ZHANG Mu,DUAN Yue,FENG Qian,et al.Towards Automatic Generation of Security-centric Descriptions for Android Apps[C]//Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security.New York,USA:ACM Press,2015:518-529.
[22] WANG Ruowen,ENCK W,REEVES D,et al.Easeandroid:Automatic Policy Analysis and Refinement for Security Enhanced Android via Large-scale Semi-supervised Learn-ing[C]//Proceedings of the 24th USENIX Security Symposium.USENIX Association.Washington,D.C.:[s.n.],2015:351-366.
[23] BUGIEL S,DAVI L,DMITRIENKO A,et al.Towards Taming Privilege-escalation Attacks on Android[J].Proceedings of Annual Network & Distributed System Security Symposium,2013,130(130):346-360.
[24] BUGIEL S,HEUSER S,SADEGHI A R.Flexible and Fine-grained Mandatory Access Control on Android for Diverse Security and Privacy Policies[C]//Proceedings of the 22nd USENIX Conference on Security.Washington D.C.,USA:USENIX Association,2013:131-146.
[25] ZHAO Zhibo,OSONO F C C.“TrustDroidTM”:Preventing the Use of SmartPhones for Information Leaking in Corporate Networks Through the Use of Static Analysis Taint Tracking[C]//Proceedings of International Conference on Malicious and Unwanted Software.Washington D.C.,USA:IEEE Press,2012:135-143.
[26] WANG Rui,XING Luyi,WANG Xiaofeng,et al.Unauthorized Origin Crossing on Mobile Platforms:Threats and Mitiga-tion[C]//Proceedings of ACM SIGSAC Conference on Computer & Communications Security.New York,USA:ACM Press,2013:635-646.
[27] ENCK W,GILBERT P,CHUN B G,et al.TaintDroid:An Information-flow Tracking System for Realtime Privacy Monitoring on Smartphones[J].ACM Tran-sactions on Computer Systems,2014,32(2):1-29.
[28] FELT A P,WANG H J,MOSHCHUK A,et al.Permission Re-delegation:Attacks and Defenses[C]//Proceedings of Usenix Conference on Security.New York,USA:USENIX Association,2011:22.
[29] DIETZ M,SHEKHAR S,PISETSKY Y,et al.QUIRE:Lightweight Provenance for Smart Phone Operating Systems[C]//Proceedings of USENIX Conference on Security.San Francisco,USA:USENIX Association,2011:23.
[30] ZHANG Yuan,YANG Min,XU Bingquan,et al.Vetting Undesirable Behaviors in Android Apps with Permission Use Analysis[C]//Proceedings of 2013 ACM SIGSAC Conference on Computer & Communications Security.New York,USA:ACM Press,2013:611-622.
[31] XU Rubin,SAIDI H,ANDERSON R.Aurasium:Practical Policy Enforcement for Android Applications[C]//Proceedings of USENIX Conference on Security Symposium.Bellevue,USA:USENIX Association,2012:27.
[32] BACKES M,GERLING S,HAMMER C,et al.AppGuard-Enforcing User Requirements on Android Apps[C]//Proceedings of Tools and Algorithms for the Construction and Analysis of Systems.Berlin,Germany:Springer-Verlag,2013:543-548.
[33] BACKES M,BUGIEL S,HAMMER C,et al.Boxify:Full-fledged App Sandboxing for Stock Android[C]//Pro-ceedings of USENIX Conference on Security Symposium.Washington D.C.,USA:USENIX Association,2015:691-706.
[34] XING Luyi,PAN Xiaorui,WANG Rui,et al.Upgrading Your Android,Elevating My malware:Privilege Escalation Through Mobile OS Updating[C]//Proceedings of IEEE Symposium on Security and Privacy.Washington D.C.,USA:IEEE Press,2014:393-408.