一种基于行为的Android恶意软件家族聚类方法与流程

文档序号:13940985阅读:701来源:国知局

本发明属于android技术领域。



背景技术:

近年来,移动互联网高速发展,智能终端设备已成为人们生活、工作的重要部分;android系统以其良好的开放性和灵活的生态系统成为最流行的移动平台,android系统的广泛使用导致其恶意程序急剧增加;据卡巴斯基统计,从2004年到2013年,卡巴斯基检测到了近20万个恶意移动代码的样本,而在2014年和2015年,这个数据分别是29万和88万;根据手机拥有用户众多隐私数据这一特点,android上恶意应用主要通过恶意扣费、隐私窃取、诱骗欺诈等方式实施恶意行为,对用户的隐私和经济利益构成了严重威胁。



技术实现要素:

方法总体设计:基于行为日志的android恶意应用家族聚类框架由行为监控和家族分类两部分构成;

(1)在行为监控中,android恶意应用运行在定制的rom中,通过模拟用户点击行为和广播事件尽可能触发恶意软件的行为,从而生成恶意软件的行为日志;

(2)在家族分类中,通过行为日志提取出恶意软件的行为特征,然后使用dbscan算法对其进行聚类计算,得到的分类结果可用于新样本的家族归属预测。

行为监控:

1.rom定制:对android应用程序进行动态分析时,常见的方法主要有smali修改和rom定制;smali修改对程序进行反汇编操作生成smali代码,然后在其中添加监控代码后重新编译成apk文件,将其运行在rom中得到相应的日志smali修改需要对每一个文件进行修改,并且部分恶意应用会使用反smali修改的手段导致修改后的apk文件不能正常运行;相较于smali修改,rom定制只需要一次性修改android系统源码后编译成系统镜像;将恶意应用运行在定制rom中,rom中监控代码一旦触发就可执行,不需要对恶意应用进行任何修改,适用性更为广泛;

为了执行恶意功能,恶意应用需要在代码中调用android系统上相关的api函数;因而一个恶意应用的功能可以从它调用的api函数及其上下文环境来体现;

为了获取api函数调用及其上下文环境,在rom定制中,我们对需要监控的api函数的实现代码内部中添加了监控模块;当恶意应用在定制rom中运行时,一旦恶意应用调用了这些api函数,监控代码就会将该函数的名称及其上下文环境输出到日志中;

2.行为触发:在定制的rom中测试恶意应用时,需要模拟用户的操作和外部广播事件来尽量触发恶意应用的功能操作;对于行为触发使用了事件触发和启发式探索来达到智能执行,提高了行为触发的覆盖率;

3.行为日志:在定制的rom中通过行为触发可以得到行为日志,包含调用时间、调用该函数的程序进程id、线程id、调用函数名、返回值、调用参数和调用堆栈。

家族分类:通过行为监控部分,可以得到每一个恶意样本的行为日志在家族分类部分中,需要对行为日志进行分析,从中提取行为特征,然后使用聚类算法将每一个恶意样本进行聚类;

1.特征提取:从行为日志中可以提取出两个特征,分别为api函数名和函数堆栈;由于同一种家族恶意软件的行为大致相同或相似,因而它们分别调用的api函数重复率较高;而函数堆栈不仅包含调用的api函数,还包含着程序人口点到该函数的调用流程,因而相同家族的样本由于api使用相近、作者编写习惯等原因在调用堆栈也具有相似性;对于不同家族的样本,虽然api函数使用可能相同,但由于调用路径的差异,使得函数调用堆栈并不一定相同;

2.聚类计算:目前,常见的聚类算法有基于划分的方法、基于层次的方法和基于密度的方法等;本方法使用dbscan这种基于密度的算法来进行聚类计算;

dbscan算法是一种典型的基于密度的聚类算法;对于使用dbscan算法进行聚类的样本,可以将它们分成三部分:核心点、边界点和噪声点;如果一个点上以eps为半径的球型邻域内的点不小于给定的闽值minpts,那么这个点是核心点;边界点是指不是核心点但位于核心点领域内的点,而噪声点既不是核心点也不是边界点;dbscan的原理是将任何两个距离低于eps的核心点放在同一个簇中,然后将任何与核心点足够靠近的边界点指派到一个与之关联的核心点的簇中;对于噪声点,它们将会被丢弃;dbscan算法中,需要人为确定eps和minpts的值;

3.样本预测:根据聚类算法的计算结果,可以借此预测新样本属于哪一个家族;给出簇集c、闽值t和新样本x,样本预测的方法如下:

1)对于新样本x,运行行为监控模块,给出其行为日志并提取出行为特征;

2)对于簇集c中的任意一个簇,计算簇中每个样本与新样本x的jaccard距离,其平均值则作为该簇与新样本x的距离;

3)选择距离最小的簇,其距离设为d.如果d>t,则该新样本不属于任何一个簇;如果d≤t,则新样本x属于此簇。



技术特征:

技术总结
本发明基于同一家族恶意软件在行为上的相似性特征,提出了一种基于行为的Android恶意软件家族聚类方法;该方法构建了软件行为刻画特征集合,通过定制ROM的方式来构建行为捕获机制并采集恶意软件的行为日志,基于行为日志提炼恶意软件特征集,使用DBSCAN(density‑based spatial clustering of applications with noise)聚类算法进行家族聚类。

技术研发人员:余漫游
受保护的技术使用者:长沙有干货网络技术有限公司
技术研发日:2016.09.09
技术公布日:2018.03.16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1