国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種安卓系統(tǒng)非正常程序的檢測(cè)方法實(shí)證研究

2019-03-11 06:29李清煬
關(guān)鍵詞:調(diào)用安卓類別

李清煬

一種安卓系統(tǒng)非正常程序的檢測(cè)方法實(shí)證研究

李清煬

華東政法大學(xué) 刑事司法學(xué)院, 上海 201620

針對(duì)安卓系統(tǒng)非正常程序較多的現(xiàn)狀,提出一種新的檢測(cè)方法,結(jié)合了應(yīng)用程序分類以及系統(tǒng)調(diào)用法,目的是提高安卓系統(tǒng)非正常程序檢測(cè)的準(zhǔn)確性。計(jì)算分類的數(shù)據(jù)采自谷歌商店,非正常程序樣本采自安卓病毒共享庫(kù),通過(guò)系統(tǒng)調(diào)用值和閾值的計(jì)算對(duì)比,判斷實(shí)驗(yàn)樣本的正常性。實(shí)驗(yàn)結(jié)果表明:本文提出的方法能夠準(zhǔn)確檢測(cè)出安卓系統(tǒng)中的非正常程序,有一定的推廣價(jià)值。

安卓系統(tǒng); 非正常程序; 檢測(cè); SMO

隨著安卓應(yīng)用軟件的不斷增多,非正常程序也在快速增長(zhǎng)。安卓用戶使用的第三方應(yīng)用程序主要是從谷歌商店搜索、購(gòu)買和下載的,但是谷歌商店的非正常程序檢測(cè)機(jī)制存在一定的缺陷,使得程序安全性難以得到完全保障。非正常程序往往帶有惡意攻擊的目的,而且會(huì)產(chǎn)生變種,攻擊手段也變得越來(lái)越豐富。當(dāng)前關(guān)于安卓系統(tǒng)非正常程序檢測(cè)使用較多的有靜態(tài)法和動(dòng)態(tài)法。靜態(tài)法是依靠純技術(shù)手段對(duì)檢測(cè)目標(biāo)的特征進(jìn)行抽取和分析,無(wú)需運(yùn)行目標(biāo)軟件;動(dòng)態(tài)法則需要運(yùn)行目標(biāo)軟件,通過(guò)動(dòng)態(tài)分析對(duì)目標(biāo)軟件的行為進(jìn)行檢測(cè)。Shawn Powers用靜態(tài)法抽取目標(biāo)軟件的特征樣本,根據(jù)提前構(gòu)建的函數(shù)調(diào)用表進(jìn)行對(duì)比分析,結(jié)合分類法判斷程序的正常與否[1]。但是靜態(tài)法只能識(shí)別以往出現(xiàn)過(guò)的不正常程序特征,對(duì)于新型的不正常程序難以檢測(cè)。Chanajitt等通過(guò)動(dòng)態(tài)法記錄目標(biāo)軟件的運(yùn)行日志,利用日志信息對(duì)不正常程序進(jìn)行檢測(cè),并用回歸分析法以及決策樹法分類不正常事件[2]。動(dòng)態(tài)法會(huì)占用較多的手機(jī)系統(tǒng)資源,而且代碼覆蓋率并不高,經(jīng)常有漏報(bào)現(xiàn)象出現(xiàn)。針對(duì)兩種方法存在的局限性,本文提出了一種新型的檢測(cè)方法,通過(guò)SMO算法進(jìn)行分類學(xué)習(xí),檢測(cè)工作由遠(yuǎn)程服務(wù)器進(jìn)行,并使用優(yōu)化算法細(xì)分應(yīng)用程序,最后調(diào)用系統(tǒng)數(shù)據(jù)實(shí)現(xiàn)非正常程序的準(zhǔn)確檢測(cè)。

1 安卓系統(tǒng)非正常程序的檢測(cè)過(guò)程

1.1 安卓系統(tǒng)非正常程序的檢測(cè)流程

