耿浩天
(四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,成都 610065)
隨著各種移動(dòng)設(shè)備技術(shù)的發(fā)展,智能手機(jī)已經(jīng)越來越成為人們生活不可或缺的一部分。其中,Android 平臺(tái)由于其開放性和生態(tài)圈的多樣性,占據(jù)了智能手機(jī)市場(chǎng)上的最大份額。然而,開放性在吸引用戶和開發(fā)者的同時(shí)也吸引著惡意攻擊者。根據(jù)奇安信平臺(tái)的一份報(bào)告,僅2020年奇安信威脅情報(bào)中心就累計(jì)截獲Android 平臺(tái)新增惡意程序樣本230 萬個(gè),平均每天截獲新增惡意程序樣本6301個(gè)。
為了減輕Android 惡意軟件的威脅,基于動(dòng)靜態(tài)分析結(jié)合的自動(dòng)化檢測(cè)技術(shù)成為了主要解決方案。傳統(tǒng)的靜態(tài)分析技術(shù)應(yīng)對(duì)復(fù)雜的代碼邏輯時(shí)效率有限,同時(shí)也易受到混淆加殼等技術(shù)的影響。而動(dòng)態(tài)分析則可以跳過代碼邏輯,捕捉代碼運(yùn)行時(shí)的惡意行為。動(dòng)靜態(tài)結(jié)合的自動(dòng)化檢測(cè)平臺(tái)極大提高了惡意軟件檢測(cè)的效率和準(zhǔn)確性。
然而,攻擊者也采用了許多手段試圖規(guī)避自動(dòng)化檢測(cè)平臺(tái)的動(dòng)態(tài)分析。在早期,由于自動(dòng)化分析平臺(tái)大多部署在原生Android 模擬器上,攻擊者可以利用大量的模擬器檢測(cè)技術(shù)來規(guī)避動(dòng)態(tài)分析。這些技術(shù)通常包括運(yùn)行時(shí)對(duì)環(huán)境進(jìn)行指紋識(shí)別,以及尋找可區(qū)分物理設(shè)備與模擬器的某些特征。對(duì)此,安全分析人員提出了相應(yīng)對(duì)策來破壞模擬器檢測(cè)的依據(jù),包括在模擬器上做更真實(shí)的仿真,以及直接使用物理設(shè)備。這些對(duì)策可以有效地限制反模擬器類型的動(dòng)態(tài)分析規(guī)避技術(shù)。當(dāng)然,動(dòng)態(tài)分析和規(guī)避之間的對(duì)抗仍在繼續(xù)進(jìn)行。Diao等提出了一種抗交互的規(guī)避技術(shù),成功規(guī)避了多個(gè)分析平臺(tái)的動(dòng)態(tài)分析;Costamagna 等提出了一種基于沙箱特有指紋的規(guī)避方案,對(duì)特定分析平臺(tái)有很好的規(guī)避效果;梁光輝等提出了一種基于代碼進(jìn)化的沙箱規(guī)避檢測(cè)技術(shù),可以有效地檢測(cè)出惡意軟件是否有動(dòng)態(tài)分析規(guī)避行為。
在本文中,我們提出了一種基于操作時(shí)設(shè)備狀態(tài)的變化信息來規(guī)避動(dòng)態(tài)分析的方法。該方法通過記錄Android 軟件在操作(如點(diǎn)擊、滑動(dòng)等)時(shí)加速度傳感器數(shù)據(jù)變化情況,使用時(shí)間序列分析中的平穩(wěn)性檢驗(yàn)來處理傳感器數(shù)據(jù),判斷當(dāng)前軟件操作行為是否來自真實(shí)用戶,進(jìn)而實(shí)現(xiàn)動(dòng)態(tài)分析的規(guī)避。與已有的規(guī)避方案相比,該方法不依賴運(yùn)行的設(shè)備,可以對(duì)抗非常精細(xì)的仿真方案,對(duì)基于模擬器或物理設(shè)備組成的分析平臺(tái)均有良好的效果。我們使用該方案編寫了測(cè)試樣本,對(duì)多個(gè)自動(dòng)化分析平臺(tái)進(jìn)行了測(cè)試,初步結(jié)果可以證明:幾乎所有測(cè)試的平臺(tái)都不能抵御我們的規(guī)避方案。
本文的主要貢獻(xiàn)概括如下:
(1)提出了一種規(guī)避Android 自動(dòng)化分析平臺(tái)的動(dòng)態(tài)分析新方法:基于操作時(shí)設(shè)備狀態(tài)的變化。該方法從新的角度出發(fā),簡(jiǎn)單易實(shí)現(xiàn)且效果較好。
(2)設(shè)計(jì)了測(cè)試樣本,并在常用的一些Android 自動(dòng)化分析平臺(tái)上進(jìn)行了測(cè)試。實(shí)驗(yàn)結(jié)果證明該方法非常有效。
靜態(tài)分析工具往往通過檢查程序的源代碼或二進(jìn)制代碼以識(shí)別惡意負(fù)載,具有分析成本較低、分析速度較快等優(yōu)勢(shì),但是當(dāng)惡意軟件使用混淆或打包技術(shù)時(shí),往往會(huì)使靜態(tài)分析的準(zhǔn)確度大大降低。如許博文的工作所示,常見的Android 混淆技術(shù)就可以使惡意軟件以高成功率逃脫靜態(tài)分析工具。而動(dòng)態(tài)分析框架通過執(zhí)行程序來捕獲運(yùn)行時(shí)的惡意行為,這使得動(dòng)態(tài)分析對(duì)代碼級(jí)規(guī)避技術(shù)有較強(qiáng)的抵抗性,面對(duì)程序邏輯復(fù)雜的惡意軟件也有很好的效果。
Android 動(dòng)態(tài)分析框架通常搭建在模擬器或真機(jī)上,以便運(yùn)行軟件對(duì)惡意行為進(jìn)行捕獲。由于Android 應(yīng)用程序的行為通常由用戶或系統(tǒng)的輸入來啟動(dòng),因此動(dòng)態(tài)分析框架的有效性高度依賴于輸入生成的策略。早期一些動(dòng)態(tài)分析框架使用谷歌公司提供的fuzzrer Monkey工具,它可以生成偽隨機(jī)的用戶事件流(如點(diǎn)擊觸摸等)及系統(tǒng)級(jí)事件(如短信)。但是此種方式的事件輸入對(duì)程序行為的觸發(fā)效果一般。因此其他一些分析平臺(tái)采用谷歌公司開發(fā)的MonkeyRunner 探索工具,使得測(cè)試平臺(tái)能以預(yù)定義的事件序列與應(yīng)用程序交互,提升了代碼覆蓋率。另外,在自動(dòng)化UI 交互過程中,如果完全不考慮正在分析的軟件UI 的獨(dú)特性,可能會(huì)觸發(fā)大量無效操作。為了解決這個(gè)問題,Smart-Droid、AppsPlayground、CuriousDroid分別提出了不同的方法來提高UI 交互的自動(dòng)能力。
1.2.1 模擬器檢測(cè)技術(shù)及其防御措施
大多數(shù)早期Android 自動(dòng)化分析平臺(tái)是基于模擬器搭建的,如cuckoodroid 等。這樣做的好處是沙箱部署起來簡(jiǎn)單經(jīng)濟(jì),且在模擬器上惡意軟件的行為更容易控制。然而,簡(jiǎn)單地使用模擬器會(huì)使攻擊者利用模擬器檢測(cè)技術(shù)很容易就可以繞過沙箱的動(dòng)態(tài)分析。Vidas 等總結(jié)了一些常見的通過模擬器檢測(cè)的手段繞過Android沙箱的技術(shù),如傳感器、藍(lán)牙等硬件信息,以及對(duì)較復(fù)雜指令的處理速度等。Gajrani 等對(duì)部分模擬器檢測(cè)的技術(shù)進(jìn)行了進(jìn)一步整理和細(xì)化,總結(jié)了多處安卓模擬器與真機(jī)可能存在的區(qū)別,并對(duì)多個(gè)分析平臺(tái)進(jìn)行了測(cè)試。此外,由于Android 模擬器檢測(cè)的需求不僅在于惡意軟件對(duì)動(dòng)態(tài)分析的規(guī)避,在諸如手機(jī)游戲多開、外設(shè)檢測(cè)部分也有著相當(dāng)程度的需要,因此對(duì)模擬器檢測(cè)的研究也一直在持續(xù)中。有研究者對(duì)模擬器檢測(cè)的方案做了集成樣本app,可以直接用來檢測(cè)各個(gè)模擬器的反檢測(cè)能力,且仍在不斷更新。
當(dāng)然,對(duì)于模擬器檢測(cè)的種種方案,研究者也找到了許多對(duì)策來抵消或減輕這些方案的效果。Gajrani 等對(duì)模擬器檢測(cè)常用的檢測(cè)特征進(jìn)行了修改,或使用hook 技術(shù)返回給軟件虛擬的更貼近真實(shí)情況的值。Leguesse 等提出了一種沙箱強(qiáng)化的方案,實(shí)現(xiàn)了名為Androneo的系統(tǒng),可以識(shí)別Android 惡意軟件中的沙箱檢測(cè)功能,并更改和禁用其功能,以便沙箱可順利檢測(cè)惡意行為。市面上,夜神、逍遙等模擬器也已經(jīng)對(duì)絕大多數(shù)檢測(cè)特征進(jìn)行了仿真,并隨著檢測(cè)技術(shù)的發(fā)展而不斷補(bǔ)充。Kumar 等部署了一系列基于傳感器、設(shè)備狀態(tài)及系統(tǒng)信息的Android 模擬環(huán)境,尤其在傳感器數(shù)據(jù)方面,收集了真實(shí)用戶使用手機(jī)時(shí)傳感器的數(shù)據(jù)變化情況,整合為模擬數(shù)據(jù)注入模擬環(huán)境中。該文章的工作可以解決絕大部分模擬器檢測(cè)技術(shù)的防御問題。
另一方面,使用物理設(shè)備搭建分析框架可以從根本上解決模擬器檢測(cè)問題。例如,Vidas等部署了名為A5 的混合檢測(cè)系統(tǒng),其中結(jié)合了Android設(shè)備的虛擬和物理環(huán)境。Mutti等建立了名為BareDroid 的分析系統(tǒng),該系統(tǒng)完全建立在真實(shí)的Android 設(shè)備上,并使用了快速恢復(fù)等技術(shù)來降低性能成本。
由于以上反檢測(cè)技術(shù)的存在,基于模擬器檢測(cè)的動(dòng)態(tài)分析規(guī)避方案已經(jīng)很難再取得穩(wěn)定的效果。因此,惡意軟件作者也將目光轉(zhuǎn)移到了其他層面的技術(shù)上。
1.2.2 其他規(guī)避技術(shù)
針對(duì)自動(dòng)化分析框架對(duì)軟件行為觸發(fā)的特點(diǎn),Diao等提出了一種通過交互檢測(cè)的方式來規(guī)避分析的方案。簡(jiǎn)單地說,他們通過檢測(cè)注入事件的主體是否為人類用戶來決定是否觸發(fā)惡意行為。其研究顯示,通過檢測(cè)某些用戶事件帶來的附加數(shù)據(jù)的值,或通過設(shè)置UI陷阱(例如,一個(gè)透明的按鈕)來檢驗(yàn)事件輸入的來源,均可以達(dá)到判斷軟件當(dāng)下運(yùn)行環(huán)境的目的。文中對(duì)多個(gè)檢測(cè)平臺(tái)進(jìn)行了測(cè)試,在所有的平臺(tái)中都可以成功規(guī)避分析。
Costamagna 等則提出了新的規(guī)避分析方式,他們通過沙箱指紋進(jìn)行分析。這里的沙箱指紋指的是某分析平臺(tái)所特有的信息。例如,某沙箱搭載在真實(shí)設(shè)備上,同時(shí)設(shè)置了如通訊錄、短信、常見應(yīng)用安裝等信息來模擬真實(shí)環(huán)境,但只要該沙箱搭載過程中這些信息中存在明顯非真實(shí)用戶產(chǎn)生的信息(如聯(lián)系人名稱為張三、李四)或?yàn)楣潭ㄖ祷蚍峭耆S機(jī),攻擊者即可發(fā)送大量探測(cè)應(yīng)用程序來提取該沙箱指紋并為該沙箱構(gòu)建通用規(guī)避方案。文章對(duì)多個(gè)沙箱進(jìn)行了實(shí)驗(yàn),結(jié)果證實(shí)大多數(shù)沙箱都存在被此種方案攻擊的缺陷。
大部分當(dāng)下使用的Android 分析平臺(tái)已經(jīng)可以避免被模擬器檢測(cè)的方式規(guī)避動(dòng)態(tài)分析?;诮换サ臋z測(cè)效果雖然較好,但實(shí)現(xiàn)方案較為復(fù)雜,且有一定的失敗率。而基于沙箱指紋的規(guī)避技術(shù)可以被完全隨機(jī)生成信息的方式有效防御。
本文提出的動(dòng)態(tài)分析規(guī)避方案主要基于操作時(shí)設(shè)備狀態(tài)的變化。首先通過收集操作設(shè)備時(shí)線性加速度傳感器數(shù)據(jù),重點(diǎn)關(guān)注在操作動(dòng)作較大(如點(diǎn)擊一個(gè)按鈕)時(shí)的一個(gè)較短時(shí)間段內(nèi)傳感器數(shù)據(jù)變化情況,通過對(duì)該時(shí)間段內(nèi)傳感器數(shù)據(jù)做平穩(wěn)性檢驗(yàn)來判斷操作是否來自于真實(shí)用戶,再?zèng)Q定惡意行為的觸發(fā)與否。與上述方法相比,本文提出的方案不依賴運(yùn)行設(shè)備,容易實(shí)現(xiàn)且成功率較高。
為了可以準(zhǔn)確地通過傳感器數(shù)據(jù)判斷設(shè)備狀態(tài),本文引入了應(yīng)用統(tǒng)計(jì)學(xué)中的時(shí)間序列分析的部分內(nèi)容。時(shí)間序列(或稱動(dòng)態(tài)數(shù)列)是指將同一統(tǒng)計(jì)指標(biāo)的數(shù)值按其發(fā)生的時(shí)間先后順序排列而成的數(shù)列。時(shí)間序列分析的主要目的是根據(jù)已有的歷史數(shù)據(jù)對(duì)未來進(jìn)行預(yù)測(cè)。生活中時(shí)間序列的例子很多,如一個(gè)公司幾年中每月的繳稅額,一個(gè)地區(qū)每日的平均氣溫等。常用時(shí)間序列模型有自回歸(AR)模型、滑動(dòng)平均(MA)模型、自回歸滑動(dòng)平均(ARMA)模型等。
為了使用時(shí)間序列來有效預(yù)測(cè)未來一段時(shí)間數(shù)據(jù)變化的趨勢(shì),首先要對(duì)時(shí)間序列進(jìn)行平穩(wěn)性檢驗(yàn)。所謂時(shí)間序列平穩(wěn),是指該序列基本不存在某種變化趨勢(shì),序列中的觀察值基本在某個(gè)固定的水平上波動(dòng),在不同時(shí)間波動(dòng)程度可能不同,但并不存在某種規(guī)律,其波動(dòng)可以看作是隨機(jī)的。圖1展示了某平穩(wěn)時(shí)間序列和某不平穩(wěn)時(shí)間序列的數(shù)據(jù)圖形。容易看出,圖中下方曲線在后半段有明顯的遞增趨勢(shì),故可簡(jiǎn)單判斷其時(shí)間序列不平穩(wěn)。
圖1 不同時(shí)間序列對(duì)比
平穩(wěn)性檢驗(yàn)的一個(gè)直觀方法是觀察法。然而,并非所有時(shí)間序列的圖像都如上圖一般容易區(qū)分。嚴(yán)格的統(tǒng)計(jì)學(xué)檢驗(yàn)方法是單位根檢驗(yàn)法。單位根檢驗(yàn)方式有ADF 檢驗(yàn)、PP 檢驗(yàn)、NP檢驗(yàn)等。最常用的是ADF 檢驗(yàn)。在ADF 檢驗(yàn)中,如果存在單位根,則序列不平穩(wěn)。因此,ADF 檢驗(yàn)的H0 假設(shè)即為存在單位根。使用ADF檢驗(yàn)可以計(jì)算出時(shí)間序列的顯著性檢驗(yàn)統(tǒng)計(jì)量(通常稱為p-value),如果得到p-value值小于三個(gè)置信度(10%,5%,1%),則對(duì)應(yīng)有(90%,95%,99%)的把握來拒絕原假設(shè)。
Android 系統(tǒng)提供了多種傳感器供應(yīng)用層調(diào)用。其中,加速度傳感器(G-sensor)、重力傳感器(GV-sensor)和線性加速度傳感器(LA-sensor)共用一套坐標(biāo)系統(tǒng),如圖2所示(三維坐標(biāo)圖)。
圖2 傳感器坐標(biāo)系
當(dāng)設(shè)備處于圖示屏幕方向時(shí),軸為水平坐標(biāo)軸,軸為豎直坐標(biāo)軸,軸為垂直于屏幕方向的坐標(biāo)軸。加速度傳感器返回,,三軸加速度值,包含重力影響;重力傳感器輸出重力數(shù)據(jù);線性加速度傳感器反映加速度傳感器減去重力影響獲取的數(shù)據(jù)。因此,當(dāng)設(shè)備靜止時(shí),線性加速度傳感器的返回值近似為0。為獲得直觀準(zhǔn)確的數(shù)據(jù),本文采取線性加速度傳感器進(jìn)行采樣。
在Android 系統(tǒng)中調(diào)用傳感器十分方便,只需先給Activity實(shí)現(xiàn)SensorEventListener 接口,以便于后續(xù)持續(xù)監(jiān)聽數(shù)據(jù),然后創(chuàng)建SensorManager對(duì)象并為它注冊(cè)傳感器監(jiān)聽器即可使用。同時(shí),Android 系統(tǒng)規(guī)定了四種采樣頻率,由慢至快依 次 為SENSOR_DELAY_NOMAL、 SENSOR_DELAY_UI、SENSOR_DELAY_GAME、SENSOR_DELAY_FASTEST。為保證采集數(shù)據(jù)的數(shù)量能夠滿足后文統(tǒng)計(jì)算法的要求,本文采用采樣速度適中的SENSOR_DELAY_UI 級(jí)別,約每秒采樣20次。
我們注意到,無論是基于真實(shí)設(shè)備還是基于模擬器的自動(dòng)化分析框架,其對(duì)軟件的輸入方式都與真實(shí)用戶與軟件的交互方式有一處不同:真實(shí)用戶在執(zhí)行點(diǎn)擊或滑動(dòng)等操作時(shí)往往會(huì)使設(shè)備產(chǎn)生一段較大程度的晃動(dòng),而自動(dòng)化分析框架的傳感器或物理設(shè)備均是處于靜態(tài),且在執(zhí)行操作時(shí)也不會(huì)帶來設(shè)備的物理狀態(tài)變化。以點(diǎn)擊一枚位置靠上的按鈕為例(如圖3)。
圖3 點(diǎn)擊示例
圖4顯示了在用戶持握手機(jī)2 秒左右時(shí)間內(nèi)共40個(gè)軸線性加速度傳感器數(shù)據(jù)的變化情況,從圖4可以看出,僅持握狀態(tài)下由于人手輕微抖動(dòng)等原因,加速度值一直在變化,但總體表現(xiàn)較為穩(wěn)定,ADF檢驗(yàn)結(jié)果也為平穩(wěn)。
圖4 X軸線性加速度傳感器數(shù)據(jù)變化
圖5顯示了持握一段時(shí)間后點(diǎn)擊該按鈕,以點(diǎn)擊時(shí)刻為截至?xí)r刻,向前共計(jì)40 個(gè)X 軸線性加速度傳感器數(shù)據(jù)的變化情況。由圖5 可以看出,用戶在點(diǎn)擊該按鈕前的一小段時(shí)間,傳感器數(shù)據(jù)產(chǎn)生了較大波動(dòng), ADF 檢驗(yàn)結(jié)果也為不平穩(wěn)。這是由于手機(jī)的形狀和按鈕的位置影響,為了點(diǎn)擊按鈕必然使手機(jī)向一側(cè)傾斜,導(dǎo)致了上述現(xiàn)象。而分析平臺(tái)的設(shè)備,往往只進(jìn)行了簡(jiǎn)單的傳感器數(shù)據(jù)模擬,即使如較高級(jí)的仿真技術(shù),將模擬真實(shí)的可變傳感器數(shù)值注入分析平臺(tái)的設(shè)備中,傳感器數(shù)值也只能模擬常規(guī)的設(shè)備使用狀態(tài),不能做到在點(diǎn)擊按鈕的時(shí)刻產(chǎn)生相應(yīng)的波動(dòng),其傳感器數(shù)據(jù)變化情況應(yīng)與真實(shí)用戶在僅手持狀態(tài)類似。
圖5 存在點(diǎn)擊操作的X軸線性加速度傳感器數(shù)據(jù)變化
因此,本文針對(duì)這點(diǎn)來實(shí)現(xiàn)對(duì)自動(dòng)化動(dòng)態(tài)分析的規(guī)避。以點(diǎn)擊界面按鈕為例,首先通過監(jiān)聽線性加速度傳感器采集手機(jī)加速度數(shù)據(jù),在點(diǎn)擊按鈕的時(shí)刻停止記錄,由于點(diǎn)擊按鈕帶來的設(shè)備抖動(dòng),手機(jī)加速度數(shù)據(jù)必然會(huì)有一段較大波動(dòng),而自動(dòng)化測(cè)試工具則不會(huì)導(dǎo)致這種變化;取最后40 個(gè)加速度數(shù)據(jù)值,使用ADF 算法計(jì)算采集的傳感器數(shù)據(jù),如果數(shù)據(jù)平穩(wěn)則判斷為自動(dòng)化測(cè)試平臺(tái),反之則判斷為真實(shí)用戶;最后通過判斷結(jié)果來決定要繼續(xù)表現(xiàn)的行為。
為了檢驗(yàn)本文的動(dòng)態(tài)分析規(guī)避方案是否有效,本文設(shè)計(jì)了一款名為Devil 的惡意樣本。該樣本會(huì)讀取手機(jī)通訊錄及短信,并上傳至指定服務(wù)器,該行為模擬惡意軟件竊取用戶信息。同時(shí),我們?cè)趶?fù)制的Devil 樣本上搭載了本文的動(dòng)態(tài)分析規(guī)避方案,命名為HideDevil。HideDevil 加入了一個(gè)初始頁面,如圖3 所示,在該頁面設(shè)有一個(gè)位置靠上的按鈕,通過對(duì)按鈕的點(diǎn)擊確定當(dāng)前是否為真實(shí)用戶在使用。若是,則繼續(xù)表現(xiàn)惡意行為;若不是,則隱藏惡意行為。
本文共設(shè)計(jì)兩個(gè)實(shí)驗(yàn)。第一個(gè)實(shí)驗(yàn)用來驗(yàn)證該方案能否準(zhǔn)確地判斷真實(shí)用戶。我們使用測(cè)試樣本,針對(duì)現(xiàn)實(shí)生活中常見的四種使用手機(jī)的方式(置于桌面使用、坐姿手持使用、站姿手持使用和行走手持使用)進(jìn)行了多次實(shí)驗(yàn)。該實(shí)驗(yàn)使用華為榮耀v9手機(jī)作為實(shí)驗(yàn)設(shè)備。第二個(gè)實(shí)驗(yàn)用來檢驗(yàn)該方案能否有效規(guī)避常見分析平臺(tái)的動(dòng)態(tài)分析,即將Devil樣本和HideDevil樣本分別投入分析框架進(jìn)行檢測(cè)。我們對(duì)常用的幾個(gè)線上分析平臺(tái)和線下分析框架進(jìn)行了測(cè)試。
表1和表2 分別為實(shí)驗(yàn)一和實(shí)驗(yàn)二的結(jié)果展示。
表1 實(shí)驗(yàn)一的結(jié)果
表2 實(shí)驗(yàn)二的結(jié)果
由實(shí)驗(yàn)一的結(jié)果可以看出,本文方案在坐姿手持使用、站姿手持使用和行走手持使用時(shí)均可準(zhǔn)確檢測(cè)出真實(shí)用戶;在放置桌面使用時(shí)則有多次認(rèn)為運(yùn)行環(huán)境是分析框架。這個(gè)現(xiàn)象的原因在于,放置桌面使用時(shí),若用戶的點(diǎn)擊動(dòng)作不是很重,手機(jī)不會(huì)有太大的晃動(dòng),此時(shí)ADF 算法計(jì)算傳感器數(shù)據(jù)可能為平穩(wěn),因此樣本會(huì)判定運(yùn)行環(huán)境為分析框架。然而,我們認(rèn)為這種錯(cuò)誤判斷幾乎不會(huì)造成影響,因?yàn)橐粋€(gè)軟件幾乎不可能只使用一次,也幾乎不可能每次使用時(shí)用戶都恰好將其置于桌面使用。因此對(duì)于大多數(shù)惡意行為而言,仍可以在其他使用方式時(shí)達(dá)成其目的。換言之,惡意軟件的作者使用這種方式來規(guī)避動(dòng)態(tài)分析仍然是可行的,不會(huì)影響其惡意行為的最終實(shí)現(xiàn)。
由實(shí)驗(yàn)二的結(jié)果可以看出,所有測(cè)試平臺(tái)均可檢測(cè)出Devil 樣本的惡意行為,同時(shí)均不能檢測(cè)出HideDevil 樣本的惡意行為。即對(duì)本文采用的測(cè)試平臺(tái),本文的規(guī)避方案均可成功規(guī)避它們的動(dòng)態(tài)分析。
本文提出了一種新的規(guī)避Android 自動(dòng)化分析平臺(tái)動(dòng)態(tài)分析的方法,這種方法基于使用設(shè)備時(shí)設(shè)備狀態(tài)的變化,初步的實(shí)驗(yàn)證明,相比于已有的多種規(guī)避方案,該方案在規(guī)避效果和使用難易程度上均有一定優(yōu)勢(shì)。我們認(rèn)為Android 自動(dòng)化分析平臺(tái)在方便、高效率分析的同時(shí),仍可進(jìn)一步研究縮小自動(dòng)化操作與用戶操作的微小區(qū)別,以提高檢測(cè)的準(zhǔn)確性。
另外,本文規(guī)避方案的局限性如下:由于本文規(guī)避方案是基于設(shè)備狀態(tài)的變化,因此使用本文規(guī)避方案的惡意軟件只能是針對(duì)日常手機(jī)用戶的惡意軟件,而目標(biāo)設(shè)備本就為固定設(shè)備(如服務(wù)器木馬)等類型的惡意軟件無法使用本文規(guī)避方案。