欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于簽名與數(shù)據流模式挖掘的Android惡意軟件檢測系統(tǒng)及方法與流程

文檔序號:12125605閱讀:329來源:國知局
基于簽名與數(shù)據流模式挖掘的Android惡意軟件檢測系統(tǒng)及方法與流程

本發(fā)明涉及數(shù)據流模式挖掘領域,尤其涉及一種基于簽名與數(shù)據流模式挖掘的Android惡意軟件檢測系統(tǒng)及方法。



背景技術:

Android是目前應用最廣的智能手機操作系統(tǒng),在2014 年,Android手機的銷售量就已經占到全球手機銷售份額的81%,達到10億部。另一方面,Android系統(tǒng)的開放性在受到應用開發(fā)者青睞的同時也帶來了許多的安全問題。當前,Android平臺存在大量竊取用戶隱私的惡意軟件,嚴重威脅到用戶的使用安全。

主流的Android惡意軟件檢測方法有兩種,動態(tài)分析方法以及靜態(tài)分析方法。動態(tài)分析方法搭建Android的運行環(huán)境,能夠模擬出待測軟件的真實行為特征,這種檢測方法精度高,但是由于需要軟件動態(tài)運行,因此需要耗費資源。靜態(tài)分析方法特點是無需待測軟件運行,它通過簽名或者控制流、數(shù)據流來分析軟件是否屬于惡意軟件,這種方法的不足之處在于容易產生誤報。

現(xiàn)有Android軟件的靜態(tài)分析技術可以分為三類: 基于權限的檢測方案、基于傳統(tǒng)靜態(tài)分析手段的檢測方案以及基于機器學習的檢測方案。

基于權限的檢測方案,這些方案通過抽取Android應用軟件中Manifest文件申請的權限信息進行分析,通過事先建立的權限規(guī)則來判斷應用是否為惡意應用。Kirin工具通過預定義的一組規(guī)則識別危險的權限組合,但它只提供9條惡意應用族頻繁使用的高危權限規(guī)則作為檢測標準,檢測能力有限。另外一些主流文獻采用了數(shù)據挖掘的方法挖掘惡意應用中所申請權限之間的關系,以此作為規(guī)則,檢測待測應用。但是在實際開發(fā)中,開發(fā)者往往會申請過多的權限,以減輕開發(fā)和維護的難度,這種普遍存在的“濫權”問題,容易造成基于權限的檢測方案產生誤報,即應用雖然申請了使用某系統(tǒng)資源的權限,但是并沒有在代碼中執(zhí)行,而基于權限的檢測如果發(fā)現(xiàn)應用申請的權限與安全規(guī)則一致,則可能導致正常軟件被誤報。綜上,基于權限的檢測方案無法解決“濫權”現(xiàn)象帶來的誤報問題。

基于傳統(tǒng)靜態(tài)分析手段的檢測方案主要有簽名檢測以及數(shù)據流分析技術。經典的簽名檢測會對整個惡意程序或部分程序代碼進行MD5運算或者SHA運算,將運算后的特征值作為該文件的簽名。如果發(fā)現(xiàn)待測軟件簽名與預先收集的惡意軟件簽名相匹配就判定為惡意軟件。這種方法的掃描速度快,而且精準度高,缺點是只能查殺特定的惡意軟件,該方法對變種混淆的惡意軟件無效。針對這種問題,Zhiyuan Wang等人提出了一種多級簽名系統(tǒng),用來收集、檢測Android惡意軟件,系統(tǒng)首先對Android的API進行編號,然后,掃描待測apk文件中的系統(tǒng)API,用編號表示這些API,之后,生成MD5簽名,再逐級產生方法簽名、類簽名、apk簽名,利用該方法能夠有效的檢測出一些重打包、代碼混淆的惡意軟件。但是這種方法并不是數(shù)據流層面的分析,不能夠抵御使用基于API的代碼混淆。Zhemin Yang、Zhibo Zhao、C. Fritz、W Klieber等人各自提出了基于數(shù)據流的分析工具,雖然數(shù)據流分析能夠覆蓋整個應用軟件代碼,分析的準確度比較高,但是一方面這種全代碼分析比較耗時,另一方面,數(shù)據流分析的結果并不能給出軟件是否是惡意軟件,往往還需要人工判斷,確認數(shù)據流是否是惡意數(shù)據流。綜上,主流的簽名技術只是一種將軟件特征唯一表示的技術,不能對待測軟件進行深度分析,因此檢測結果不可避免的受到代碼混淆等惡意軟件技術的干擾,數(shù)據流分析技術的缺陷在于全代碼分析造成的耗時問題以及需要人工進行最終結果確定。對于已知的惡意軟件,數(shù)據流分析還存在重復檢測的問題。

