正在加载图片...
第2期 张玉玲,等:依特征频率的安卓恶意软件异常检测的研究 ·169· 应用安全事件频发,主要有以下问题:简单的应用 DroidAnalyst提出一个新的自动化应用,审查和分 市场安全审查、粗粒度的权限系统、有限的系统级 析恶意软件的框架,集成了静态和动态分析的协同 安全监测,以及鼓励快速传播的应用分派模式)。 作用来提高分析的精度和效率。 传统分类方案虽然实现了恶意软件的检测,但其安 上述方法都是利用现有的正常软件和恶意软件 全性、实时性、性能等方面均存在不足,特别是在移 进行训练和分类,随着恶意软件的不断更新变化, 动端发展迅速的情况下,其检测机制难以满足恶意 应对未知恶意行为又是一道难题,应用异常检测是 软件检测需求,不足以应对不断变化的未知恶意软 目前比较流行的方法。 件和变异问题。Mudflow是目前少有的有关安卓 恶意异常检测的研究,利用单分类支持向量机 2异常检测 (Onc-class SVM)分类,检测正常软件和恶意软件 异常检测是指将正常的习惯行为特征存储在数 的准确率只有83.8%,该方法利用静态污点分析技 据库中,然后将当前的行为特征与特征数据库中的 术,找出正常软件和恶意软件之间的数据流差别来 特征进行比较,如果两者偏差足够大,则说明发生 标记可疑特征,模型的建立并没有脱离恶意软件。 了异常。目前异常检测的研究主要基于无监督学 针对上述问题,本文提出Droid-Saf框架,利用 习框架,因此本文基于单分类算法进行研究。现 轻量级的静态分析,训练集仅包含正常软件的样 本,基于svdd算法建立模型,并对该算法做了改进, 有方法对恶意软件检测困难主要有两个原因:1)恶 融人了隐含特征,以便更好地应对软件的不断变 意软件经常出现在检测方法之前。传统的检测依赖 化。检测恶意软件的误报率从10%降低到0.6%, 已知样本进行训练,不能自动更新规则库,也无法 并且新算法对参数不敏感,更容易找到比较理想的 检测新的恶意行为;2)恶意软件数据收集不完整。 结果。 现实检测任务中异常数据普遍难以采集或者采集代 价过高,往往只有一类数据可供使用,因此对于没 1静态分析与动态分析 有收集到的恶意软件无法辨别。针对恶意软件不断 变化且数据收集不完整的问题,异常检测是比较可 检测恶意软件的方法,大致可分为两种:静态 分析和动态分析。静态分析不运行程序只分析代 行的方法,本文基于SVDD单分类算法进行研究。 码,试图找到表明应用程序的行为的控制流,也被 3SVDD的基本原理及改进方案 用来分析正常软件的代码缺陷和故障,甚至在不运 行应用程序的情况下直接检测其恶意行为。静态检 支持向量数据描述,英文名(support vector data 测优点是速度快,缺点是需要构建并且动态维护恶 description,.SVDD)m,通俗来讲,它是一种单分类 意行为的特征库。动态分析不分析代码而在专有的 模型,假设正常数据服从球形分布,利用核函数把 虚拟环境中运行代码,用自动化工具追踪应用程序 样本空间映射到高维核空间,在核空间找到一个能 的行为,然后再分析它的日志文件或者系统调用序 包含所有样本的超球体,寻求一个最小包含球以包 列等。其缺点是需要进行实时监控,内存和电量的 含正常样本,该方法不需假设原点为异常点,并且 消耗高。 该方法以极小极大化方法求解最小包含球(球心、 近年来,众多研究者提出了很多方案。静态分 半径)。当识别一个新的样本时,如果样本在球体内 析方面,例如PiggyDroid6使用API调用等静态特 部,就认为是正常的,否则就是异常的⑧。 征来做检测:RiskRanker刀检测软件是否利用root漏 SVDD首先通过核函数将输入空间映射到一个 洞和是否发送后台信息等筛选出需要深入研究的软 高维空间,在这个高维空间构造一个包含所有训练 件,但都是靠专家系统检测。DroidAPIMiner把数 样本点的球体;在球面上的样本点即为SVDD所求 据流相关的API作为特征,然后用改进的KNN算 得的支持向量。假设模型x,w)表示一类紧密的 法进行分类,还有研究者提出了一些有效的方法与 有界数据集,SVDD的优化目标就是求一个中心为 框架,例如Droid-Sec9、Shina、Drebin!。动态分 a半径为R的最小球面,而且使训练集X的所有样 析方面,例如Crowdroid框架由客户端和服务器 本都落在此球体内。它的原理和SVM很像,类比 端组成,客户端使用Linux系统的Strace机制监控 于SVM例,定义一个最小化问题: Android系统调用,然后把调用信息发送到服务器 (1) 端处理;CopperDroid!不关注底层动作的调用,而 FRa,)=R+C∑5 是捕捉java代码和本地执行代码发起的行为。 使得这个球面满足:应用安全事件频发,主要有以下问题:简单的应用 市场安全审查、粗粒度的权限系统、有限的系统级 安全监测,以及鼓励快速传播的应用分派模式[3]。 传统分类方案虽然实现了恶意软件的检测,但其安 全性、实时性、性能等方面均存在不足,特别是在移 动端发展迅速的情况下,其检测机制难以满足恶意 软件检测需求,不足以应对不断变化的未知恶意软 件和变异问题。Mudflow[4]是目前少有的有关安卓 恶意异常检测的研究,利用单分类支持向量机 (One-class SVM)[5]分类,检测正常软件和恶意软件 的准确率只有 83.8%,该方法利用静态污点分析技 术,找出正常软件和恶意软件之间的数据流差别来 标记可疑特征,模型的建立并没有脱离恶意软件。 针对上述问题,本文提出 Droid-Saf 框架,利用 轻量级的静态分析,训练集仅包含正常软件的样 本,基于 svdd 算法建立模型,并对该算法做了改进, 融入了隐含特征,以便更好地应对软件的不断变 化。检测恶意软件的误报率从 10% 降低到 0.6%, 并且新算法对参数不敏感,更容易找到比较理想的 结果。 1 静态分析与动态分析 检测恶意软件的方法,大致可分为两种:静态 分析和动态分析。静态分析不运行程序只分析代 码,试图找到表明应用程序的行为的控制流,也被 用来分析正常软件的代码缺陷和故障,甚至在不运 行应用程序的情况下直接检测其恶意行为。静态检 测优点是速度快,缺点是需要构建并且动态维护恶 意行为的特征库。动态分析不分析代码而在专有的 虚拟环境中运行代码,用自动化工具追踪应用程序 的行为,然后再分析它的日志文件或者系统调用序 列等。其缺点是需要进行实时监控,内存和电量的 消耗高。 近年来,众多研究者提出了很多方案。静态分 析方面,例如 PiggyDroid[6]使用 API 调用等静态特 征来做检测;RiskRanker[7]检测软件是否利用 root 漏 洞和是否发送后台信息等筛选出需要深入研究的软 件,但都是靠专家系统检测。DroidAPIMiner[8]把数 据流相关的 API 作为特征,然后用改进的 KNN 算 法进行分类,还有研究者提出了一些有效的方法与 框架,例如 Droid-Sec[9] 、Shina[10] 、Drebin[11]。动态分 析方面,例如 Crowdroid 框架[12]由客户端和服务器 端组成,客户端使用 Linux 系统的 Strace 机制监控 Android 系统调用,然后把调用信息发送到服务器 端处理;CopperDroid[13]不关注底层动作的调用,而 是捕捉 java 代码和本地执行代码发起的行为。 DroidAnalyst[14]提出一个新的自动化应用,审查和分 析恶意软件的框架,集成了静态和动态分析的协同 作用来提高分析的精度和效率。 上述方法都是利用现有的正常软件和恶意软件 进行训练和分类,随着恶意软件的不断更新变化, 应对未知恶意行为又是一道难题,应用异常检测是 目前比较流行的方法。 2 异常检测 异常检测是指将正常的习惯行为特征存储在数 据库中,然后将当前的行为特征与特征数据库中的 特征进行比较,如果两者偏差足够大,则说明发生 了异常[15]。目前异常检测的研究主要基于无监督学 习框架[16] ,因此本文基于单分类算法进行研究。现 有方法对恶意软件检测困难主要有两个原因:1) 恶 意软件经常出现在检测方法之前。传统的检测依赖 已知样本进行训练,不能自动更新规则库,也无法 检测新的恶意行为;2) 恶意软件数据收集不完整。 现实检测任务中异常数据普遍难以采集或者采集代 价过高,往往只有一类数据可供使用,因此对于没 有收集到的恶意软件无法辨别。针对恶意软件不断 变化且数据收集不完整的问题,异常检测是比较可 行的方法,本文基于 SVDD 单分类算法进行研究。 3 SVDD 的基本原理及改进方案 支持向量数据描述,英文名 (support vector data description,SVDD)[17] ,通俗来讲,它是一种单分类 模型,假设正常数据服从球形分布,利用核函数把 样本空间映射到高维核空间,在核空间找到一个能 包含所有样本的超球体,寻求一个最小包含球以包 含正常样本,该方法不需假设原点为异常点,并且 该方法以极小极大化方法求解最小包含球 (球心、 半径)。当识别一个新的样本时,如果样本在球体内 部,就认为是正常的,否则就是异常的[18]。 SVDD 首先通过核函数将输入空间映射到一个 高维空间,在这个高维空间构造一个包含所有训练 样本点的球体;在球面上的样本点即为 SVDD 所求 得的支持向量。假设模型 f(x; w) 表示一类紧密的 有界数据集,SVDD 的优化目标就是求一个中心为 a 半径为 R 的最小球面,而且使训练集 X 的所有样 本都落在此球体内。它的原理和 SVM 很像,类比 于 SVM[19] ,定义一个最小化问题: F(R, a, ξ) = R 2 +C ∑ i ξi (1) 使得这个球面满足: 第 2 期 张玉玲,等:依特征频率的安卓恶意软件异常检测的研究 ·169·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有