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

上传人:1*** 文档编号:1750897 上传时间:2018-07-09 格式:PDF 页数:7 大小:400.95KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510184628.6

申请日:

2015.04.17

公开号:

CN104794398A

公开日:

2015.07.22

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 21/56申请公布日:20150722|||实质审查的生效IPC(主分类):G06F 21/56申请日:20150417|||公开

IPC分类号:

G06F21/56(2013.01)I

主分类号:

G06F21/56

申请人:

天津大学

发明人:

刘昱; 李海宾; 张亦弛; 李圣龙; 王啸晨; 冯小伟

地址:

300072天津市南开区卫津路92号

优先权:

专利代理机构:

天津市北洋有限责任专利代理事务所12201

代理人:

李素兰

PDF下载: PDF下载
内容摘要

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

权利要求书

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

说明书

说明书基于机器学习的安卓平台恶意软件检测方法
技术领域
本发明涉及信息安全技术、逆向工程技术等多种领域,特别是涉及一种基于安卓操作系统平台的恶意软件检测方法。
背景技术
随着基于移动终端的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、用特征权限集的元素顺序进行匹配,即:分别对标定的恶意程序集M和采集的正常程序集B的权限集,用46个特征权限进行匹配,如果该特征存在则标1,否则标0;生成每个样本的对应的46维的二进制特征向量,同时标定每个特征向量的类别信息,表明其属于恶意软件或是正常软件;
步骤105、读取权限集的一个元素;
步骤106、判断该权限是否匹配成功;
步骤107、如果匹配成功,则将对应的特征标示为1;否则,如果匹配不成功,则将对应的特征标示为0,步骤112;
步骤108、判断特征权限集是否读取完毕;
步骤109、如果是,则表明对特征权限集中所有的元素完成匹配及标示,则获得待测软件的所有特征向量;否则,返回步骤105,继续处理;
步骤110、输入分类模型;该步骤的处理具体为:将待测软件的特征向量作为生成的分类模型的输入;
步骤111、得到判别结果,即对该软件是否为恶意软件作出判断。
分别统计标定的恶意程序集M和采集的正常程序集B使用频率最高的前30个权限,共计60个作为初步特征;随后将这两个集合中相同的权限排除,使得每个特征都对所属的类别有着更高的代表性,最终得到46个权限(举例如表1所示),作为样本特征;这些选取的特征如下:
表1、本发明实施例的特征权限列表
1BROADCAST_STICKY17ACCESS_COARSE_LOCATION33UNINSTALL_SHORTCUT2WRITE_APN_SETTINGS18ACCESS_COARSE_LOCATION34RECEIVE_BOOT_COMPLETED3READ_CONTACTS19GET_TASKS35CHANGE_NETWORK_STATE4READ_SMS20WRITE_SETTINGS36RECEIVE_BOOT_COMPLETED5RECEIVE_SMS21CHANGE_WIFI_STATE37MODIFY_AUDIO_SETTINGS6SEND_SMS22DISABLE_KEYGUARD38MOUNT_UNMOUNT_FILESYSTEMS7WRITE_SMS23INSTALL_SHORTCUT39RESTART_PACKAGES
8RESTART_PACKAGES24WAKE_LOCK40MANAGE_ACCOUNTS9.BLUETOOTH25READ_LOGS41WRITE_EXTERNAL_STORAGE10FLASHLIGHT26SYSTEM_ALERT_WINDOW42USE_CREDENTIALS11CALL_PHONE27CAMERA43KILL_BACKGROUND_PROCESSES12DISABLE_KEYGUARD28RECORD_AUDIO44CHANGE_CONFIGURATION13READ_LOGS29READ_CONTACTS45ACCESS_MOCK_LOCATION14WRITE_CONTACTS30GET_ACCOUNTS46BLUETOOTH_ADMIN15ACCESS_WIFI_STATE31READ_EXTERNAL_STORAGE 16VIBRATE32CALL_PHONE 
对基于上述步骤109获得的样本特征向量集,使用分类算法进行训练,得到最佳的分类模型;在本发明实施例中,分别采用朴素贝叶斯支持向量机(SVM)、临近算法(kNN)等算法,比较结果最终选取朴素贝叶斯为最佳算法。
贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。当训练样本数量较大时,该算法具有较快的速度和较高的准确率。
以上所述,仅为本发明的较佳实施例而已,用于帮助理解本发明的方法及核心思想,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,所以本说明书内容不应理解为对本发明的限制。

基于机器学习的安卓平台恶意软件检测方法.pdf_第1页
第1页 / 共7页
基于机器学习的安卓平台恶意软件检测方法.pdf_第2页
第2页 / 共7页
基于机器学习的安卓平台恶意软件检测方法.pdf_第3页
第3页 / 共7页
点击查看更多>>
资源描述

《基于机器学习的安卓平台恶意软件检测方法.pdf》由会员分享,可在线阅读,更多相关《基于机器学习的安卓平台恶意软件检测方法.pdf(7页珍藏版)》请在专利查询网上搜索。

本发明公开了一种基于机器学习的安卓平台恶意软件检测方法,分别收集等量的标定的恶意程序集M和采集的正常程序集B,分别组成样本库;通过大量样本进行训练,比较后得出最佳的分类模型,然后对待检测的程序提取权限信息,生成特征向量,输入分类模型后得出检测结果;对待测程序进行分类,得到待测程序是恶意程序或正常程序这一判别结果。与现有技术相比,本发明提高了恶意软件检测的效率和准确率;具有简单、高效的特点,避免了动。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1