任李
摘 要 Android系統(tǒng)由于其開放開源的特征,被廣泛使用于眾多智能移動平臺,同時其安全問題也日益突出。本文提出了一種基于Android平臺的惡意代碼動靜態(tài)聯(lián)合檢測方法,克服了單一檢測方式容易漏報、誤報的缺點。
關(guān)鍵詞 Android 動態(tài) 靜態(tài) 惡意代碼
1 引入
Android系統(tǒng)目前已經(jīng)成為移動平臺上主流的操作系統(tǒng),在當前智能手機市場占有很高的份額,其安全問題也越來越引人關(guān)注。Android是以Linux為基礎(chǔ)的開源軟件,各大軟硬件廠商在此基礎(chǔ)上可以個性化定制開發(fā)自己的特色產(chǎn)品,升級提升技術(shù),自主創(chuàng)新,但是正是由于這種開放開源的特點,也給Android平臺帶來巨大安全隱患。
2 Android安全機制分析
Android的安全機制十分重要,必須保護隱私信息不被泄露,防止惡意代碼破壞系統(tǒng)自身。Android的安全機制是基于Linux安全機制改進而來,它是一個權(quán)限分離系統(tǒng),可以有效隔離進程之間數(shù)據(jù)和內(nèi)存。在此基礎(chǔ)上,Android在應(yīng)用框架層、運行環(huán)境層、內(nèi)核層上都有自己的安全防范機制。但是,Android自身防范機制并不能完全有效阻止惡意代碼,必須對未知代碼進行檢測,阻止惡意代碼破壞。
3惡意代碼靜態(tài)檢測
基于行為的惡意代碼檢測,是對源代碼進行反匯編后抽取代碼的系統(tǒng)結(jié)構(gòu)和系統(tǒng)調(diào)用,分析判斷其行為,計算和樣本庫中的惡意行為匹配度來判斷。主要是抽取源代碼中的敏感API信息、Intent信息、Content Provider信息作為備選特征項,通過SVD算法篩選相應(yīng)屬性。SVD提供了一種方法將一個矩陣拆分成簡單的,并且有意義的幾塊,達到降低維度的作用。
4 惡意代碼動態(tài)檢測
移動平臺手機交互行為難以獲取,但系統(tǒng)變化狀態(tài)可以觀察,通過觀察系統(tǒng)變化狀態(tài),側(cè)面獲取系統(tǒng)行為,圖1為隱馬爾可夫模型隱含狀態(tài)和觀察值轉(zhuǎn)移。建立樣本庫行為序列HMM模型,檢測源代碼行為序列和HMM模型匹配程度,判斷是否為惡意代碼。
隱馬爾可夫模型隱含狀態(tài)和觀察值轉(zhuǎn)移對惡意代碼進行檢測時,分別獲取樣本序列和待測序列狀態(tài)轉(zhuǎn)移序列,建立相應(yīng)的序列庫,計算匹配率,如果匹配率超過閾值r,則判定為惡意代碼。最后根據(jù)動靜態(tài)檢測準確度,賦予相應(yīng)的權(quán)重,進行加權(quán)聯(lián)合判斷。加權(quán)公示如(2)所示。其中a1、a2分別是動態(tài)和靜態(tài)檢測的權(quán)重,p1、p2是動態(tài)靜態(tài)檢測出的概率。
5結(jié)束語
Android平臺惡意代碼攻擊越來越多,單一的靜態(tài)或者動態(tài)檢測方式容易產(chǎn)生誤報、漏報現(xiàn)象,本文提出了一種聯(lián)合加權(quán)的Android平臺惡意代碼檢測方式,能夠有效避免漏報和誤報現(xiàn)象發(fā)生。
參考文獻
[1] 童振飛,楊庚.Android平臺惡意軟件的靜態(tài)行為檢測[J].江蘇通信,2011(01):39-42+47.
[2] 周正,劉毅,李建,沈昌祥.計算機抗惡意代碼免疫模型[J].計算機工程,2008(17):7-9.