[发明专利]一种基于特权特征和污点特征的机器学习恶意软件检测方法在审
申请号: | 202111497710.6 | 申请日: | 2021-12-09 |
公开(公告)号: | CN114329463A | 公开(公告)日: | 2022-04-12 |
发明(设计)人: | 方黎明;朱泽升;恽昕宇 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F8/53 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 任志艳 |
地址: | 211106 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 特权 特征 污点 机器 学习 恶意 软件 检测 方法 | ||
1.一种基于特权特征和污点特征的机器学习恶意软件检测方法,其特征在于,包括如下步骤:
步骤1,解压APK文件,获取AndroidMainfest.xml文件;
步骤2,反编译AndroidMainfest.xml文件,从中提取权限信息;
步骤3,使用FlowDroid提取sink特征、source特征和path特征;
步骤4,计算每种权限出现的频率,得到单个权限的特征值表;
步骤5,根据步骤4,计算单个程序整体权限特征值;
步骤6,计算sink特征、source特征和path特征的特征值,若泄露路径为0时,Source特征和Sink特征的特征值计算与权限的特征值计算相同;若泄漏路径不为0时Source和Sink的特征值受Path特征值的影响,每增加一条Path,则对应的Source和Sink的特征值按比例P增加;
步骤7,使用深度学习算法进行检测和分类。
2.根据权利要求1所述一种基于特权特征和污点特征的机器学习恶意软件检测方法,其特征在于,步骤6所述的比例P为10%。
3.根据权利要求1所述一种基于特权特征和污点特征的机器学习恶意软件检测方法,其特征在于,步骤4中计算每种权限出现的频率,得到单个权限的特征值表;具体过程如下:
先从N个Android恶意软件中提取出现频率最高的M种权限;计算每种权限出现的频率,将该频率乘以100作为每一个权限的特征值,得到单个权限的特征值表,将特征值记为:
4.根据权利要求1所述一种基于特权特征和污点特征的机器学习恶意软件检测方法,其特征在于,步骤5中计算单个程序整体权限特征值,具体过程如下:根据单个Android应用程序本身所提取的权限,按照特征值表所赋予的特征值进行计算,进而得出Android应用程序的权限特征值,计算公式如下:
其中所指的是第i个特征权限的存在情况,0表示不存在该权限特征,1表示存在该权限特征,则表示第i个特征权限的特征值。
5.根据权利要求1所述一种基于特权特征和污点特征的机器学习恶意软件检测方法,其特征在于,步骤6中计算sink特征、source特征和path特征的特征值,具体过程如下:
将所发现的泄漏的路径数作为Path特征的特征值;
当VPath=0时,即在没有发现泄露的前提下,Source特征和Sink特征的特征值计算与权限的特征值计算相同,Source特征选取的是Nsource个特征,而Sink特征则是选取Nsink个特征,其中Nsink大于等于2Nsource;
当VPath=0时,Source特征值计算公式如下:
其中表示第i个Source特征值的存在情况,0表示不存在该Source特征,1表示存在该Source特征,则表示第i个Source特征的特征值;
Sink特征值计算与Source特征值计算相同,公式如下:
其中表示第i个Sink特征值的存在情况,0表示不存在该Sink特征,1表示存在该Sink特征,则表示第i个Sink特征的特征值;
当VPath≠0时,即出现可能泄露的路径时,Source和Sink的特征值受Path特征值的影响,将当Path特征值为0时,所计算的Source特征值记为V′permission,Sink特征值记为V′Source,每增加一条Path,在对应的特征值上增加10%。此时Source特征值计算如下:
VSource=V′Source*(1+10%*VPath)
Sink特征值的计算与Source特征值计算相同,公式如下:
VSink=V′Sink*(1+10%*VPath)
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111497710.6/1.html,转载请声明来源钻瓜专利网。