本文檢測(cè)安卓系統(tǒng)非正常程序的流程如圖1所示。首先按照已經(jīng)收集好的權(quán)限信息情況,對(duì)權(quán)限向量進(jìn)行提取,采用SMO分類器實(shí)現(xiàn)分類學(xué)習(xí),并構(gòu)建分類模型,然后采集各類別中的應(yīng)用程序調(diào)用頻數(shù),準(zhǔn)確計(jì)算系統(tǒng)調(diào)用閾值。當(dāng)新安裝的應(yīng)用程序開始運(yùn)行時(shí),會(huì)將程序權(quán)限信息發(fā)送給服務(wù)器,并在類別判定之后每隔1 min上傳調(diào)用數(shù)據(jù),計(jì)算出調(diào)用值的大小,并與調(diào)用閾值相對(duì)比,判斷程序的正常與否,如果程序非正常,則整個(gè)監(jiān)控過(guò)程結(jié)束。在10 min里面,如果沒(méi)有發(fā)現(xiàn)非常行為,則可以定性為正常程序,整個(gè)監(jiān)控過(guò)程結(jié)束。檢測(cè)結(jié)果會(huì)反饋給用戶,如果用戶發(fā)現(xiàn)分類有誤,還可以對(duì)分類進(jìn)行修改,然后重新開始監(jiān)控。

圖 1 安卓系統(tǒng)非正常程序檢測(cè)流程圖

1.2 基于SMO算法的分類學(xué)習(xí)

在谷歌商店里,全部應(yīng)用程序總共分成了26個(gè)大類別。本文通過(guò)Python腳本獲取每一個(gè)大類別中一定數(shù)量程序的權(quán)限使用情況,同時(shí)結(jié)合AAPT提取訓(xùn)練集中的安卓顯示文件,該文件為XML格式,在自動(dòng)化分析下可以抓取相關(guān)的權(quán)限標(biāo)簽,得到每一個(gè)程序的權(quán)限使用情況。

程序1:讀取安卓顯示代碼

假設(shè)當(dāng)前的應(yīng)用程序數(shù)量為個(gè),任意一個(gè)程序的權(quán)限使用情況記錄成:A(1,2,…136。A(1≤≤)為程序名稱,136表示安卓系統(tǒng)根據(jù)字母表進(jìn)行順序排列的136個(gè)權(quán)限,如果程序使用該權(quán)限則記成1,否則記成0。盡管安卓應(yīng)用程序的全部權(quán)限達(dá)到了136個(gè),但這些權(quán)限并不會(huì)同時(shí)使用。據(jù)相關(guān)統(tǒng)計(jì),安卓應(yīng)用程序能夠申請(qǐng)到的權(quán)限一般為10~25個(gè)[3]。Rajivkumar等在研究中證明了SMO算法對(duì)安卓應(yīng)用程序權(quán)限分類有著較好的效果[4]。Elbert等采用了SMO以及其它三種算法,分別驗(yàn)證安卓應(yīng)用程序的權(quán)限分類結(jié)果,實(shí)驗(yàn)結(jié)果證明SMO算法的查全率和準(zhǔn)確率更高[5]。本文通過(guò)SMO算法進(jìn)行分類學(xué)習(xí),最終實(shí)現(xiàn)對(duì)安卓應(yīng)用程序權(quán)限的準(zhǔn)確分類。

假設(shè)訓(xùn)練數(shù)據(jù)為個(gè),所有訓(xùn)練數(shù)據(jù)統(tǒng)計(jì)成:(1,1)(2,2),…(A,S),用A(1≤≤)代表權(quán)限使用情況,用S(1≤≤)代表分類標(biāo)簽,標(biāo)簽值用1或-1表示,其中1表示一類,-1表示另一類。通過(guò)SMO算法兩兩比較訓(xùn)練數(shù)據(jù)類別,按照程序權(quán)限進(jìn)行分類學(xué)習(xí),由此判斷出權(quán)限類別。當(dāng)應(yīng)用程序新安裝并運(yùn)行時(shí),程序權(quán)限使用情況會(huì)傳給遠(yuǎn)程服務(wù)器,在服務(wù)器端分析處理之后,得出權(quán)限向量并進(jìn)一步比較與確定。

圖 2 Financial statistics應(yīng)用程序系統(tǒng)調(diào)用頻數(shù)

1.3 基于系統(tǒng)調(diào)用的安卓非正常程序檢測(cè)

在Linux3.10內(nèi)核中,系統(tǒng)調(diào)用達(dá)到了290個(gè)。按照Kirubavathi等的研究結(jié)果,對(duì)于安卓應(yīng)用程序行為的反映,能夠使用到的系統(tǒng)調(diào)用并不多[6]。為盡量提升結(jié)果的精確性,并且降低運(yùn)算量,本文使用的系統(tǒng)調(diào)用有18個(gè),包括文件打開和讀取、子進(jìn)程創(chuàng)建、可執(zhí)行文件運(yùn)行等系統(tǒng)調(diào)用。以Financial statistics財(cái)務(wù)管理應(yīng)用程序?yàn)槔瑱z測(cè)這一分鐘內(nèi)調(diào)用系統(tǒng)的頻數(shù),如圖2所示。