基于機器學習的檢測方案,通過對惡意軟件的靜態(tài)特征進行學習,比如學習權限特征、API特征等,使機器學習算法得出分類模型,然后進行惡意軟件檢測。這種方案的缺點在于對于分類特征的要求比較高,特征的有效直接決定了分類的精度。大多數(shù)機器學習方法仍然使用權限作為特征信息,因此,他們也不能解決“濫權”現(xiàn)象帶來的誤報。



技術實現(xiàn)要素:

本發(fā)明所要解決的技術問題是針對背景技術中所涉及到的缺陷,提供一種基于簽名與數(shù)據流模式挖掘的Android惡意軟件檢測系統(tǒng)及方法。

本發(fā)明為解決上述技術問題采用以下技術方案:

基于簽名與數(shù)據流模式挖掘的Android惡意軟件檢測系統(tǒng),包含簽名分析組件以及數(shù)據流分析組件;

所述簽名分析組件包含簽名生成模塊、惡意軟件簽名數(shù)據庫和簽名匹配模塊;

所述簽名生成模塊用于生成Android應用軟件的簽名;

所述惡意軟件簽名數(shù)據庫用于儲存所有預設的惡意Android應用軟件的簽名;

所述簽名匹配模塊用于將輸入的Android應用軟件的簽名和惡意軟件簽名數(shù)據庫中存儲的簽名進行匹配;

所述數(shù)據流分析組件包含數(shù)據流分析模塊、數(shù)據流模式挖掘模塊、數(shù)據流模式匹配模塊和數(shù)據流模式規(guī)則庫;

所述數(shù)據流分析模塊用于分析輸入的Android應用軟件是否存在數(shù)據流模式,如果存在,提取出輸入的Android應用軟件中的數(shù)據流模式;

所述數(shù)據流模式挖掘模塊用于將所有預設的惡意Android應用軟件中置信度大于預設的置信度閾值且支持度大于預先設定的支持度閾值的數(shù)據流模式篩選出來;

所述數(shù)據流模式規(guī)則庫用于存儲經數(shù)據流模式挖掘模塊篩選出來的數(shù)據流模式;

所述數(shù)據流模式匹配模塊用于將輸入的Android應用軟件的數(shù)據流模式與數(shù)據流模式規(guī)則庫中的數(shù)據流模式進行匹配。

本發(fā)明還公開了一種基于簽名與數(shù)據流模式挖掘的Android惡意軟件檢測系統(tǒng)的檢測方法,包含以下步驟:

步驟1),對所有預設的惡意Android應用軟件進行簽名訓練與數(shù)據流模式訓練,生成惡意軟件簽名數(shù)據庫與數(shù)據流模式規(guī)則庫;

步驟2),將待測Android應用軟件輸入簽名分析組件中的簽名生成模塊,生成待測Android應用軟件的簽名,并將其輸入至簽名匹配模塊;

步驟3),簽名匹配模塊將待測Android應用軟件的簽名與惡意軟件簽名數(shù)據庫中的簽名進行匹配,若惡意簽名數(shù)據庫中存在與待測Android應用軟件的簽名一致的簽名,則判定該待測Android應用軟件的簽名為惡意軟件,結束檢測;否則,執(zhí)行步驟4);

