一种基于改进贝叶斯算法的安卓恶意软件检测方法

文档序号:8282643阅读:260来源:国知局
一种基于改进贝叶斯算法的安卓恶意软件检测方法
【技术领域】
[0001] 本发明给出了一种基于改进贝叶斯算法的安卓恶意软件检测方法,主要解决安卓 平台应用软件中涉及恶意软件如何检测的问题,属于移动应用安全领域。
【背景技术】
[0002] 随着移动互联网的飞速发展,具有移动操作系统的智能手机已成为目前移动终端 发展的主流。智能手机不再是传统的通讯工具,像掌上电脑一样,智能手机已具有独立的操 作系统,可以由用户自行安装或卸载如QQ、百度地图、手机安全卫士等第三方开发商提供的 应用,不断地对手机的功能进行扩充。其中,基于Linux内核的Android移动终端操作系统 发展最为迅速,2012年第3季度市场占有率达到75%,各种功能的应用程序满足了用户多 种多样的需求。由于其开源性,任何组织或个人编写的软件都可以上传到系统的应用商店, 供用户随意下载并安装使用。因此,恶意软件也把用户的智能终端作为潜在的攻击目标。目 前,恶意扣费、隐私窃取、系统破坏成为恶意软件的主要危害。
[0003] 在移动平台上,软件的恶意行为往往隐藏在普通软件中,通过自动连接互联网下 载数据、自动拨打电话、自动发送短信注册相关SP(服务提供商)服务等方式,使用户在不 知情的情况下被骗去大量费用。另外,某些恶意程序还会偷偷地读取用户联系人、邮箱信 息、用户地理位置、手机MEI标识等敏感数据,甚至通过网络或短信的方式,将收集到的数 据发送出去,达到窃取用户隐私信息的目的。除此之外,一些恶意程序在运行过程中,会对 用户数据文件进行删除、卸载系统组件、改变系统外观,对手机系统造成严重破坏。这些软 件的恶意行为已经严重影响了人们对智能手机的正常使用。因此,如何对发布到互联网、应 用商店中的应用程序的安全性进行有效评估与度量是软件管理者面临的一项重要问题。
[0004] 目前恶意软件检测方案主要有误用检测和异常检测。误用检测是基于已知恶意 行为特征的方法,它是通过规则集来检测恶意软件。有论文提出了通过收集样本的资源消 耗的历史数据,然后从收集的样本数据提炼出一个强有力的签名用于恶意软件的检测。有 论文提出了根据应用程序开发者定义的安全策略来保护通过能够可用接口调用其它应用 程序的安全。有论文提出ScanAroid的方法,它是提取应用程序的安全格式,用数据流分 析的方法来检测恶意软件,如果有些数据流违背了安全格式,那么就认定其为恶意软件。 有论文提出了 Kirin安全服务,它验证应用程序的安全等级,它定义了各种潜在的危险 permission标签组合。有论文运用了算法来结构化规则,他们提出了基于签名的方法,结合 了 Permission属性。通过收集内容构造控制流程图来检测恶意软件。
[0005] 异常检测不同于误用检测,它是通过应用数据挖掘与机器学习算法来学习已知 恶意软件的行为,以此来预测未知的或新颖的恶意软件,尽管异常检测能够检测未知的恶 意软件,但它有时候有很高的误报率。有论文提出了基于行为检测的框架来代替基于签名 的解决方法。它是通过观察应用程序的活动逻辑顺序来检测恶意软件,通过利用数据挖 掘中的支持向量机分离器方法来区别恶意软件与正常软件。有论文从应用软件二进制文 件中提取函数调用,然后应用叫做Centroid聚类算法机制来检测恶意软件。有论文提出 了在移动平台上基于恶意软件异常的资源消耗来检测恶意软件的异常行为。有论文采用 用户相关的API调用概率的方法来检测恶意软件的异常行为,利用马尔科夫模型来学习 应用软件和用户的行为,最后用于区别正常软件与恶意软件。有论文提出叫做Andromaly 的方法来检测恶意软件,它是基于行为分析的,它测试一系列的特征集的方法来找出最 能够代表恶意软件特征的特征集,Andromaly运用了几种机器学习算法,例如Logistic Regression, Bayesian Networks.来训练标记好的恶意软件标签和正常软件标签用于区别 恶意软件和正常软件。有论文通过使用支持向量机算法提出基于软件行为的恶意软件检测 框架,叫做AntiMalDroicL有论文提出来的这个框架能够动态的扩展恶意软件特征库,有 提取关键permission属性,执行相应的统计概率来鉴定有怀疑的应用软件。

【发明内容】

[0006] 技术问题:本发明的目的是提出一种基于改进贝叶斯算法的安卓恶意软件检测方 法。通过改进贝叶斯算法对安卓恶意程序和良性程序的特征属性进行分析和分类,实现一 种基于改进贝叶斯算法的恶意软件检测方法,从应用程序权限申请的角度出发,判断分析 是否为恶意软件。该方法提高了检测率,降低误报率。最终目的是给出一个基于改进贝叶 斯算法的安卓恶意软件检测的方法。
[0007] 技术方案:本发明是一种基于改进贝叶斯算法的安卓恶意软件检测方法,该方法 从恶意软件和良性软件中提取权限请求文件,然后对每两个权限请求标签合并为一个特征 属性进行统计,再利用互信息的概念以互信息评价函数提取相关特征属性,特征提取基本 任务是从众多特征属性中找出那些对分类有明显影响的特征属性,然后用卡方验证方法去 除冗余权限请求标签组合对恶意软件检测的影响,最后用朴素贝叶斯算法进行数学建模, 生成检测模型,实现一种基于改进贝叶斯算法的android恶意软件检测方法。
[0008] 其包含的步骤为:
[0009] 步骤1):从恶意软件网站上下载恶意安卓软件作为恶意软件数据源,从谷歌官方 安卓市场上下载安卓软件作为良性软件;
[0010] 步骤2):下载下来的软件数据源利用APKT00L工具进行反汇编提取权限请求文 件;
[0011] 步骤3):对恶意软件和良性软件的权限请求文件中的权限请求标签进行两两组 合合并为一个特征属性统计;
[0012] 步骤4):利用互信息的概念以互信息评价函数提取特征属性,特征提取基本任务 是从众多特征属性中找出那些对分类有明显影响的特征属性,选取具有明显影响的特征作 为分类的特征属性;
[0013] 步骤5):利用卡方检验方法对统计好的权限请求标签组合进行去除冗余数作为 预处理好的数据,使得特征属性之间的关联性更弱,有利用提高朴素贝叶斯分类器的性能, 提尚恶意软件的检测率;
[0014] 步骤6)将预处理好的数据用朴素贝叶斯算法进行数据建模,生成检测模型。
[0015] 有益效果:作
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1