TaintDroid:智能手機(jī)監(jiān)控實(shí)時(shí)隱私信息流跟蹤系統(tǒng)(一)

1 .摘要

現(xiàn)今,智能手機(jī)操作系統(tǒng)不能有效的提供給用戶足夠的控制權(quán)并且很清楚的了解到第三方的應(yīng)用程序是如何使用其的隱私數(shù)據(jù)。我們使用了TaintDroid來(lái)闡明這個(gè)缺點(diǎn),其是一個(gè)高效的,全系統(tǒng)動(dòng)態(tài)污點(diǎn)跟蹤和分析系統(tǒng)可以同時(shí)跟蹤對(duì)個(gè)敏感數(shù)據(jù)來(lái)源。TaintDroid利用了Android虛擬機(jī)的執(zhí)行環(huán)境提供了一個(gè)實(shí)時(shí)的分析。TaintDroid僅需消耗綁定的CPU為基準(zhǔn)14%的性能開(kāi)銷(xiāo)對(duì)于第三方的應(yīng)用程序的開(kāi)銷(xiāo)完全可以忽略不計(jì)。通過(guò)使用TaintDroid監(jiān)控了Android第三方比較流行的30款軟件的行為,我們發(fā)現(xiàn)在其中的20款軟件中就有68個(gè)例子是誤用用戶隱私信息的。使用TaintDroid監(jiān)控敏感信息有助于手機(jī)用戶在使用第三方應(yīng)用時(shí)獲得很多的信息對(duì)于智能手機(jī)有價(jià)值的輸入對(duì)于安全公司也可以有效的尋找出有惡意行為的軟件。

為平陽(yáng)等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及平陽(yáng)網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為做網(wǎng)站、網(wǎng)站制作、平陽(yáng)網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

2.介紹

現(xiàn)代智能手機(jī)平臺(tái)的一個(gè)主要特征就是一個(gè)集中式的服務(wù)下載多數(shù)來(lái)自第三方應(yīng)用市場(chǎng)。這樣的一個(gè)“App stores”不僅方便了用戶和開(kāi)發(fā)者,而且已經(jīng)讓手機(jī)設(shè)備更加的有趣以及有用,因此使得智能手機(jī)平臺(tái)有了一個(gè)爆發(fā)式的增長(zhǎng)。蘋(píng)果的APP Store僅僅18個(gè)月就提供了將近3億的應(yīng)用程序。大多數(shù)的這些應(yīng)用程序混合數(shù)據(jù)時(shí)來(lái)自本地的傳感器像GPS接收器,照相機(jī),攝像頭和加速器然后上傳到云端。應(yīng)用程序通常都具有合法的原因來(lái)獲取用戶的隱私數(shù)據(jù),但是用戶往往希望自己的數(shù)據(jù)是被正確使用的。程序的開(kāi)發(fā)者中繼利用了上傳到云端的數(shù)據(jù)并且這些隱私數(shù)據(jù)是通過(guò)看似無(wú)辜的傳感器產(chǎn)生的比如說(shuō)加速計(jì)。

解決這種用戶體驗(yàn)樂(lè)趣和使用第三方的應(yīng)用軟件而帶來(lái)的隱私?jīng)_突在智能手機(jī)平臺(tái)是一個(gè)極大的挑戰(zhàn)。目前,手機(jī)的操作系統(tǒng)提供的僅僅是一個(gè)粗粒度的控制訪問(wèn)信息是否一個(gè)應(yīng)用程序可以訪問(wèn)用戶的隱私信息,但是沒(méi)有提供隱私數(shù)據(jù)是怎樣被使用的。例如,如果用戶允許應(yīng)用程序獲取到她的地理位置信息,但是她無(wú)法得知是否這個(gè)應(yīng)用程序?qū)?huì)送她的應(yīng)用程序到地理位置服務(wù)系統(tǒng),廣告商,應(yīng)用開(kāi)發(fā)者或者是其他的應(yīng)用實(shí)體。作為這個(gè)結(jié)果,用戶盲目的相信了應(yīng)用程序?qū)?huì)正確的使用他們的隱私數(shù)據(jù)。

