樓赟程, 施勇, 薛質(zhì)
(上海交通大學(xué) 信息安全工程學(xué)院,上海,200240)
基于逆向工程的Android惡意行為檢測方法*
樓赟程, 施勇, 薛質(zhì)
(上海交通大學(xué) 信息安全工程學(xué)院,上海,200240)
由于Android系統(tǒng)應(yīng)用市場的特性導(dǎo)致惡意軟件傳播迅速,對用戶的手機(jī)乃至個(gè)人隱私造成了十分巨大的危害。本文首先介紹了Android應(yīng)用的逆向技術(shù),然后分析了惡意代碼采用的多種Android代碼隱藏技術(shù)及隱私獲取的代碼特征。針對這些情況,本文基于Android的逆向工程提出了一種靜態(tài)檢測和動態(tài)檢測相結(jié)合的惡意行為檢測方法,可以更加有效的檢測代碼中的惡意行為。最后通過對Android樣本應(yīng)用的分析表明此方法的可行性與有效性。
Android;惡意代碼;代碼隱藏;行為檢測
近年來,智能手機(jī)一直在高速發(fā)展,普及率越來越高。一直以來,Android系統(tǒng)因?yàn)槠溟_源的特性一直在安全層面上被人們所詬病,其惡意軟件的數(shù)量及其惡意行為的嚴(yán)重性也遠(yuǎn)遠(yuǎn)超過了蘋果的IOS系統(tǒng)。隱私竊取、惡意扣費(fèi)、系統(tǒng)破壞、遠(yuǎn)程控制等行為已經(jīng)成為惡意軟件和病毒的主要破壞手段。所以如何對Android應(yīng)用進(jìn)行惡意行為檢測室一個(gè)十分重要的工作。
2010年由William Enck等人提出的TaintDroid動態(tài)污點(diǎn)跟蹤系統(tǒng)可以說是近年來實(shí)用性和擴(kuò)展性都比較高的惡意行為檢測系統(tǒng)之一[1]。無論國外和國內(nèi)都有許多研究人員對其進(jìn)行了擴(kuò)展和修補(bǔ)[2-3],故Android上的動態(tài)污點(diǎn)跟蹤系統(tǒng)已經(jīng)十分完善了,但其本質(zhì)是不變的。用動態(tài)污點(diǎn)跟蹤的方法必須要修改操作系統(tǒng)原始的數(shù)據(jù)保存結(jié)構(gòu),在正常數(shù)據(jù)后添加污點(diǎn)數(shù)據(jù)。……