当前位置: 首页 > 专利查询>天津大学专利>正文

基于机器学习的安卓平台恶意软件检测方法技术

技术编号:11766403 阅读:83 留言:0更新日期:2015-07-23 18:17
本发明专利技术公开了一种基于机器学习的安卓平台恶意软件检测方法,分别收集等量的标定的恶意程序集M和采集的正常程序集B,分别组成样本库;通过大量样本进行训练,比较后得出最佳的分类模型,然后对待检测的程序提取权限信息,生成特征向量,输入分类模型后得出检测结果;对待测程序进行分类,得到待测程序是恶意程序或正常程序这一判别结果。与现有技术相比,本发明专利技术提高了恶意软件检测的效率和准确率;具有简单、高效的特点,避免了动态检测技术中繁杂的操作和较大的能耗,在保证准确率的基础上大幅提高了检测的速度;可以为个人用户提供基本的保护,同时也可以作为Android第三方电子市场的审核工具。

【技术实现步骤摘要】

本专利技术涉及信息安全技术、逆向工程技术等多种领域,特别是涉及一种基于安卓 操作系统平台的恶意软件检测方法。
技术介绍
随着基于移动终端的Android操作系统的飞速发展,在市场占有率跃居第一的同 时,针对Android操作系统的恶意软件也随之而来。最早的恶意软件出现于传统的PC平台 的windows操作系统,恶意软件是一类具有恶意倾向的特殊软件,它能够损害操作系统安 全,打乱正常软件运行。互联网协会总结了恶意软件的特征并给出定义,"恶意软件是指在 未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵害用 户合法权益的软件"。 目前,针对Android操作系统的恶意软件的检测,按照检测时机划分,可以分为动 态检测、静态检测以及基于云计算的检测。1)动态检测,就是在系统运行的情况下去收集 相关信息,利用监控工具监控其在运行状态下,是否有联网、获取隐私等行为,进而判别软 件是否有恶意性;2)静态检测则不需要在实际运行过程去分析程序,而是直接分析软件本 身,根据特定标准来判断程序中是否有恶意倾向;3)基于云计算的检测是针对移动设备在 电量和计算能力方面的局限性,把检测方案部署到具备海量存储和大量计算能力的云端服 务器上,在被检测设备上只保留代理软件来采集基本信息,检测结果通过网络发回,从而提 高检测表现,节省手机能源。
技术实现思路
基于上述技术问题,本专利技术提出了一种基于机器学习的安卓平台恶意软件检测方 案,从而实现安卓操作系统下的恶意软件的有效检测。 本专利技术一种,该方法包括以下步骤; 步骤一、分别收集等量的标定的恶意程序集M和采集的正常程序集B,分别组成样 本库; 步骤二、对样本库中所有的Android程序的安装文件用逆向工程工具进行反编 译,获取其配置文件; 步骤三、对上述的配置文件进行解码,并提取其中的权限信息,分别得到恶意程序 集M的权限集和采集的正常程序集B的权限集; 步骤四、对上述的每个权限集进行统计,选取使用频次多的权限并进行筛选,最终 分别获取46个权限为特征权限,作为样本的特征库; 步骤五、对样本库中所有的程序进行特征提取,46个特征中使用到的置1,未使用 的置0,每个样本生成一个对应的46维的二进制特征向量,同时标定类别信息; 步骤六、基于上述样本的特征库,使用分类工具和分类算法进行分类训练,生成相 应的分类模型; 步骤七、获取待测程序的安装文件;根据上述步骤二~步骤五,生成对应的特征向 量; 步骤八、根据步骤六生成的分类模型、且以步骤七生成的特征向量为输入,对待测 程序进行分类,得到待测程序是恶意程序或正常程序这一判别结果。 与现有技术相比,本专利技术提尚了恶意软件检测的效率和准确率;具有简单、尚效的 特点,避免了动态检测技术中繁杂的操作和较大的能耗,在保证准确率的基础上大幅提高 了检测的速度;可以为个人用户提供基本的保护,同时也可以作为Android第三方电子市 场的审核工具。【附图说明】 图1为本专利技术的恶意软件检测方案流程图。【具体实施方式】 以下结合附图及【具体实施方式】,进一步详述本专利技术的技术方案。 本专利技术的整体思路是采用基于软件权限信息的静态检测方法,首先通过大量样本 进行训练,得出较好的分类模型,然后提取待检测程序的权限信息,输入分类模型后得出检 测结果。 如图1所示,本专利技术的恶意软件检测方案流程包括以下步骤: 步骤101、从Genome项目中获取已经标定的恶意程序集M,从国内正规的安卓市场 采集的正常程序集B,从中各选取200个样本,组成本专利技术的样本库即待测APK文件; 步骤102、用apktool工具软件,配合windows下的批处理程序,对样本库中所有 apk安装软件进行反编译,获得每个样本对应的配置文件AndroidManifest.xml,并将其转 存为txt格式,便于后期处理; 步骤103、通过C++程序,根据配置文件AndroidManifest.xml中声明权限的字段 〈uses-permission>,提取每个样本文件的对应的权限信息; 步骤104、用特征权限集的元素顺序进行匹配,S卩:分别对标定的恶意程序集M和 采集的正常程序集B的权限集,用46个特征权限进行匹配,如果该特征存在则标1,否则标 0;生成每个样本的对应的46维的二进制特征向量,同时标定每个特征向量的类别信息,表 明其属于恶意软件或是正常软件; 步骤105、读取权限集的一个元素; 步骤106、判断该权限是否匹配成功; 步骤107、如果匹配成功,则将对应的特征标示为1 ;否则,如果匹配不成功,则将 对应的特征标示为0,步骤112; 步骤108、判断特征权限集是否读取完毕; 步骤109、如果是,则表明对特征权限集中所有的元素完成匹配及标示,则获得待 测软件的所有特征向量;否则,返回步骤105,继续处理; 步骤110、输入分类模型;该步骤的处理具体为:将待测软件的特征向量作为生成 的分类模型的输入; 步骤111、得到判别结果,即对该软件是否为恶意软件作出判断。 分别统计标定的恶意程序集M和采集的正常程序集B使用频率最高的前30个权 限,共计60个作为初步特征;随后将这两个集合中相同的权限排除,使得每个特征都对所 属的类别有着更高的代表性,最终得到46个权限(举例如表1所示),作为样本特征;这些 选取的特征如下: 表1、本专利技术实施例的特征权限列表【主权项】1. 一种,其特征在于,该方法包括以下步 骤; 步骤一、分别收集等量的标定的恶意程序集M和采集的正常程序集B,分别组成样本 库; 步骤二、对样本库中所有的Android程序的安装文件用逆向工程工具进行反编译,获 取其配置文件; 步骤三、对上述的配置文件进行解码,并提取其中的权限信息,分别得到恶意程序集M的权限集和采集的正常程序集B的权限集; 步骤四、对上述的每个权限集进行统计,选取使用频次多的权限并进行筛选,最终分别 获取46个权限为特征权限,作为样本的特征库; 步骤五、对样本库中所有的程序进行特征提取,46个特征中使用到的置1,未使用的置 〇,每个样本生成一个对应的46维的二进制特征向量,同时标定类别信息; 步骤六、基于上述样本的特征库,使用分类工具和分类算法进行分类训练,生成相应的 分类模型; 步骤七、获取待测程序的安装文件;根据上述步骤二~步骤五,生成对应的特征向量; 步骤八、根据步骤六生成的分类模型、且以步骤七生成的特征向量为输入,对待测程序 进行分类,得到待测程序是恶意程序或正常程序这一判别结果。【专利摘要】本专利技术公开了一种,分别收集等量的标定的恶意程序集M和采集的正常程序集B,分别组成样本库;通过大量样本进行训练,比较后得出最佳的分类模型,然后对待检测的程序提取权限信息,生成特征向量,输入分类模型后得出检测结果;对待测程序进行分类,得到待测程序是恶意程序或正常程序这一判别结果。与现有技术相比,本专利技术提高了恶意软件检测的效率和准确率;具有简单、高效的特点,避免了动态检测技术中繁杂的操作和较大的能耗,在保证准确率的基础上大幅提高了检测的速度;可以为个人用户提供基本的保护,同时也可以作为Android第三方电子市场的审核工具。【IPC分类】G06F21-56【公开号】CN104本文档来自技高网...