程序2:獲取系統(tǒng)調(diào)用的代碼

Financial statistics表面是一款財(cái)務(wù)管理的應(yīng)用程序,但非正常程序發(fā)布者可以利用該程序?qū)τ脩綦[私信息進(jìn)行主動(dòng)收集。根據(jù)圖2顯示的系統(tǒng)調(diào)用頻數(shù),I/O總控制函數(shù)(ioctl)調(diào)用數(shù)最高,超過(guò)了2000次。Gaviria等認(rèn)為正常運(yùn)行于Linux內(nèi)核中的進(jìn)程,系統(tǒng)調(diào)用頻數(shù)相對(duì)比較穩(wěn)定,但有非正常行為產(chǎn)生時(shí),則系統(tǒng)調(diào)用頻數(shù)會(huì)出現(xiàn)較大的波動(dòng)[7]。本文使用的18個(gè)系統(tǒng)調(diào)用頻數(shù)在正常情況下較穩(wěn)定,但出現(xiàn)非正常行為時(shí)將導(dǎo)致頻數(shù)改變。在基于SMO算法的分類學(xué)習(xí)之后,本文基于系統(tǒng)調(diào)用對(duì)安卓非正常程序進(jìn)行檢測(cè)。

第一步:計(jì)算每分鐘內(nèi)應(yīng)用程序的系統(tǒng)調(diào)用權(quán)值:(S,R)=U×(1-(S,R))2(1)

在上式中,S(1≤≤18)代表第個(gè)系統(tǒng)調(diào)用;R(1≤≤26)代表谷歌商店根據(jù)英文字母順序進(jìn)行排列的第個(gè)類別;U(1≤≤18)代表第個(gè)系統(tǒng)調(diào)用的實(shí)際情況,如果已使用記成1,如果未使用記成0;(S,R)是系統(tǒng)調(diào)用的出現(xiàn)頻率;(S,R)是1 min時(shí)間里產(chǎn)生的系統(tǒng)調(diào)用權(quán)值。

第二步:確定每一個(gè)類別下面系統(tǒng)調(diào)用的閾值。抽取訓(xùn)練集每一類別中個(gè)正常程序,在-1至(1≤≤10,?) min里面連續(xù)操作,總耗時(shí)10 min,系統(tǒng)調(diào)用值計(jì)算如公式(2)所示,系統(tǒng)調(diào)用閾值計(jì)算如公式(3)所示。

對(duì)比分析系統(tǒng)調(diào)用值與系統(tǒng)調(diào)用閾值,如在10 min里面系統(tǒng)調(diào)用值≥系統(tǒng)調(diào)用閾值,則可以判斷為非正常程序,10 min里面系統(tǒng)調(diào)用值<系統(tǒng)調(diào)用閾值,可以判斷為正常程序。

2 實(shí)驗(yàn)分析

2.1 安卓系統(tǒng)應(yīng)用程序分類結(jié)果與分析

本實(shí)驗(yàn)通過(guò)Python腳本抓取谷歌商店中不同類別下面的應(yīng)用程序,抓取量為2096個(gè),這些程序組合成訓(xùn)練集,在每個(gè)類別中的分布情況如圖3所示。

通過(guò)Python腳本讀取每個(gè)程序的安卓顯示代碼,分析出程序的權(quán)限向量,然后隨機(jī)選擇10個(gè)大分類,采用SMO分類器進(jìn)行分類學(xué)習(xí),結(jié)果如表1所示。

圖 3 被抓取程序在每個(gè)類別中的分布情況

表 1 應(yīng)用程序分類結(jié)果

根據(jù)應(yīng)用程序分類結(jié)果,準(zhǔn)確率和查全率都比較高,證明SMO分類器可以進(jìn)行較好的分類學(xué)習(xí)。

2.2 安卓系統(tǒng)非正常程序檢測(cè)結(jié)果與分析

本實(shí)驗(yàn)從谷歌商店選取與SMO分類學(xué)習(xí)相同的10個(gè)大分類,每一個(gè)分類選取20個(gè)程序,依次在安卓手機(jī)中安裝,并對(duì)程序功能操作10 min,通過(guò)Python腳本分析系統(tǒng)調(diào)用數(shù)據(jù),使用公式(3)計(jì)算系統(tǒng)調(diào)用閾值,結(jié)果如表2所示。

本實(shí)驗(yàn)從安卓病毒共享庫(kù)中提取20個(gè)不正常樣本,然后從谷歌商店中提取10個(gè)正常樣本,分別在安卓手機(jī)中安裝,通過(guò)Python腳本分析,并使用公式(2)計(jì)算10 min操作過(guò)程中的系統(tǒng)調(diào)用值,部分應(yīng)用程序的非正常檢測(cè)結(jié)果如表3所示。

表 2 系統(tǒng)調(diào)用閾值統(tǒng)計(jì)

表 3 部分應(yīng)用程序非正常檢測(cè)結(jié)果

3 討論

從實(shí)驗(yàn)結(jié)果看,正確判斷應(yīng)用程序類別將對(duì)檢測(cè)結(jié)果造成直接的影響。根據(jù)谷歌商店的分類,F(xiàn)inancial statistics歸屬于財(cái)務(wù)分類,系統(tǒng)調(diào)用閾值為3.297,如果判斷為交通運(yùn)輸類,則系統(tǒng)調(diào)用閾值為3.477,而Financial statistics系統(tǒng)調(diào)用值為3.386,則該程序會(huì)被判斷為正常,由此造成了檢測(cè)誤判。只有先正確判斷出程序類別,才能進(jìn)一步進(jìn)行檢測(cè),程序類別是決定檢測(cè)準(zhǔn)確率的主要因素。Coelho等提出一種基于系統(tǒng)調(diào)用的安卓系統(tǒng)非正常程序檢測(cè)法,將系統(tǒng)調(diào)用事件分成正常和非正常兩種,通過(guò)系統(tǒng)調(diào)用的頻數(shù)信息抽取和計(jì)算,對(duì)比兩種事件的相似度,由此判斷程序正常與否[8]。Avuclu等認(rèn)為安卓系統(tǒng)非正常程序檢測(cè)需要以程序分類為基礎(chǔ),提出一種調(diào)用程序分類參數(shù)的方法,為非正常程序檢測(cè)提供重要依據(jù)[9]。但這些方法都有一定的片面性,本文采用的檢測(cè)法綜合了程序分類和系統(tǒng)調(diào)用,對(duì)于安卓系統(tǒng)非正常程序檢測(cè)有著更高的準(zhǔn)確率。

4 結(jié)論

本文提出的一種安卓系統(tǒng)非正常程序檢測(cè)方法,主要是以應(yīng)用程序的分類為前提,同時(shí)結(jié)合系統(tǒng)調(diào)用法,通過(guò)安卓手機(jī)收集應(yīng)用程序的權(quán)限信息以及系統(tǒng)調(diào)用數(shù)據(jù),然后發(fā)送到遠(yuǎn)程服務(wù)器,由遠(yuǎn)程服務(wù)器按照權(quán)限信息實(shí)現(xiàn)應(yīng)用程序的分類,以此為依據(jù)統(tǒng)計(jì)系統(tǒng)調(diào)用的頻數(shù),檢測(cè)運(yùn)行程序的正常與否。根據(jù)實(shí)驗(yàn)結(jié)果,本文提出的方法能夠準(zhǔn)確檢測(cè)出安卓系統(tǒng)中的非正常程序。

[1] Powers S. Android Candy: A Virtual Android[J]. Journal of business logistics, 2017(6):14-25

[2] Chanajitt R, Viriyasitavat W, Raymond Choo KK. Forensic analysis and security assessment of Android m-banking apps[J]. The Australian journal of forensic sciences, 2018,50(4):1-17

[3] 徐林溪,郭帆.基于混合特征的惡意安卓程序檢測(cè)方法[J].計(jì)算機(jī)工程與科學(xué),2017,40(10):1837-1846

[4] Mente R, Bagadi A. Android Application Security[J]. Advances in computational sciences and technology, 2017,10(4):1207-1210

[5] Jan van Veldhuizen E. ESP8266 on the Elektor Android I/O Board Load new firmware yourself[J]. Elektor, 2018(1):100-104

[6] Kirubavathi G, Anitha R. Structural analysis and detection of android botnets using machine learning techniques[J]. International Journal of Information Security, 2018,17(2):153-167

[7] de la Puerta G, Borja JS. Using Dalvik opcodes for malware detection on android[J]. Logic journal of the IGPL, 2017,25(6):938-948

[8] Coelho R, Almeida L, Gousios G,. Exception handling bug hazards in Android[J]. Empirical software engineering, 2017,22(3):1264-1304

[9] Avu?lu E, Ba??ift?i F. A new approach to minimize the loss of life after natural hazards by using Android operating system[J]. Natural Hazards, 2018,90(2):1005-1016

Empirical Study on Detecting Abnormal Procedures in Android Systems

LI Qing-yang

201620,

Aiming at the current situation that there are many abnormal programs in Android system, a new detection method is proposed, which combines application classification and system call method. The purpose is to improve the accuracy of the detection of abnormal programs in Android system. The classified data were collected from Google Store, and the abnormal program samples were collected from Android virus shared library. The normality of the experimental samples was judged by comparing the system call values and thresholds. The experimental results show that the method proposed in this paper can accurately detect abnormal programs in Android system, and has certain popularization value.

Android system; abnormal procedures; detection; SMO

TP391

A

1000-2324(2019)01-0150-04

10.3969/j.issn.1000-2324.2019.01.034

2018-07-20

2018-09-22

李清煬(1999-),男,在讀本科,專業(yè)方向:計(jì)算機(jī)科學(xué)與技術(shù). E-mail:1328526113@qq.com

猜你喜歡
調(diào)用安卓類別
iPhone不卡的秘密曝光:安卓也能享受
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
文物表情包
安卓系統(tǒng)或成智能汽車標(biāo)配
系統(tǒng)虛擬化環(huán)境下客戶機(jī)系統(tǒng)調(diào)用信息捕獲與分析①
壯字喃字同形字的三種類別及簡(jiǎn)要分析
西夏刻本中小裝飾的類別及流變
多類別復(fù)合資源的空間匹配
安卓L未至安卓M來(lái)了!安卓首泄漏M系統(tǒng)
中醫(yī)類別全科醫(yī)師培養(yǎng)模式的探討
平乐县| 长葛市| 梁山县| 长垣县| 沁源县| 平原县| 论坛| 桦甸市| 诏安县| 团风县| 柘城县| 隆安县| 沙坪坝区| 靖州| 阿鲁科尔沁旗| 榆中县| 怀柔区| 南投县| 大理市| 将乐县| 瓦房店市| 延庆县| 陇南市| 平利县| 苏州市| 林口县| 吉木萨尔县| 乐都县| 扎兰屯市| 云龙县| 梅河口市| 丹东市| 丹巴县| 曲阳县| 河池市| 革吉县| 宜兰县| 津南区| 盐池县| 拉萨市| 分宜县|