【技术实现步骤摘要】
基于Adaboost的安卓恶意软件检测方法、系统及存储介质
[0001]本专利技术属于网络安全的
,具体涉及一种基于Adaboost的安卓恶意软件检测方法、系统及存储介质。
技术介绍
[0002]对于安卓恶意软件的兴起,主要是因为安卓的开放性,安卓允许安装任意来源的安装包:黑客常常从正常应用商店下载正常的软件,然后自己进行反编译,插入自己的恶意代码,并重新打包第三方应用商店,如果此时用户从第三方应用商店下载数据,那么就可能导致手机感染恶意软件,APK文件传播起来也特别方便。而对于iPhone来说,下载软件一般都是通过自己的appstore,appstore的应用都是官方审核过的。另外,安卓恶意软件开发起来越来越容易,甚至只需要在公开的恶意代码中稍作改动就可以打包成一个新的恶意软件。
[0003]安卓恶意软件的检测的方法主要分为两种,静态检测方法和动态检测方法:
[0004]动态检测方法需要运行安卓软件,主要是在一个受控的环境中(比如沙箱)中运行安卓app,观察其行为和关键API的调用,从而判断软件是否是恶意的,该方法可以深度检测安卓恶意软件的行为。
[0005]静态检测方法不需要运行安卓软件,通过分析APK二进制文件就可以对安卓恶意软件进行检测。静态检测方法包括传统的静态检测方法和基于机器学的静态检测方法。传统的静态检测方法主要是逆向APK文件,分析代码逻辑,知道了代码逻辑就知道了该软件做了什么事情,从而判断其是否是恶意的,或者进行一些关键字符的匹配,如果匹配到恶意的字符串,就认为是恶意
【技术保护点】
【技术特征摘要】
1.基于Adaboost的安卓恶意软件检测方法,其特征在于,包括下述步骤:收集安卓软件APK文件;基于APK文件,提取出安卓的权限特征、Intent特征和API特征;对Intent特征和权限特征进行特征选择,并用词袋模型进行处理,生成权限和Intent特征向量;对API特征进行清洗,使用bi
‑
gram获取API分布特征,得到bi
‑
gram的集合,利用TF
‑
IDF算法对API进行特征选择和向量化,选择前M个TF
‑
IDF值最大的API或者API的bi
‑
gram的集合,生成API特征向量;将生成的API特征向量拼接到权限和Intent特征向量右边,形成新的向量;基于Adaboost算法设计检测模型,该模型可识别未知软件是否属于恶意软件。2.根据权利要求1所述基于Adaboost的安卓恶意软件检测方法,其特征在于,所述权限特征提取如下:使用Androguard工具获取AndroidManifest.xml配置文件,使用正则匹配对AndroidManifest.xml进行解析,匹配uses
‑
permission标签下的以android.permission开头的权限,得到该APK文件所有的以android.permission开头的权限;所述Intent特征的提取方法如下:使用Androguard工具获取AndroidManifest.xml配置文件,使用正则匹配对AndroidManifest.xml进行解析,匹配intent
‑
filter标签下android.intent开头的Intent,得到该APK文件所有的以android.intent开头的Intent;所述API特征提取方法如下:使用Androguard工具从APK文件中获取.dex文件,从而获得类名,从类名中提取方法名,并获取每一个方法调用的API,将提取的每一个APK文件的API保存。3.根据权利要求1所述基于Adaboost的安卓恶意软件检测方法,其特征在于,Intent和权限特征选择,具体为:使用python的os.walk库遍历所有文件,记录所有的提取的Intent和权限特征,并对特征在APK文件中出现的次数进行统计,选择出现次数排前80%的Intent和权限特征作为Intent和权限特征空间;权限和Intent特征向量化,具体为:使用python的os.walk库遍历每一类文件夹下的APK文件,对于一个APK文件,遍历Intent和权限特征空间的每一个特征,若特征空间中的特征在该APK文件中存在,相应的位置就标记为1,如果不存在,就标记为0;直到遍历完所有的APK文件。4.根据权利要求1所述基于Adaboost的安卓恶意软件检测方法,其特征在于,所述对API特征进行清洗,规则如下:(1)过滤掉长度小于3的API;(2)过滤掉不含有“a、e、i、o、u”元音字母的API;所述获取API分布特征,具体为:使用bi
‑
gram模型获取分布特征,bi
‑
gram模型是n
‑
gram模型的一种,n
‑
gram模型起源于马尔科夫模型,该模型认为一个词的出现仅仅依赖于它前面出现的n
‑
1个词,考虑到恶意软件检测的速度,假定一个API的出现仅仅依赖于它前面出现的一个API,即bi
‑
gram模型,
使用该模型对API生成bi
‑
gram的集合。5.根据权利要求4所述基于Adaboost的安卓恶意软件检测方法,其特征在于,所述利用TF
‑
IDF对API进行特征选择和向量化,具体为:把APK文件中的API调用看成单词或者短语,认为API的重要性随着它在APK文件中出现的频率而增加,但同时随着它在所有的APK中出现的次数而下降,认为这种重要的API具有很好的区分类别的能力,TF
‑
IDF的值代表了该API的重要程度。6.根据权利要求5所述基于Adaboost的安卓恶意软件检测方法,其特征在于,所述API的重要程度的计算方式如下:首先计算API的词频TF和API逆文档频率I...
【专利技术属性】
技术研发人员:李树栋,张海鹏,吴晓波,韩伟红,方滨兴,田志宏,殷丽华,顾钊铨,
申请(专利权)人:广州大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。