【技术保护点】
一种基于机器学习的安卓平台恶意软件检测方法,其特征在于,该方法包括以下步骤;步骤一、分别收集等量的标定的恶意程序集M和采集的正常程序集B,分别组成样本库;步骤二、对样本库中所有的Android程序的安装文件用逆向工程工具进行反编译,获取其配置文件;步骤三、对上述的配置文件进行解码,并提取其中的权限信息,分别得到恶意程序集M的权限集和采集的正常程序集B的权限集;步骤四、对上述的每个权限集进行统计,选取使用频次多的权限并进行筛选,最终分别获取46个权限为特征权限,作为样本的特征库;步骤五、对样本库中所有的程序进行特征提取,46个特征中使用到的置1,未使用的置0,每个样本生成一个对应的46维的二进制特征向量,同时标定类别信息;步骤六、基于上述样本的特征库,使用分类工具和分类算法进行分类训练,生成相应的分类模型;步骤七、获取待测程序的安装文件;根据上述步骤二~步骤五,生成对应的特征向量;步骤八、根据步骤六生成的分类模型、且以步骤七生成的特征向量为输入,对待测程序进行分类,得到待测程序是恶意程序或正常程序这一判别结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘昱李海宾张亦弛李圣龙王啸晨冯小伟
申请(专利权)人:天津大学
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1