• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于行為的Android重打包應(yīng)用檢測(cè)方案

      2016-09-08 10:32:09桓自強(qiáng)胡琳琳郭志川
      關(guān)鍵詞:調(diào)用云端閾值

      桓自強(qiáng) 倪 宏 胡琳琳 郭志川

      1(中國(guó)科學(xué)院聲學(xué)研究所國(guó)家網(wǎng)絡(luò)新媒體工程技術(shù)研究中心 北京 100190)2(中國(guó)科學(xué)院大學(xué) 北京 100049)

      ?

      一種基于行為的Android重打包應(yīng)用檢測(cè)方案

      桓自強(qiáng)1,2倪宏1胡琳琳1郭志川1

      1(中國(guó)科學(xué)院聲學(xué)研究所國(guó)家網(wǎng)絡(luò)新媒體工程技術(shù)研究中心北京 100190)2(中國(guó)科學(xué)院大學(xué)北京 100049)

      重打包類型的惡意應(yīng)用是通過(guò)將惡意代碼注入正常應(yīng)用來(lái)生成的,在Android平臺(tái)已發(fā)現(xiàn)的惡意應(yīng)用中占了很大的比例。針對(duì)此類惡意應(yīng)用,提出一種基于行為的惡意應(yīng)用檢測(cè)方案。方案采用云端協(xié)作的軟件架構(gòu),在云端對(duì)正常應(yīng)用進(jìn)行基于系統(tǒng)短序列的行為模式分析,從而形成正常行為模式庫(kù);在終端,從云端下載系統(tǒng)已安裝應(yīng)用的正常行為模式庫(kù),監(jiān)測(cè)已安裝應(yīng)用的系統(tǒng)調(diào)用序列,并計(jì)算其異常率。實(shí)驗(yàn)結(jié)果表明,該方法是有效的,可以準(zhǔn)確地識(shí)別出重打包的惡意應(yīng)用。

      重打包應(yīng)用Android安全系統(tǒng)調(diào)用短序列云端協(xié)作

      0 引 言

      Android作為Google公司開(kāi)發(fā)的移動(dòng)操作系統(tǒng),以其開(kāi)放性和易用性的特點(diǎn),擁有大量的用戶和應(yīng)用開(kāi)發(fā)者。根據(jù)IDC的統(tǒng)計(jì)數(shù)據(jù),截止2014年第二季度,Android市場(chǎng)占有率已達(dá)84.7%,同比增長(zhǎng)33.3%[1]。 Android繼承了其Linux內(nèi)核提供的訪問(wèn)控制,同時(shí)提供了簽名機(jī)制、權(quán)限機(jī)制和沙箱機(jī)制等框架層安全機(jī)制。但也存在惡意使用應(yīng)用被授予的權(quán)限、內(nèi)核和動(dòng)態(tài)庫(kù)的漏洞、私有信息泄露、惡意消耗資源等威脅[2]。Google公司提供了官方的應(yīng)用商城,但國(guó)內(nèi)存在大量的第三方的應(yīng)用商城,而其中大量的應(yīng)用存在用戶隱私泄露問(wèn)題[3]。眾多的Android惡意軟件中,重打包類型的應(yīng)用占有非常高的比例,因?yàn)閷阂獯a注入熱門應(yīng)用,容易實(shí)現(xiàn)惡意代碼的廣泛傳播[4]。Android平臺(tái)的重打包應(yīng)用,是指將惡意代碼的class文件注入正常應(yīng)用中,并重新打包生成新的apk文件,其中的惡意代碼一般通過(guò)監(jiān)聽(tīng)系統(tǒng)事件而自行啟動(dòng)。隨著移動(dòng)互聯(lián)網(wǎng)的進(jìn)一步普及,手機(jī)作為移動(dòng)互聯(lián)網(wǎng)的入口,在諸如移動(dòng)社交、移動(dòng)購(gòu)物、移動(dòng)支付等涉及個(gè)人隱私和賬戶安全的領(lǐng)域扮演著重要角色,安全問(wèn)題不容忽視。

      1 相關(guān)研究

      Zhou等人在1260個(gè)惡意應(yīng)用樣本中,發(fā)現(xiàn)86%的樣本都是重打包應(yīng)用[4]。進(jìn)一步地,Zhou等人對(duì)第三方應(yīng)用市場(chǎng)與官方市場(chǎng)的相同應(yīng)用進(jìn)行代碼指令和作者信息的提取,通過(guò)模糊哈希算法進(jìn)行相似性檢測(cè),從而發(fā)現(xiàn)第三方市場(chǎng)重打包應(yīng)用[5]。但是信息的抽取和模糊哈希都比較耗時(shí),適合離線處理,并不適用于移動(dòng)設(shè)備的實(shí)時(shí)處理。Enck等人以Android權(quán)限組合為基礎(chǔ)定義安全語(yǔ)義規(guī)則,提出了Kirin安全服務(wù)供應(yīng)用安裝時(shí)檢測(cè)[6];Tang等人提出基于安全距離的權(quán)限認(rèn)證方案ASESD,認(rèn)為Android應(yīng)用的安全性體現(xiàn)在權(quán)限之間的關(guān)系及權(quán)限組合上[7];楊歡等通過(guò)得到極大頻繁權(quán)限項(xiàng)集來(lái)挖掘相關(guān)規(guī)則[8]。Android權(quán)限機(jī)制是粗粒度的能力控制,同時(shí)現(xiàn)在主流的應(yīng)用功能做的非常復(fù)雜,通常會(huì)申請(qǐng)非常多的權(quán)限。所以,注入惡意代碼的重打包應(yīng)用,有可能并沒(méi)有增加新的權(quán)限需求。Burguera等人提出Crowdroid方案,通過(guò)監(jiān)測(cè)應(yīng)用在底層Linux系統(tǒng)調(diào)用次數(shù),并用K-means來(lái)對(duì)正常應(yīng)用和重打包應(yīng)用進(jìn)行分類[9]。但對(duì)于一個(gè)新應(yīng)用來(lái)說(shuō),最初并沒(méi)有重打包版本來(lái)供分類訓(xùn)練。Shabtai等人利用多種機(jī)器學(xué)習(xí)算法來(lái)對(duì)系統(tǒng)的性能、用戶操作等組成的特征進(jìn)行分類,但是以整個(gè)系統(tǒng)作為研究對(duì)象,并不符合隨時(shí)有應(yīng)用安裝或卸載的移動(dòng)設(shè)備[10]。Wu等人提出Droidmat方案,通過(guò)提取權(quán)限和API調(diào)用等信息進(jìn)行惡意應(yīng)用的靜態(tài)分析[11],但是特征的抽取及實(shí)現(xiàn)非常復(fù)雜。同時(shí),Android應(yīng)用可以使用Java語(yǔ)言開(kāi)發(fā),也能包含C/C++語(yǔ)言生成的動(dòng)態(tài)庫(kù),從而導(dǎo)致API調(diào)用信息不夠全面。雷靈光等利用時(shí)序邏輯描述語(yǔ)言TLCK定義關(guān)鍵資源的安全行為模式,同時(shí)在Dalvik虛擬機(jī)中添加監(jiān)視代碼,實(shí)現(xiàn)惡意應(yīng)用的檢測(cè)[12]。這種方法將惡意行為歸結(jié)為序列行為的思路是非常好的,但無(wú)法在Dalvik中對(duì)使用JNI技術(shù)調(diào)用本地代碼的行為進(jìn)行監(jiān)控。

      Android平臺(tái)目前應(yīng)用最廣泛的是智能手機(jī),而手機(jī)資源(包括處理能力和電量等)的有限性,決定了手機(jī)平臺(tái)的安全方案需要考慮云端協(xié)作的方式,如Crowdroid方案[9]。但是Crowdroid方案執(zhí)行檢測(cè)時(shí)需要實(shí)時(shí)有網(wǎng)絡(luò)連接,而大多數(shù)人的手機(jī)并不總是都處于聯(lián)網(wǎng)狀態(tài)。所以,對(duì)于重打包應(yīng)用的檢測(cè),需要一種符合用戶習(xí)慣的云端協(xié)作方案。

      2 云端協(xié)作的方案設(shè)計(jì)

      基于對(duì)現(xiàn)有研究不足的分析,本文提出了一種云端協(xié)作的方案,將復(fù)雜的運(yùn)算放在云端進(jìn)行,在終端利用云端的模式庫(kù)來(lái)進(jìn)行安全檢測(cè)。在對(duì)正常應(yīng)用和重打包惡意應(yīng)用的區(qū)分上面,采用了系統(tǒng)調(diào)用短序列的方案。云端的應(yīng)用的正常行為的模式庫(kù)只對(duì)正常應(yīng)用有依賴,避免了Crowdroid方案中新應(yīng)用無(wú)重打包版本的弊端。系統(tǒng)調(diào)用短序列的有效性在文獻(xiàn)[13]中對(duì)傳統(tǒng)Unix系統(tǒng)的入侵檢測(cè)中有過(guò)成功應(yīng)用,同樣文獻(xiàn)[12]的時(shí)序邏輯描述方案在本質(zhì)上也是對(duì)“短序列”可以作為應(yīng)用行為代表的一個(gè)佐證。

      如圖1所示,Android系統(tǒng)基于Linux內(nèi)核,其上是C++組件庫(kù)和Java框架層,Android運(yùn)行時(shí)環(huán)境主要包含Dalvik虛擬機(jī)和其核心庫(kù),系統(tǒng)對(duì)上提供Java開(kāi)發(fā)方式和NDK開(kāi)發(fā)(利用C/C++語(yǔ)言)方式。所以,在Android平臺(tái),無(wú)論采用Java開(kāi)發(fā)還是NDK開(kāi)發(fā),涉及到系統(tǒng)功能如連接網(wǎng)絡(luò)、讀寫文件、進(jìn)程控制、內(nèi)存管理和用戶管理等,底層最終都會(huì)進(jìn)行Linux系統(tǒng)編程接口的調(diào)用。基于對(duì)系統(tǒng)調(diào)用序列的分析,尤其是短序列反映應(yīng)用行為的分析,提出了如圖2所示的云端協(xié)作的安全架構(gòu)。

      圖1 Android系統(tǒng)架構(gòu)圖

      圖2 云端協(xié)作的安全架構(gòu)

      安全架構(gòu)分為云端和終端兩部分,在云端的主要步驟是:

      (1) 從Google官方應(yīng)用市場(chǎng),或應(yīng)用官方網(wǎng)站下載正常的應(yīng)用,分發(fā)給眾多測(cè)試用戶在不同設(shè)備使用,系統(tǒng)調(diào)用序列收集器進(jìn)行記錄并上傳用戶使用過(guò)程產(chǎn)生的系統(tǒng)調(diào)用記錄;

      (2) 對(duì)收集到的正常應(yīng)用的海量使用序列進(jìn)行基于短序列行為的分析,生成這個(gè)應(yīng)用的正常行為模式庫(kù)。

      在終端的主要步驟是:

      (1) 終端運(yùn)行安全服務(wù),以Android服務(wù)的形式存在;服務(wù)在第一次啟動(dòng)時(shí)獲取系統(tǒng)已安裝的應(yīng)用,并從云端更新“正常行為模式庫(kù)”;當(dāng)有新應(yīng)用安裝或舊應(yīng)用卸載時(shí),安全服務(wù)也會(huì)下載或刪除其對(duì)應(yīng)的正常行為模式庫(kù)。

      (2) 系統(tǒng)調(diào)用序列收集器,首先通過(guò)ActivityManager類的getRunningAppProcesses方法獲取Android系統(tǒng)正在運(yùn)行的進(jìn)程信息,包括進(jìn)程號(hào)PID、進(jìn)程名NAME和應(yīng)用包名pkg等;然后對(duì)未標(biāo)記為安全的應(yīng)用的進(jìn)程進(jìn)行序列采樣;Linux系統(tǒng)的程序strace可以跟蹤進(jìn)程的系統(tǒng)調(diào)用,比如要跟蹤進(jìn)程PID是1000的進(jìn)程的系統(tǒng)調(diào)用,可以使用strace-p 1000,在Android系統(tǒng)執(zhí)行可以使用Runtime.getRuntime().exec(“strace-p 1000”)。

      (3) 行為分析器,對(duì)收集到的應(yīng)用一段時(shí)間內(nèi)的系統(tǒng)調(diào)用序列,進(jìn)行短序列提取(見(jiàn)3.1節(jié)),然后基于正常行為模式庫(kù)計(jì)算異常率(見(jiàn)3.2節(jié))。

      (4) 根據(jù)行為分析器得到的異常率,由管理進(jìn)程仲裁是否超過(guò)閾值,如果被認(rèn)定為惡意重打包應(yīng)用,則通過(guò)惡意應(yīng)用提示器對(duì)用戶進(jìn)行有效的提示;經(jīng)多次檢測(cè)均為正常的應(yīng)用被管理進(jìn)程標(biāo)記為安全。

      相比于現(xiàn)有的Android安全檢測(cè)方案[14],本方案中云端協(xié)作的技術(shù)特點(diǎn)是:利用了云端豐富的存儲(chǔ)計(jì)算能力,在云端訓(xùn)練正常行為模式庫(kù);同時(shí)也考慮到手機(jī)并不是時(shí)刻聯(lián)網(wǎng)的現(xiàn)狀,在用戶聯(lián)網(wǎng)時(shí)將手機(jī)上安裝應(yīng)用對(duì)應(yīng)的行為模式庫(kù)下載到手機(jī)。

      3 基于系統(tǒng)調(diào)用行為的算法設(shè)計(jì)

      3.1正常行為模式庫(kù)

      對(duì)于正常的應(yīng)用,在云端收集多個(gè)用戶的長(zhǎng)時(shí)間操作生成的系統(tǒng)調(diào)用序列Γ={c1,c2,…,cn}。其中ci(1≤i≤n )表示一個(gè)Linux系統(tǒng)調(diào)用,短序列長(zhǎng)度為k,則序列Γ生成行為模式庫(kù)的方法是:1)分別以ci(1≤i≤n-k+1)開(kāi)始,截取k個(gè)系統(tǒng)調(diào)用,構(gòu)成短序列集合;2)對(duì)1)中生成的短序列集合進(jìn)行去除重復(fù)的操作。下面以包含7個(gè)系統(tǒng)調(diào)用的序列為例進(jìn)行行為模式庫(kù)的生成:

      (1) clock_gettime(2) ioctl(3) clock_gettime(4) ioctl

      (5) clock_gettime(6) getpid(7) getuid32

      選定短序列的長(zhǎng)度為k=3,則生成的行為模式庫(kù)如圖3所示。

      圖3 短序列行為模式庫(kù)示例

      7個(gè)系統(tǒng)調(diào)用,以序列長(zhǎng)度為3,去除重復(fù)序列后可以生成4個(gè)短序列。在實(shí)際的應(yīng)用中,至少需要生成數(shù)以千萬(wàn)條系統(tǒng)調(diào)用序列來(lái)提取短序列。Linux內(nèi)核(版本大于2.6)的系統(tǒng)調(diào)用有超過(guò)250個(gè),如果短序列的長(zhǎng)度為k,則短序列的可能個(gè)數(shù)為250k,系統(tǒng)調(diào)用函數(shù)的平均長(zhǎng)度為len。那么一個(gè)短序列的平均長(zhǎng)度為k×len,存儲(chǔ)的空間復(fù)雜度最大是O(250k×len×k)。所以可以采用哈希映射和字典樹(shù)組合的數(shù)據(jù)結(jié)構(gòu)來(lái)對(duì)存儲(chǔ)和時(shí)間空間進(jìn)行優(yōu)化。

      (1) 哈希映射

      圖4 哈希映射后的知識(shí)庫(kù)示例

      一個(gè)Linux系統(tǒng)調(diào)用函數(shù)一般由幾個(gè)字符組成,如clock_gettime占13個(gè)字節(jié),ioctl占5個(gè)字節(jié)。同時(shí)對(duì)于Linux系統(tǒng)調(diào)用函數(shù)來(lái)說(shuō),在內(nèi)核的unistd.h頭文件中,對(duì)應(yīng)著一個(gè)整數(shù)數(shù)值的系統(tǒng)調(diào)用號(hào),以ARM架構(gòu)對(duì)應(yīng)的unistd.h為例,clock_gettime對(duì)應(yīng)263,ioctl對(duì)應(yīng)54。為了節(jié)省存儲(chǔ)空間,我們可以使用hash map的結(jié)構(gòu),鍵為字符串string類型,值為short類型,這樣在調(diào)用序列中可以直接用2個(gè)字節(jié)的short數(shù)值來(lái)表示系統(tǒng)調(diào)用函數(shù)。那么圖3的短序列就轉(zhuǎn)換為圖4所示。

      (2) 字典樹(shù)

      字典樹(shù)又稱為前綴樹(shù),是一種快速檢索的多叉樹(shù)結(jié)構(gòu),標(biāo)準(zhǔn)的字典樹(shù)節(jié)點(diǎn)存儲(chǔ)的是字符。我們這里存儲(chǔ)的是short類型的整數(shù)值,用字典樹(shù)表示圖4的短序列知識(shí)庫(kù)如圖5所示。

      圖5 知識(shí)庫(kù)的字典樹(shù)結(jié)構(gòu)

      因?yàn)橄到y(tǒng)調(diào)用數(shù)是有限的(最新的Linux 3.18.1內(nèi)核有300多個(gè)),所以在實(shí)際數(shù)據(jù)的海量序列中,同一個(gè)節(jié)點(diǎn)將多次被重用,空間復(fù)雜度會(huì)大幅度降低。而對(duì)于查詢復(fù)雜度 ,因?yàn)閗為序列長(zhǎng)度是一個(gè)常數(shù),所以查詢復(fù)雜度為O(1)。

      3.2異常行為檢測(cè)

      正常應(yīng)用的行為模式庫(kù)N={n1,n2,…,nt}包含t個(gè)短序列nj(1≤j≤t),nj={c1,c2,…,ck}是維度為k的向量。行為模式庫(kù)N的生成及存儲(chǔ)方式見(jiàn)3.1節(jié)介紹。終端以行為模式庫(kù)為基礎(chǔ),在一定時(shí)間內(nèi)收集到的短序列模式為M={m1,m2,…,ms},mi={d1,d2,…,dk}也是維度為k的向量。對(duì)于k維度向量mi和nj相似性度量,傳統(tǒng)的相似性度量采用余弦相似度,但是此處的向量各維度屬性的數(shù)值代表的是系統(tǒng)調(diào)用號(hào),而不是數(shù)量,所以采用余弦相似性不合適。漢明距離可以用來(lái)表示兩個(gè)序列不同字符的個(gè)數(shù),所以基于漢明距離,給出兩個(gè)短序列相似性的度量定義。

      定義1對(duì)于兩個(gè)k維度的短序列:mi={d1,d2,…,dk},nj={c1,c2,…,ck},其相似度由式(1)表示:

      (1)

      定義2對(duì)于短序列mi={d1,d2,…,dk},短序列集合N={n1,n2,…,nt},其相似度如式(2):

      (2)

      即短序列相對(duì)于短序列集合的相似度,是其與集合中每個(gè)元素相似度的最大值。為了給出短序列異常度的定義,我們定義符號(hào)函數(shù)如下:

      (3)

      定義3集合N={n1,n2,…,nt}為給定某一應(yīng)用的正常的行為模式庫(kù),短序列mi={d1,d2,…,dk}相對(duì)于行為模式庫(kù)的異常度是TSgn(sim(mi,N),C)。

      根據(jù)定義3可知,當(dāng)短序列mi的相似度小于閾值C時(shí),被認(rèn)為是異常的,異常度為1;反之,被認(rèn)為是正常的,異常度為0,閾值C可以用來(lái)調(diào)節(jié)檢測(cè)的嚴(yán)格程度。進(jìn)一步地,基于單個(gè)短序列的異常度,給出序列集合的異常率的定義:

      定義4給定某個(gè)應(yīng)用的正常行為模式庫(kù)N={n1,n2,…,nt},當(dāng)一段時(shí)間內(nèi),終端設(shè)備收集到應(yīng)用的短序列集合為M={m1,m2,…,ms},則集合M相對(duì)N的異常率為:

      (4)

      如式(4)所示,短序列集合M相對(duì)于正常行為行為模式庫(kù)的異常概率,由集合M中異常的序列所占的比例所決定。參數(shù)C為單個(gè)序列異常度的閾值,可以用來(lái)設(shè)置檢測(cè)的嚴(yán)格程度,極度嚴(yán)格的情況下(C=1),此時(shí)任何與知識(shí)庫(kù)相似度不為1的序列都被認(rèn)為是異常的。閾值C的選取則取決于正常應(yīng)用的行為模式庫(kù)N的訓(xùn)練是否充分。

      4 實(shí)驗(yàn)與分析

      為了說(shuō)明本文所提方案的通用性,實(shí)驗(yàn)分為兩部分:首先對(duì)自己編寫的重打包版本的應(yīng)用進(jìn)行檢測(cè),然后對(duì)已有的真實(shí)重打包應(yīng)用進(jìn)行檢測(cè)。

      4.1對(duì)自己編寫的應(yīng)用的檢測(cè)

      以計(jì)算器應(yīng)用為例,計(jì)算器應(yīng)用包含四則運(yùn)算和三角函數(shù)運(yùn)算等功能。計(jì)算器應(yīng)用的重打包版本,則注入讀取通訊錄并發(fā)送到遠(yuǎn)程服務(wù)器的惡意代碼。

      (1) 生成應(yīng)用的正常行為模式庫(kù)

      如3.1節(jié)所述,選取五個(gè)用戶分別安裝正常的計(jì)算器應(yīng)用,正常使用15天,共生成約1000萬(wàn)條系統(tǒng)調(diào)用序列。由系統(tǒng)調(diào)用序列生成短序列組成的正常行為模式庫(kù)的過(guò)程,關(guān)鍵因素是短序列長(zhǎng)度k的選取。太小的k不足以體現(xiàn)用戶行為序列特征,而太大的k值又使得短序列行為模式庫(kù)占用太多的存儲(chǔ)空間。文獻(xiàn)[13]的實(shí)驗(yàn)說(shuō)明短序列長(zhǎng)度不小于6時(shí)都可以生成有效的行為模式庫(kù)。此處選取k=6,7,8,9,10,11,12進(jìn)行實(shí)驗(yàn),圖6為不同值時(shí)生成的行為模式庫(kù)所含的短序列條數(shù)。

      圖6 不同序列長(zhǎng)度對(duì)應(yīng)的模式庫(kù)大小

      從圖中可以看出,隨著序列長(zhǎng)度k的增加,生成的行為模式庫(kù)的大小增長(zhǎng)非常明顯??紤]到存儲(chǔ)空間與計(jì)算速度的問(wèn)題,選取k=6時(shí)生成的行為模式庫(kù)為例,進(jìn)行重打包應(yīng)用檢測(cè)。

      (2) 重打包應(yīng)用檢測(cè)

      選取5個(gè)用戶,安裝重打包版本的計(jì)算器應(yīng)用,每個(gè)用戶分別收集40 000條左右的系統(tǒng)調(diào)用序列,以4.1節(jié)生成的模式庫(kù)為基礎(chǔ),根據(jù)3.2節(jié)的異常行為檢測(cè)方法,計(jì)算異常率。作為對(duì)比,5個(gè)用戶卸載重打包版本的應(yīng)用,然后安裝正常版本的計(jì)算器應(yīng)用,按照同樣的方式計(jì)算異常率。式(4)中參數(shù)C作為異常度的閾值,其取值影響到檢測(cè)的嚴(yán)格程度。在極度嚴(yán)格情況下(C=1),用戶分別安裝正常版本應(yīng)用和重打包版本應(yīng)用時(shí)檢測(cè)到的異常率,如表1所示。

      表1 閾值C=1時(shí)異常率對(duì)比

      由表1可以看出,在閾值C=1時(shí),5個(gè)用戶安裝正常應(yīng)用,檢測(cè)到的異常率的最大值為0.000230,而5個(gè)用戶安裝重打包版本的應(yīng)用,檢測(cè)到的異常率的最小值即為0.005232。重打包版本的異常率的最小值依然比正常版本的異常率高了一個(gè)數(shù)量級(jí),所以正常應(yīng)用和重打包應(yīng)用可以正常地區(qū)分。同時(shí),正常行為模式庫(kù)的生成,是眾多測(cè)試用戶長(zhǎng)時(shí)間使用正常應(yīng)用生成的,當(dāng)訓(xùn)練時(shí)間短、數(shù)據(jù)不足夠多時(shí),可以調(diào)整異常度閾值C。當(dāng)C=0.8時(shí),5個(gè)用戶分別安裝正常應(yīng)用和重打包版本的應(yīng)用,所檢測(cè)到的應(yīng)用的異常率對(duì)比如表2所示。

      表2 閾值C=0.8時(shí)異常率對(duì)比

      在調(diào)整閾值C為0.8后,式(4)在計(jì)算異常概率時(shí),會(huì)降低檢測(cè)的嚴(yán)格程度。正如表2所示,正常應(yīng)用的異常率都變?yōu)榱?,重打包版本的應(yīng)用的異常率雖然也隨之降低,但5個(gè)用戶異常率的最小值依然為0.000356。正常應(yīng)用和重打包版本可以依據(jù)異常率的分布區(qū)間不同,而非常容易地進(jìn)行區(qū)分。綜合表1和表2,可以看出本文提出的方案可以有效地對(duì)重打包應(yīng)用進(jìn)行檢測(cè),而閾值C的選擇與正常行為模式庫(kù)的訓(xùn)練是否充分有關(guān),合適的C值使得重打包應(yīng)用更容易區(qū)分。

      4.2對(duì)已有的真實(shí)重打包應(yīng)用的檢測(cè)

      對(duì)已經(jīng)存在的真實(shí)的重打包應(yīng)用進(jìn)行檢測(cè),以“動(dòng)態(tài)腳印壁紙”應(yīng)用為例,在官方網(wǎng)站下載該應(yīng)用的正常版本,同時(shí)在“Contagio mobile”網(wǎng)站[15]下載真實(shí)的重打包版本。該重打包版本對(duì)原始應(yīng)用注入了PJApps病毒,會(huì)自動(dòng)與后臺(tái)聯(lián)網(wǎng)并泄露用戶隱私和惡意消耗用戶資費(fèi)等。根據(jù)4.1節(jié)對(duì)自己編寫的重打包版本應(yīng)用的檢測(cè)方法,對(duì)“動(dòng)態(tài)腳印壁紙”的正常版本和重打包版本進(jìn)行檢測(cè),在閾值C=0.8時(shí)所檢測(cè)到的異常率對(duì)比如表3所示。

      表3 閾值C=0.8時(shí)異常率對(duì)比

      由表3可以看出,根據(jù)異常率的不同,該應(yīng)用的正常版本和重打包版本也很容易進(jìn)行區(qū)分,說(shuō)明了本文的方案對(duì)真實(shí)的重打包版本應(yīng)用也是有效的。

      4.3性能分析

      考慮本文提出的方案對(duì)手機(jī)終端性能的影響,正常行為模式庫(kù)的生成是在云端的服務(wù)器上面進(jìn)行的,對(duì)手機(jī)等終端設(shè)備的性能是沒(méi)有影響的。而在手機(jī)端進(jìn)行的重打包應(yīng)用檢測(cè),則需要對(duì)其進(jìn)行性能分析。通過(guò)對(duì)真實(shí)用戶使用安全服務(wù)程序時(shí)的監(jiān)測(cè)和統(tǒng)計(jì),性能指標(biāo)如表4所示。

      表4 安全服務(wù)程序資源消耗

      從表4可以看出,安全服務(wù)程序的資源消耗的峰值都比較小,這是因?yàn)閼?yīng)用的正常行為模式庫(kù)不大,同時(shí)引入了哈希映射和字典樹(shù)(見(jiàn)3.1節(jié)),大大地優(yōu)化了內(nèi)存消耗和計(jì)算量。所以,安全服務(wù)方案在保障安全的同時(shí),并不會(huì)明顯影響手機(jī)性能。

      5 結(jié) 語(yǔ)

      本文通過(guò)對(duì)應(yīng)用運(yùn)行時(shí)產(chǎn)生的系統(tǒng)調(diào)用序列進(jìn)行分析,提出了基于系統(tǒng)調(diào)用短序列的重打包應(yīng)用檢測(cè)方案。方案采用了云端協(xié)作的架構(gòu),在云端進(jìn)行正常行為模式庫(kù)的生成,終端基于模式庫(kù)進(jìn)行異常行為的檢測(cè)。為了準(zhǔn)確地鑒別應(yīng)用是否為重打包版本,給出了系統(tǒng)調(diào)用短序列的相似性定義,以及系統(tǒng)調(diào)用序列集合的異常率定義。針對(duì)終端有限資源的現(xiàn)狀,提出了哈希映射與字典樹(shù)的方案,優(yōu)化了內(nèi)存使用和計(jì)算速度。以自己編寫的重打包應(yīng)用和已有的真實(shí)重打包應(yīng)用為例,在真實(shí)設(shè)備上進(jìn)行了實(shí)驗(yàn),證明了本文所提方案的有效性。

      [1] IDC.Press Release[EB/OL].2014-08-14.http://www.idc.com/getdoc.jsp?containerId=prUS25037214.

      [2] Shabtai A,Fledel Y,Kanonov U,et al.Google android:A comprehensive security assessment[J].IEEE security and Privacy,2010,8(2):35-44.

      [3] 楊珉,王曉陽(yáng),張濤,等.國(guó)內(nèi)Android應(yīng)用商城中程序隱私泄露分析[J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,2013,52(10):1420-1426.

      [4] Zhou Y,Jiang X.Dissecting android malware:Characterization and evolution[C]//Security and Privacy (SP),2012 IEEE Symposium on.Piscataway,NJ:IEEE,2012:95-109.

      [5] Zhou W,Zhou Y,Jiang X,et al.Detecting repackaged smartphone applications in third-party android marketplaces[C]//Proceedings of the second ACM conference on Data and Application Security and Privacy.New York,NY:ACM,2012:317-326.

      [6] Enck W,Ongtang M,McDaniel P.On lightweight mobile phone application certification[C]//Proceedings of the 16th ACM conference on Computer and communications security.New York,NY:ACM,2009:235-245.

      [7] Tang W,Jin G,He J,et al.Extending Android security enforcement with a security distance model[C]//Internet Technology and Applications (iTAP),2011 International Conference on.Piscataway,NJ:IEEE,2011:1-4.

      [8] 楊歡,張玉清,胡予濮,等.基于權(quán)限頻繁模式挖掘算法的Android惡意應(yīng)用檢測(cè)方法[J].通訊學(xué)報(bào),2013,34(S1):106-115.

      [9] Burguera I,Zurutuza U,Nadjm-Tehrani S.Crowdroid:behavior-based malware detection system for android[C]//Proceedings of the 1st ACM workshop on Security and privacy in smartphones and mobile devices.New York,NY:ACM,2011:15-26.

      [10] Shabtai A,Kanonov U,Elovici Y,et al.“Andromaly”:a behavioral malware detection framework for android devices[J].Journal of Intelligent Information Systems,2012,38(1):161-190.

      [11] Wu D J,Mao C H,Wei T E,et al.Droidmat:Android malware detection through manifest and API calls tracing[C]//Information Security (Asia JCIS),2012 Seventh Asia Joint Conference on.Piscataway,NJ:IEEE,2012:62-69.

      [12] 雷靈光,荊繼武,王躍武,等.一種基于行為的Android系統(tǒng)資源訪問(wèn)控制方案[J].計(jì)算機(jī)研究與發(fā)展,2014,51(5):1028-1038.

      [13] Hofmeyr S A,Forrest S,Somayaji A.Intrusion detection using sequences of system calls[J].Journal of computer security,1998,6(3):151-180.

      [14] 蔣紹林,王金雙,張濤,等.Android安全研究綜述[J].計(jì)算機(jī)應(yīng)用與軟件,2012,29(10):205-210.

      [15] Contagio mobile[EB/OL].2015-03-20.http://contagiominidump.blo gspot.com/.

      A BEHAVIOUR-BASED DETECTION SCHEME FOR ANDROID REPACKAGED APPLICATION

      Huan Ziqiang1,2Ni Hong1Hu Linlin1Guo Zhichuan1

      1(NationalNetworkNewMediaEngineeringResearchCenter,InstituteofAcoustics,ChineseAcademyofSciences,Beijing100190,China)2(UniversityofChineseAcademyofSciences,Beijing100049,China)

      Malicious applications of repackaged types are generated by injecting the malicious code into normal applications, which accounts for a large percentage of malicious applications in Android platforms. To solve this problem, we propose a behaviour-based detection scheme for Android repackaged application. The scheme uses the software architecture with cloud collaboration, analyses in the cloud the behaviour patterns on normal applications based on short sequences of system calls so that forms a normal behaviour pattern database. In terminal device, it downloads from the cloud the normal behaviour pattern databases with the applications installed, monitors the system call sequences with the applications installed, and calculates their abnormal rate. Experimental result shows that the proposed method is effective, and it can accurately identify the malicious repackaged applications.

      Repackaged applicationsAndroid securitySystem callShort sequenceCloud collaboration

      2015-02-09。國(guó)家科技支撐計(jì)劃課題(2012BAH73F 01);中國(guó)科學(xué)院先導(dǎo)專項(xiàng)課題(XDA06040501)?;缸詮?qiáng),博士生,主研領(lǐng)域:智能終端系統(tǒng),終端安全技術(shù)。倪宏,研究員。胡琳琳,副研究員。郭志川,副研究員。

      TP309

      A

      10.3969/j.issn.1000-386x.2016.08.066

      猜你喜歡
      調(diào)用云端閾值
      云端之城
      核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
      小波閾值去噪在深小孔鉆削聲發(fā)射信號(hào)處理中的應(yīng)用
      基于自適應(yīng)閾值和連通域的隧道裂縫提取
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      比值遙感蝕變信息提取及閾值確定(插圖)
      河北遙感(2017年2期)2017-08-07 14:49:00
      美人如畫隔云端
      行走在云端
      初中生(2017年3期)2017-02-21 09:17:43
      云端創(chuàng)意
      基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
      绿春县| 舒兰市| 鹤峰县| 钟祥市| 揭阳市| 宝应县| 惠水县| 台江县| 盐亭县| 盐边县| 蓝山县| 黔南| 龙江县| 依兰县| 荣昌县| 左权县| 新竹县| 轮台县| 东乡族自治县| 舟山市| 桂平市| 高邑县| 宣化县| 井冈山市| 宣恩县| 忻州市| 建瓯市| 加查县| 潼关县| 报价| 建平县| 泰兴市| 华蓥市| 区。| 淳化县| 英超| 濉溪县| 建宁县| 泗阳县| 上栗县| 南和县|