欢迎来到利索能及~ 联系电话:18621327849
利索能及
我要发布
收藏
专利号: 2019100027952
申请人: 重庆邮电大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-10-29
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种融合频繁项集算法与随机森林算法的安卓恶意应用检测方法,其特征在于,包括以下步骤:对安卓Android应用软件进行批量反编译获得样本集,得到应用软件权限和敏感应用程序编程接口API函数静态特征;挖掘权限特征的频繁项集,对权限特征作降维处理,得到权限的频繁3‑项集,以获得样本集中权限之间的关联关系;挖掘出恶意样本和正常样本的频繁3‑项集,分别将恶意样本和正常样本的频繁3‑项集与敏感API函数一起作为特征构建特征集,采用信息增益算法对特征集中的特征属性进行筛选和评分,提取重要特征,构建与之对应的向量空间;采用随机森林分类器对向量空间进行学习和分类检测,对正常样本和恶意样本的向量空间进行正常或恶意的属性标记;

挖掘权限特征的频繁3‑项集具体包括:分别从恶意样本或正常样本中提取权限构建权限集;挖掘频繁权限集的1‑项集:计算权限集中每个权限的支持度S,对不满足最小支持度min_s的频繁1‑项集进行剪枝,得到候选集L1,再对L1中的元素进行连接;将连接后的候选集作为新的2‑项集,挖掘频繁2‑项集:对不满足最小支持度min_s的频繁2‑项集进行剪枝,形成新的候选集L2,重复进行,直到得到频繁3‑项集;

采用信息增益(Information Gain,IG)算法具体包括,根据样本集中正常软件或恶意软件分别出现的概率P(Ci),按照公式: 计算样本集的信息熵H(C),按照公式: 计算第i个特征的条件熵H(Y|Xi),根据公式

IGi=H(C)‑H(Y|Xi)计算第i个特征的IG值,IG值越大表明恶意样本和正常样本的频繁3‑项集相关程度越大,根据相关程度保留重要特征,将重要特征与系统中每个应用软件进行匹配,分别构建与之对应的向量空间;

构建向量空间具体包括,将IG值为0的特征剔除,而将其余值不为0的特征保留作为重要特征,构建包含应用软件样本不同的特征向量(x1,x2,…,xn)的特征集X,调用公式V:s→|X|{0,1} ,根据集合X中的特征向量构建向量空间V,其中,s表示某个应用软件,V中每一维与X中某一特征相对应,如果s包含该某一特征,则向量空间V中与该特征对应的标识值为1,否则为0。

2.根据权利要求1所述方法,其特征在于,特征提取之前使用静态分析工具对应用软件进行反编译,得到包含资源文件res、第三方软件开发包的so文件lib、语法文件smali和应用程序描述文件AndroidManifest.xml,文件中包含所述应用软件的各种资源文件和源代码。

3.根据权利要求2所述方法,其特征在于,采用编程语言python脚本提取特征,解析AndroidManifest.xml文件中提取申请的所有权限获得权限特征,使用python中的方法函数‑‑‑os.walk()遍历所有smali文件,根据正则匹配方法提取样本集中所有样本的敏感API函数。

4.一种融合频繁项集算法与随机森林算法的安卓恶意应用检测系统,包括:特征提取模块、特征处理模块和随机森林分类算法模块,其特征在于,特征提取模块对经过批量反编译的Android应用软件进行特征提取,得到应用软件权限和敏感API函数静态特征;特征处理模块挖掘权限特征的频繁项集,对权限特征作降维处理,得到权限的频繁3‑项集,以获得样本集中权限之间的关联关系,挖掘出恶意样本和正常样本的频繁3‑项集,将其与敏感API函数一起作为特征构建特征集,采用信息增益算法对特征集中的特征属性进行筛选和评分,提取重要特征,构建与之对应的向量空间;随机森林分类算法模块对向量空间进行学习和分类检测,采用随机森林分类器对正常样本和恶意样本的向量空间进行正常或恶意的属性标记;

挖掘权限特征的频繁3‑项集具体包括:分别从恶意样本或正常样本中提取权限构建权限集;挖掘频繁权限集的1‑项集:计算权限集中每个权限的支持度S,对不满足最小支持度min_s的频繁1‑项集进行剪枝,得到候选集L1,再对L1中的元素进行连接;将连接后的候选集作为新的样本集,挖掘频繁2‑项集:对不满足最小支持度min_s的频繁2‑项集进行剪枝,形成新的候选集L2,重复进行,直到得到频繁3‑项集;

采用信息增益IG算法具体包括,计算特征的熵值与其条件熵的差值得到该特征的IG值,根据样本集中正常软件或恶意软件分别出现的概率P(Ci),按照公式:计算样本集的信息熵H(C),按照公式:

计算第i个特征的条件熵H(Y|Xi),根据公式IGi=H(C)‑H(Y|Xi)计算第i个特征的IG值,IG值越大表明恶意样本和正常样本的频繁3‑项集相关程度越大,根据相关程度保留重要特征,将重要特征与系统中每个应用软件进行匹配,分别构建与之对应的向量空间;

构建向量空间具体包括,将IG值为0的特征剔除,而将其余值不为0的特征保留作为重要特征,构建包含应用软件样本不同的特征向量(x1,x2,…,xn)的特征集X,调用公式V:s→|X|{0,1} ,根据集合X中的特征向量构建向量空间V,其中,s表示某个应用软件,V中每一维与X中某一特征相对应,如果s包含该某一特征,则向量空间V中与该特征对应的标识值为1,否则为0。

5.根据权利要求4所述的检测系统,其特征在于,使用静态分析工具对应用软件进行反编译,得到包含res、lib、smali和AndroidManifest.xml的文件,文件中包含所述应用软件的各种资源文件和源代码。

6.根据权利要求5所述的检测系统,其特征在于,采用编程语言python脚本提取特征,解析AndroidManifest.xml文件中提取申请的所有权限获得权限特征,使用os.walk()函数遍历所有smali文件,根据正则匹配方法提取各样本的敏感API函数。