步驟4),將待測Android應用軟件送至數(shù)據流分析組件中的數(shù)據流分析模塊,數(shù)據流分析模塊分析待測Android應用軟件是否存在數(shù)據流模式,若存在數(shù)據流模式,提取出待測Android應用軟件的數(shù)據流模式,執(zhí)行步驟5);若不存在數(shù)據流模式則判定為安全軟件,結束檢測;

步驟5),將待測Android應用軟件的數(shù)據流模式輸入至數(shù)據流匹配模塊,數(shù)據流匹配模塊將待測Android應用軟件的數(shù)據流模式與數(shù)據流模式規(guī)則庫中的數(shù)據流模式進行匹配,若數(shù)據流模式規(guī)則庫中存在與待測Android應用軟件的數(shù)據流模式一致的數(shù)據流模式,則判定待測Android應用軟件為惡意應用,結束檢測;否則,判定待測Android應用軟件為風險應用,結束檢測。

所述步驟1)的具體步驟如下:

步驟1.1),依次將所有預設的惡意Android應用軟件輸入至簽名分析組件;

步驟1.2),簽名分析組件使用簽名生成模塊對每一個輸入的惡意Android應用軟件生成MD5簽名,并將其簽名與軟件名存入惡意軟件簽名數(shù)據庫;

步驟1.3),依次將所有預設的惡意Android應用軟件輸入至數(shù)據流分析組件;

步驟1.4),數(shù)據流分析組件使用數(shù)據流分析模塊對輸入的每一個惡意Android應用軟件進行數(shù)據流分析,得出各個惡意Android應用軟件的數(shù)據流模式,并將其依次輸至數(shù)據流模式挖掘模塊;

步驟1.5),數(shù)據流模式挖掘模塊將各個惡意Android應用軟件的數(shù)據流模式中置信度大于預設的置信度閾值且支持度大于預先設定的支持度閾值的數(shù)據流模式篩選出來,并將其存入數(shù)據流模式規(guī)則庫中。

本發(fā)明采用以上技術方案與現(xiàn)有技術相比,具有以下技術效果:

(1)本發(fā)明通過使用簽名技術與數(shù)據流模式挖掘技術,不使用應用軟件的權限信息,避免了“濫權”現(xiàn)象產生的誤報問題;

(2)本發(fā)明通過結合簽名技術以及數(shù)據流模式挖掘技術,彌補了簽名技術存在的,難以對代碼混淆類惡意軟件進行準確分析的缺點,同時,簽名分析組件的使用,也改進了主流數(shù)據流分析方案存在的重復檢測問題,提高了檢測速度;

(3)本發(fā)明通過使用數(shù)據流模式挖掘,改進了普通數(shù)據流分析方案需要人工確認的缺點,自動化程度高。

附圖說明

圖1是基于簽名與數(shù)據流模式挖掘的Android惡意軟件檢測系統(tǒng)架構圖;

圖2是本發(fā)明系統(tǒng)檢測流程。

具體實施方式

下面結合附圖對本發(fā)明的技術方案做進一步的詳細說明:

本文公開了一種基于簽名與數(shù)據流模式挖掘的Android惡意軟件檢測系統(tǒng),是一種靜態(tài)分析檢測系統(tǒng),它無需待測軟件動態(tài)運行。本系統(tǒng)包含2個組件:簽名分析組件與數(shù)據流分析組件。通過簽名分析組件優(yōu)化系統(tǒng)對已知惡意軟件排查的速度,通過數(shù)據流分析組件分析可獲得惡意軟件數(shù)據流的頻繁模式,以此作為規(guī)則指導未知軟件的檢測。下面分別對2個組件進行介紹。

1)簽名分析組件

簽名分析組件包含簽名生成模塊、惡意軟件簽名數(shù)據庫和簽名匹配模塊;其中,簽名生成模塊用于生成Android應用軟件的簽名;惡意軟件簽名數(shù)據庫用于儲存所有預設的惡意Android應用軟件的簽名;簽名匹配模塊用于將輸入的Android應用軟件的簽名和惡意軟件簽名數(shù)據庫中存儲的簽名進行匹配。

