• / 11
  • 下載費用:30 金幣  

一種基于樸素貝葉斯的ANDROID惡意軟件分類方法和裝置.pdf

摘要
申請專利號:

CN201510930602.1

申請日:

2015.12.14

公開號:

CN105468977A

公開日:

2016.04.06

當前法律狀態:

實審

有效性:

審中

法律詳情: 實質審查的生效IPC(主分類):G06F 21/56申請日:20151214|||公開
IPC分類號: G06F21/56(2013.01)I 主分類號: G06F21/56
申請人: 廈門安勝網絡科技有限公司
發明人: 魏麗珍; 邱建; 張婷; 高靜峰; 羅佳
地址: 361000福建省廈門市海滄區新陽街道新樂路29號綜合樓304室
優先權:
專利代理機構: 廈門市精誠新創知識產權代理有限公司35218 代理人: 何家富
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510930602.1

授權公告號:

|||

法律狀態公告日:

2016.06.22|||2016.04.06

法律狀態類型:

實質審查的生效|||公開

摘要

本發明公開了一種基于樸素貝葉斯的Android惡意軟件分類方法和裝置,該方法主要通過動靜態結合的方法提取惡意軟件的權限屬性特征和敏感API屬性特征,并采用樸素貝葉斯算法進行分類,該裝置包括特征屬性集合模塊、權限特征屬性模塊、敏感API特征屬性模塊、樸素貝葉斯分類模型模塊、輸出模塊、更新模塊、該算法有堅實的數學基礎,穩定的分類效率,所需參數也比較少,算法簡單,能對惡意應用快速、準確的進行分類,提高了分類效率。

權利要求書

1.一種基于樸素貝葉斯的Android惡意軟件分類方法,包括以下步驟:
S1:建立特征屬性集合,該特征屬性集合至少包括權限特征屬性和敏感API
特征屬性,并對相應的特征屬性進行分類,獲得訓練樣本集合,該訓練樣本集
合至少包括特征屬性集合和分類集合;
S2:提取權限特征屬性,匹配特征屬性集合中的權限特征屬性;
S3:收集日志信息,匹配特征屬性集合中的敏感API特征屬性;
S4:形成樸素貝葉斯分類模型;
S5:輸出分類結果;
S6:更新訓練樣本集合和樸素貝葉斯分類模型。
2.根據權利要求1所述的基于樸素貝葉斯的Android惡意軟件分類方法,其特
征在于,所述的步驟S2中提取權限特征屬性,匹配特征屬性集合中的權限特征
屬性的具體步驟是:
S21:反編譯待分類軟件,獲取待分類軟件的權限特征屬性;
S22:將獲取到的樣本權限列表與屬性特征相匹配,如果該權限存在,則標
記為第一標志符,否則標記為第二標志符。
3.根據權利要求1所述的基于樸素貝葉斯的Android惡意軟件分類方法方法,
其特征在于:所述的步驟S3中收集日志信息,匹配特征屬性集合中的敏感API
特征屬性的具體步驟是:
S31:將待分類軟件安裝到Android沙箱中運行,并采集輸出的敏感行為日
志;
S32:Android沙箱在Framework框架層、Dalvik虛擬機和本地Native層
采用APIHooking技術,標記敏感API;
S33:觸發敏感API,自動記錄日志;
S34:采集輸出的日志信息,匹配屬性特征集合中的敏感API特征屬性,如
果存在,則標記為第一標志符,否則標記為第二標志符。
4.根據權利要求1所述的基于樸素貝葉斯的Android惡意軟件分類方法,其特
征在于,所述的步驟S4中形成分類樸素貝葉斯分類模型的具體步驟是:
S41:設X={a1,a2,...,am},為一待分類軟件,每個a為X的特征屬性,分類集
合C={C1,C2,....,Cn},計算P(C1|X),P(C2|X),...,P(Cn|X);
S42:如果P(Ck|X)=MAX{P(C1|X),P(C2|X),...,P(Cn|X)},則X∈Ck。
5.根據權利要求4所述的基于樸素貝葉斯的Android惡意軟件分類方法,其特
征在于,所述的步驟S41計算P(C1|X),P(C2|X),...,P(Cn|X)的具體步驟是:
S411:統計訓練樣本集合中各特征屬性下的條件概率:
P(a1|C1),P(a2|C1),...,P(am|C1);P(a1|C2),P(a2|C2),...,P(am|C2);...;P(a1|Cn),P(a2|Cn),...,P(am|Cn)

