一种安卓应用恶意行为的检测方法技术

技术编号:15640155 阅读:64 留言:0更新日期:2017-06-16 04:07
现代的反病毒技术体系前端是以反病毒引擎技术为核心,应用于主机和网络两个工作场景;而后端则依靠大规模的海量数据分析处理体系作为支持。传统的恶意行为检测就是依靠前端采集的恶意文件样本或即时触发的事件提交到后端系统中做分析、处理。基于恶意行为检测技术是在近年来反病毒技术不断演进中逐渐形成的,新病毒技术的产生往往会直接促使反病毒技术整个层次的提高,这种攻防对弈往往很被动。沙箱技术是为一些不可靠的程序提供实验而不影响系统运行的环境,其主要思想在于隔离机制与层级安全架构。本发明专利技术研究并提出一种基于SVM的恶意行为检测模型,并将其应用于基于沙箱技术的Android系统中。

【技术实现步骤摘要】
一种安卓应用恶意行为的检测方法
本专利技术涉及通信领域,具体涉及一种安卓应用恶意行为的检测方法。
技术介绍
目前,针对恶意代码及行为的检测可大致分为以下几个方面:基于网络通信流量的检测。类似在大型互联网企业中,传统通信流量是针对内容的分发逐渐转变为针对整体集群架构的分布式服务策略。在应用层级对负载流量进行检测,清洗并提取包含攻击的通信数据,然后在此基础上进行检测。目前,基于流特征的恶意代码检测技术,从网络中存在的各种己知和未知的异常流量,并配合历史数据对发现的异常流量进行分析,从而得知恶意行为的具体目的。基于特征码的检测。基于特征码的检测技术可以追溯到80,90年代然后一直流行至今。反病毒软件采用特征匹配的方式去对病毒木马进行查杀。这对已知的病毒木马进行查杀非常有效,一般安全厂商会预先通过蜜罐、蜜网捕获收集大量的恶意样本,并这些样本提取特征码,建立一个巨大的特征库。放在云端,当用户触发一些行为比如说网站下载了一个文件、或者插入U盘时。则针对该敏感文件与特征数据库进行匹配,用来判断该文件是否为恶意文件。目前,一种基于主机异常行为的分布式恶意代码检测技术它是对传统的基于主机特征码的恶意行为检测无法对一些行为或特征时,采取将其提交到分布式恶意代码检测系统中,进行二次检测。从而提高恶意应用的检测准确率。但是这种针对未知的恶意应用采用特征匹配的方式就略显鸡肋。完整性校验签名机制检测。当我们主机系统感染恶意代码时,有时会伴随一些类似破坏系统资源的状况,因此这些目标的完整性被破坏,因此我们可以对信息资源做完整性校验。还有的一些安全机制会对系统提供保护,当攻击者拿到权限并被系统的安全机制捕获时,直接联动告警并拒绝攻击者的权限并限制对数据的访问。因此在完整性测量方面通过比对当前状态和先前状态即基线来进行确定。典型的完整性校验签名机制有Windows下的代码签名验证。然而基于证书窃取的攻击作业比较普遍,而且被窃取对象往往都是知名厂商,安全分析者们更是看到了专门进行签名证书窃取的恶意代码。同时,可信计算模型也没能有效地覆盖到能够应对格式溢出、脚本、Webshell等威胁。因此签名机制在证书保护上还有很长的路要走。虚拟机技术。早期的恶意代码中,绝大多数病毒都是感染性病毒。这些病毒往往在干扰目标程序的会加入加密等形式进行病毒代码,可以躲过我们杀毒软件的特征识别,因为它们在静态特征上几乎跟原来完全不一样。我们通过对这些病毒的分析和研究,发现可以通过虚拟执行来还原这些被加密甚至很多被变形的病毒程序都可以还原这些病毒的本来面貌。仍然可以通过传统识别方式识别病症。随着互联网的发展,病毒在形态上通过加壳的方式来对抗特征识别。而虚拟机技术恰好可以解决这类问题,因此以虚拟机技术为根基而衍生出的更多恶意行为检测技术。启发式恶意代码检测。启发式恶意代码检测属于静态检测方法,它对应一定恶意代码变种或未知的恶意代码有一定的检测率。对应未知的恶意代码,根据已有的知识或经验去进行阈值判断。例如在恶意应用中一些内核函数的调用关系会很固定,这是因为恶意代码都会伴随非常规文件的读写、自身终结等行为。这种行为直接决定了一些内核函数必定会被调用。这些函数的出现的顺序也有规律可循。因此这种方法的重点和难点就是对已有的恶意应用进行特征提取,并根据相关系列样本的特征进行统计归纳,总结出系列病毒样本的规律。例如可以对恶意代码调用的函数名称和调用次数进行分析,然后建立相应的比对基线。当待检测的恶意应用中提取的特征在这基线范围之内是并超过设定的阈值,就判断为恶意代码。这种检测方式同基于特征码的检测方式等并没有真正对应用进行运行动态分析。误报率会比较高。在启发式恶意代码检测中就有人提出基于内核函数调用集的方式去判断恶意应用作为比对基线。由此可见,基于恶意行为检测技术是在近年来反病毒技术不断演进中逐渐形成的,新病毒技术的产生往往会直接促使反病毒技术整个层次的提高,这种攻防对弈往往很被动。
技术实现思路
为解决上述技术问题,本申请提出一种基于机器学习的安卓应用恶意行为的检测方法。具体方法如下。一种安卓应用恶意行为的检测方法,包括有如下步骤:1)启动安卓智能终端,并在所述终端中应用可执行程序安装;2)将所述可执行程序复制到沙箱模块;3)在所述沙箱模块中,对所述可执行程序进行特征提取;4)将所述特征作为训练好的SVM模块的输入单元,并得到预测风险值;5)若所述预测风险值大于等于安全阈值,则反馈到安卓智能终端;若所述预测风险值小于安全阈值,则安装可执行程序。进一步,步骤3)所述的特征提取包括有静态特征提取和动态特征提取,所述静态特征提取所提取的特征为URIS和EMAILS,所述动态特征提取通过网络抓包实现。进一步,步骤4)所述的训练好的SVM模块的训练步骤包括:4.1)对所述特征进行预处理;4.2)对数据进行缩放操作,将数据的属性值归一化;4.3)选择RBF核函数;4.4)对于惩罚因子C和核函数参数g,划分网格,令网格点为C=ea、g=eb,其中,a、b为整数,且a=[-5,5]、b=[-5,5];4.5)将训练数据等分为M个集合,每个集合中包括有n个数据,且M大于等于4的整数;4.6)对于网格中的每一组(C,g),选取任一集合作为验证集,其余M-1个集合为训练集,训练模型后对验证集进行验证,计算得到验证结果误差的均方值:其中,为预测值,Yi为样本实际值;4.7)将验证集更换为另一集合,剩余的M-1个集合为训练集,再次计算误差的均方值,循环步骤4.6),直至对所有的M个集合均进行验证,计算M个均方值的平均值作为该组(C,g)的预测误差;4.8)更换另一组(C,g),重复步骤4.5)-4.7),计算得到网格中所有参数组合下的并比较,值最小的参数组合(C,g),即为最佳的惩罚因子C和核函数参数g;4.9)用参数C与g对整个训练集进行训练得到训练好的SVM模块。进一步,步骤5)所述的安装可执行程序包括如下步骤:5.1)若所述可执行程序为一般可执行程序,则将所述可执行程序拷贝到指定位置一,所有用户均有权访问所述指定位置一;若所述可执行程序为系统可执行程序,则将所述可执行程序拷贝到指定位置二,仅具有root权限的用户有权访问所述指定位置二;5.2)解压所述可执行程序,拷贝解压文件并创建所述可执行程序的数据目录;5.3)解析所述可执行程序的配置文件,并在所述安卓智能终端上创建快捷方式。附图说明图1为本专利技术中安卓应用恶意行为检测方法的过程。图2为安卓系统上应用的安装方法。具体实施方式现结合实施例、附图对本专利技术作进一步描述。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本专利技术,但并不构成对本专利技术的限定。实施例一:一种安卓应用恶意行为的检测方法,包括有如下步骤:1)启动安卓智能终端,并在所述终端中应用可执行程序安装;2)将所述可执行程序复制到沙箱模块;3)在所述沙箱模块中,对所述可执行程序进行特征提取;4)将所述特征作为训练好的SVM模块的输入单元,并得到预测风险值;5)若所述预测风险值大于等于安全阈值,则反馈到安卓智能终端;若所述预测风险值小于安全阈值,则安装可执行程序。步骤3)所述的特征提取包括有静态特征提取和动态特征提取,所述静态特征提取所提取的特征为URIS和EMAILS,所述动态本文档来自技高网
...
一种安卓应用恶意行为的检测方法