簽名分析組件的核心是簽名生成模塊,用來生成Android應用軟件的簽名值,簽名算法使用MD5簽名算法,對apk整體進行簽名。簽名生成模塊通過簽名運算,能夠保證每一款簽名的應用軟件都能得到不同的簽名值。因此,如果未知軟件簽名與某一惡意軟件簽名一致,則說明未知軟件就是該款惡意軟件。

簽名分析組件的功能是:對一定量的惡意軟件生成簽名值,存入數(shù)據庫中形成惡意軟件簽名數(shù)據庫,在檢測時,對未知軟件生成簽名,并將其在惡意軟件簽名庫中進行匹配,如果存在匹配,即未知軟件簽名與某惡意軟件簽名一致,則認定未知軟件為惡意軟件,反之,若未知軟件簽名與庫中任意簽名都不一致,則將未知軟件交由數(shù)據流分析組件中的數(shù)據流分析模塊進行分析。

2)數(shù)據流分析組件

數(shù)據流分析組件包含數(shù)據流分析模塊、數(shù)據流模式挖掘模塊、數(shù)據流模式匹配模塊和數(shù)據流模式規(guī)則庫;其中,數(shù)據流分析模塊用于分析輸入的Android應用軟件是否存在數(shù)據流模式,如果存在,提取出輸入的Android應用軟件中的數(shù)據流模式;數(shù)據流模式挖掘模塊用于將所有預設的惡意Android應用軟件中置信度大于預設的置信度閾值且支持度大于預先設定的支持度閾值的數(shù)據流模式篩選出來;數(shù)據流模式規(guī)則庫用于存儲經數(shù)據流模式挖掘模塊篩選出來的數(shù)據流模式;數(shù)據流模式匹配模塊用于將輸入的Android應用軟件的數(shù)據流模式與數(shù)據流模式規(guī)則庫中的數(shù)據流模式進行匹配。

數(shù)據流分析組件是系統(tǒng)的核心組件,該組件功能是:完成對惡意軟件的數(shù)據流分析、挖掘惡意軟件的頻繁數(shù)據流模式,將這些頻繁數(shù)據流模式作為規(guī)則存入數(shù)據庫,構成數(shù)據流模式規(guī)則庫。之后,該組件還要對簽名匹配失敗的未知軟件進行數(shù)據流分析,將其數(shù)據流模式(若不存在,則認定其為安全軟件)在數(shù)據流規(guī)則庫中進行匹配,若發(fā)現(xiàn)相同的數(shù)據流模式則認定為惡意軟件,反之,認定為風險軟件,存在隱私泄露風險。數(shù)據流分析組件包含數(shù)據流分析模塊、數(shù)據流模式挖掘模塊以及數(shù)據流模式規(guī)則庫。

數(shù)據流分析模塊完成Android應用軟件的反編譯、數(shù)據流圖構建以及污點分析功能。Android應用軟件安裝包的格式是apk文件,它實際上是一個壓縮文件,數(shù)據流分析模塊要進行數(shù)據流分析首先要將apk文件進行反編譯,解析其中的各種配置文件以及代碼文件,將源代碼恢復或用中間碼(IR)的形式進行表示。之后,標記程序代碼中的各種敏感數(shù)據(比如聯(lián)系人、手機短信信息、郵件等),構建程序數(shù)據流圖,然后根據此圖,進行污點分析,追蹤被標記的敏感數(shù)據。如果被分析軟件存在泄露隱私的數(shù)據流,則該模塊會得出形如{source, sink},這樣的二元集合。每一個二元集合都是一條潛在的隱私泄露路徑。source和sink均是系統(tǒng)中的API函數(shù),其中source是污點數(shù)據進入分析過程的入口函數(shù),一般是Android系統(tǒng)用來讀取敏感數(shù)據的API函數(shù)比如讀取短信、讀取郵件等。sink是污點數(shù)據離開分析過程的出口函數(shù),一般是Android系統(tǒng)中發(fā)送短信、打開URL等發(fā)送數(shù)據的API函數(shù)。Android應用軟件的隱私泄露來源于程序內部,因為存在{source, sink}這樣的讀取、發(fā)送路徑才會使敏感數(shù)據泄露成為可能。