S412:根據貝葉斯定理而各屬性值相互條件獨立,即
屬性間不存在依賴關系,有
6.一種基于樸素貝葉斯的Android惡意軟件分類的裝置,包括以下模塊:
特征屬性集合模塊,用于建立特征屬性集合,該特征屬性集合至少包括權
限特征屬性和敏感API特征屬性,并對相應的特征屬性進行分類,獲得訓練樣
本集合,該訓練樣本集合至少包括特征屬性集合和分類集合;
權限特征屬性模塊,用于提取權限特征屬性,匹配特征屬性集合中的權限
特征屬性;
敏感API特征屬性模塊,用于收集日志信息,匹配特征屬性集合中的敏感
API特征屬性;
樸素貝葉斯分類模型模塊,用于形成樸素貝葉斯分類模型;
輸出模塊,用于輸出分類結果;
更新模塊,用于更新訓練樣本集合和樸素貝葉斯分類模型。
7.根據權利要求6所述的基于樸素貝葉斯的Android惡意軟件分類的裝置,其
特征在于,所述的權限特征屬性模塊包括:
權限特征屬性獲取模塊,用于反編譯待分類軟件,獲取待分類軟件的權限特
征屬性;
權限特征屬性匹配模塊,用于將獲取到的樣本權限列表與屬性特征相匹配,
如果該權限存在,則標記為第一標志符,否則標記為第二標志符。
8.根據權利要求6所述的基于樸素貝葉斯的Android惡意軟件分類的裝置,其
特征在于,所述的敏感API特征屬性模塊包括:
敏感行為日志采集模塊,用于將待分類軟件安裝到Android沙箱中運行,并
采集輸出的敏感行為日志;
敏感API標記模塊,用于Android沙箱在應用程序Framework框架層、Dalvik
虛擬機和本地Native層采用APIHooking技術,標記敏感API;
自動記錄模塊,用于觸發敏感API,自動記錄日志;
敏感API特征屬性匹配模塊,用于采集輸出的日志信息,匹配屬性特征集合
中的敏感API特征屬性,如果存在,則標記第一標志符,否則標記為第二標志符。
9.根據權利要求6所述的基于樸素貝葉斯的Android惡意軟件分類的裝置,其
特征在于,所述的樸素貝葉斯分類模型模塊中包括:
分類計算模塊,設X={a1,a2,...,am},為一待分類軟件,每個a為X的特征屬性,
分類集合C={C1,C2,....,Cn},計算P(C1|X),P(C2|X),...,P(Cn|X);
分類判別模塊,如果P(Ck|X)=MAX{P(C1|X),P(C2|X),...,P(Cn|X)},則X∈Ck。
10.根據權利要求9所述的基于樸素貝葉斯的Android惡意軟件分類的裝置,其
特征在于,所述的分類計算模塊包括:
條件概率計算模塊,用于統計訓練樣本集合中各特征屬性下的條件概率:
P(a1|C1),P(a2|C1),...,P(am|C1);P(a1|C2),P(a2|C2),...,P(am|C2);...;P(a1|Cn),P(a2|Cn),...,P(am|Cn)

分子計算模塊,根據貝葉斯定理而各屬性值相互條件
獨立,即屬性間不存在依賴關系,有

說明書

一種基于樸素貝葉斯的Android惡意軟件分類方法和裝置

技術領域

本發明涉及軟件安全領域,特別是涉及一種基于樸素貝葉斯的Android惡
意軟件分類方法和裝置。

背景技術

