• 
    

    
    

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

      基于關(guān)聯(lián)分析的Android權(quán)限濫用攻擊檢測(cè)系統(tǒng)①

      2016-06-15 03:50:24陳宏偉熊焰黃文超黃建盟中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院合肥230022
      關(guān)鍵詞:檢測(cè)系統(tǒng)關(guān)聯(lián)分析

      陳宏偉,熊焰,黃文超,黃建盟(中國(guó)科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,合肥 230022)

      ?

      基于關(guān)聯(lián)分析的Android權(quán)限濫用攻擊檢測(cè)系統(tǒng)①

      陳宏偉,熊焰,黃文超,黃建盟
      (中國(guó)科學(xué)技術(shù)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,合肥 230022)

      摘 要:為了限制應(yīng)用軟件的行為,Android系統(tǒng)設(shè)計(jì)了權(quán)限機(jī)制.然而對(duì)于用戶授予的權(quán)限,Android應(yīng)用軟件卻可以不受權(quán)限機(jī)制的約束,任意使用這些權(quán)限,造成潛在的權(quán)限濫用攻擊.為檢測(cè)應(yīng)用是否存在權(quán)限濫用行為,提出了一種基于關(guān)聯(lián)分析的檢測(cè)方法.該方法動(dòng)態(tài)檢測(cè)應(yīng)用的敏感行為與用戶的操作,并獲得兩者的關(guān)聯(lián)程度.通過比較待檢測(cè)應(yīng)用與良性應(yīng)用的關(guān)聯(lián)程度的差別,得到檢測(cè)結(jié)果.基于上述方法,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)原型系統(tǒng)DroidDect.實(shí)驗(yàn)結(jié)果表明,DroidDect可以有效檢測(cè)出Android應(yīng)用的權(quán)限濫用行為,并具有系統(tǒng)額外開銷低等優(yōu)點(diǎn).

      關(guān)鍵詞:Android安全; 權(quán)限濫用攻擊; 關(guān)聯(lián)分析; 檢測(cè)系統(tǒng)

      隨著智能手機(jī)使用的普及,Android系統(tǒng)已經(jīng)成為市場(chǎng)上最流行的手機(jī)操作系統(tǒng)[1].和其他智能手機(jī)操作系統(tǒng)不同,除了官方應(yīng)用市場(chǎng)Google Play,Android系統(tǒng)還允許用戶從第三方市場(chǎng)下載和安裝應(yīng)用程序.部分第三方應(yīng)用市場(chǎng)在發(fā)布應(yīng)用之前,并沒有進(jìn)行任何形式的安全檢查[2],這就為惡意應(yīng)用的傳播提供了相當(dāng)程度的便利.由于通過手機(jī)可以獲取大量的用戶個(gè)人信息,Android系統(tǒng)成為了眾多惡意軟件的攻擊目標(biāo).有數(shù)據(jù)顯示,超過95%的惡意應(yīng)用是運(yùn)行在Android平臺(tái)上的[3]; 而且平均每18秒就有一個(gè)惡意Android應(yīng)用誕生[4].面對(duì)如此嚴(yán)峻的安全挑戰(zhàn),Android惡意應(yīng)用的檢測(cè)成為了人們的研究熱點(diǎn).

      傳統(tǒng)的惡意應(yīng)用檢測(cè)方法主要包括提取待檢測(cè)應(yīng)用的靜態(tài)和動(dòng)態(tài)特征,將這些特征和已經(jīng)預(yù)定義好的惡意軟件特征相比較.通過比較的結(jié)果,判定待檢測(cè)應(yīng)用與惡意應(yīng)用的相似程度[5-9].檢測(cè)的特征包括應(yīng)用所需要獲取的權(quán)限、方法調(diào)用、應(yīng)用的信息流等.隨著檢測(cè)方法的加強(qiáng),惡意應(yīng)用也出現(xiàn)了新的攻擊手段,其中包括權(quán)限濫用攻擊.

      權(quán)限濫用攻擊是指惡意應(yīng)用利用Android權(quán)限機(jī)制的漏洞,將自己偽裝成良性應(yīng)用,在完成用戶的需求之外,濫用用戶所賦予的權(quán)限,竊取用戶的隱私信息.例如,一個(gè)申請(qǐng)了錄音權(quán)限的惡意應(yīng)用程序,當(dāng)用戶按下“錄音”按鈕后,這個(gè)應(yīng)用確實(shí)是錄音了; 但是當(dāng)用戶停止錄音后,這個(gè)應(yīng)用仍在后臺(tái)繼續(xù)錄音,并且將獲得的音頻數(shù)據(jù)發(fā)送至遠(yuǎn)程的服務(wù)器上,對(duì)用戶實(shí)施了竊聽攻擊.

      文獻(xiàn)[10]提出一種方法,可以將用戶說話時(shí)引發(fā)的手機(jī)陀螺儀傳感器振動(dòng)信號(hào)恢復(fù)成為音頻信號(hào),再配合使用語音識(shí)別算法,可以最多恢復(fù)出65%的用戶語音信息.文獻(xiàn)[11]發(fā)現(xiàn)了一個(gè)惡意應(yīng)用,可以監(jiān)聽用戶的通話狀態(tài),當(dāng)用戶進(jìn)行通話時(shí),應(yīng)用將在后臺(tái)自動(dòng)開啟錄音功能,竊聽用戶的通話內(nèi)容并將其存儲(chǔ)在手機(jī)的SD卡上.文獻(xiàn)[12]發(fā)現(xiàn)了一個(gè)惡意應(yīng)用,可以根據(jù)遠(yuǎn)程指令,讓用戶的手機(jī)偷偷地進(jìn)行拍攝、錄音等.這些惡意應(yīng)用實(shí)施攻擊的根本手段,都是濫用用戶所賦予的權(quán)限.有研究顯示[13],Android應(yīng)用經(jīng)常在沒有征得用戶許可的情況下,將用戶的隱私信息發(fā)送出去.

      這一類惡意應(yīng)用只使用了完成用戶指定功能所需要的權(quán)限,而且實(shí)施攻擊時(shí)也僅僅只利用這些權(quán)限,并沒有涉及其他敏感權(quán)限,具有較強(qiáng)的隱蔽性.傳統(tǒng)的檢測(cè)手段由于沒有將軟件的靜態(tài)和動(dòng)態(tài)特征同用戶的使用意愿相聯(lián)系,所以無法檢測(cè)出這一種攻擊行為.

      為了檢測(cè)惡意應(yīng)用的權(quán)限濫用攻擊,現(xiàn)有的解決方案包括使用污點(diǎn)分析技術(shù)[14]、應(yīng)用行為重構(gòu)技術(shù)[15]、用戶意圖確認(rèn)[16]等方法.但是這些方案存在額外開銷大,對(duì)Android系統(tǒng)代碼改動(dòng)多的缺點(diǎn).

      濫用權(quán)限的惡意應(yīng)用和良性應(yīng)用的根本區(qū)別在于,軟件的行為是否由用戶所觸發(fā).根據(jù)這一基本思想,本文設(shè)計(jì)并實(shí)現(xiàn)了一種新的輕量級(jí)的檢測(cè)系統(tǒng)DriodDect.DroidDect基于軟件動(dòng)態(tài)檢測(cè)技術(shù),獲取軟件運(yùn)行時(shí)的行為和用戶的操作.再基于關(guān)聯(lián)分析,檢測(cè)軟件行為和用戶操作的置信度,通過置信度結(jié)果,判定Android應(yīng)用中是否存在權(quán)限濫用攻擊.

      經(jīng)過實(shí)驗(yàn),DroidDect可以有效檢測(cè)出Android應(yīng)用中的權(quán)限濫用攻擊.相比于現(xiàn)有的檢測(cè)方案,DroidDect具有對(duì)Android系統(tǒng)代碼的修改程度小,系統(tǒng)額外開銷低的優(yōu)點(diǎn),具有較高的實(shí)用性.

      權(quán)限濫用攻擊是指一類基本思想相同的攻擊方式,區(qū)別僅在于濫用的具體的權(quán)限不同,所以檢測(cè)的基本思想是一樣的.下面將以檢測(cè)權(quán)限濫用攻擊中的竊聽攻擊為重點(diǎn),對(duì)比傳感器和拍照權(quán)限濫用攻擊的檢測(cè),闡述本系統(tǒng)的分析、設(shè)計(jì)和實(shí)現(xiàn).

      1 系統(tǒng)設(shè)計(jì)

      1.1攻擊模型與假設(shè)

      本文假設(shè)Android的用戶是誠(chéng)實(shí)的,但是應(yīng)用可能是惡意的.惡意應(yīng)用會(huì)根據(jù)遠(yuǎn)程攻擊者的指令,悄悄在后臺(tái)開啟錄音、傳感器、拍照功能,對(duì)用戶進(jìn)行竊聽等攻擊.由于本系統(tǒng)的實(shí)現(xiàn)需要對(duì)Android框架層進(jìn)行修改,并且需要從修改后的Android框架層獲取信息,所以本文假設(shè)Android框架層和之下的Linux內(nèi)核層是安全的,不會(huì)攔截或篡改返回的信息.而且惡意應(yīng)用也不能獲取系統(tǒng)的root權(quán)限.

      基于上述攻擊模型和假設(shè),本文設(shè)計(jì)并實(shí)現(xiàn)了Android權(quán)限濫用攻擊檢測(cè)系統(tǒng)DroidDect.DroidDect系統(tǒng)可以獲取應(yīng)用的行為和用戶的操作,并且檢測(cè)兩者之間的置信度.當(dāng)檢測(cè)到置信度小于一個(gè)預(yù)定的閾值時(shí),DroidDect系統(tǒng)會(huì)自動(dòng)向用戶報(bào)警,提醒用戶應(yīng)用存在權(quán)限濫用攻擊.

      1.2各模塊設(shè)計(jì)

      DroidDect系統(tǒng)的框架如圖1所示.該系統(tǒng)由六個(gè)部分組成: 應(yīng)用行為檢測(cè)模塊、用戶操作檢測(cè)模塊、數(shù)據(jù)處理模塊、關(guān)聯(lián)分析模塊、用戶配置數(shù)據(jù)庫和用戶配置管理器,各部分具體介紹如下:

      圖1 DroidDect系統(tǒng)框架

      (1)應(yīng)用行為檢測(cè)模塊.此模塊用于動(dòng)態(tài)檢測(cè)應(yīng)用運(yùn)行時(shí)的行為,為之后的數(shù)據(jù)處理模塊提供原始的應(yīng)用行為數(shù)據(jù).檢測(cè)的數(shù)據(jù)取決于需要檢測(cè)的攻擊類型.兩者的對(duì)應(yīng)關(guān)系和具有代表性的惡意應(yīng)用如表1所示.

      表1 攻擊類型與需檢測(cè)的數(shù)據(jù)

      為了檢測(cè)不同種類的權(quán)限濫用攻擊,DroidDect需要檢測(cè)不同的數(shù)據(jù).當(dāng)系統(tǒng)運(yùn)行時(shí),用戶可以通過用戶配置管理器配置自己需要檢測(cè)的攻擊類型.因?yàn)闄z測(cè)方法相同,用戶可以指定檢測(cè)其中一種攻擊,也可以同時(shí)檢測(cè)幾種攻擊.

      (2)用戶操作檢測(cè)模塊.此模塊獲取用戶的操作數(shù)據(jù),與應(yīng)用行為數(shù)據(jù)一起作為數(shù)據(jù)處理模塊的輸入.Android是一個(gè)由事件觸發(fā)的系統(tǒng).其中,由用戶觸發(fā)的事件可以大致分為兩類: 第一種是GUI事件觸發(fā),比如用戶按下某個(gè)按鈕; 另一種是非GUI事件觸發(fā),比如用戶轉(zhuǎn)動(dòng)設(shè)備,觸發(fā)陀螺儀傳感器檢測(cè)到設(shè)備運(yùn)動(dòng).在檢測(cè)錄音濫用攻擊中,我們調(diào)查了Android市場(chǎng)上最受歡迎的20個(gè)錄音應(yīng)用.我們發(fā)現(xiàn)這20個(gè)應(yīng)用啟動(dòng)錄音的方式都是通過用戶按下按鈕觸發(fā),也就是由GUI事件觸發(fā).所以在這里,我們默認(rèn)將用戶的按鈕操作作為錄音應(yīng)用中用戶操作的檢測(cè)對(duì)象.

      在傳感器和拍照應(yīng)用中,本文發(fā)現(xiàn)其中既存在GUI事件觸發(fā)方式,也存在非GUI事件觸發(fā)方式.對(duì)于如何檢測(cè)由非GUI事件觸發(fā)的用戶功能,本文將在第三部分中討論.

      (3)數(shù)據(jù)處理模塊.前兩個(gè)模塊產(chǎn)生的檢測(cè)結(jié)果是時(shí)間序列數(shù)據(jù),此模塊的作用是對(duì)前兩個(gè)模塊產(chǎn)生的數(shù)據(jù)進(jìn)行處理與合并.處理包括統(tǒng)一時(shí)間間隔,去除重復(fù)數(shù)據(jù),插入遺漏數(shù)據(jù).然后以兩個(gè)文件的時(shí)間項(xiàng)為主鍵,對(duì)兩個(gè)文件做連接操作,形成一個(gè)文件作為輸出.文件的格式為CSV(Comma Separated Values)格式,即逗號(hào)分隔值格式.文件的每一行為每一秒測(cè)試的數(shù)據(jù)值.

      (4)關(guān)聯(lián)分析模塊.在這個(gè)模塊中,本文以關(guān)聯(lián)分析算法思想為基礎(chǔ),針對(duì)本應(yīng)用場(chǎng)景,實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的關(guān)聯(lián)分析算法.此模塊將數(shù)據(jù)處理模塊產(chǎn)生的數(shù)據(jù)作為輸入,計(jì)算出應(yīng)用行為和用戶操作的置信度.當(dāng)計(jì)算出的置信度低于預(yù)設(shè)的閾值時(shí),DroidDect會(huì)提醒用戶該應(yīng)用存在權(quán)限濫用攻擊.

      (5)用戶配置管理器和用戶配置數(shù)據(jù)庫.用戶配置管理器用于接收用戶的配置輸入,并且將用戶的數(shù)據(jù)存儲(chǔ)在用戶配置數(shù)據(jù)庫中.當(dāng)DroidDect系統(tǒng)運(yùn)行時(shí),數(shù)據(jù)處理模塊會(huì)查詢用戶配置數(shù)據(jù)庫,獲得數(shù)據(jù)處理需要的參數(shù).

      2 系統(tǒng)實(shí)現(xiàn)與算法

      2.1行為檢測(cè)部分實(shí)現(xiàn)

      基于Android4.4.3_r1,DroidDect系統(tǒng)修改了系統(tǒng)應(yīng)用程序框架層,實(shí)現(xiàn)了對(duì)軟件行為特征和用戶的操作特征的動(dòng)態(tài)檢測(cè).下面分別作詳細(xì)介紹.

      2.1.1軟件行為檢測(cè)

      圖2 Android應(yīng)用數(shù)據(jù)流圖

      Android系統(tǒng)架構(gòu)是一個(gè)堆棧結(jié)構(gòu)的軟件系統(tǒng).如圖2所示,當(dāng)一個(gè)應(yīng)用需要訪問底層硬件數(shù)據(jù)時(shí),需要首先向相應(yīng)的管理器類注冊(cè),當(dāng)相應(yīng)的事件發(fā)生時(shí),管理器類會(huì)調(diào)用系統(tǒng)服務(wù)向應(yīng)用程序返回?cái)?shù)據(jù).在應(yīng)用程序框架層中,和錄音功能實(shí)現(xiàn)相關(guān)的類是AudioRecord和MediaRecorder類.其中,和錄音相關(guān)的方法是AudioRecord類中的read()方法和MediaRecorder類中的start()方法.為了不遺漏地檢測(cè)應(yīng)用從麥克風(fēng)獲取到的數(shù)據(jù)大小,DroidDect系統(tǒng)修改了AudioRecord類中的read(byte[],int,int)、read(short[],int,int)和read(ByteBuffer,int)方法; 以及MediaRecorder類中的start()方法.DroidDect系統(tǒng)在這些方法返回之前,將方法返回的數(shù)據(jù)量大小輸出.因此任何調(diào)用錄音方法的應(yīng)用,DroidDect都可以檢測(cè)到這個(gè)應(yīng)用獲取的音頻數(shù)據(jù)量大小及調(diào)用時(shí)間.

      同理,為了檢測(cè)傳感器權(quán)限濫用攻擊和拍攝權(quán)限濫用攻擊.DroidDect系統(tǒng)修改了和獲取傳感器數(shù)據(jù)相關(guān)的SensorManager類以及和拍攝相關(guān)的Camera類.表2列出了改動(dòng)的方法簽名.

      表2 SensorManager與Camera類修改的方法

      值得注意的地方是: ①在一個(gè)應(yīng)用對(duì)傳感器注冊(cè)監(jiān)聽器與取消注冊(cè)之間的時(shí)間段里,應(yīng)用既可以選擇獲取傳感器數(shù)據(jù),也可以選擇不獲取.為了最大程度檢測(cè)應(yīng)用可能存在的惡意行為,DroidDect系統(tǒng)選擇最壞情況來檢測(cè),即默認(rèn)為注冊(cè)監(jiān)聽器與取消監(jiān)聽器的時(shí)間段里,應(yīng)用一直是獲取傳感器數(shù)據(jù)的.②根據(jù)Android開發(fā)官方文檔[17],應(yīng)用獲取拍攝功能有兩種方法: 第一種是通過發(fā)起Intent,使用系統(tǒng)原生的拍攝應(yīng)用; 第二種是使用自己編寫的拍攝應(yīng)用.第一種方法使用時(shí),用戶界面會(huì)自動(dòng)切換到原生的拍攝應(yīng)用,界面會(huì)顯示攝像機(jī)拍攝的實(shí)時(shí)畫面.本文認(rèn)為,使用這種方法會(huì)暴露應(yīng)用訪問了攝像機(jī),用戶會(huì)發(fā)現(xiàn)應(yīng)用的偷拍行為.所以本文認(rèn)為存在拍攝濫用攻擊的惡意應(yīng)用一定是采取第二種方法訪問設(shè)備相機(jī)的.因此修改了這種方法相應(yīng)的系統(tǒng)調(diào)用(如表2所示).

      2.1.2用戶操作行為檢測(cè)

      (1)GUI事件檢測(cè)

      通過調(diào)研Android市場(chǎng)上最受歡迎的20個(gè)錄音應(yīng)用,我們發(fā)現(xiàn),GUI事件觸發(fā)錄音有兩種方式.第一種是點(diǎn)擊按鈕開始錄音,再點(diǎn)擊按鈕結(jié)束錄音; 第二種是長(zhǎng)按按鈕錄音,釋放按鈕停止錄音.

      Android系統(tǒng)中的Button類繼承于TextView類.當(dāng)用戶點(diǎn)擊按鈕時(shí),會(huì)觸發(fā)TouchEvent事件,進(jìn)而會(huì)調(diào)用TextView類中onTouchEvent(MotionEvent)回調(diào)函數(shù).為了檢測(cè)用戶點(diǎn)擊按鈕事件,DroidDect系統(tǒng)修改了這個(gè)回調(diào)函數(shù).當(dāng)檢測(cè)到TouchEvent事件為ACTION_DOWN(手指接觸屏幕)或ACTION_UP(手指離開屏幕)時(shí),DroidDect系統(tǒng)會(huì)產(chǎn)生相應(yīng)的輸出,內(nèi)容為: 事件發(fā)生的時(shí)間t,事件類型action_type,按鈕所在的程序包名class_name,以及按鈕的文字btn_text.

      由于存在上文提及的兩種不用的觸發(fā)方式,在獲得了用戶操作行為的原始數(shù)據(jù)后,需要將原始數(shù)據(jù)由數(shù)據(jù)處理模塊進(jìn)行處理.

      對(duì)于第一種觸發(fā)方式,用戶兩次點(diǎn)擊按鈕之間的時(shí)間段是作為用戶的操作意愿,所以需要將兩組ACTION_DOWN、ACTION_UP作為起始和終止時(shí)間點(diǎn).處理如圖3所示.

      圖3 第一種觸發(fā)方式數(shù)據(jù)處理

      對(duì)于第二種觸發(fā)方式,用戶長(zhǎng)按的時(shí)間段是用戶的操作意愿,所以應(yīng)該將一組ACTION_DOWN、ACTION_UP作為起始和終止的時(shí)間點(diǎn).處理如圖4所示.

      圖4 第二種觸發(fā)方式數(shù)據(jù)處理

      由于無法預(yù)先知曉應(yīng)用的使用方式,所以,具體采用何種方式處理數(shù)據(jù)需要用戶事先通過配置管理器輸入.

      (2)非GUI事件檢測(cè)

      對(duì)于檢測(cè)使用傳感器的應(yīng)用,由于大多數(shù)應(yīng)用會(huì)自動(dòng)注冊(cè)傳感器監(jiān)聽器,不會(huì)提供GUI界面啟動(dòng)(比如微信的搖一搖功能),所以無法直接利用上文的檢測(cè)方法.本文設(shè)計(jì)了一種方法,可以將對(duì)非GUI事件檢測(cè)轉(zhuǎn)換為對(duì)GUI事件檢測(cè).具體的方法是,DroidDect系統(tǒng)提供了一個(gè)懸浮按鈕框.當(dāng)用戶開始使用傳感器時(shí),需要點(diǎn)擊這個(gè)懸浮按鈕.當(dāng)用戶結(jié)束使用傳感器時(shí),再點(diǎn)擊這個(gè)懸浮按鈕.這樣,DroidDect系統(tǒng)只需要檢測(cè)這個(gè)按鈕的觸發(fā)事件,就可以獲得用戶的操作意愿.這樣設(shè)計(jì)的目的,是為了模擬GUI的觸發(fā)方式,獲得同圖3一樣的原始數(shù)據(jù),從而可以復(fù)用GUI事件觸發(fā)的檢測(cè)方法.

      2.2關(guān)聯(lián)分析部分實(shí)現(xiàn)

      2.2.1關(guān)聯(lián)分析

      關(guān)聯(lián)分析是用來發(fā)現(xiàn)數(shù)據(jù)集中有意義的聯(lián)系規(guī)則,這個(gè)數(shù)據(jù)集通常是事務(wù)的集合,可以表示為T={t1,t2,…,tN}.每個(gè)事務(wù)由許多項(xiàng)組成,所有的項(xiàng)集可以表示為I={i1,i2,…,id}.每個(gè)事務(wù)ti都是I的子集.關(guān)聯(lián)分析所發(fā)現(xiàn)的聯(lián)系可以用關(guān)聯(lián)規(guī)則的形式表示.例如,在數(shù)據(jù)中,當(dāng)項(xiàng)T1出現(xiàn)時(shí),項(xiàng)T2也經(jīng)常出現(xiàn),則說明T1和T2有著很強(qiáng)的關(guān)聯(lián),這個(gè)關(guān)聯(lián)規(guī)則可以表示為: {T1}→{T2}.

      包含0個(gè)或多個(gè)項(xiàng)的集合為項(xiàng)集,項(xiàng)集X出現(xiàn)的次數(shù)可以在數(shù)學(xué)上表示為: σ(X)=|{ti|X ? ti,ti∈T}|.可以用支持度(support)和置信度(confidence)度量一個(gè)關(guān)聯(lián)規(guī)則.公式定義如下:

      從公式中可以看出,規(guī)則X→Y的支持度高意味著此規(guī)則在數(shù)據(jù)集中出現(xiàn)的頻率高.而置信度高意味著,在一條事務(wù)中,當(dāng)X出現(xiàn)時(shí)Y也出現(xiàn)的可能性高.關(guān)聯(lián)分析的目標(biāo)是找出支持度、置信度大于等于閾值的所有規(guī)則.可以通過兩個(gè)步驟解決這個(gè)問題: (1)發(fā)現(xiàn)超過支持度閾值的所有項(xiàng)集.(2)從上步發(fā)現(xiàn)的項(xiàng)集中提取所有高置信度的關(guān)聯(lián)規(guī)則.

      2.1.2軟件行為和用戶操作的關(guān)聯(lián)分析

      DroidDect系統(tǒng)檢測(cè)權(quán)限濫用攻擊的核心思想是判斷軟件行為和用戶操作的關(guān)聯(lián)程度.本文認(rèn)為,良性應(yīng)用的軟件行為同用戶操作之間有較強(qiáng)的關(guān)聯(lián),而存在權(quán)限濫用攻擊的應(yīng)用則相反.根據(jù)關(guān)聯(lián)分析的基本思想,對(duì)于一條關(guān)聯(lián)規(guī)則,可以用支持度和置信度去衡量這條規(guī)則是否足夠有意義.

      在DroidDect系統(tǒng)中,關(guān)聯(lián)分析模塊獲得的數(shù)據(jù)有3列,分別是: 時(shí)間(time)、是否使用敏感權(quán)限(isSenPer)、是否有用戶操作(isUsrOpr).良性應(yīng)用的檢測(cè)數(shù)據(jù)中,當(dāng)isSenPer為true時(shí),isUsrOpr有很高的可能性也為true; 存在權(quán)限濫用攻擊的應(yīng)用的可能性相比則低許多.因此,需要檢測(cè)的是c(isSenPer= true →isUsrOpr=true).DroidDect計(jì)算置信度的算法根據(jù)公式2-2設(shè)計(jì),如下所示.注意,支持度在這里并沒有實(shí)際意義,因?yàn)樵谝欢螘r(shí)間里,用戶的操作時(shí)間長(zhǎng)度是不可預(yù)知的,s(isSenPer= true→isUsrOpr=true)的大小只能反映用戶操作的時(shí)間長(zhǎng)度,而不能反映任何關(guān)于權(quán)限濫用的信息.

      3 實(shí)驗(yàn)評(píng)估

      3.1閾值確定

      為了測(cè)試DroidDect系統(tǒng)的有效性和性能,需要首先確定良性應(yīng)用中軟件行為和用戶操作置信度的閾值.為了獲得良性應(yīng)用,本文選擇Android官方應(yīng)用市場(chǎng)Google Play作為獲取良性應(yīng)用的渠道.數(shù)據(jù)顯示,從Google Play下載的應(yīng)用中,只有不到0.001%的應(yīng)用是惡意的[5,18].所以,可以認(rèn)為Google Play中的應(yīng)用基本上都是良性的.為了保證實(shí)驗(yàn)結(jié)果的可靠性,本文還對(duì)從Google Play上下載的應(yīng)用進(jìn)行了額外的檢測(cè),如使用其他病毒檢測(cè)工具、查看用戶使用評(píng)論等,確保應(yīng)用不包含惡意行為.

      為了使閾值的確定具有代表性,本文依照Google Play的排名,為每一類選取了8至15個(gè)最受歡迎的應(yīng)用,并測(cè)試了每一個(gè)應(yīng)用的置信度,部分樣本如表3所示.實(shí)驗(yàn)環(huán)境為基于Android4.4.3_r1的修改版Android操作系統(tǒng),硬件平臺(tái)為Nexus7.

      表3 部分良性應(yīng)用樣本與總體置信度

      DroidDect系統(tǒng)將這些良性應(yīng)用的總體平均置信度作為閾值,當(dāng)被檢測(cè)的應(yīng)用的置信度低于這個(gè)閾值時(shí),DroidDect系統(tǒng)則認(rèn)為此應(yīng)用存在權(quán)限濫用攻擊.

      3.2有效性評(píng)估

      為了測(cè)驗(yàn)DroidDect系統(tǒng)的有效性,本文為每類權(quán)限濫用攻擊設(shè)計(jì)了一個(gè)典型的惡意應(yīng)用,并將這個(gè)惡意應(yīng)用同良性應(yīng)用混合,在不同的使用場(chǎng)景下重復(fù)測(cè)試多次.

      為了測(cè)試DroidDect的檢測(cè)效果,本文分別實(shí)現(xiàn)了文獻(xiàn)[10-12]中所描述的權(quán)限濫用攻擊應(yīng)用,作為惡意應(yīng)用測(cè)試,并且同使用敏感權(quán)限的良性應(yīng)用混合,一同檢測(cè).設(shè)計(jì)用于測(cè)試的惡意應(yīng)用的思路是,該應(yīng)用不僅可以通過用戶點(diǎn)擊圖形化界面觸發(fā)應(yīng)用功能,還可以通過用戶不知情的隱蔽方式獲取用戶的敏感數(shù)據(jù).例如,為實(shí)現(xiàn)文獻(xiàn)[10]中所描述的權(quán)限濫用攻擊應(yīng)用,本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)計(jì)步器應(yīng)用,當(dāng)用戶啟動(dòng)計(jì)步器的計(jì)步功能后,該應(yīng)用會(huì)獲取手機(jī)的加速度傳感器和陀螺儀傳感器信號(hào),計(jì)算用戶的步數(shù).但當(dāng)該應(yīng)用檢測(cè)到手機(jī)的麥克風(fēng)處于被其他應(yīng)用占用狀態(tài)時(shí),該應(yīng)用會(huì)在后臺(tái)自動(dòng)監(jiān)聽上述傳感器的信號(hào),并寫入文件保存在手機(jī)的SD卡中,待之后發(fā)向網(wǎng)絡(luò),還原為音頻信號(hào),實(shí)現(xiàn)竊聽攻擊.

      為了準(zhǔn)確測(cè)試惡意行為的存在,測(cè)試惡意應(yīng)用的權(quán)限濫用行為需要遍歷惡意應(yīng)用使用中所有的使用場(chǎng)景并隨機(jī)確定每種場(chǎng)景的測(cè)試時(shí)間長(zhǎng)度.例如檢測(cè)錄音濫用攻擊時(shí),上述惡意應(yīng)用在用戶通話時(shí)實(shí)施竊聽,因此測(cè)試的場(chǎng)景必須包含隨機(jī)時(shí)間長(zhǎng)度的通話場(chǎng)景.

      檢測(cè)方法是對(duì)于每個(gè)應(yīng)用,在各種使用場(chǎng)景中測(cè)試50次,其中20次是用戶主動(dòng)發(fā)起使用敏感權(quán)限,這屬于合法使用; 剩余30次測(cè)試中,用戶并不主動(dòng)發(fā)起使用敏感權(quán)限功能,而是遍歷所有可能的應(yīng)用使用場(chǎng)景.DroidDect系統(tǒng)檢測(cè)這50次測(cè)試中,應(yīng)用所使用敏感權(quán)限的總次數(shù),并且同時(shí)計(jì)算這50次測(cè)試中應(yīng)用軟件的置信度.下表列出的是惡意應(yīng)用的檢測(cè)結(jié)果.

      表4 權(quán)限濫用攻擊檢測(cè)數(shù)據(jù)

      當(dāng)惡意應(yīng)用和良性應(yīng)用混合檢測(cè)時(shí),由于惡意應(yīng)用的置信度遠(yuǎn)低于良性應(yīng)用的總體平均置信度,DroidDect通過對(duì)比待檢測(cè)應(yīng)用和預(yù)設(shè)的置信度閾值,100%檢測(cè)出了存在權(quán)限濫用行為的應(yīng)用.

      3.3性能評(píng)估

      本文使用了一組測(cè)試基準(zhǔn)以檢測(cè)DroidDect系統(tǒng)的性能.測(cè)試軟件為CaffeineMark 3.0.測(cè)試基準(zhǔn)包括運(yùn)行尋找素?cái)?shù)運(yùn)算、運(yùn)行循環(huán)、方法、浮點(diǎn)運(yùn)算等,以檢測(cè)系統(tǒng)的性能.測(cè)試結(jié)果如圖5所示.

      圖5 性能評(píng)估結(jié)果

      通過比較檢測(cè)結(jié)果,DroidDect的系統(tǒng)性能和原生的Android系統(tǒng)性能相比,兩者的差別很小,DroidDect系統(tǒng)為檢測(cè)權(quán)限濫用攻擊所需要額外的系統(tǒng)開銷幾乎可以忽略不計(jì).

      4 結(jié)語

      本文提出了一種檢測(cè)Android應(yīng)用程序權(quán)限濫用攻擊的方法,該方法的核心思想是通過修改Android系統(tǒng)的應(yīng)用程序框架,動(dòng)態(tài)檢測(cè)應(yīng)用軟件敏感權(quán)限的使用情況以及用戶的操作情況,并基于關(guān)聯(lián)分析的基本思想,計(jì)算軟件行為與用戶操作的置信度.通過和良性應(yīng)用的總體平均置信度相比較,檢測(cè)權(quán)限濫用攻擊.基于上述方法,實(shí)現(xiàn)了一個(gè)原型系統(tǒng)DroidDect,并通過檢測(cè)惡意應(yīng)用樣本,驗(yàn)證了該系統(tǒng)可以有效檢測(cè)權(quán)限濫用攻擊,并具有對(duì)Android系統(tǒng)代碼的修改程度小,系統(tǒng)額外開銷低的優(yōu)點(diǎn).

      當(dāng)良性應(yīng)用切換到后臺(tái)運(yùn)行狀態(tài)時(shí),相比于在前臺(tái)運(yùn)行,所消耗的網(wǎng)絡(luò)流量和CPU負(fù)載均會(huì)大幅下降,并維持在較低水平.而存在權(quán)限濫用攻擊的惡意應(yīng)用則不然.通過分析應(yīng)用的網(wǎng)絡(luò)流量和CPU負(fù)載數(shù)據(jù)的變化同用戶操作之間的關(guān)聯(lián),可以更加精確地檢測(cè)出惡意應(yīng)用權(quán)限濫用攻擊及其發(fā)生的時(shí)間.因此,下一步的工作將著重研究如何加入網(wǎng)絡(luò)流量、CPU負(fù)載數(shù)據(jù)檢測(cè)權(quán)限濫用攻擊,并進(jìn)一步降低檢測(cè)運(yùn)行時(shí)的開銷.

      參考文獻(xiàn)

      1 Smartphone OS Market Share,Q1 2015.http://www.idc.com/prodserv/smartphone-os-market-share.jsp [2015-05-27].

      2Cybercriminals target Android platforms.http://www.avcomparatives.org/wp-content/uploads/2013/08/apkstores_inv estigation_2013.pdf [2013-08-26].

      3Mobile Threat Report Q1 2014.https://www.f-secure.com/documents/996508/1030743/Mobile_Threat_Report_Q1 _2014.pdf [2014-05-06].

      4G Data Mobile Malware Report.https://public.gdatasoftware.com/Presse/Publikationen/Malware_Reports/G_DATA_Mobi leMWR_Q1_2015_US.pdf [2015-07-07].

      5Grace M,Zhou Y,Zhang Q,et al.Riskranker: Scalable and accurate zero-day android malware detection.Proc.of the 10th International Conference on Mobile Systems,Applications,and Services.ACM.2012.281-294.

      6Zhou Y,Jiang X.Dissecting android malware: Characterization and evolution.2012 IEEE Symposium on Security and Privacy (SP).IEEE.2012.95–109.

      7Ristenpart T,Tromer E,Shacham H,et al.Hey,you,get off of my cloud: exploring information leakage in third-party compute clouds.Proc.of the 16th ACM Conf.on Computer and Communications Security.ACM.2009.199–212.

      8Grace MC,Zhou Y,Wang Z,et al.Systematic Detection of Capability Leaks in Stock Android Smartphones.NDSS.2012.

      9Yang W,Prasad MR,Xie T.A grey-box approach for automated GUI-model generation of mobile applications.Fundamental Approaches to Software Engineering.Springer Berlin Heidelberg,2013: 250–265.

      10Michalevsky Y,Boneh D,Nakibly G.Gyrophone: Recognizing speech from gyroscope signals.Proc.of the 23rd USENIX Security Symposium (SEC’14).USENIX Association.2014.

      11Virus Profile: Android/NickiSpy.A.http://home.mcafee.com/ virusinfo/virusprofile.aspx?key=554488 [2011-10-26].

      12Dendroid malware can take over your camera,record audio,and sneak into Google Play.https://blog.lookout.com/blog/ 2014/03/06/dendroid/ [2014-03-06].

      13Zhou Y,Jiang X.Dissecting android malware: Characterization and evolution.2012 IEEE Symposium on Security and Privacy (SP).IEEE.2012.95-109.

      14Enck W,Gilbert P,Han S,et al.TaintDroid: An informationflow tracking system for realtime privacy monitoring on smartphones.ACM Trans.on Computer Systems (TOCS),2014,32(2): 5.

      15Zhang Y,Yang M,Xu B,et al.Vetting undesirable behaviors in android apps with permission use analysis.Proc.of the 2013 ACM SIGSAC Conference on Computer & Communications Security.ACM.2013.611–622.

      16Yang Z,Yang M,Zhang Y,et al.Appintent: Analyzing sensitive data transmission in android for privacy leakage detection.Proc.of the 2013 ACM SIGSAC Conference on Computer & Communications Security.ACM.2013.1043 –1054.

      17Camera.http://developer.android.com/guide/topics/media/ camera.html [2013-06-04].

      18Contrary to what you’ve heard,Android is almost impenetrable to malware.http://qz.com/131436/contrary-towhat-youve-heard-android-is-almost-impenetrable-to-malw are/ [2013-10-03].

      Association Analysis Based Detection System for Android Permission Abuse Attacks

      CHEN Hong-Wei,XIONG Yan,HUANG Wen-Chao,HUANG Jian-Meng
      (School of Computer Science and Technology,University of Science and Technology of China,Hefei 230022,China)

      Abstract:In order to restrict the behaviors of applications,a permission system is designed in Android system.However,for the permissions granted by the users,applications will no longer be restricted and can use these permissions at will,which may cause the potential permission abuse attacks.To detect the permission abuse behaviors of applications,an association analysis based detection method was proposed.This method dynamically detects sensitive behaviors of applications and operations of users,then calculates the degree of association between them.Detection result will be obtained through comparing the differences between detected applications and benign applications.A prototype system named DroidDect was designed and implemented based on the above method.The experimental results show that permission abuse behaviors in Android applications can be effectively detected by DroidDect with advantages including low system overhead.

      Key words:Android security; permission abuse attacks; association analysis; detection system

      基金項(xiàng)目:①國(guó)家自然科學(xué)基金(61572453,61202404,61520106007,61170233,61232018);安徽省自然科學(xué)基金(1508085SQF215);中央高?;究蒲谢?WK0110000041)

      收稿時(shí)間:2015-08-16;收到修改稿時(shí)間:2015-10-14

      猜你喜歡
      檢測(cè)系統(tǒng)關(guān)聯(lián)分析
      玉米骨干親本及其衍生系中基因的序列變異及與株高等性狀的關(guān)聯(lián)分析
      玉米骨干親本及其衍生系中基因的序列變異及與株高等性狀的關(guān)聯(lián)分析
      基于隨機(jī)函數(shù)Petri網(wǎng)的系統(tǒng)動(dòng)力學(xué)關(guān)聯(lián)分析模型
      關(guān)聯(lián)分析技術(shù)在學(xué)生成績(jī)分析中的應(yīng)用
      關(guān)于機(jī)械工程自動(dòng)化儀表裝置的應(yīng)用研究
      基于機(jī)器視覺的工件鋸片缺陷檢測(cè)系統(tǒng)設(shè)計(jì)
      軟件工程(2016年8期)2016-10-25 15:55:22
      基于LabVIEW的自動(dòng)光譜檢測(cè)系統(tǒng)及其應(yīng)用
      科技視界(2016年22期)2016-10-18 14:36:03
      基于關(guān)聯(lián)分析的學(xué)生活動(dòng)參與度與高校社團(tuán)管理實(shí)證研究
      科技視界(2016年15期)2016-06-30 12:43:00
      光伏照明檢測(cè)系統(tǒng)的設(shè)計(jì)
      光伏照明檢測(cè)系統(tǒng)的設(shè)計(jì)
      富裕县| 泾阳县| 吴江市| 老河口市| 遵义县| 天气| 南郑县| 汾阳市| 建瓯市| 松阳县| 信丰县| 文登市| 容城县| 辽宁省| 开原市| 凉城县| 乌什县| 镇平县| 六枝特区| 龙胜| 怀集县| 高陵县| 梧州市| 图木舒克市| 桃园县| 贵州省| 烟台市| 沙河市| 秦安县| 铜梁县| 太湖县| 尼勒克县| 宁化县| 宁强县| 英超| 宜黄县| 镇康县| 新建县| 文山县| 宁陕县| 麻城市|