李 暉 王 斌 張 文 湯 祺 張艷麗
?
X-Decaf : Android平臺(tái)社交類(lèi)應(yīng)用的緩存文件泄露檢測(cè)
李 暉 王 斌*張 文 湯 祺 張艷麗
(北京郵電大學(xué)計(jì)算機(jī)學(xué)院 北京 100876)
由于社交類(lèi)應(yīng)用涉及的隱私數(shù)據(jù)類(lèi)型非常多,導(dǎo)致這類(lèi)應(yīng)用在被廣泛使用的同時(shí),頻繁出現(xiàn)用戶(hù)隱私泄露事件,但是目前還鮮有針對(duì)社交應(yīng)用的隱私泄露檢測(cè)機(jī)制的研究。該文結(jié)合Android系統(tǒng)的特性,提出一個(gè)面向Android社交類(lèi)應(yīng)用檢測(cè)框架X-Decaf(Xposed-based-detecting-cache-file),創(chuàng)新性地利用污點(diǎn)追蹤技術(shù)以及Xposed框架,獲取應(yīng)用內(nèi)疑似泄露路徑,監(jiān)測(cè)隱私數(shù)據(jù)的緩存文件。此外,該文給出了對(duì)隱私泄露進(jìn)行評(píng)級(jí)的建議,并利用該框架對(duì)50款社交類(lèi)應(yīng)用進(jìn)行了檢測(cè),發(fā)現(xiàn)社交類(lèi)應(yīng)用普遍存在泄露用戶(hù)隱私信息的漏洞。
隱私泄露;污點(diǎn)追蹤;緩存文件;Xposed;Android系統(tǒng)
iiMedia Research在“2015年中國(guó)手機(jī)APP市場(chǎng)研究報(bào)”的調(diào)查報(bào)告中顯示,截止2015第2季度,中國(guó)手機(jī)用戶(hù)規(guī)模達(dá)到6.57億人,智能手機(jī)用戶(hù)規(guī)模為6.01億人,龐大的用戶(hù)基礎(chǔ)推動(dòng)了中國(guó)手機(jī)應(yīng)用軟件的快速發(fā)展。同時(shí),報(bào)告中顯示,在2014 ~2015年中國(guó)手機(jī)網(wǎng)民對(duì)各類(lèi)型移動(dòng)應(yīng)用歡迎狀況調(diào)查中,即時(shí)通訊與社交應(yīng)用所占比為64.1%。2016年2月份,微信、QQ活躍用戶(hù)占比均超過(guò)70%。可見(jiàn),微信、QQ等應(yīng)用成為了當(dāng)前手機(jī)用戶(hù)使用最多和最為頻繁的移動(dòng)社交應(yīng)用。
特別是近年來(lái)隨著大數(shù)據(jù)平臺(tái)的建立與發(fā)展,當(dāng)用戶(hù)隱私數(shù)據(jù)成為一種資產(chǎn),社交應(yīng)用毫無(wú)疑問(wèn)地成為大數(shù)據(jù)平臺(tái)機(jī)構(gòu)的首要監(jiān)測(cè)目標(biāo)。用戶(hù)在使用應(yīng)用的過(guò)程中產(chǎn)生了大量的隱私數(shù)據(jù),然而用戶(hù)無(wú)法確信應(yīng)用開(kāi)發(fā)者是否對(duì)隱私數(shù)據(jù)做了保護(hù)處理。因此,有必要對(duì)社交應(yīng)用的用戶(hù)數(shù)據(jù)保護(hù)情況進(jìn)行研究分析。
Android平臺(tái)上應(yīng)用的隱私數(shù)據(jù)泄露問(wèn)題已經(jīng)引起國(guó)內(nèi)外的廣泛關(guān)注。由于Android是一個(gè)基于權(quán)限控制的操作系統(tǒng),因此很多安全解決方案集中在針對(duì)權(quán)限的分析上。文獻(xiàn)[1]提出通過(guò)動(dòng)態(tài)分析平臺(tái)VetDroid,重建細(xì)粒度的權(quán)限分析,進(jìn)而判別應(yīng)用程序的敏感行為;文獻(xiàn)[2]設(shè)計(jì)了一個(gè)基于上下文的訪問(wèn)控制機(jī)制,通過(guò)這個(gè)機(jī)制,基于用戶(hù)的特定的上下文,可動(dòng)態(tài)授予或撤銷(xiāo)應(yīng)用程序的權(quán)限;文獻(xiàn)[3]提出一個(gè)細(xì)粒度的、以用戶(hù)為中心的權(quán)限模型,這個(gè)模型允許用戶(hù)對(duì)他們安裝的軟件進(jìn)行有選擇的授予權(quán)限。文獻(xiàn)[4]基于訪問(wèn)控制提出了組件級(jí)別的權(quán)限方案讓開(kāi)發(fā)者更好地管理應(yīng)用中組件的安全性。在這些研究中,由于基于權(quán)限控制對(duì)用戶(hù)數(shù)據(jù)泄露檢測(cè)的方式需要用戶(hù)的頻繁參與,被認(rèn)為是一種不實(shí)用的手段。
還有一部分學(xué)者側(cè)重于分析某一類(lèi)數(shù)據(jù)的隱私檢測(cè)與隱私保護(hù)。文獻(xiàn)[5]提出了CHEX,一種靜態(tài)分析方法,可以自動(dòng)審查Android應(yīng)用程序的組件劫持漏洞,保護(hù)用戶(hù)數(shù)據(jù)。文獻(xiàn)[6]提出的一個(gè)基于內(nèi)容的細(xì)粒度運(yùn)行時(shí)訪問(wèn)控制系統(tǒng),對(duì)應(yīng)用程序的照片訪問(wèn)進(jìn)行控制。文獻(xiàn)[7]通過(guò)研究Android手機(jī)的外部設(shè)備對(duì)用戶(hù)隱私數(shù)據(jù)的泄露,提出了針對(duì)藍(lán)牙、NFC等方式連接的外部設(shè)備的管理。在文獻(xiàn)[8,9]中,針對(duì)地理位置信息的泄露,學(xué)者們提出了相應(yīng)的保護(hù)策略。
此外,研究人員通過(guò)修改Android系統(tǒng)源代碼和Android應(yīng)用程序,對(duì)隱私數(shù)據(jù)的泄露進(jìn)行追蹤。文獻(xiàn)[10]基于Linux Container機(jī)制,實(shí)現(xiàn)應(yīng)用程序分離以及敏感組件隔離,并保護(hù)隱私數(shù)據(jù)。文獻(xiàn)[11]將解決隱私保護(hù)作為一種學(xué)習(xí)的問(wèn)題,利用貝葉斯定理等建立定量/概率的二元判斷模式,根據(jù)擴(kuò)散點(diǎn)所處的環(huán)境來(lái)判斷它是不是隱私泄露。TaintDriod[12]通過(guò)對(duì)Android系統(tǒng)虛擬機(jī)以及解釋器的修改,提供了完備的動(dòng)態(tài)污點(diǎn)追蹤功能。許多學(xué)者也在TaintDroid基礎(chǔ)上提出了更為優(yōu)化的方案[13,14]。文獻(xiàn)[15,16]通過(guò)對(duì)Android應(yīng)用程序進(jìn)行字節(jié)碼重寫(xiě),加入相應(yīng)的隱私檢測(cè)策略,通過(guò)應(yīng)用重打包的方式實(shí)現(xiàn)隱私追蹤與漏洞檢測(cè)。
以上是國(guó)內(nèi)外研究學(xué)者針對(duì)Android平臺(tái)應(yīng)用軟件隱私泄露以及污點(diǎn)追蹤的常用技術(shù)。由于社交類(lèi)應(yīng)用涉及的系統(tǒng)權(quán)限以及隱私數(shù)據(jù)類(lèi)型種類(lèi)很多,因此很難使用現(xiàn)有的基于某類(lèi)權(quán)限或者隱私數(shù)據(jù)的框架方案檢測(cè)隱私泄露;同時(shí),如果利用基于TaintDroid的思路,采用修改Android系統(tǒng)的方法策略,或者修改并重打包應(yīng)用的方式去分析應(yīng)用的隱私泄露,不僅實(shí)驗(yàn)成本增加,而且對(duì)應(yīng)用的運(yùn)行效率產(chǎn)生很大影響。可見(jiàn),現(xiàn)有的隱私泄露分析方法并不適用于社交類(lèi)應(yīng)用。
針對(duì)社交類(lèi)應(yīng)用,本文提出了一個(gè)檢測(cè)框架X- Decaf(Xposed-based-detecting-cache-file),創(chuàng)新性地以社交應(yīng)用運(yùn)行中產(chǎn)生的緩存文件作為研究對(duì)象,利用污點(diǎn)追蹤技術(shù)以及Xposed框架,獲取應(yīng)用內(nèi)疑似泄露路徑,對(duì)敏感數(shù)據(jù)的泄露情況進(jìn)行檢測(cè)。Xposed是Android平臺(tái)成熟的鉤子技術(shù)(Hook)框架,可運(yùn)行在dalvik, art虛擬機(jī)上,并能替換任意java方法。Xposed框架作用于Android系統(tǒng)Zygote啟動(dòng)階段,通過(guò)替換app_process進(jìn)程,以及對(duì)Android虛擬機(jī)運(yùn)行時(shí)的修改,完成對(duì)Zygote進(jìn)程的劫持。Android系統(tǒng)中應(yīng)用是由Zygote創(chuàng)建,應(yīng)用所運(yùn)行的進(jìn)程中也包含Xposed框架,因此,利用Xposed提供的接口編寫(xiě)對(duì)應(yīng)的Hook Module,可實(shí)現(xiàn)對(duì)應(yīng)用運(yùn)行中的行為動(dòng)作進(jìn)行監(jiān)控、修改甚至替換。利用Xposed的這個(gè)特性,本文所設(shè)計(jì)的X-Decaf可對(duì)社交應(yīng)用的敏感數(shù)據(jù)進(jìn)行分類(lèi)統(tǒng)計(jì),靈活地選擇待檢測(cè)的隱私數(shù)據(jù)類(lèi)型,在待測(cè)應(yīng)用運(yùn)行時(shí)動(dòng)態(tài)監(jiān)測(cè)應(yīng)用本身對(duì)緩存文件的處理情況,同時(shí)具有與Android系統(tǒng)低耦合、無(wú)需修改應(yīng)用程序、低功耗等特點(diǎn)。
本文第2節(jié)對(duì)社交應(yīng)用的隱私數(shù)據(jù)進(jìn)行了定義,并給出泄露評(píng)判標(biāo)準(zhǔn);第3節(jié)具體介紹X-Decaf框架系統(tǒng);第4節(jié)給出了利用X-Decaf框架對(duì)國(guó)內(nèi)主流的50款社交應(yīng)用進(jìn)行泄露分析的實(shí)驗(yàn)數(shù)據(jù)和結(jié)果分析;第5節(jié)為本文結(jié)論,并討論了本框架的不足以及未來(lái)相關(guān)工作。
2.1隱私數(shù)據(jù)
廣泛使用的移動(dòng)社交類(lèi)應(yīng)用涉及到大量的用戶(hù)數(shù)據(jù)信息,因此首先需要明確本文所討論的社交類(lèi)應(yīng)用的隱私數(shù)據(jù)類(lèi)型。本文通過(guò)對(duì)市場(chǎng)主流50款社交應(yīng)用進(jìn)行分析統(tǒng)計(jì)(如圖1),發(fā)現(xiàn)圖片、視頻、語(yǔ)音、地理位置、聯(lián)系人、電話短信等用戶(hù)隱私數(shù)據(jù)在社交應(yīng)用中均不同程度地被涉及到。由于本文是對(duì)社交類(lèi)應(yīng)用緩存數(shù)據(jù)泄露的研究,并且在實(shí)驗(yàn)過(guò)程中顯示,多媒體類(lèi)型用戶(hù)數(shù)據(jù)(圖片、視頻、語(yǔ)音等)常常產(chǎn)生大量緩存文件。因此,本文將圖片、視頻、語(yǔ)音等作為首要隱私數(shù)據(jù),研究社交應(yīng)用對(duì)這些隱私數(shù)據(jù)的泄露情況。
圖1 社交類(lèi)應(yīng)用涉及用戶(hù)隱私數(shù)據(jù)類(lèi)型統(tǒng)計(jì)圖
2.2隱私泄露定義
在Android系統(tǒng)中,系統(tǒng)在/data/data/目錄下,為每個(gè)應(yīng)用創(chuàng)建獨(dú)享的文件目錄。應(yīng)用程序在運(yùn)行過(guò)程中默認(rèn)在該目錄下創(chuàng)建數(shù)據(jù)文件。該文件目錄的安全性由Android系統(tǒng)本身提供的安全保護(hù)機(jī)制來(lái)保證。當(dāng)某應(yīng)用進(jìn)程訪問(wèn)文件時(shí),首先需要通過(guò)基于UID/GID的DAC安全檢查,接著進(jìn)行基于SEAndroid的MAC安全檢查。然而,即便應(yīng)用的隱私數(shù)據(jù)保存在該目錄下,也面臨手機(jī)被破解(root)后,惡意軟件沖破Android保護(hù)機(jī)制,獲取用戶(hù)隱私數(shù)據(jù)的風(fēng)險(xiǎn)。
同時(shí),許多原因造成應(yīng)用開(kāi)發(fā)者并未將應(yīng)用的所有運(yùn)行數(shù)據(jù)存放在對(duì)應(yīng)的/data/data/目錄下。這些原因主要如下:(1)應(yīng)用開(kāi)發(fā)者在開(kāi)發(fā)應(yīng)用時(shí),未考慮應(yīng)用的安全性,隨意調(diào)用Android系統(tǒng)API(例如getExternalStorageDirectory( )等),并將應(yīng)用運(yùn)行時(shí)產(chǎn)生的緩存文件、數(shù)據(jù)信息等放在一些公共目錄下;(2)Android手機(jī)配置參差不齊,內(nèi)存小的手機(jī)需SD卡擴(kuò)展,因此,一些應(yīng)用運(yùn)行的緩存文件被存放在SD卡公共目錄下,同時(shí)應(yīng)用并未對(duì)這些公共目錄下的文件數(shù)據(jù)進(jìn)行管理,手機(jī)內(nèi)的任何應(yīng)用均可以訪問(wèn)SD卡目錄下的文件,這時(shí)便存在隱私泄露問(wèn)題。
傳統(tǒng)的隱私泄露行為指應(yīng)用未顯式告知用戶(hù)需遠(yuǎn)程收集相關(guān)信息,卻利用網(wǎng)絡(luò)等途徑收集并傳播用戶(hù)隱私。本文以一種新的角度定義用戶(hù)的隱私泄露。本文討論的隱私泄露行為是指應(yīng)用由于自身設(shè)計(jì)的缺陷以及運(yùn)行期間的表現(xiàn),產(chǎn)生了涉及用戶(hù)隱私的緩存文件,并且缺乏良好的策略管理這些緩存文件。為了分析社交軟件是否面臨著隱私泄露的風(fēng)險(xiǎn),我們利用X-Decaf框架對(duì)社交應(yīng)用運(yùn)行時(shí)產(chǎn)生的緩存文件進(jìn)行檢測(cè)分析,分析緩存文件是否產(chǎn)生含有隱私數(shù)據(jù),以及應(yīng)用本身是否對(duì)這些敏感緩存文件進(jìn)行生命周期管理。
2.3 隱私泄露評(píng)判標(biāo)準(zhǔn)
緩存文件隱私泄露的評(píng)判標(biāo)準(zhǔn)的定義,應(yīng)遵照以下依據(jù):
(1)緩存文件存儲(chǔ)路徑:根據(jù)2.2節(jié)的討論,Android系統(tǒng)中,應(yīng)用在運(yùn)行時(shí)將在以下文件路徑中產(chǎn)生緩存文件,如表1所示。
表1緩存文件產(chǎn)生路徑
緩存文件產(chǎn)生路徑路徑簡(jiǎn)記 /data/data/包名/DATA_PRI /data/data/包名/(全局可讀)DATA_PUB /storage/emulated/0/Android/data/包名/SD_PRI /storage/emulated/0/SD_PUB
在Android系統(tǒng)中,文件的存儲(chǔ)路徑一定程度上反映了文件的訪問(wèn)權(quán)限。根據(jù)文件的存儲(chǔ)路徑分析Android平臺(tái)上常見(jiàn)的攻擊場(chǎng)景如下:
DATA_PRI:只限應(yīng)用自身可以訪問(wèn),攻擊者在不破解的情況下很難獲取該目錄下文件信息;
DATA_PUB:若目錄下的文件為全局可讀,手機(jī)中任意應(yīng)用均可訪問(wèn)。攻擊者可以通過(guò)惡意應(yīng)用訪問(wèn)該目錄文件;
SD_PUB, SD_PRI:由于是在SD卡公共目錄下,攻擊者可以隨意篡改。
此處區(qū)分SD_PUB與SD_PRI,是由于SD_PUB目錄反映出來(lái)的是應(yīng)用開(kāi)發(fā)者的不規(guī)范行為,并且利用Android系統(tǒng)設(shè)置中的清理數(shù)據(jù)功能或者刪除應(yīng)用可以刪除SD_PRI目錄下的所有數(shù)據(jù);然而除非應(yīng)用自身去管理,否則SD_PUB目錄下的數(shù)據(jù)是不被刪除的。
(2)緩存文件保護(hù)狀態(tài):通過(guò)上述攻擊場(chǎng)景分析可看出,僅僅依靠Android系統(tǒng)的文件目錄安全機(jī)制無(wú)法保證應(yīng)用產(chǎn)生的數(shù)據(jù)文件的安全。常見(jiàn)的文件保護(hù)手段有混淆、加密等,即便攻擊者沖破Android系統(tǒng)的保護(hù)機(jī)制,獲取到了應(yīng)用產(chǎn)生的文件,也需花費(fèi)很大代價(jià)將保護(hù)后的文件還原。經(jīng)保護(hù)處理的緩存文件提高了安全性,同時(shí)也避免了隱私泄露。因此,文件保護(hù)與否也是對(duì)文件的隱私泄露分析的重要依據(jù)。
(3)緩存文件生命周期:緩存文件的生命周期是指緩存文件從產(chǎn)生、轉(zhuǎn)移、存儲(chǔ)以及刪除等過(guò)程。在整個(gè)生命周期中,緩存文件都有可能遭受攻擊者的惡意攻擊。因此,對(duì)于應(yīng)用在緩存文件的生命周期中對(duì)緩存文件的管理,情景模擬主要有以下3種:
情景1:應(yīng)用在運(yùn)行時(shí)產(chǎn)生緩存文件,并且緩存文件在應(yīng)用退出后銷(xiāo)毀;
情景2:緩存文件在應(yīng)用退出后依據(jù)存在,但應(yīng)用內(nèi)部提供清理緩存等相關(guān)功能,可將緩存文件刪除;
情景3:應(yīng)用內(nèi)部提供清理緩存等相關(guān)功能,依然無(wú)法將緩存文件刪除。
針對(duì)以上3個(gè)評(píng)判依據(jù),緩存文件隱私泄露的評(píng)判標(biāo)準(zhǔn)定義了如下:對(duì)于保護(hù)處理的緩存文件,我們默認(rèn)應(yīng)用的保護(hù)手段是安全的,因此不存在泄露情況。對(duì)于未保護(hù)的緩存文件,根據(jù)其存儲(chǔ)路徑以及生命周期,隱私泄露評(píng)判標(biāo)準(zhǔn)如表2所示。
表2未保護(hù)隱私泄露評(píng)判標(biāo)準(zhǔn)
DATA_PRIDATA_PUBSD_PRISD_PUB 情景1輕度泄露中度泄露中度泄露中度泄露 情景2輕度泄露重度泄露重度泄露重度泄露 情景3輕度泄露超重度泄露超重度泄露超重度泄露
根據(jù)上述隱私泄露評(píng)判標(biāo)準(zhǔn)的定義,并結(jié)合目前常見(jiàn)的Android平臺(tái)攻擊場(chǎng)景,將隱私泄露等級(jí)分為無(wú)泄露、輕度泄露、中度泄露、重度泄露以及超重度泄露,具體為:
無(wú)泄露:應(yīng)用在運(yùn)行中并未產(chǎn)生緩存文件或者緩存文件是經(jīng)過(guò)保護(hù)處理;
輕度泄露:需要攻擊者破解手機(jī)后,才能進(jìn)行相關(guān)隱私竊??;
中度泄露:無(wú)需破解手機(jī),需攻擊者監(jiān)聽(tīng)?wèi)?yīng)用運(yùn)行時(shí)的動(dòng)作;
重度泄露:攻擊者僅需利用Android提供的接口或直接利用文件夾工具查看相關(guān)路徑,便可進(jìn)行攻擊;
超重度泄露:應(yīng)用自身提供的清理緩存功能并未對(duì)緩存文件進(jìn)行清除,本文視為“超重度泄露”。
X-Decaf框架依據(jù)以上隱私泄露定義以及標(biāo)準(zhǔn),將應(yīng)用、隱私數(shù)據(jù)、緩存文件聯(lián)系起來(lái),對(duì)應(yīng)用的泄露情況進(jìn)行高效的分析。
3.1總體框架
本文結(jié)合動(dòng)態(tài)檢測(cè)與靜態(tài)分析技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了X-Decaf(圖2)框架,該框架具有與Android系統(tǒng)低耦合,無(wú)需修改應(yīng)用程序,檢測(cè)精度高以及對(duì)應(yīng)用運(yùn)行影響低的特點(diǎn)。
圖2 X-Decaf總體框架
X-Decaf主要由3部分組成:敏感函數(shù)庫(kù)、污點(diǎn)追蹤(由動(dòng)態(tài)追蹤與污點(diǎn)標(biāo)記組成)以及緩存文件分析(分為策略判定與人工檢驗(yàn))。
(1)敏感數(shù)據(jù)庫(kù):通過(guò)對(duì)市場(chǎng)上社交應(yīng)用大量分析,統(tǒng)計(jì)出應(yīng)用調(diào)用系統(tǒng)API的情況,篩選出與敏感數(shù)據(jù)產(chǎn)生、傳播相關(guān)的系統(tǒng)API,最終形成X-Decaf框架的敏感函數(shù)庫(kù),針對(duì)性地分析隱私數(shù)據(jù)的泄露情況。
(2)污點(diǎn)追蹤:污點(diǎn)追蹤主要由兩部分組成:動(dòng)態(tài)追蹤模塊是基于Xposed框架,通過(guò)向敏感數(shù)據(jù)庫(kù)請(qǐng)求相關(guān)隱私數(shù)據(jù)的系統(tǒng)API函數(shù),對(duì)應(yīng)用的敏感函數(shù)進(jìn)行鉤子技術(shù)(Hook)操作,實(shí)現(xiàn)在隱私數(shù)據(jù)產(chǎn)生、傳播以及最終的存儲(chǔ)過(guò)程中的監(jiān)控;污點(diǎn)標(biāo)記模塊針對(duì)不同的隱私數(shù)據(jù)類(lèi)型進(jìn)行污點(diǎn)標(biāo)記。通過(guò)源隱私數(shù)據(jù)類(lèi)型、源文件名,制定相應(yīng)策略,實(shí)現(xiàn)基于文件的污點(diǎn)標(biāo)記。
(3)緩存文件分析:首先,人工驗(yàn)證階段是依據(jù)第2節(jié)中對(duì)隱私泄露的定義以及標(biāo)準(zhǔn)來(lái)執(zhí)行對(duì)應(yīng)的檢測(cè);其次,策略判定為自動(dòng)化的監(jiān)測(cè)腳本,將監(jiān)測(cè)所有污點(diǎn)追蹤階段產(chǎn)生的污點(diǎn)標(biāo)記緩存文件。策略判定模塊依據(jù)污點(diǎn)緩存文件的TAG值以及隱私泄露評(píng)判標(biāo)準(zhǔn)(見(jiàn)表2),監(jiān)測(cè)污點(diǎn)緩存文件變化情況,并最終形成泄露報(bào)告。
圖3 X-Decaf具體工作流程
3.2具體技術(shù)
圖3顯示了X-Decaf整個(gè)的運(yùn)行流程,其各模塊介紹如下:
(1)敏感函數(shù)庫(kù)建立:在X-Decaf框架的設(shè)計(jì)初期,我們對(duì)市場(chǎng)上近百款社交應(yīng)用進(jìn)行統(tǒng)計(jì)采集,
分析社交類(lèi)軟件的隱私數(shù)據(jù)與對(duì)應(yīng)的系統(tǒng)API的相關(guān)性。應(yīng)用程序產(chǎn)生、獲取或者傳播用戶(hù)隱私數(shù)據(jù)需申請(qǐng)相關(guān)權(quán)限并調(diào)用相關(guān)系統(tǒng)API,且這些系統(tǒng)API是固定的(例如照片涉及調(diào)用相機(jī)功能、讀取系統(tǒng)圖庫(kù)、圖片壓縮、文件I/O等系統(tǒng)API)。通過(guò)常用的軟件分析工具(如apktool, IDA pro等),對(duì)應(yīng)用軟件逆向反匯編,分析并統(tǒng)計(jì)出與敏感數(shù)據(jù)產(chǎn)生、傳播相關(guān)系統(tǒng)API,最終形成X-Decaf框架的敏感函數(shù)庫(kù)。
本文主要針對(duì)社交軟件的緩存文件進(jìn)行分析,因此,敏感函數(shù)庫(kù)將涉及語(yǔ)音、照片、視頻這3類(lèi)包含大量用戶(hù)信息的敏感數(shù)據(jù)的系統(tǒng)接口。為方便自動(dòng)化腳本申請(qǐng)檢測(cè)的敏感函數(shù),敏感函數(shù)庫(kù)以XML格式對(duì)外開(kāi)放敏感API策略。表3列出了敏感函數(shù)庫(kù)中語(yǔ)音數(shù)據(jù)對(duì)應(yīng)的部分系統(tǒng)敏感API策略。
sensitive-policy標(biāo)簽。該標(biāo)簽為指定隱私數(shù)據(jù)的根標(biāo)簽。其后緊跟的屬性顯示了該隱私策略標(biāo)簽對(duì)應(yīng)的隱私類(lèi)型(privacy-type)。
uses-permission標(biāo)簽。該標(biāo)簽表示該類(lèi)型隱私數(shù)據(jù)涉及到系統(tǒng)敏感權(quán)限,它與Android應(yīng)用中聲明的權(quán)限一致。
class-info標(biāo)簽。該標(biāo)簽表示該類(lèi)型敏感數(shù)據(jù)涉及到的Android系統(tǒng)API的類(lèi)信息,其后緊跟的屬性(class-name)表示具體的類(lèi)名。
method-info標(biāo)簽。該標(biāo)簽列出了該類(lèi)型敏感數(shù)據(jù)具體的方法信息,其后緊跟的屬性分別表示方法名(method-name)以及方法參數(shù)(method-args)。
(2)動(dòng)態(tài)追蹤:敏感函數(shù)庫(kù)中的敏感函數(shù)是應(yīng)用運(yùn)行期間的主要監(jiān)測(cè)對(duì)象。動(dòng)態(tài)追蹤模塊首先向敏感函數(shù)庫(kù)請(qǐng)求這些敏感函數(shù),然后利用Xposed框架以這些敏感函數(shù)作為檢測(cè)對(duì)象,生成對(duì)應(yīng)的函數(shù)劫持模塊(Hook Module),之后在待測(cè)應(yīng)用運(yùn)行前將對(duì)應(yīng)的模塊(Module)加載到手機(jī)系統(tǒng)中,最后,在應(yīng)用運(yùn)行時(shí)進(jìn)行檢測(cè),產(chǎn)生運(yùn)行日志。
(3)污點(diǎn)標(biāo)記:X-Decaf框架的污點(diǎn)標(biāo)記模塊主要是對(duì)緩存文件的篩選與污點(diǎn)標(biāo)記,主要步驟如下:
(a)緩存文件篩選: 在動(dòng)態(tài)追蹤階段,X-Decaf監(jiān)控系統(tǒng)I/O操作。由于系統(tǒng)在運(yùn)行過(guò)程中存在許多系統(tǒng)級(jí)文件I/O操作,如果不進(jìn)行過(guò)濾操作,污點(diǎn)標(biāo)記將標(biāo)記出許多無(wú)關(guān)項(xiàng),同時(shí)影響整個(gè)系統(tǒng)的運(yùn)行速度。為了提高整個(gè)污點(diǎn)標(biāo)記的精度以及盡可能小地影響待測(cè)應(yīng)用的性能,X-Decaf框架對(duì)文件進(jìn)行了細(xì)粒度的過(guò)濾。
首先,X-Decaf一旦發(fā)現(xiàn)緩存文件后綴名為.jpg, .jpeg和.bmp等格式,直接判斷為敏感緩存文件;對(duì)于非常規(guī)文件后綴名,X-Decaf框架才對(duì)其做進(jìn)一步數(shù)據(jù)流檢測(cè)(例如常見(jiàn)的jpg格式文件的固定文件頭由“JFIF”字符串組成);此外,如果應(yīng)用本身對(duì)緩存文件做了保護(hù)處理(混淆、加密等手段),X-Decaf也可以檢測(cè)出來(lái),方便污點(diǎn)標(biāo)記階段進(jìn)行處理。這樣,無(wú)論緩存文件以何種形式存在,通過(guò)X-Decaf框架對(duì)文件數(shù)據(jù)流進(jìn)行過(guò)濾,依舊可以追蹤到對(duì)應(yīng)的泄露緩存文件。
(b)污點(diǎn)標(biāo)記:通過(guò)前一階段的緩存文件篩選,X-Decaf已經(jīng)篩選出敏感緩存文件(包含已保護(hù)處理的緩存文件)。X-Decaf采用污點(diǎn)標(biāo)記機(jī)制對(duì)敏感緩存文件進(jìn)行標(biāo)記,即在有緩存文件名后追加對(duì)應(yīng)的TAG。TAG由緩存文件對(duì)應(yīng)的隱私數(shù)據(jù)類(lèi)型、緩存文件的哈希值以及文件的保護(hù)狀態(tài)(0表示未保護(hù),1表示經(jīng)過(guò)保護(hù)處理)3部分組成。例如,照片類(lèi)緩存文件的原文件名為“cache.tmp”,該文件的哈希值為hash,并且文件未經(jīng)應(yīng)用保護(hù)處理,則經(jīng)過(guò)X-Decaf標(biāo)記后緩存文件名變?yōu)椤癱ache_photo_ hash_0.tmp”。這樣處理的好處有:①不改變待檢測(cè)應(yīng)用對(duì)緩存文件的調(diào)用邏輯;②污點(diǎn)TAG可以傳播,并且可以將source文件與之后的所有緩存文件關(guān)聯(lián)起來(lái);③可監(jiān)測(cè)出數(shù)據(jù)流在各緩存文件傳播過(guò)程中文件保護(hù)狀態(tài)是否改變。
(4)人工驗(yàn)證:通過(guò)X-Decaf對(duì)應(yīng)用的污點(diǎn)追蹤,產(chǎn)生了一系列污點(diǎn)標(biāo)記的緩存文件,需對(duì)這些污點(diǎn)標(biāo)記的緩存文件進(jìn)行分析。首先,通過(guò)人工測(cè)試(如2.3節(jié)中描述的情景模擬),驗(yàn)證社交應(yīng)用軟件本身是否對(duì)緩存文件進(jìn)行生命周期管理;其次,依據(jù)2.3節(jié)隱私泄露的評(píng)判標(biāo)準(zhǔn)來(lái)執(zhí)行檢測(cè),根據(jù)文件的存儲(chǔ)路徑以及文件保護(hù)狀態(tài),觀察緩存文件在測(cè)試過(guò)程中,是否存在或已被刪除,在“策略判定”階段執(zhí)行相應(yīng)策略。
(5)策略判定:策略判定與人工驗(yàn)證協(xié)調(diào)配合完成。策略判定為自動(dòng)化的監(jiān)測(cè)腳本,將監(jiān)測(cè)所有污點(diǎn)追蹤階段產(chǎn)生的污點(diǎn)標(biāo)記緩存文件,即依據(jù)污點(diǎn)緩存文件的TAG值,監(jiān)測(cè)污點(diǎn)緩存文件的保護(hù)狀態(tài)變化、文件路徑、文件生命周期,同時(shí)根據(jù)隱私泄露評(píng)判標(biāo)準(zhǔn)(表2所示),最終形成泄露報(bào)告。
表3敏感函數(shù)庫(kù)語(yǔ)音數(shù)據(jù)敏感API函數(shù)(部分)
3.3 X-Decaf框架分析
與同類(lèi)型泄露檢測(cè)框架相比,X-Decaf具有如下優(yōu)點(diǎn):
(1)系統(tǒng)耦合度降低且無(wú)需修改應(yīng)用程序:目前多數(shù)動(dòng)態(tài)污點(diǎn)追蹤或者隱私泄露檢測(cè)框架均需要修改Android系統(tǒng),例如建立在TaintDroid基礎(chǔ)上的研究就需要修改Android系統(tǒng)。而現(xiàn)有的另外一些檢查方法則將修改目標(biāo)轉(zhuǎn)向待檢測(cè)應(yīng)用本身,對(duì)應(yīng)用進(jìn)行字節(jié)碼重寫(xiě)與策略插入,然而,隨著應(yīng)用軟件的防篡改、簽名機(jī)制等保護(hù)措施的不斷完善使重打包應(yīng)用的代價(jià)逐步增大。X-Decaf既不需要對(duì)Android系統(tǒng)平臺(tái)進(jìn)行修改,也不需要對(duì)應(yīng)用程序進(jìn)行字節(jié)碼重寫(xiě),巧妙地從系統(tǒng)API入手,分析并利用隱私數(shù)據(jù)與對(duì)應(yīng)的系統(tǒng)API的相關(guān)性,針對(duì)隱私數(shù)據(jù)泄露進(jìn)行檢測(cè)。
(2)檢測(cè)多類(lèi)型隱私泄露:敏感函數(shù)庫(kù)對(duì)外提供了常見(jiàn)應(yīng)用隱私數(shù)據(jù)與系統(tǒng)API的關(guān)系模型。因此X-Decaf針對(duì)不同隱私數(shù)據(jù),可以靈活地選取多種敏感函數(shù)策略進(jìn)行監(jiān)測(cè)。
(3)多應(yīng)用橫向檢測(cè):通過(guò)研究發(fā)現(xiàn),應(yīng)用在操作敏感數(shù)據(jù)時(shí)所調(diào)用的系統(tǒng)API具有規(guī)律性。因此,X-Decaf系統(tǒng)可以方便地同時(shí)監(jiān)測(cè)市場(chǎng)上多種應(yīng)用對(duì)某類(lèi)敏感數(shù)據(jù)的泄露情況。
為分析國(guó)內(nèi)市場(chǎng)上社交應(yīng)用的隱私泄露情況,利用X-Decaf框架對(duì)國(guó)內(nèi)主流的50款社交應(yīng)用進(jìn)行了多類(lèi)型隱私數(shù)據(jù)基于緩存文件的泄露分析。測(cè)試手機(jī)為Nexus5, Android系統(tǒng)版本為5.1.1,內(nèi)存16 G,不支持外置SD卡,且已經(jīng)被破解。
4.1隱私數(shù)據(jù)泄露縱向分析
首先使用X-Decaf對(duì)國(guó)內(nèi)最流行的手機(jī)社交應(yīng)用-微信進(jìn)行了縱向隱私數(shù)據(jù)分析,主要對(duì)微信內(nèi)隱私數(shù)據(jù)(語(yǔ)音、圖片、視頻等)進(jìn)行緩存文件泄露分析,同時(shí)對(duì)緩存文件泄露的路徑個(gè)數(shù)進(jìn)行了統(tǒng)計(jì)。由表4所示,X-Decaf框架可以精確地監(jiān)測(cè)到某一數(shù)據(jù)源在應(yīng)用運(yùn)行過(guò)程中,產(chǎn)生、轉(zhuǎn)移、傳播等動(dòng)作對(duì)應(yīng)的緩存文件。例如對(duì)于同一源照片數(shù)據(jù),微信將為其產(chǎn)生3個(gè)緩存文件(*.jpg為原圖片拷貝,th_*為小的縮略圖,th_*hd為大的縮略圖)。X- Decaf可對(duì)應(yīng)用運(yùn)行中數(shù)據(jù)的精準(zhǔn)分析,不會(huì)漏報(bào)、誤報(bào)任一條隱私泄露路徑。
4.2隱私數(shù)據(jù)泄露橫向分析
對(duì)于國(guó)內(nèi)市場(chǎng)的主流社交應(yīng)用,我們利用X- Decaf進(jìn)行了橫向分析,分析了應(yīng)用對(duì)語(yǔ)音、圖片、視頻數(shù)據(jù)的泄露情況,并列出對(duì)應(yīng)的泄露等級(jí)以及泄露路徑的個(gè)數(shù),結(jié)果如表5所示。
4.3 社交應(yīng)用隱私泄露評(píng)分
應(yīng)用對(duì)不同類(lèi)型隱私數(shù)據(jù)產(chǎn)生不同等級(jí)、不同數(shù)量的泄露,這也是社交應(yīng)用隱私泄露評(píng)分需考慮的。對(duì)于應(yīng)用隱私數(shù)據(jù)泄露,我們定義了如表6的泄露評(píng)分規(guī)則以及式(1)所示的分?jǐn)?shù)計(jì)算公式:
其中,表示應(yīng)用對(duì)某類(lèi)型隱私數(shù)據(jù)的泄露分?jǐn)?shù),V表示泄露等級(jí)對(duì)應(yīng)的泄露評(píng)分,表示該類(lèi)型隱私數(shù)據(jù)泄露的路徑個(gè)數(shù)。
表4微信對(duì)隱私(圖片、語(yǔ)音、視頻)泄露情況
微信(6.3.13)泄露路徑泄露路徑個(gè)數(shù) 語(yǔ)音SD_PUB/tencent/MicroMsg//voice2/../msg_*.amr1 圖片SD_PUB/tencent/MicroMsg/../image2/../*.jpgSD_PUB/tencent/MicroMsg/../image2/../th_*SD_PUB/tencent/MicroMsg/../image2/../th_*hd3 視頻SD_PUB/tencent/MicroMsg/../video/*.mp4SD_PUB/tencent/MicroMsg/../video/*.jpgSD_PUB/tencent/MicroMsg/../draft/..SD_PUB/tencent/MicroMsg/../draft/*.thumb4
表5主流社交應(yīng)用關(guān)于語(yǔ)音、照片、視頻類(lèi)隱私數(shù)據(jù)的泄露情況
應(yīng)用程序應(yīng)用版本語(yǔ)音圖片視頻 泄露等級(jí)泄露路徑個(gè)數(shù)泄露等級(jí)泄露路徑個(gè)數(shù)泄露等級(jí)泄露路徑個(gè)數(shù) 微信6.3.13超重度泄露1超重度泄露3超重度泄露4 手機(jī)QQ6.2.3.2700超重度泄露1超重度泄露3超重度泄露2 微博6.3.0無(wú)泄露0重度泄露2重度泄露2 易信4.3.1超重度泄露1超重度泄露2超重度泄露1 陌陌6.7_0413超重度泄露1超重度泄露2超重度泄露3 無(wú)秘5.3.0重度泄露1重度泄露1無(wú)泄露0
依據(jù)表5的結(jié)果,我們得出主流社交應(yīng)用針對(duì)語(yǔ)音、照片、視頻隱私數(shù)據(jù)的泄露分?jǐn)?shù)(圖4所示)。泄露分?jǐn)?shù)反映了應(yīng)用對(duì)隱私數(shù)據(jù)的緩存文件的處理情況。微信由于其相關(guān)復(fù)雜業(yè)務(wù)以及提供的豐富社交功能,使得其對(duì)于這3類(lèi)隱私數(shù)據(jù)的泄露分?jǐn)?shù)都居于首位也是在意料之中。
表6泄露評(píng)分規(guī)則
泄露等級(jí)泄露評(píng)分V 超重度泄露4 重度泄露3 中度泄露2 輕度泄露1 無(wú)泄露0
最后,X-Decaf繼續(xù)擴(kuò)大到50款社交應(yīng)用,并針對(duì)社交應(yīng)用最流行的隱私數(shù)據(jù)-照片進(jìn)行分析。如圖5,在隨機(jī)的抽檢樣本中,除了4%的社交應(yīng)用由于不涉及照片隱私數(shù)據(jù)而不存在泄露外,其他96%應(yīng)用均存在重度泄露以上的情況,并且這其中有74%的應(yīng)用是超重度泄露。這充分反映出了目前應(yīng)用開(kāi)發(fā)者在開(kāi)發(fā)應(yīng)用時(shí),代碼編寫(xiě)不規(guī)范并且未考慮用戶(hù)的隱私泄露風(fēng)險(xiǎn)。
圖4 主流社交應(yīng)用關(guān)于語(yǔ)音、照片、視頻的泄露分?jǐn)?shù)
4.4 對(duì)社交應(yīng)用運(yùn)行性能影響
為測(cè)試X-Decaf在檢測(cè)應(yīng)用隱私泄露過(guò)程中對(duì)應(yīng)用運(yùn)行性能的影響,我們選擇Android SDK提供的DDMS(Dalvik Debug Monitor Service)中的“method profiling”工具。利用DDMS,可以方便地查看手機(jī)終端應(yīng)用進(jìn)程的執(zhí)行情況。其中“method profiling”工具可在無(wú)源碼的情況下,對(duì)應(yīng)用運(yùn)行時(shí)進(jìn)行動(dòng)態(tài)分析。當(dāng)對(duì)應(yīng)用進(jìn)程某段運(yùn)行時(shí)開(kāi)啟調(diào)試后,“method profiling”會(huì)反饋調(diào)試過(guò)程中涉及到的所有Java方法,包括方法的執(zhí)行時(shí)間、調(diào)用次數(shù)、在總體耗時(shí)中的占比等信息。這些運(yùn)行信息可用于分析社交應(yīng)用的運(yùn)行性能。
我們依舊以微信作為研究對(duì)象,通過(guò)以下5個(gè)典型的測(cè)試場(chǎng)景,分析X-Decaf框架對(duì)微信運(yùn)行性能耗時(shí)(單位為ms)的影響:
測(cè)試1:在微信非聊天界面,進(jìn)行多處相同點(diǎn)擊操作,判斷X-Decaf對(duì)微信整體運(yùn)行的性能影響;
測(cè)試2:調(diào)用攝像頭拍照并發(fā)送,判斷X-Decaf對(duì)微信拍照發(fā)送流程影響;
測(cè)試3:連續(xù)發(fā)送9張圖片,判斷X-Decaf對(duì)圖片發(fā)送流程的性能影響;
測(cè)試4:連續(xù)發(fā)送3個(gè)時(shí)長(zhǎng)為6 s小視頻,判斷X- Decaf對(duì)語(yǔ)音發(fā)送流程的性能影響;
測(cè)試5:連續(xù)發(fā)送9張圖片以及3個(gè)6 s小視頻,判斷X-Decaf對(duì)圖片、視頻的發(fā)送流程的性能影響。
測(cè)試中,每項(xiàng)測(cè)試均在20次以上,且使用相同的wifi網(wǎng)絡(luò)。為防止由于人工測(cè)試、網(wǎng)絡(luò)條件以及緩存對(duì)下次實(shí)驗(yàn)結(jié)果的影響,在每次測(cè)試結(jié)束時(shí),將應(yīng)用運(yùn)行中產(chǎn)生的緩存清除。
由圖6的測(cè)試結(jié)果可以看出, X-Decaf在未修改應(yīng)用程序的情況下,對(duì)應(yīng)用運(yùn)行性能造成的影響很低。而X-Decaf作為一款緩存文件泄露檢測(cè)的框架,作用于Android框架層,并未對(duì)待測(cè)應(yīng)用的運(yùn)行邏輯產(chǎn)生影響。
圖5 社交應(yīng)用針對(duì)照片隱私數(shù)據(jù)的泄露情況統(tǒng)計(jì)表 圖6 X-Decaf對(duì)微信運(yùn)行性能影響分析
社交應(yīng)用已然成為最受用戶(hù)歡迎的移動(dòng)類(lèi)應(yīng)用。通常情況下,用戶(hù)認(rèn)為該類(lèi)應(yīng)用在從設(shè)計(jì)開(kāi)始就應(yīng)該考慮如何保護(hù)用戶(hù)隱私的問(wèn)題。然而實(shí)驗(yàn)結(jié)果表明,多數(shù)的社交類(lèi)應(yīng)用在對(duì)多媒體類(lèi)型數(shù)據(jù)使用過(guò)程中存在嚴(yán)重的緩存泄露情況。
盡管X-Decaf實(shí)現(xiàn)了預(yù)期目標(biāo),但同時(shí)也存在一些不足,我們將從以下方面改進(jìn)X-Decaf:(1)敏感函數(shù)庫(kù)的擴(kuò)建。擴(kuò)大用戶(hù)敏感數(shù)據(jù)的定義范圍,分析這些敏感數(shù)據(jù)傳播中調(diào)用的系統(tǒng)API,擴(kuò)充敏感函數(shù)庫(kù)。(2)支持更多類(lèi)型應(yīng)用。將調(diào)整X-Decaf的相關(guān)流程,使其支持更多類(lèi)型的應(yīng)用緩存數(shù)據(jù)的檢測(cè),并能夠支持對(duì)更多數(shù)據(jù)類(lèi)型的緩存泄露追蹤。(3)緩存文件的透明保護(hù)。透明保護(hù)應(yīng)用產(chǎn)生的緩存文件,即對(duì)緩存文件進(jìn)行自動(dòng)加密,當(dāng)應(yīng)用讀取緩存數(shù)據(jù)時(shí),對(duì)加密的緩存文件進(jìn)行自動(dòng)透明解密,使得在不影響應(yīng)用本身的業(yè)務(wù)邏輯的同時(shí),有效防止緩存文件泄露引起的隱私數(shù)據(jù)泄露。為達(dá)到不影響原有應(yīng)用的運(yùn)行,這將是一個(gè)很大的挑戰(zhàn)。
[1] ZHANG Y, YANG M, YANG Z,Permission use analysis for vetting undesirable behaviors in android apps[J]., 2014, 9(11): 1828-1842. doi: 10.1109/TIFS.2014.2347206.
[2] Shebaro B, Oluwatimi O, and Bertino E. Context- based access control systems for mobile devices[J]., 2015, 12(2): 150-163. doi: 10.1109/TDSC.2014.2320731.
[3] Nauman M, Khan S, Othman A T,. Realization of a user-centric, privacy preserving permission framework for Android[J]., 2015, 8(3): 368-382. doi: 10.1002/sec.986.
[4] WU L, DU X, and ZHANG H. An effective access control scheme for preventing permission leak in Android[C]. 2015 International Conference on Computing, Networking and Communications (ICNC), IEEE, Anaheim, CA, USA, 2015: 57-61. doi: 10.1109/ ICCNC.2015.7069315.
[5] Lu L, Li Z, Wu Z,. Chex: Statically vetting android apps for component hijacking vulnerabilities[C]. Proceedings of the 2012 ACM Conference on Computer and Communications Security, North Carolina, USA, 2012: 229-240.
[6] Tan J, Drolia U, Martins R,. Short paper: Chips: Content-based heuristics for improving photo privacy for smartphones[C]. Proceedings of the 2014 ACM Conference on Security and Privacy in Wireless & Mobile Networks. Oxford, UK, 2014: 213-218. doi: 10.1145/2627393.2627394.
[7] Naveed M, Zhou X, Demetriou S,. Inside job: Understanding and mitigating the threat of external device mis-binding on Android[C]. Network and Distributed System Security Symposium, San Diego, California, USA, 2014. doi: 10.14722/ndss.2014.23097.
[8] Rahman M, Ballesteros J, Carbunar B,. Toward preserving privacy and functionality in geosocial networks[C]. Proceedings of the 19th ACM Annual International Conference on Mobile Computing & Networking, Miami, Florida, USA, 2013: 207-210.
[9] Fawaz K, Feng H, and Shin K G. Anatomization and protection of mobile apps’ location privacy threats[C]. 24th USENIX Security Symposium (USENIX Security 15). Washington, D.C., USA, 2015: 753-768.
[10] Yan L, Guo Y, and Chen X. SplitDroid: isolated execution of sensitive components for mobile applications[C]. International Conference on Security and Privacy in Communication Systems. Springer International Publishing, Dallas, TX, USA, 2015: 78-96.
[11] Tripp O and Rubin J. A Bayesian approach to privacy enforcement in smartphones[C]. 23rd USENIX Security Symposium (USENIX Security 14). California, USA, 2014: 175-190.
[12] Enck W, Gilbert P, Han S,. TaintDroid: An information-flow tracking system for realtime privacy monitoring on smartphones[J].(), 2014, 32(2): 5. doi: 10.1145/ 2619091.
[13] Hsiao S W, Hung S H, Chien R,. PasDroid: real- time security enhancement for Android[C]. 2014 Eighth International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing (IMIS), Birmingham, UK, 2014: 229-235.
[14] Bal G, Kai R, and Hong J I. Styx: Privacy risk communication for the Android smartphone platform based on apps' data-access behavior patterns[J].&, 2015, 53: 187-202.
[15] Cui X, Yu D, Chan P,. Cochecker: Detecting capability and sensitive data leaks from component chains in android[C]. Information Security and Privacy. Springer International Publishing, Wollongong, NSW, Australia, 2014: 446-453.
[16] Zhang M and Yin H. Efficient, context-aware privacy leakage confinement for android applications without firmware modding[C]. Proceedings of the 9th ACM Symposium on Information, Computer and Communications Security. Kyoto, Japan, 2014: 259-270.
李 暉: 女,1970年生,副教授,碩士生導(dǎo)師,研究方向?yàn)槊艽a學(xué)及其應(yīng)用、移動(dòng)通信安全、智能終端安全.
王 斌: 男,1992年生,碩士生,研究方向?yàn)橹悄芙K端安全、移動(dòng)操作系統(tǒng)安全和軟件安全.
張 文: 男,1982年生,博士生,研究方向?yàn)橹悄芙K端安全、移動(dòng)操作系統(tǒng)安全和軟件安全.
湯 祺: 女,1991年生,碩士生,研究方向?yàn)橹悄芙K端安全、移動(dòng)操作系統(tǒng)安全和軟件安全.
張艷麗: 女,1990年生,碩士生,研究方向?yàn)橹悄芙K端安全、移動(dòng)操作系統(tǒng)安全和軟件安全.
X-Decaf : Detection of Cache File Leaks in Android Social Apps
LI Hui WANG Bin ZHANG Wen TANG Qi ZHANG Yanli
(,,100876,)
Since social applications involve various types of information related to the user privacy, events of privacy leakageoccur frequently along with their popular applications and few studies are available on the privacy leakage detection for social applications. With the combination of the characteristics of the Android system as well as the exploitation of the taint trackingtechnology and Xposed framework,a privacy leakage detection tool named X-Decaf (Xposed-based-detecting-cache-file) is proposed, which is oriented to social applications on Android platform. It suspects the leakage paths within the applications and detects the privacy data’s cache files.This paper also presents a suggestion for the evaluation of the privacy leakage. Evaluation results of 50 kinds of Android social applications show that many vulnerabilities of user privacy leakage exist in the social applications on Android platform.
Privacy leakage; Taint tracking; Cache file; Xposed; Android system
TP309
A
1009-5896(2017)01-0066-09
10.11999/JEIT160555
2016-05-28;改回日期:2016-10-12;
2016-12-14
王斌 wangbin_bupt@163.com
國(guó)家自然科學(xué)基金資助(61370195),中興通訊產(chǎn)學(xué)研項(xiàng)目
The National Natural Science Foundation of China (61370195), ZTE Corporation and University Joint Research Project