Android自2007年問世以來,Google公司將其定位為開源的移動操作系
統,采用軟件堆層的架構,底層以Linux內核為基礎,中間層包含軟件庫和Dalivk
虛擬機,最上層是各種應用程序。隨著Android的迅速發展,基于Android平
臺的移動終端、軟件開發者、應用程序也日益增多,以成為智能手機市場的主
導地位,但也正由于它自身的開源性,成為了眾多惡意軟件開發者的目標,新
的惡意軟件、變種木馬每個季度都在爆發式的增長,移動終端遭受的攻擊和威
脅、私密信息的泄露也越來越多。

目前Android平臺應用更多的焦點是關注在惡意行為如何觸發捕捉,如何
判別行為是否存在惡意,僅停留在區分正常應用與惡意應用層次,然而對于惡
意應用進一步的細分類,更多的是參考Androguard,MobileSandbox等知名團
隊定期的公布Android惡意軟件分類列表。

現有的對惡意應用的進行分類,尋找共通性方面缺乏,更多依賴于知名團
隊的定期發布的結果列表,但隨著Android惡意應用指數型增長的速度,這種
方式缺乏實時性,靈活性。

隨著Android平臺的快速發展,惡意應用出現的速度越來越快,據統計,
新出現的惡意代碼大部分是在原惡意代碼基礎上進一步修改而來。新生成的惡
意應用通常是設計者為了繞過反病毒軟件的查殺,而在原有基礎上修改而成。
因此,采用變形技術生成的新的惡意應用不僅與原惡意應用存在共性,而且新
生成的惡意應用之間也存在共性。如果能根據已知惡意應用代碼類別對新生成
的惡意應用代碼進行快速、準確的分類,并提取出“共性”特征,能極大的縮
短對新惡意軟件的分析時間,提高分析效率。

現有的對惡意應用細化的分類,由于尋找同類應用的“共性”方面缺乏,
更多的是依賴于MobileSandbox這類的團隊定期發布的分類列表。然而面對層
出不窮的惡意程序的新變種及未知惡意程序,僅僅靠定期發布的分類列表是遠
遠不足的,目前常用的分類算法有:支持向量機、K-最近鄰、神經網絡等算法
等。支持向量機(SupportVectorMachine,SVM),可以很好的解決高維問題、
非線性問題,但對缺失數據的敏感度高;K-最鄰近(kneareastneighbor,KNN)
算法簡單、有效,但計算量大,當樣本不平衡時出錯率高;人工神經網絡算法
分類準確度高,但需要大量的參數支持。

發明內容

本發明提出一種基于樸素貝葉斯的Android惡意軟件分類方法和裝置,通
過選取惡意應用程序間的“共性”來作為分類依據,能對惡意應用快速、準確
的進行分類,提高了分類效率。

具體方案如下:

一種基于樸素貝葉斯的Android惡意軟件分類方法,包括以下步驟:

S1:建立特征屬性集合,該特征屬性集合至少包括權限特征屬性和敏感API
特征屬性,并對相應的特征屬性進行分類,獲得訓練樣本集合,該訓練樣本集
合至少包括特征屬性集合和分類集合;

S2:提取權限特征屬性,匹配特征屬性集合中的權限特征屬性;

S3:收集日志信息,匹配特征屬性集合中的敏感API(Application
ProgrammingInterface,應用程序編程接口)特征屬性;

S4:形成樸素貝葉斯分類模型;

S5:輸出分類結果;

S6:更新訓練樣本集合和樸素貝葉斯分類模型。

其中,所述的步驟S2中提取權限特征屬性,匹配特征屬性集合中的權限特
征屬性的具體步驟是:

S21:反編譯待分類軟件,獲取待分類軟件的權限特征屬性;

S22:將獲取到的樣本權限列表與屬性特征相匹配,如果存在,則標記為第
一標志符,否則標記為第二標志符。

其中,所述的步驟S3中收集日志信息,匹配特征屬性集合中的敏感API特
征屬性的具體步驟是:

S31:將待分類軟件安裝到Android沙箱中運行,并采集輸出的敏感行為日
志;

