正在加载图片...
·170· 智能系统学报 第13卷 (x-a)2≤R2+5 s.t.5≥0,i (2) 式中:n是样本个数,m是特征维数,所有样本的特 征用一个m×n的矩阵P表示;分子指的是第i个样 式中:这里的,是松弛变量;C是调节松弛变量的 本的频率(即样本的非0特征个数,分母指的是全 影响大小。利用Lagrange函数求解上述约束下的 部样本的最大频率)。那么函数的最小化问题变为 最小优化问题,得到: min F(R,a,)=R2+∑c传 L=a,(x:x)+∑aa(xx) ∑a,=1,0≤≤C (3) s.tlx,-al≤R2+忘 (8) S.t. 5≥0,i=1,2,…,n 对上述问题相对α求最大,可以用标准的二次 构造新的Lagrange函数如式(9): 规划算法来解决。这样就可以求得α的最优值,对 (a,R,5a,》=R2+2c-2a[R2+ 于非0的,其对应的样本点是支持向量,位于球面 (9) 上;而a=0则表示对应的样本点位于球体内。a和 (x)+2(ax)-(aa)-5 R可用含a的表达式隐式地表示。判断一个数据点 由此,通过上式调整对应的约束条件: 属于这个类,那么当满足: ∑a=1 (z-a)(z-a)≤R2 (4) 0≤≤C (10) 即判Z属于正常类,否则为异常类。将超球面 s.t.i=1,2,…,n 的中心用支持向量来表示,那么判定新数据是否属 本章主要讲述了将正常样本作为数据源,用轻 于这个类的判定条件就是: 量级静态分析方法提取特征,并在特征库的基础上 -2∑(kx)+∑aacx)≤R (5) 提出了一种挖掘隐形特征的方法,将特征频率作为 新的特征融入到SVDD算法当中,实现降低检测恶 式中:R是任意一个支持向量X到球心a的距离。 意软件的误警率的目标。 当输入空间的样本点不满足球状分布时,可以通过 核技巧把输入空间先映射到高维空间,然后在映射 4实验部分 后的高维空间内求解。如果使用核函数上述判定条 4.1 件改写为 实验流程 8-2ak0+aKRO 实验的流程框架如图1所示。 其中,数据处理用到了FexDroid的降维方法。 常用的核函数有线性核函数、多项式核函数、 4.2 数据提取 RBF核函数等,不同的核函数,对实验结果影响很 把从谷歌商店、安智、应用宝等安卓软件市场 大,用合适的核函数分类才能得到理想的实验结 收集的软件作为正常样本,一共有1976个;从drebin 果。传统的静态分析关注样本申请的权限和API 中随机选取了1952个恶意软件作为负样本;然后 调用等特征,受系统调用序列关注系统调用频率2 用apktool等工具反编译这些APP,运行得到mani- 的启发,上述特征的总和可以体现出恶意软件的行 fest和smali文件,再提取permission、api_call、 为活跃程度。在正常样本中,申请次数多的样本代 activity等特征,共得到8874个特征;再将每个样 表它本身活跃,行为复杂。正常软件中频繁申请权 本的特征长度(也就是样本的行为频率)作为新的 限或者API的样本应该更加得到关注,所以可以从 特征融入svdd算法当中。 这方面入手体现不同软件的共有特性。将频率融入 4.3评价指标 到svdd单分类算法当中,以寻找最适应于本方案的 评价指标是漏报率和误报率,为准确描述这两 超球体,尽可能地将这些样本包含在SVDD的超球 个概念,避免不必要的误会,给出以下计算公式。 体内,达到静态分析特征进而降低单分类检测的误 我们引入4个参数3个评价标准,如表1所示, 警率的目的。 首先如下假设: 将样本频率融入到算法当中:定义正常样本活 FP:将样本判定为正常样本,实际为恶意样本 动频率矩阵c=[ccc3…cJ,n为训练样本个数。 的数量。 P TN:将样本判定为恶意样本,实际为恶意样本 Ci=- max(∑P) (7) 的数量。 l TP:将样本判定为正常样本,实际为正常样本 st.i=1,2,…,n 的数量。(xi − a) 2 ⩽ R 2 +ξi s.t. ξi ⩾ 0, ∀i (2) 式中:这里的 ξi 是松弛变量;C 是调节松弛变量的 影响大小。利用 Lagrange 函数求解上述约束下的 最小优化问题,得到: L = ∑ i αi(xi · xi)+ ∑ i, j αiαj(xi · xj) s.t. ∑ i αi = 1, 0 ⩽ αi ⩽ C (3) 对上述问题相对 α 求最大,可以用标准的二次 规划算法来解决。这样就可以求得 α 的最优值,对 于非 0 的 αi,其对应的样本点是支持向量,位于球面 上;而 αi=0 则表示对应的样本点位于球体内。α 和 R 可用含 α 的表达式隐式地表示。判断一个数据点 属于这个类,那么当满足: (z− a) T (z− a) ⩽ R 2 (4) 即判 Z 属于正常类,否则为异常类。将超球面 的中心用支持向量来表示,那么判定新数据是否属 于这个类的判定条件就是: (z· z)−2 ∑ i αi(z· xi)+ ∑ i, j αiαj(xi · xj) ⩽ R 2 (5) 式中:R 是任意一个支持向量 Xk 到球心 a 的距离。 当输入空间的样本点不满足球状分布时,可以通过 核技巧把输入空间先映射到高维空间,然后在映射 后的高维空间内求解。如果使用核函数上述判定条 件改写为 K(z· z)−2 ∑ i αiK(z· xi)+ ∑ i, j αiαjK(xi · xj) ⩽ R 2 (6) 常用的核函数有线性核函数、多项式核函数、 RBF 核函数等,不同的核函数,对实验结果影响很 大, 用合适的核函数分类才能得到理想的实验结 果。 传统的静态分析关注样本申请的权限和 API 调用等特征,受系统调用序列关注系统调用频率[20] 的启发,上述特征的总和可以体现出恶意软件的行 为活跃程度。在正常样本中,申请次数多的样本代 表它本身活跃,行为复杂。正常软件中频繁申请权 限或者 API 的样本应该更加得到关注,所以可以从 这方面入手体现不同软件的共有特性。将频率融入 到 svdd 单分类算法当中,以寻找最适应于本方案的 超球体,尽可能地将这些样本包含在 SVDD 的超球 体内,达到静态分析特征进而降低单分类检测的误 警率的目的。 ··· 将样本频率融入到算法当中:定义正常样本活 动频率矩阵 c=[c1 c2 c3 cn ],n 为训练样本个数。 ci = ∑m j=1 Pi j max(∑m j=1 Pi j) s.t. i = 1,2,··· ,n (7) 式中:n 是样本个数,m 是特征维数,所有样本的特 征用一个 m×n 的矩阵 P 表示;分子指的是第 i 个样 本的频率 (即样本的非 0 特征个数,分母指的是全 部样本的最大频率)。那么函数的最小化问题变为 min F(R, a, ξ) = R 2 + ∑n i=1 ciξi s.t. ∥xi − a∥ 2 ⩽ R 2 +ξi ξi ⩾ 0,i = 1,2,··· ,n (8) 构造新的 Lagrange 函数如式 (9): L(a,R, ξ,α, γ) = R 2 + ∑n i=1 ciξi− ∑n i=1 ai[R 2 +ξi− (xi · xi)+2(a · xi)−(a · a)]− ∑n i=1 γiξi (9) 由此,通过上式调整对应的约束条件: ∑ i αi = 1 0 ⩽ αi ⩽ ci s.t. i = 1,2,··· ,n (10) 本章主要讲述了将正常样本作为数据源,用轻 量级静态分析方法提取特征,并在特征库的基础上 提出了一种挖掘隐形特征的方法,将特征频率作为 新的特征融入到 SVDD 算法当中,实现降低检测恶 意软件的误警率的目标。 4 实验部分 4.1 实验流程 实验的流程框架如图 1 所示。 其中,数据处理用到了 FexDroid[21]的降维方法。 4.2 数据提取 把从谷歌商店、安智、应用宝等安卓软件市场 收集的软件作为正常样本,一共有 1 976 个;从 drebin 中随机选取了 1 952 个恶意软件作为负样本;然后 用 apktool 等工具反编译这些 APP,运行得到 mani￾fest 和 smali 文件,再提取 permission、api_call、 activity 等特征,共得到 8 874 个特征;再将每个样 本的特征长度 (也就是样本的行为频率) 作为新的 特征融入 svdd 算法当中。 4.3 评价指标 评价指标是漏报率和误报率,为准确描述这两 个概念,避免不必要的误会,给出以下计算公式。 我们引入 4 个参数 3 个评价标准,如表 1 所示, 首先如下假设: FP:将样本判定为正常样本,实际为恶意样本 的数量。 TN:将样本判定为恶意样本,实际为恶意样本 的数量。 TP:将样本判定为正常样本,实际为正常样本 的数量。 ·170· 智 能 系 统 学 报 第 13 卷
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有