這篇文章講了TaintDroid,是針對(duì)Android手機(jī)平臺(tái)的一個(gè)擴(kuò)展,通過(guò)第三方的應(yīng)用程序用于跟蹤敏感數(shù)據(jù)流。TaintDroid假設(shè)下載的第三方運(yùn)用程序是不被信任的,通過(guò)實(shí)時(shí)的檢測(cè)這些應(yīng)用程序是怎樣獲取和控制用戶的隱私數(shù)據(jù)的。我們的首要目標(biāo)是檢測(cè)當(dāng)敏感數(shù)據(jù)通過(guò)不信任程序離開(kāi)我們的系統(tǒng)時(shí)通過(guò)手機(jī)用戶或者是外部安全服務(wù)來(lái)促進(jìn)對(duì)應(yīng)用程序的分析。

分析應(yīng)用程序行為要求有足夠的上下文信息關(guān)于數(shù)據(jù)將要離開(kāi)一個(gè)設(shè)備以及數(shù)據(jù)將會(huì)被送往哪里。因此,TaintDroid自動(dòng)標(biāo)記數(shù)據(jù)的來(lái)源從隱私敏感來(lái)源以及物地應(yīng)用標(biāo)簽作為敏感數(shù)據(jù)傳播通過(guò)程序的變量,文件,進(jìn)程間的消息。當(dāng)污點(diǎn)數(shù)據(jù)通過(guò)網(wǎng)絡(luò)傳播或者是其他的途徑離開(kāi)了系統(tǒng),TaintDroid將會(huì)對(duì)這個(gè)數(shù)據(jù)進(jìn)行標(biāo)簽,應(yīng)用程序負(fù)責(zé)傳送數(shù)據(jù)和數(shù)據(jù)的目的地。這樣的實(shí)時(shí)反饋給用戶還有安全服務(wù)商更深入的了解到移動(dòng)的運(yùn)用程序在做什么,有可能識(shí)別出行為不端的應(yīng)用程序。

對(duì)于實(shí)用性來(lái)說(shuō),TaintDroid的性能開(kāi)銷(xiāo)必須要最小。相比于現(xiàn)在的重量級(jí)的全系統(tǒng)仿真,我們利用了Android的虛擬化架構(gòu)整合了四個(gè)粒度級(jí)的污點(diǎn)傳播:變量級(jí),方法級(jí),信息級(jí)和文件級(jí)。盡管現(xiàn)有的技術(shù)都不是新的,我們的貢獻(xiàn)在于合并了這些技術(shù)并且找到了一個(gè)由于智能手機(jī)對(duì)資源約束在性能和精度之間的平衡點(diǎn)。實(shí)驗(yàn)表明我們的原型系統(tǒng)顯示跟蹤而引起的CPU的運(yùn)行時(shí)候的開(kāi)銷(xiāo)通過(guò)微基準(zhǔn)測(cè)試還不到14%。更為重要的就是,被檢測(cè)的第三方軟件可以被監(jiān)控并且產(chǎn)生很少的感知延遲。

為了評(píng)估TaintDroid的準(zhǔn)確性,我們使用了30款隨機(jī)選取的運(yùn)用程序,這些流行的Android運(yùn)用程序會(huì)涉及到使用定位用戶的地理位置信息,使用攝像頭,錄音數(shù)據(jù)等等。TaintDroid正確的標(biāo)記了這些應(yīng)用程序中的105例這樣的應(yīng)用程序傳輸污染路徑;在這105例中我們檢測(cè)到其中的37例是合法的。TaintDroid同樣顯示了在這30款軟件中的15例提供了用戶的地理位置信息給遠(yuǎn)程的廣告服務(wù)商。其中的7款軟件收集了手機(jī)的相關(guān)信息的ID,例如手機(jī)的號(hào)碼和SIM卡號(hào)??偟膩?lái)說(shuō),在我們研究的三分之二的應(yīng)用程序中都有涉及到使用敏感數(shù)據(jù)的可以行為。我們的發(fā)現(xiàn)揭示了TaintDroid能夠幫助解決可能存在威脅的第三方應(yīng)用程序的敏感行為。

