亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SimHash算法的Android惡意程序檢測

        2017-10-23 02:16:25李紅靈
        計算機技術與發(fā)展 2017年10期
        關鍵詞:海明應用程序指紋

        李紅靈,詹 翊

        (1.云南大學 信息學院 計算機科學與工程系,云南 昆明 650091; 2.云南省信息安全測評中心,云南 昆明 650000)

        基于SimHash算法的Android惡意程序檢測

        李紅靈1,詹 翊2

        (1.云南大學 信息學院 計算機科學與工程系,云南 昆明 650091; 2.云南省信息安全測評中心,云南 昆明 650000)

        針對當前Android應用程序良莠不齊,存在大量的惡意程序對個人隱私和信息安全構成嚴重威脅的現(xiàn)狀,在分析基于MD5的傳統(tǒng)特征代碼檢測技術的基礎上,提出了利用SimHash算法,經過APK文件特征文本提取,特征文本數(shù)字指紋生成,數(shù)字指紋比對及比對結果分析三個步驟,進行Android惡意程序檢測的新方法。為實現(xiàn)APK文件特征文本化,引入惡意軟件分析程序androlyze.py,同時,考慮到Android特征的有效性,經研究需要選取Android程序的權限及調用映射、廣播接收器、服務等核心信息組合成對應APK文件的復合特征文本,將復合特征文本轉換為字符串后利用程序進行海明距離計算,由海明距離判斷待測試APK文件的安全性。通過實驗進行實例分析,并將得到的檢測效果與360殺毒軟件做比較,發(fā)現(xiàn)基于SimHash算法的惡意程序檢測方法,檢測率高于360,可以作為Android惡意軟件檢測的一種有效方法。

        SimHash算法;Android惡意程序檢測;復合特征文本;相似性比較

        0 引 言

        如今Android應用市場由于缺乏統(tǒng)一的APK程序安全檢測與審查制度,Android應用程序良莠不齊,其中大量的惡意程序對個人隱私和信息安全構成了嚴重威脅。因此,加強對Android惡意程序的檢測與分析研究十分必要。

        國外對Android惡意程序檢測等方面的研究成果顯著,David Barrera等[1]對Google應用市場中1 100個應用類型的應用程序的AndroidManifest.xml文件進行分析,并利用Self-Organizing Maps (SOM)算法將這些數(shù)據(jù)組織成二維授權圖,可以直觀清晰地看出這些應用程序申請的權限名稱、類型。Gianluca Dini等[2]提出了針對Android惡意軟件的多級異常檢測方法(Multi-level Anomaly Detector for Android Malware,MADAM),該方法同時監(jiān)視Android的內核級和用戶級,使用機器學習技術來區(qū)分正常行為和惡意行為。W.Enck等[3]提出了一種基于應用程序權限請求的輕量級的不安全應用程序識別方法,并開發(fā)了一個輕量級的Android應用安全認證系統(tǒng)Kirin。Justin Sahs等[4]提出了一種用機器學習來檢測Android惡意軟件的方法,通過開源項目Androguard從Android應用程序包APK中提取特征,采用支持LIBSVM接口的Scikit-learn框架提供的二分類支持向量機訓練這些特征并生成一個分類器,用來分類Android軟件。而在國內,魏松杰等[5]通過靜態(tài)分析提取了APK文件中API在應用包、對象類、類函數(shù)層面的調用信息,并以樹形方式進行描述,歸納了應用程序描述樹的特征。

        在對上述各種方法進行學習研究以及對傳統(tǒng)的特征碼比對方法進行分析的基礎上,提出將相似性哈希算法SimHash靈活運用到Android惡意程序檢測,設計并開發(fā)了基于SimHash算法的Android惡意應用檢測程序,并對其進行了實驗驗證。

        1 惡意程序特征碼檢測方法

        惡意程序特征碼檢測主要采用的方法是基于已有的特征信息,對程序進行特征碼提取和特征模式匹配,以此判定是否為惡意程序[6]。

        1.1傳統(tǒng)的特征碼比對方法

        基于特征碼的檢測方法可歸納為模式的提取和匹配,特征碼就是提取出的惡意代碼的特征模式,而惡意代碼的掃描過程就是特征模式匹配的過程,即特征碼比對。

        傳統(tǒng)的特征代碼檢測主要基于MD5計算,即先計算程序的MD5值,如果此值與已有的某個惡意程序的MD5值相同,則認為該程序具備惡意程序的特征[7-8]。優(yōu)點是能在惡意程序首次運行前比對,對單一程序而言,檢測速度快,準確度高,對已知惡意代碼十分有效。但是也存在一些難以解決的問題。比如,其對惡意代碼的分析完全依賴于特征庫,使其無法處理未知和變形的惡意代碼。當前,很多惡意程序的變種,行為非常相似,但簽名卻不同,這導致此類檢測方法不能抵抗壓縮、混淆、加殼等攻擊。另外,要分析未知或變種惡意代碼的特征碼,必須逐一提取其特征碼并加入特征庫,否則無法進行匹配。若惡意程序變種數(shù)量巨大,需要創(chuàng)建大量的簽名添加到簽名庫,這會大大增加惡意軟件特征比對時間,占用過多系統(tǒng)資源,最終導致特征庫爆炸。

        針對上述問題,提出基于SimHash算法的特征碼比對方法。

        1.2基于SimHash算法的特征碼比對方法

        SimHash算法設計的初衷是為了解決海量數(shù)據(jù)的重復檢測問題,主要思想是降維,將高維的特征向量映射成一個f-bit的指紋(fingerprint),通過比較兩篇文章的f-bit指紋的Hamming Distance來確定文章是否重復或者高度近似[9]。由于SimHash算法是局部敏感哈希算法,局部的變化對整體影響不大,所以可將需檢測的文本通過SimHash算法,降維成固定長度的二進制序列,并將這些二進制序列作為文本信息的數(shù)字指紋,通過比較文本信息的數(shù)字指紋來判斷文本信息是否重復或者高度近似。

        針對Android惡意程序的檢測,運用SimHash算法進行特征碼比對,需要經過三個步驟。首先,將APK文件轉化為文本文件;其次,對文本文件生成其對應的數(shù)字指紋;最后,對其數(shù)字指紋進行信息比對分析。經過上述三個步驟的分析和處理,最終判別Android程序的安全性。

        2 基于SimHash算法的Android惡意程序檢測

        2.1SimHash算法思想

        SimHash是局部敏感哈希的一種,最早由Moses Charikar[10]提出,但是并沒有給出具體的SimHash算法和證明。SimHash算法廣泛用于信息檢索領域,如Google就基于此算法實現(xiàn)了網(wǎng)頁文件重復檢測。

        通過降維,將高維的特征向量映射成一個低維的特征向量,通過兩個向量的海明距離來確定兩個文件的相似度[11]。在信息編碼中,兩個合法代碼對應位上編碼不同的位數(shù)稱為碼距,又稱海明距離。Simhash算法的實現(xiàn)過程分為5步:分詞、hash、加權、合并、降維。詳細過程如圖1所示。

        圖1 SimHash算法示意

        2.2SimHash算法描述

        SimHash算法的輸入為一個N維向量V,每個特征具有一定權重。輸出是一個C位的二進制簽名S。具體步驟如下[12]:

        (1)初始化一個C維向量Q(為0),C位的二進制簽名S為0。

        (2)對V中的每一個特征,使用傳統(tǒng)的Hash算法計算出一個C位0、1組成的散列值H。對1≤i≤C,如果H的第i位為1,則Q的第i個元素加上該特征的權重;否則,Q的第i個元素減去該特征的權重。

        (3)如果Q的第i個元素大于0,則S的第i位為1,否則為0。

        (4)返回二進制簽名S。

        2.3字符串測試

        假設S1,S2為2個字符串,其中:

        S1=“computers-work androi-malware permission function(x)”

        S2=“computers-home androi-malware permission function(y)”

        采用MD5進行計算,結果如下:

        S1的MD5值為:

        63bf17b026ff5081db6422fcb3 fbb51c

        S2的MD5值為:

        f74d55b317c1a023349e6e5fb 33fe33c

        由此可見,盡管S1與S2內容相差不大,但采用MD5計算后其結果差異很大。

        另外,采用SimHash進行計算,程序輸出如圖2所示。

        圖2 字符串S1與S2的Binary Hash值

        最后進行字符串相似度計算:

        S1的SimHash值為:

        1000000000100101100001100 0000101

        S2的SimHash值為:

        1000000000000110100001001 0000100

        S1、S2經過異或運算XOR后,共有六位不同,即:第1、8、10、17、18、22位,不同位數(shù)所占比例為6/32,等于0.187 5,那么其相同位數(shù)所占比例為26/32,等于0.812 5,即81.25%。

        于是可以得出結論:字符串S1與S2的相似度為81.25%。

        3 Android程序復合特征碼提取

        3.1惡意代碼特征定義

        惡意代碼的特征,簡稱特征碼,即是指其所特有的、非惡意代碼所沒有的特征。也就是從惡意代碼體內不同的位置提取的一系列字節(jié),這些字節(jié)和惡意代碼有唯一的關聯(lián)性。特征碼一般包括行為特征和狀態(tài)特征。行為特征包括API調用函數(shù)、訪問網(wǎng)絡資源(創(chuàng)建SOCKETS,發(fā)起連接TCP、UDP、DNS)、修改系統(tǒng)服務等行為。狀態(tài)特征包括程序的文件信息(程序大小、MD5值)、程序代碼段、程序操作的連貫順序等。

        3.2Android程序復合特征

        由特征碼定義可知,程序的代碼段、網(wǎng)絡訪問等都可以作為特征,就Android程序而言,權限、廣播接收器、服務都可以作為特征,考慮到單一特征存在的局限性,不能全面地概括應用程序特性。因此,可以把Android程序的權限、廣播接收器、服務等信息組合起來構成復合特征,這樣才可以全面精準地反映Android程序的特性。另外,可以通過開源惡意軟件分析包Androguard中的androlyze.py工具分別導出APK文件的權限及調用映射、廣播接收器、服務等信息,將其組合成該APK文件對應的復合特征文本。

        3.3Android程序權限及調用映射提取

        使用Androlyze.py-s命令進入Androlyze的Shell交互環(huán)境,通過a,d,dx=AnalyzeAPK(“./Android4-4.apk”,decompiler=“dad”)命令分別實現(xiàn)了建立的apk、dex文件對象的提取,DalvikVMFormat()調用的功能。

        使用命令:show_Permissions(dx)可以提取Android程序權限及其調用映射,詳見圖3。

        3.4Android程序廣播接收器提取

        通過命令a.get_receivers()實現(xiàn)APK文件的廣播接收器提取(詳細信息略)。

        3.5Android程序服務提取

        通過命令a.get_services()實現(xiàn)APK文件的服務提取(詳細信息略)。

        4 基于SimHash算法的Android程序檢測實例

        4.1待測APK文件描述

        待測試應用程序為Android4-4.apk、Android4-5.apk、cutepuppies.apk。其中,Android4-4.apk是遠程控制木馬程序,Android4-5.apk是Android4-4.apk的升級版,而cutepuppies.apk為C&C類型惡意程序。

        4.2APK文件特征文本

        Android4-4.apk特征文本如圖4所示。由于篇幅有限,在此就不再給出其升級版Android4-5.apk和cutepuppies.apk的特征文本。

        圖3 Android程序權限及調用映射

        圖4 Android4-4.apk特征文本

        4.3計算結果分析

        將特征文本轉換為字符串后進行SimHash計算,其結果如圖5所示。

        圖5 SimHash算法的輸出結果

        計算結果分析:

        cutepuppies.apk和Android4-4.apk的海明距離為14。

        cutepuppies.apk和Android4-5.apk的海明距離為14。

        Android4-4.apk和Android4-5.apk的海明距離為2。

        因為是64 bit hash值,故其相似度為:

        cutepuppies.apk和Android4-4.apk:50/64,等于78.125%。

        cutepuppies.apk和Android4-5.apk:50/64,等于78.125%。

        Android4-4.apk和Android4-5.apk:62/64,等于96.875%。

        4.4檢測效果比較

        Gurmeet Singh Manku等[13]對SimHash算法效果進行了測試,發(fā)現(xiàn)對于64位的SimHash值,當海明距離為3時,召回率和準確率都比較高,約為75%。因此,海明距離小于3都可以認為是相似的。

        實驗測試發(fā)現(xiàn)SimHash比較適用于大文本,500字以上效果都不錯,經初步統(tǒng)計Android惡意程序復合特征文本字數(shù)在600~3 000字區(qū)間范圍,可適用于SimHash算法進行檢測。通過對CutePuppiesWallpaper.apk、Android4-4.apk等5款惡意程序進行檢測,并與360殺毒軟件做比較,發(fā)現(xiàn)基于SimHash算法的惡意程序檢測方法效果顯著,檢測率高于360殺毒軟件。

        5 結束語

        針對當前Android應用程序良莠不齊,大量的惡意程序對個人隱私和信息安全構成嚴重威脅的現(xiàn)狀,提出利用SimHash算法進行Android惡意程序檢測。通過實驗進行實例分析,并將所得到的檢測效果與360殺毒軟件做比較,發(fā)現(xiàn)該方法比較適合復合特征文本字數(shù)在600~3 000字區(qū)間的特征檢測,檢測率高于360殺毒軟件,可以作為Android惡意軟件檢測的一種有效方法。

        [1] Barrera D,Kayacik H G,van Oorschot P C,et al.A methodology for empirical analysis of permission-based security models and its application to Android[C]//Proceedings of the 17th ACM conference on computer and communications security.New York,NY,USA:ACM,2010:73-84.

        [2] Dini G,Martinelli F,Saracino A,et al.Madam:amulti-level anomaly detector for Android malware[M].Berlin:Springer,2012:240-253.

        [3] Enck W,Ongtang M,McDaniel P.On lightweight mobile ph-one application certification[C]//Proceedings of the 16th ACM conference on computer and communications security.New York,NY,USA:ACM,2009:235-245.

        [4] Sahs J,Khan L.A machine learning approach to Android malware detection[C]//Proceedings of EISIC.[s.l.]:IEEE,2012:141-147.

        [5] 魏松杰,楊 鈴.基于分層API調用的Android惡意代碼靜態(tài)描述方法[J].計算機科學,2015,42(1):155-158.

        [6] 陳 震,許建林,余奕凡,等.移動網(wǎng)絡軟件架構中的安全技術研究[J].信息網(wǎng)絡安全,2013(12):6-9.

        [7] 王文君,董歡歡.Android應用程序安全[M].北京:電子工業(yè)出版社,2013.

        [8] 陳 文,郭依正.深入理解Android網(wǎng)絡編程[M].北京:機械工業(yè)出版社,2013.

        [9] Simhash與Google的網(wǎng)頁去重[EB/OL].2011-04-12.http://leoncom.org/?p=650607,2011-4-12.

        [10] Charikar M.Similarity estimation techniques from rounding algorithms[EB/OL].2002.http://www.cs.princeton.edu/courses/archive/spr04/cos598B/bib/CharikarEstim.pdf.

        [11] Simhash算法原理和代碼實現(xiàn)[EB/OL].2012-11-29.http://blog.sina.com.cn/s/blog_81e6c30b0101cpvu.html.

        [12] SimHash算法[EB/OL].2015-03-26.http://blog.csdn.net/acdreamers/article/details/44656481.

        [13] Manku G S,Jain A,Sarma A D.Detecting near-duplicates for web crewling[C]//16th international world wide web conference.[s.l.]:[s.n.],2007.

        AndroidMalwareDetectingBasedonSimHashAlgorithm

        LI Hong-ling1,ZHAN Yi2

        (1.Department of Computer Science and Engineering,School of Information Science and Engineering,Yunnan University,Kunming 650091,China; 2.Information Security Evaluation Center of Yunnan Province,Kunming 650000,China)

        Current Android applications vary in quality,while there exist many potential malwares threatening privacy and information safety.In order to cope with this particular predicament,a new solution using SimHash algorithm for Android malware detection is proposed on the basis of analysis of signature detection technology based on MD5,which consists of three steps including APK signature-text extraction,signature-text digital fingerprint generation and results contrast.In order to textualize APK files,malware analyzing program androlyze.py is introduced.Meanwhile,considering the efficiency of Android signatures,Android program permission,call function,receiver and services have been converted into composite signatures APK text.Then,the composite signatures text has been converted into string,of which the Hamming Distance is counted as measurement for the security level.In addition,after practically analyzing and compared with 360 Anti-virus Software the overall detecting efficiency is proved to be better,thus considered as an effective method of Android malware detection.

        SimHash algorithm;Android malware detecting;composite signatures text;similarity comparison

        TP309;TP393

        A

        1673-629X(2017)10-0121-05

        2016-10-19

        2017-01-20 < class="emphasis_bold">網(wǎng)絡出版時間

        時間:2017-07-19

        國家自然科學基金資助項目(61562090);云南大學教育教學改革研究項目

        李紅靈(1966-),女,副教授,研究方向為計算機網(wǎng)絡、信息安全。

        http://kns.cnki.net/kcms/detail/61.1450.TP.20170719.1109.024.html

        10.3969/j.issn.1673-629X.2017.10.026

        猜你喜歡
        海明應用程序指紋
        怎樣當好講解員
        像偵探一樣提取指紋
        為什么每個人的指紋都不一樣
        刪除Win10中自帶的應用程序
        電腦報(2019年12期)2019-09-10 05:08:20
        基于自適應稀疏變換的指紋圖像壓縮
        自動化學報(2016年8期)2016-04-16 03:39:00
        可疑的指紋
        男孩向前沖
        故事林(2015年5期)2015-05-14 17:30:36
        男孩向前沖
        故事林(2015年3期)2015-05-14 17:30:35
        關閉應用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        三星電子將開設應用程序下載商店
        a级毛片成人网站免费看| 国产高清天干天天视频| 久久久久久AV无码成人| 亚洲一区在线二区三区| 伊人久久大香线蕉av不变影院| 亚洲av精品一区二区三区| 女人被狂躁到高潮视频免费网站| 永久免费无码av在线网站| 国产中文久久精品| 国产精品www夜色视频| 无码a级毛片免费视频内谢5j| 一区二区三区人妻在线| 亚洲成人av一区免费看| 在线精品国产亚洲av蜜桃| 日韩丰满少妇无码内射| 亚洲精品久久久久久| 亚洲国产综合专区在线电影| 免费人妻精品区一区二区三| 日本道免费一区二区三区日韩精品| 亚洲av无码av在线播放| 日本夜爽爽一区二区三区| 精品午夜一区二区三区久久| 成人性生交c片免费看| 国产一区二区黄色网页| 亚洲人成网线在线播放va蜜芽| 又黄又爽又高潮免费毛片| 色综合久久加勒比高清88| 少妇人妻一区二区三飞| 未发育成型小奶头毛片av| 人人妻人人澡人人爽人人精品| 亚洲人成网站18男男| 手机在线播放av网址| 久久精品人妻无码一区二区三区| 国产亚洲精品久久久久久久久动漫| 亚洲都市校园激情另类| 精品日韩一区二区三区av| 97人妻人人揉人人躁九色| 97久久草草超级碰碰碰| 久久精品国产99精品国偷| 精品日产一区2区三区| 日本亚洲系列中文字幕|