通過對一定量的惡意軟件進行數(shù)據流分析,可以得到每款惡意軟件泄露隱私的路徑,即許多{source, sink}這樣的數(shù)據流模式。數(shù)據流模式挖掘模塊針對大量的惡意{source, sink}數(shù)據流模式進行關聯(lián)挖掘,目的是找出惡意軟件頻繁使用的泄露隱私的路徑,即出現(xiàn)頻繁的某幾種{source, sink}集合,將這些頻繁數(shù)據流模式當作判斷惡意隱私泄露軟件的規(guī)則。

為了進行關聯(lián)挖掘首先需要定義2個閾值,一個是置信度閾值p(Confidence)和支持度閾值p(Support),這兩個閾值用于篩選數(shù)據流模式,如果一條數(shù)據流模式的置信度p(Confidence)和支持度p(Support)均高于給定閾值,那么就將這條數(shù)據流模式當作規(guī)則,加入到數(shù)據流模式規(guī)則庫中。

p(Confidence)和p(Support)的計算公式如下,其中p(source, sink)是該條數(shù)據流模式{source, sink}在全體數(shù)據流模式中出現(xiàn)的概率。p(sink | source)是以source函數(shù)作為入口函數(shù)的所有數(shù)據流模式中,出現(xiàn)sink函數(shù)作為出口函數(shù)的概率。count(source, sink)是該{source, sink}數(shù)據流模式在全體模式集合中出現(xiàn)的次數(shù),p(source)是以該source函數(shù)作為入口函數(shù)的數(shù)據流模式在全體數(shù)據流模式集合中出現(xiàn)的概率。T代表通過分析一定量惡意軟件所獲得的全體{source, sink}數(shù)據流模式。

(1) p(Support)= p(source, sink) = count(source, sink)/T

(2) p(Confidence)= p(sink | source) = p(source, sink)/p(source)

在計算完惡意軟件每種{source, sink}出現(xiàn)的置信度與支持度之后,凡是兩個值都大于預先給定閾值的數(shù)據流模式,都要被加入到數(shù)據流模式規(guī)則庫中。完成數(shù)據流模式規(guī)則庫建立后,當未知軟件在簽名組件中未能匹配的情況下,用數(shù)據流分析模塊分析其數(shù)據流模式,然后與數(shù)據流規(guī)則庫中的規(guī)則進行匹配,若存在一致的{source, sink}模式,則說明待測軟件出現(xiàn)了惡意軟件中頻繁出現(xiàn)的隱私泄露路徑,就可以認定該未知軟件為惡意隱私泄露軟件,反之,說明該軟件有泄露隱私風險,但并不是惡意軟件。當然,如果未知軟件經過數(shù)據流分析模塊分析后,不存在泄露路徑,那么就直接認定該軟件為安全軟件。

本發(fā)明的系統(tǒng)架構圖以及使用步驟如圖1所示,系統(tǒng)首先選取一定量的惡意軟件,通過簽名器進行簽名運算得出惡意軟件簽名數(shù)據庫,再讓惡意軟件通過數(shù)據流分析模塊進行數(shù)據流分析,得出這些惡意軟件的數(shù)據流模式,然后使用數(shù)據流模式挖掘模塊進行挖掘,挖掘出惡意軟件頻繁使用的數(shù)據流模式,將它們存入數(shù)據流模式規(guī)則庫中。在得到上述兩類規(guī)則庫后就可以進行未知軟件的檢測了。

本發(fā)明的檢測具體流程如圖2,包含以下步驟:

步驟1),對所有預設的惡意Android應用軟件進行簽名訓練與數(shù)據流模式訓練,生成惡意軟件簽名數(shù)據庫與數(shù)據流模式規(guī)則庫;