S32:Android沙箱在應用程序Framework框架層、Dalvik虛擬機和本地
Native層采用APIHooking技術,標記敏感API;

S33:觸發敏感API,自動記錄日志;

S34:采集輸出的日志信息,匹配屬性特征集合中的敏感API特征屬性,如
果存在,則標記為第一標志符,否則標記為第二標志符。

其中,所述的步驟S4中形成分類樸素貝葉斯分類模型的具體步驟是:

S41:設X={a1,a2,...,am},為一待分類軟件,每個a為X的特征屬性,分類集
合C={C1,C2,....,Cn},計算P(C1|X),P(C2|X),...,P(Cn|X);

S42:如果P(Ck|X)=MAX{P(C1|X),P(C2|X),...,P(Cn|X)},則X∈Ck。

其中,所述的步驟S41計算P(C1|X),P(C2|X),...,P(Cn|X)的具體步驟是:

S411:統計訓練樣本集合中各特征屬性下的條件概率:

P(a1|C1),P(a2|C1),...,P(am|C1);P(a1|C2),P(a2|C2),...,P(am|C2);...;P(a1|Cn),P(a2|Cn),...,P(am|Cn)

S412:根據貝葉斯定理而各屬性值相互條件獨立,即
屬性間不存在依賴關系,有 P ( X | C i ) P ( C i ) = P ( C i ) Π j = 1 m P ( a j | C i ) . ]]>

一種基于樸素貝葉斯的Android惡意軟件分類的裝置,包括以下模塊:

特征屬性集合模塊,用于建立特征屬性集合,該特征屬性集合至少包括權
限特征屬性和敏感API特征屬性,并對相應的特征屬性進行分類,獲得訓練樣
本集合,該訓練樣本集合至少包括特征屬性集合和分類集合;

權限特征屬性模塊,用于提取權限特征屬性,匹配特征屬性集合中的權限
特征屬性;

敏感API特征屬性模塊,用于收集日志信息,匹配特征屬性集合中的敏感
API特征屬性;

樸素貝葉斯分類模型模塊,用于形成樸素貝葉斯分類模型;

輸出模塊,用于輸出分類結果;

更新模塊,用于更新訓練樣本集合和樸素貝葉斯分類模型。

其中,所述的權限特征屬性模塊包括:

權限特征屬性獲取模塊,用于反編譯待分類軟件,獲取待分類軟件的權限
特征屬性;

權限特征屬性匹配模塊,用于將獲取到的樣本權限列表與屬性特征相匹配,
如果存在,則標記為第一標志符,否則標記為第二標志符。

其中,所述的敏感API特征屬性模塊包括:

敏感行為日志采集模塊,用于將待分類軟件安裝到Android沙箱中運行,
并采集輸出的敏感行為日志;

敏感API標記模塊,用于Android沙箱在應用程序Framework框架層、Dalvik
虛擬機和本地Native層采用APIHooking技術,標記敏感API;

自動記錄模塊,用于觸發敏感API,自動記錄日志;

敏感API特征屬性匹配模塊,用于采集輸出的日志信息,匹配屬性特征集
合中的敏感API特征屬性,如果存在,則標記為第一標志符,否則標記為第二標
志符。

其中,所述的樸素貝葉斯分類模型模塊中包括:

分類計算模塊,設X={a1,a2,...,am},為一待分類軟件,每個a為X的特征屬性,
分類集合C={C1,C2,....,Cn},計算P(C1|X),P(C2|X),...,P(Cn|X),

分類判別模塊,如果P(Ck|X)=MAX{P(C1|X),P(C2|X),...,P(Cn|X)},則X∈Ck。

其中,其特征在于,所述的分類計算模塊包括:

條件概率計算模塊,用于統計訓練樣本集合中各特征屬性下的條件概率:

P(a1|C1),P(a2|C1),...,P(am|C1);P(a1|C2),P(a2|C2),...,P(am|C2);...;P(a1|Cn),P(a2|Cn),...,P(am|Cn)