類(lèi)似于信息流跟蹤系統(tǒng),TaintDroid的一個(gè)基本限制可以通過(guò)隱式流繞過(guò)泄露。通過(guò)隱式流避免了污點(diǎn)檢測(cè),就這種行為而言,就可以作為惡意軟件的一項(xiàng)指標(biāo),并且可以通過(guò)其他的技術(shù)例如自動(dòng)化的靜態(tài)代碼分析,這一技術(shù)我們將在第8章中討論。

剩余文章的組織如下:第二部分提供更高層次的對(duì)TaintDroid的介紹,第三部分會(huì)對(duì)Android平臺(tái)的背景做一個(gè)介紹,第四部分將會(huì)介紹TaintDroid的設(shè)計(jì),第五部分描述了TaintDroid對(duì)污染源的追蹤,第六部分描述了對(duì)Android應(yīng)用程序的研究,第7部分描述了我們?cè)拖到y(tǒng)的性能特征,第八部分描述了我們方法的局限性,第9部分介紹了相關(guān)工作,第十部分進(jìn)行相關(guān)的總結(jié)。

3. 方法概述

我們?cè)噲D尋找一個(gè)框架允許用戶監(jiān)控第三方智能手機(jī)應(yīng)用程序讓他們實(shí)時(shí)處理他們的隱私數(shù)據(jù)。許多的智能手機(jī)都是閉源的,因此,靜態(tài)代碼分析是不可能的。即使源代碼是可用的,運(yùn)行時(shí)事件和配置常常規(guī)定了信息使用;實(shí)時(shí)監(jiān)控在特殊的環(huán)境了占了很重要的比重。

對(duì)于網(wǎng)絡(luò)的監(jiān)控披露隱私敏感信息存在以下幾個(gè)挑戰(zhàn):

l智能手機(jī)的資源是受限的。由于資源的限制阻礙了像Panorama這樣重量級(jí)信息跟蹤系統(tǒng)。

l第三方應(yīng)用程序委托了幾種類(lèi)型的隱私數(shù)據(jù)信息。這個(gè)監(jiān)控系統(tǒng)必須區(qū)分各種各樣的信息,這就產(chǎn)生了額外的計(jì)算和存儲(chǔ)。

l基于上下文的敏感信息是動(dòng)態(tài)的,難以識(shí)別甚至是當(dāng)發(fā)送的時(shí)候才會(huì)清晰。例如,地理位置是一系列的浮點(diǎn)數(shù)可以很頻繁的改變并且很難預(yù)測(cè)。

l應(yīng)用程序可以分享信息。如果將監(jiān)控系統(tǒng)限制在單獨(dú)的APP里面的話不能夠很好的檢測(cè)文件之間的信息流和應(yīng)用程序之間的進(jìn)程通信,包括核心系統(tǒng)的設(shè)計(jì)到敏感信息的傳遞。

我們使用動(dòng)態(tài)的污點(diǎn)分析來(lái)監(jiān)控智能手機(jī)里的敏感隱私信息。敏感信息是首先用來(lái)標(biāo)記污點(diǎn)來(lái)源的,一個(gè)污點(diǎn)標(biāo)示指示信息是被分配好的。動(dòng)態(tài)污點(diǎn)分析標(biāo)記數(shù)據(jù)標(biāo)簽是怎樣影響其他數(shù)據(jù)的可能方式是原始的敏感信息泄露。這種追蹤方式常常是在指令執(zhí)行水平上的。最后,受影響的數(shù)據(jù)將會(huì)被標(biāo)示在他離開(kāi)系統(tǒng)之前存放到污點(diǎn)池(常常是網(wǎng)絡(luò)接口)中。

