本发明专利技术公开了一种轻量级安卓恶意软件快速判断方法,从不同来源收集软件样本,分别组成恶意软件库和良性软件库这两个样本库;获取两个样本库中的Android程序安装文件的配置文件;对配置文件进行解码,提取权限向量,得到每个程序的权限集;对样本库进行特征提取得到46个权限,每个样本生成一个与之对应的46维的二进制特征向量;计算出与软件性质相关度最高的10个特征向量,并对每个样本特征标定类别;对10个特征向量的集合训练出分类模型;获取待测软件的安装文件,生成待测程序对应的特征向量;根据分类模型,以特征向量为输入,对待测软件进行分类,得到待测软件检测结果。与现有技术相比,本发明专利技术具有快速、简单的特点,可以作为各个安卓应用市场的初步审核工具。
【技术实现步骤摘要】
本专利技术涉及软件检测、网络安全技术等多种领域,特别是一种安卓平台下的快速 的恶意软件判断方法。
技术介绍
智能手机是移动互联网的重要载体,随着移动互联网的迅速发展,智能手机市场 规模也不断增长.Android系统由于其开源性,任何组织或个人编写的软件都可以上传到 "应用商店"中,供用户下载并安装使用,因此已经占据全球智能手机出货量的75%。但是, 智能手机市场的迅速发展也带来了与用户密切相关的恶意软件问题。 目前国际上对于智能手机恶意软件检测的研宄所使用的方法主要可分为两类:基 于规则的检测方法和基于异常的检测方法。其中,1)基于规则的检测方法将权限组合、行为 足迹、作者信息等作为判定的规则,定义各种潜在的危险权限组合作为规则,通过检查特定 的危险权限组合来中止潜在不安全应用的安装。2)基于异常的检测方法选取了权限、系统 调用和功耗等作为学习的特征,并利用聚类和分类算法来区分正常和恶意的应用。两种方 法中都应用了一些不同的机器学习算法,如Logistic回归分析(Logisticregression)和 贝叶斯网络(Bayesiannetworks)来对应用程序分类。
技术实现思路
基于上述技术问题,本专利技术提出了,从而 实现安卓操作系统下的恶意软件的有效检测。 本专利技术,该方法包括以下步骤: 步骤1、从不同来源收集软件样本,分别组成恶意程序库和良性程序库这两个样本 库; 步骤2、对上述两个样本库中所有的Android程序的安装文件用逆向工程工具进 行反编译,获取配置文件; 步骤3、对上述配置文件进行解码,扫描源码并提取其中的权限向量,得到每个程 序对应的权限集; 步骤4、对样本库中所有的程序进行特征提取得到46个权限作为特征,分别计算 出两个样本库当中上述46个权限的使用频度,筛选出频度差值高的前10位权限,作为本发 明采用的10维特征,将10个权限中未使用的置〇,使用到的置1,这样每个样本生成一个与 之对应的10维的二进制特征向量; 步骤5、根据每个样本的来源,标定其良性或恶性的类别; 步骤6、对上述10个特征向量的集合训练出分类模型; 步骤7、获取待测程序的安装文件,如步骤2所述,生成待测程序对应的特征向量; 步骤8、根据步骤6生成的分类模型,以步骤7生成的特征向量为输入,对待测程序 进行分类,得到待测软件是恶意程序还是良性程序的检测结果。 与现有技术相比,本专利技术具有快速、简单的特点,没有如动态检测技术中应用的繁 杂的算法和较大的能耗,在维持一定的准确率的基础上提高了检测的速度。可以作为个人 客户端查毒的基础判断方法,同时也可以作为各个安卓应用市场的初步审核工具。【附图说明】 图1为本专利技术的恶意软件快速检测方法流程图。【具体实施方式】 以下结合附图及【具体实施方式】,进一步详述本专利技术的技术方案。 本专利技术的整体思路是采用基于软件权限信息的静态检测方法,首先通过大量样本 进行训练,得出较好的分类模型,然后对待检测的程序提取权限信息,输入分类模型后得出 检测结果。 以一个具体实施例描述本专利技术流程,包括以下步骤: 第一阶段: 第一步,从Genome项目(一种本
中有关打击基于Android的设备恶意软 件为目的的"基因组计划")中获取已经标定的恶意程序集A,从Google电子市场采集正常 程序集B,从中各选取150个样本,组成本专利技术的样本库; 第二步,用AndroidKiller工具软件,配合Windows下的批处理程序,对样本库中 所有APK安装软件进行反编译,获得每个样本对应的配置文件AndroidManifest.xml,并将 其转存为txt格式,便于后期处理; 第三步,通过java程序,根据配置文件中声明权限的字段〈uses-permission>,将 每个样本的对应的权限集提取出来; 第四步,分别统计恶意集A和正常集B使用频率最高的前30个权限,共计60个为 初步特征,随后将这两个集合中相同的权限排除,使得每个特征都对所属的类别有着更高 的代表性,最终得到46个权限,这些选取的权限如表1所示。 第五步,在上述46个权限中筛选出频度差别较高的10个权限,10个权限的标签如 下: WRITE_EXTERNAL_ST0RAGE ACCESS_WIFI_STATE VIBRATE WAKE_L0CK ACCESS_C0ARSE_L0CATION RECEIVE_B00T_C0MPLETED WRITE_APN_SETTINGS READ_C0NTACTS READ_SMS RECEIVE_SMS第六步,基于上述步骤获得的样本特征向量集,使用分类算法进行训练,得到最佳 的分类模型,在实施例中,分别采用朴素贝叶斯(NaYveBayes)、决策树(C4. 5)、支持向量机 (SVM)、临近算法(kNN)等算法,比较结果最终选取kNN为最佳算法。在本方案的选取的300 个样本库中,使用该分类模型的准确率为96. 07 % ; 第七步,对于待测软件,采用第二步、第三步和第五步对其进行特征提取,生成其 特征向量。 第八步,将待测软件的特征向量,作为第六步生成训练模型的输入,得到最终的分 类结果,即对该软件是否为恶意软件做出判断。 在具体检测时,对待测软件执行的上述第七步和第八步的处理参见如图1所示的 流程,其包括以下步骤: 步骤101、提取配置文件的权限信息;此步骤采用上述的第二步、第三步和第五步 对其进行特征提取,生成其特征向量;; 步骤102、顺序读10维特征向量,取权限集中的一个元素; 步骤103、判断该元素是否与待测权限匹配成功? 步骤104、如果成功,则对应的特征向量标为1 ; 步骤105、如果不成功,则对应的特征向量标为0 ; 步骤106、判断读取的权限信息是否为最后一个元素;如果否,则继续读取权限集 中的下一元素,直至读完; 步骤107、如果是,贝1」获得特征向量; 步骤108、作为上述的第六步生成训练模型的输入分类模型; 步骤109、得到判别结果,即对该软件是否为恶意软件做出判断。 本专利技术具有快速、简单的特点,没有如动态检测技术中应用的繁杂的算法和较大 的能耗,在维持一定的准确率的基础上提高了检测的速度。可以作为个人客户端查毒的基 础判断方法,同时也可以作为各个安卓应用市场的初步审核工具。 表1、本专利技术实施例的特征权限列表【主权项】1. ,其特征在于,该方法包括以下步骤: 步骤(1)、从不同来源收集软件样本,分别组成恶意程序库和良性程序库这两个样本 库; 步骤(2)、对上述两个样本库中所有的Android程序的安装文件用逆向工程工具进行 反编译,获取配置文件; 步骤(3)、对上述配置文件进行解码,扫描源码并提取其中的权限向量,得到每个程序 对应的权限集; 步骤(4)、对样本库中所有的程序进行特征提取得到46个权限作为特征,分别计算出 两个样本库当中上述46个权限的使用频度,筛选出频度差值高的前10位权限,作为本专利技术 采用的10维特征,将10个权限中未使用的置0,使用到的置1,这样每个样本生成一个与之 对应的10维的二进制特征向量; 步骤(5)、根据每个样本的来源,标定其良性或恶性的类别; 步骤(6)、对上述10个特征向量的集合训练出分类模型; 步骤本文档来自技高网...
【技术保护点】
一种轻量级安卓恶意软件快速判断方法,其特征在于,该方法包括以下步骤:步骤(1)、从不同来源收集软件样本,分别组成恶意程序库和良性程序库这两个样本库;步骤(2)、对上述两个样本库中所有的Android程序的安装文件用逆向工程工具进行反编译,获取配置文件;步骤(3)、对上述配置文件进行解码,扫描源码并提取其中的权限向量,得到每个程序对应的权限集;步骤(4)、对样本库中所有的程序进行特征提取得到46个权限作为特征,分别计算出两个样本库当中上述46个权限的使用频度,筛选出频度差值高的前10位权限,作为本专利技术采用的10维特征,将10个权限中未使用的置0,使用到的置1,这样每个样本生成一个与之对应的10维的二进制特征向量;步骤(5)、根据每个样本的来源,标定其良性或恶性的类别;步骤(6)、对上述10个特征向量的集合训练出分类模型;步骤(7)、获取待测程序的安装文件,如步骤(2)所述,生成待测程序对应的特征向量;步骤(8)、根据步骤(6)生成的分类模型,以步骤(7)生成的特征向量为输入,对待测程序进行分类,得到待测软件是恶意程序还是良性程序的检测结果。
【技术特征摘要】
【专利技术属性】
技术研发人员:刘昱,张亦弛,李海宾,李圣龙,王映雪,方诚,
申请(专利权)人:天津大学,
类型:发明
国别省市:天津;12
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。