分子計算模塊,根據貝葉斯定理而各屬性值相互條件
獨立,即屬性間不存在依賴關系,有

附圖說明

圖1為一實施例的特征屬性列表;

圖2為一實施例的主流程圖;

具體實施方式

為進一步說明各實施例,本發明提供有附圖。這些附圖為本發明揭露內容
的一部分,其主要用以說明實施例,并可配合說明書的相關描述來解釋實施例
的運作原理。配合參考這些內容,本領域普通技術人員應能理解其他可能的實
施方式以及本發明的優點。現結合附圖和具體實施方式對本發明進一步說明。

本實施例中,首先對已公布的應用軟件進行特征屬性的提取,建立一個特
征屬性列表及及其訓練集合。目前現有的分析APK應用的方法有兩種,靜態分
析和動態分析。

靜態分析主要通過文件結構解析、反匯編、反編譯等技術對惡意代碼進行
分析,不實際運行惡意代碼,而是通過捕獲惡意代碼的程序流程和功能,但由
于加殼、多態和變形技術的應用,使得靜態分析技術要求高難度大;動態分析
是通過在一個可控的環境中運行惡意應用,利用APIHooking等技術對惡意代
碼運行過程中的行為進行監測,分析惡意應用代碼與操作系統之間的行為特征,
能捕獲到可靠、準確的特征,但該方法只能針對特定API接口有效,且運行時
間長,加上反虛擬機技術的應用,準確性會大大降低。

在惡意應用分類中,選擇恰當的屬性特征對分類的準確性具有決定性的影
響。在屬性特征提取的過程中,抽象層次越高,越能反映出惡意應用的本質,
對分類也越有效果,但是特征的提取過程也越復雜,反之則相反。本實施例考
慮到靜態分析技術的不足,通過動靜結合思想,分析現有已公布的惡意應用軟
件,采集了30個使用頻率最高的應用權限和10個使用頻率最高的API接口作
為屬性特征列表,該屬性列表如圖1所示。

本領域技術人員應該知道,本實施例實施采用的特征屬性列表,其中圖1選
取的屬性特征,僅為本發明較佳的實施案例,僅用于幫助理解本發明的方法和
思想。

圖2示出了實施例的主流程圖:該流程包括以下步驟:

S1:反編譯APK;

S2:提取權限列表;

S3:判斷權限是否在屬性列表中;

S4:在模擬器中模擬運行APK;

S5:收集日志信息;

S6:匹配屬性列表中的敏感API接口;

S7:形成樣本特征向量;

S8:形成分類模型;

S9:輸出分類結果。

本實施例步驟S1至步驟S6均屬于樣本屬性特征值得采集部分,分為靜態
采集和動態采集,其中步驟S1至步驟S3為靜態采集部分,主要使用現有的
APKTOOL工具,對待測樣本進行反編譯,獲得其中的配置文件
AndroidManifest.xml,并根據其中的聲明的<uses-permission>字段列表,
獲取每個待測樣本對應的權限列表信息。將獲取到的樣本權限列表與屬性特征
相匹配,如果存在,則標記為第一標志符,否則標記為第二標志符。步驟S3至
步驟S6為動態采集部分通過將APK應用安裝到自定義的Android沙箱(Android
模擬器AVD)中運行,并采集輸出的敏感行為日志。自定義的Android沙箱在應
用程序Framework框架層、Dalvik虛擬機和本地Native層采用APIHooking技
術,標記敏感API,一旦惡意應用觸發敏感API,會自動記錄日志。通過采集輸
出的日志信息,匹配屬性列表中的API接口,如果存在,則標記為第一標志符,
否則標記為第二標志符。

本實施例的樸素貝葉斯分類模型,以已采集的現有的特征集合進行分類,
形成訓練集合,設X={a1,a2,...,am}為一待分類軟件,每個a為X的特征屬性,分類
集合C={C1,C2,....,Cn},計算P(C1|X),P(C2|X),...,P(Cn|X);

如果P(Ck|X)=MAX{P(C1|X),P(C2|X),...,P(Cn|X)},則X∈Ck。