存在的污點(diǎn)跟蹤方法通常有幾個(gè)限制。首先也是最重要的,方法依靠指令級(jí)的動(dòng)態(tài)污點(diǎn)分析來(lái)做整個(gè)系統(tǒng)的仿真將會(huì)產(chǎn)生很高的性能消耗。指令級(jí)的檢測(cè)將會(huì)是產(chǎn)生2-20倍的性能消耗,除此之外也會(huì)招致仿真的性能消耗,因此指令級(jí)的動(dòng)態(tài)分析并不適合實(shí)時(shí)的動(dòng)態(tài)分析。第二,發(fā)展中的精確污點(diǎn)傳播邏輯已經(jīng)證明對(duì)于X86的指令級(jí)是一個(gè)很大的挑戰(zhàn)。指令級(jí)的污點(diǎn)檢測(cè)可能導(dǎo)致污點(diǎn)爆發(fā)如果出現(xiàn)堆棧指針錯(cuò)誤或者是污點(diǎn)丟失例如像CMPXCHG,REF MOV這樣復(fù)雜的指令。然而大多數(shù)的智能手機(jī)都是使用ARM指令集,類(lèi)似很多假陽(yáng)性和假陰極的現(xiàn)象都可能出現(xiàn)。

表一呈現(xiàn)出了我們污點(diǎn)跟蹤智能手機(jī)的方法。我們利用智能手機(jī)的體系架構(gòu)來(lái)提升架構(gòu)(e.g.,安卓,黑莓,J2ME架構(gòu)的手機(jī)),系統(tǒng)范圍的污染使用語(yǔ)義明確細(xì)粒度跟蹤標(biāo)簽。

TaintDroid:智能手機(jī)監(jiān)控實(shí)時(shí)隱私信息流跟蹤系統(tǒng)(一)

圖2 TaintDroid的體系結(jié)構(gòu)

        Android包含了兩種類(lèi)型的原生方法:內(nèi)部虛擬機(jī)方法和JNI方法。內(nèi)部虛擬機(jī)方法用于訪問(wèn)內(nèi)部特殊的結(jié)構(gòu)和APIs。JNI方法符合Java本地接口標(biāo)準(zhǔn)規(guī)范,這要求Dalvik對(duì)單獨(dú)的java參數(shù)傳進(jìn)的變量使用JNI調(diào)用橋。相反的,內(nèi)部的VM方法必須手動(dòng)的解析從解釋出的字節(jié)碼數(shù)組參數(shù)。內(nèi)部虛擬機(jī)的方法必須手動(dòng)解析參數(shù)從解釋器傳來(lái)的字節(jié)數(shù)組的參數(shù)。

Binder IPC:所有的Android IPC都需要使用Binder 機(jī)制來(lái)進(jìn)行通信。Binder是一個(gè)基于組件的進(jìn)程并且IPC框架設(shè)計(jì)是為了BeOS,Palm Inc 進(jìn)行擴(kuò)展,Google為Android量身定制的。Binder的基礎(chǔ)是基于包的,是活躍并且標(biāo)準(zhǔn)數(shù)據(jù)的序列化,允許應(yīng)用程序框架層在進(jìn)程之間管理分享對(duì)象。Binder 的內(nèi)核模塊在進(jìn)程之間傳遞包的信息。

當(dāng)前名稱(chēng):TaintDroid:智能手機(jī)監(jiān)控實(shí)時(shí)隱私信息流跟蹤系統(tǒng)(一)
分享地址:http://muchs.cn/article26/pgohjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序企業(yè)網(wǎng)站制作、網(wǎng)站改版云服務(wù)器、企業(yè)建站、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)