步驟2),將待測Android應用軟件輸入簽名分析組件中的簽名生成模塊,生成待測Android應用軟件的簽名,并將其輸入至簽名匹配模塊;

步驟3),簽名匹配模塊將待測Android應用軟件的簽名與惡意軟件簽名數(shù)據庫中的簽名進行匹配,若惡意簽名數(shù)據庫中存在與待測Android應用軟件的簽名一致的簽名,則判定該待測Android應用軟件的簽名為惡意軟件,結束檢測;否則,執(zhí)行步驟4);

步驟4),將待測Android應用軟件送至數(shù)據流分析組件中的數(shù)據流分析模塊,數(shù)據流分析模塊分析待測Android應用軟件是否存在數(shù)據流模式,若存在數(shù)據流模式,提取出待測Android應用軟件的數(shù)據流模式,執(zhí)行步驟5);若不存在數(shù)據流模式則判定為安全軟件,結束檢測;

步驟5),將待測Android應用軟件的數(shù)據流模式輸入至數(shù)據流匹配模塊,數(shù)據流匹配模塊將待測Android應用軟件的數(shù)據流模式與數(shù)據流模式規(guī)則庫中的數(shù)據流模式進行匹配,若數(shù)據流模式規(guī)則庫中存在與待測Android應用軟件的數(shù)據流模式一致的數(shù)據流模式,則判定待測Android應用軟件為惡意應用,結束檢測;否則,判定待測Android應用軟件為風險應用,結束檢測。

所述步驟1)的具體步驟如下:

步驟1.1),依次將所有預設的惡意Android應用軟件輸入至簽名分析組件;

步驟1.2),簽名分析組件使用簽名生成模塊對每一個輸入的惡意Android應用軟件生成MD5簽名,并將其簽名與軟件名存入惡意軟件簽名數(shù)據庫;

步驟1.3),依次將所有預設的惡意Android應用軟件輸入至數(shù)據流分析組件;

步驟1.4),數(shù)據流分析組件使用數(shù)據流分析模塊對輸入的每一個惡意Android應用軟件進行數(shù)據流分析,得出各個惡意Android應用軟件的數(shù)據流模式,并將其依次輸至數(shù)據流模式挖掘模塊;

步驟1.5),數(shù)據流模式挖掘模塊將各個惡意Android應用軟件的數(shù)據流模式中置信度大于預設的置信度閾值且支持度大于預先設定的支持度閾值的數(shù)據流模式篩選出來,并將其存入數(shù)據流模式規(guī)則庫中。。

本文的系統(tǒng)克服了傳統(tǒng)數(shù)據流檢測需要進行人工確認的劣勢,提高了檢測效率,相較于傳統(tǒng)基于權限的惡意軟件檢測方法,本系統(tǒng)避免了“濫權”問題帶來的誤報問題。同時,該系統(tǒng)通過簽名技術,使得檢測重復惡意軟件的速度獲得極大提升。

本技術領域技術人員可以理解的是,除非另外定義,這里使用的所有術語(包括技術術語和科學術語)具有與本發(fā)明所屬領域中的普通技術人員的一般理解相同的意義。還應該理解的是,諸如通用字典中定義的那些術語應該被理解為具有與現(xiàn)有技術的上下文中的意義一致的意義,并且除非像這里一樣定義,不會用理想化或過于正式的含義來解釋。

以上所述的具體實施方式,對本發(fā)明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的具體實施方式而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
临桂县| 无棣县| 增城市| 西华县| 祥云县| 固阳县| 鄯善县| 临猗县| 东台市| 曲周县| 淅川县| 龙陵县| 宝清县| 新丰县| 浦江县| 石柱| 叙永县| 屏东市| 易门县| 九台市| 中山市| 堆龙德庆县| 永平县| 青田县| 长宁区| 泰和县| 镶黄旗| 集安市| 黑山县| 富锦市| 城市| 历史| 昌乐县| 河间市| 民勤县| 佳木斯市| 漳浦县| 富顺县| 乌拉特后旗| 新宾| 和政县|