其中,各特征屬性下的條件概率可由訓練樣本的數據計算得出:

P(a1|C1),P(a2|C1),...,P(am|C1);P(a1|C2),P(a2|C2),...,P(am|C2);...;P(a1|Cn),P(a2|Cn),...,P(am|Cn)

根據貝葉斯定理而各屬性值相互條件獨立,即屬性間
不存在依賴關系,有這樣便可計算出屬于每一類別
的概率,最后以其中概率最大的類別作為該待測樣本的類別并輸出分類的結果。
分類完成后對分類模型進行更新,以完善分類模型使分類更為準確。

基于上述的基于樸素貝葉斯的Android惡意軟件分類的方法,本發明還提
出一種基于樸素貝葉斯的Android惡意軟件分類的裝置,包括以下模塊:

特征屬性集合模塊,用于建立特征屬性集合,該特征屬性集合至少包括權
限特征屬性和敏感API特征屬性,并對相應的特征屬性進行分類,獲得訓練樣
本集合,該訓練樣本集合至少包括特征屬性集合和分類集合;

權限特征屬性模塊,用于提取權限特征屬性,匹配特征屬性集合中的權限
特征屬性;

敏感API特征屬性模塊,用于收集日志信息,匹配特征屬性集合中的敏感
API特征屬性;

樸素貝葉斯分類模型模塊,用于形成樸素貝葉斯分類模型;

輸出模塊,用于輸出分類結果;

更新模塊,用于更新訓練樣本集合和樸素貝葉斯分類模型。

其中,所述的權限特征屬性模塊包括:

權限特征屬性獲取模塊,用于反編譯待分類軟件,獲取待分類軟件的權限
特征屬性;

權限特征屬性匹配模塊,用于將獲取到的樣本權限列表與屬性特征相匹配,
如果存在,則標記為第一標志符,否則標記為第二標志符。

其中,所述的敏感API特征屬性模塊包括:

敏感行為日志采集模塊,用于將待分類軟件安裝到Android沙箱中運行,
并采集輸出的敏感行為日志;

敏感API標記模塊,用于Android沙箱在應用程序Framework框架層、Dalvik
虛擬機和本地Native層采用APIHooking技術,標記敏感API;

自動記錄模塊,用于觸發敏感API,自動記錄日志;

敏感API特征屬性匹配模塊,用于采集輸出的日志信息,匹配屬性特征集
合中的敏感API特征屬性,如果存在,則標記為第一標志符,否則標記為第二標
志符。

其中,所述的樸素貝葉斯分類模型模塊中包括:

分類計算模塊,設X={a1,a2,...,am},為一待分類軟件,每個a為X的特征屬性,
分類集合C={C1,C2,....,Cn},計算P(C1|X),P(C2|X),...,P(Cn|X);

分類判別模塊,如果P(Ck|X)=MAX{P(C1|X),P(C2|X),...,P(Cn|X)},則X∈Ck。

其中,其特征在于,所述的分類計算模塊包括:

條件概率計算模塊,用于統計訓練樣本集合中各特征屬性下的條件概率:

P(a1|C1),P(a2|C1),...,P(am|C1);P(a1|C2),P(a2|C2),...,P(am|C2);...;P(a1|Cn),P(a2|Cn),...,P(am|Cn)

分子計算模塊,根據貝葉斯定理而各屬性值相互條件
獨立,即屬性間不存在依賴關系,有

盡管結合優選實施方案具體展示和介紹了本發明,但所屬領域的技術人員
應該明白,在不脫離所附權利要求書所限定的本發明的精神和范圍內,在形式
上和細節上可以對本發明做出各種變化,均為本發明的保護范圍。

關 鍵 詞:
一種 基于 樸素 貝葉斯 ANDROID 惡意 軟件 分類 方法 裝置
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種基于樸素貝葉斯的ANDROID惡意軟件分類方法和裝置.pdf
鏈接地址:http://www.rgyfuv.icu/p-6341420.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图