【技术保护点】
一种安卓应用恶意行为的检测方法,其特征在于,包括有如下步骤:1)启动安卓智能终端,并在所述终端中应用可执行程序安装;2)将所述可执行程序复制到沙箱模块;3)在所述沙箱模块中,对所述可执行程序进行特征提取;4)将所述特征作为训练好的SVM模块的输入单元,并得到预测风险值;5)若所述预测风险值大于等于安全阈值,则反馈到安卓智能终端;若所述预测风险值小于安全阈值,则安装可执行程序。

【技术特征摘要】
1.一种安卓应用恶意行为的检测方法,其特征在于,包括有如下步骤:1)启动安卓智能终端,并在所述终端中应用可执行程序安装;2)将所述可执行程序复制到沙箱模块;3)在所述沙箱模块中,对所述可执行程序进行特征提取;4)将所述特征作为训练好的SVM模块的输入单元,并得到预测风险值;5)若所述预测风险值大于等于安全阈值,则反馈到安卓智能终端;若所述预测风险值小于安全阈值,则安装可执行程序。2.根据权利要求1所述的安卓应用恶意行为的检测方法,其特征在于,步骤3)所述的特征提取包括有静态特征提取和动态特征提取,所述静态特征提取所提取的特征为URIS和EMAILS,所述动态特征提取通过网络抓包实现。3.根据权利要求1所述的安卓应用恶意行为的检测方法,其特征在于,步骤4)所述的训练好的SVM模块的训练步骤包括:4.1)对所述特征进行预处理;4.2)对数据进行缩放操作,将数据的属性值归一化;4.3)选择RBF核函数;4.4)对于惩罚因子C和核函数参数g,划分网格,令网格点为C=ea、g=eb,其中,a、b为整数,且a=[-5,5]、b=[-5,5];4.5)将训练数据等分为M个集合,每个集合中包括有n个数据,且M大于等于4的整数;4.6)对于网格中的每一组(C,g),选取任一集合作为验证集,其余...

【专利技术属性】
技术研发人员:唐勇
申请(专利权)人:四川中大云科科技有限公司
类型:发明
国别省市:四川,51

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

1