恶意软件分析与安卓异常检测技术
恶意软件共性分析
迭代聚类方法
在恶意软件分析中,对 1727 个样本集进行共性分析时采用了迭代映射方法(算法 1)。实验中设置覆盖阈值 $T_s = 90\%$,即算法必须处理至少 90% 的样本行为。尽管阈值较高,但算法仅用 38 次迭代就识别出 303 个共性(软聚类)。
迭代过程可视化
- 共性迭代图 :图 5 展示了部分样本迭代过程的结果。x 轴表示迭代中发现的所有共性按升序连接,y 轴显示按揭示样本行为所需迭代次数排列的 337 个样本。垂直分区标记迭代结束。早期迭代揭示更多共性,后续迭代中数量减少,且早期共性以更大组形式出现,这是因为样本池中样本数量更多。
- 热力图 :图 6 是 1727 个恶意软件样本的热力图,展示不同恶意软件家族样本间的共性共享(聚类组成)。列表示迭代中发现的共性,行按家族标签划分样本组。灰度颜色强度表示相对于恶意软件家族的共性共享纯度,黑色表示对应家族中该组件完全不存在,白色表示该组件为家族独有,中间灰度表示不同家族共享该组件的比例。从图中可观察到,有些共性是特定家族独有的,而有些则在家族间共享,例如 Trojan.win32.Refroso 和 Trojan.win32.Buzus 家族可能共享某些组件,Trojan.win32.Refroso 和 Trojan - Spy - win32.Zbot 家族可能共享其他组件。
- 基于图的可视化 :图 7 是聚类结果的基于图的可视化,展示了从共性角度样本间的结构关系。图中有两种节点:样本节点和所有迭代中地图的参考节点。样本节点根据卡巴斯基反病毒标签着色,参考节点为红色。语义上,图显示了聚类成员关系和成员在共享行为(组件)方面的接近程度。分组在一起的样本连接到表示共享共性的同一参考节点,参考节点间的距离与 2.2 中描述的 SSM 相似度成正比,样本与对应参考节点的距离与其覆盖率成反比(高样本覆盖率意味着低距离)。为清晰起见,仅考虑最显著的组件来最小化链接数量。可以看到,一些样本到参考节点的距离相同且颜色均匀,这些样本彼此相似且属于同一卡巴斯基家族;而其他聚类中有来自不同家族的样本,这显示了家族间的行为共享特性,且这些样本与各自参考节点的距离不同,意味着它们彼此间共享共性的程度不同。
硬聚类与软聚类性能评估
评估了使用行为地图的硬聚类性能。构建硬聚类时仅使用一张能提供足够样本覆盖的地图,而软聚类由多张地图共同提供总覆盖。许多样本在任何单次迭代中都未超过阈值,因此未分配到任何硬聚类,但这些样本在软聚类方法中几乎完全被覆盖并分配到多个组。这说明了样本聚类时一对一(成对)比较的问题,尽管存在组件共享,但成对方法无法捕捉共享行为。实验表明,样本行为序列由不同的行为子序列(共性)组成,这些共性与其他样本共享,且所有这些共性无法在任何单次成对比较中联合提取。迭代行为映射方案避免了所有样本间的 $O(n^2)$ 比较,仅用 38 次映射迭代就揭示了共性并对 1727 个恶意软件样本进行了分组,且绝大多数样本在前十次迭代中就被分析和聚类。
MADAM:安卓恶意软件多级异常检测器
背景与动机
在智能手机市场中,安卓平台份额最高。由于其受欢迎程度和开源性质,安卓智能手机成为攻击者的理想目标。随着针对安卓设备的恶意软件数量快速增加,用户需要安全解决方案来防止恶意行为损害手机。
MADAM 概述
MADAM 是一种用于安卓恶意软件的多级异常检测器,它同时在内核级和用户级监控安卓系统,利用机器学习技术区分标准行为和恶意行为。其第一个原型能够检测到野外发现的几种真实恶意软件,且学习阶段后产生的误报率较低,不影响设备可用性。
主要贡献
- 设计与实现 :描述了 MADAM 的设计和实现,它是一种基于主机的实时异常检测器,利用被监控智能手机的多级视图,考虑操作系统事件(即发出的系统调用)和智能手机参数(如用户活动/闲置状态)来检测入侵尝试。
- 数据集有效性 :一个参数数量少(13 个特征)且元素数量相对较少的数据集,能有效地向机器学习系统描述智能手机行为。此外,MADAM 可以通过在运行时将新元素纳入训练集来自适应新行为。
- 实际测试 :在真实设备(三星 Galaxy Nexus)上实现并测试了该框架,使用了 50 多个流行应用程序和几种用户行为来测量误报率。平均而言,用户每天收到的误报少于 5 次,整体性能开销可接受,内存消耗为 3%,CPU 开销为 7%,电池消耗为 5%。
- 真实恶意软件测试 :MADAM 是第一个使用真实恶意软件进行测试的基于异常的安卓入侵检测系统。测试时,一些被测试的恶意软件是零日攻击,当前现成的安全解决方案无法检测到它们。该系统的检测率为 93%,特别是对 rootkit 的检测率为 100%。
- 短信检测 :MADAM 能够检测安卓恶意应用程序悄悄发送的不必要的外发短信。
相关工作对比
| 相关工作 | 特点 | 与 MADAM 对比 |
|---|---|---|
| Crowdroid | 基于机器学习,通过分析应用程序执行需要用户交互的操作时每个系统调用的发出次数来识别安卓智能手机上的类特洛伊木马恶意软件,构建 m 个特征(安卓系统调用)的向量 | MADAM 使用全局监控方法,能够检测未知应用程序中的恶意软件,而 Crowdroid 仅测试了两个被特洛伊化的应用程序,MADAM 测试了十个真实恶意软件 |
| Andromaly | 监控智能手机和用户行为,观察从传感器活动到 CPU 使用等多个参数,使用 88 个特征描述这些行为,并通过特征选择算法进行预处理 | MADAM 使用更少的特征(13 个),在野外发现的真实恶意软件上进行了测试,在检测和误报率方面表现更好。学习阶段后,MADAM 的误报率为 0.0001,而 Andromaly 为 0.12;MADAM 的检测率为 93%,而 Andromaly 为 80% |
| 其他方法 | 仅监控有限功能的异常行为,如流量、短信、蓝牙、IM 或功耗等 | MADAM 更通用,考虑智能手机上的所有活动 |
| RADS | 包括监控客户端、远程异常检测系统和可视化组件,远程异常检测系统接收监控特征信息并存储在数据库中,以实现机器学习算法 | MADAM 在本地且实时进行检测 |
| pBMDS | 基于行为的恶意软件检测系统,将用户输入与系统调用相关联,以检测与短信/彩信发送相关的异常活动 | MADAM 更通用,考虑智能手机上的所有活动 |
| Proactive Group Behavior Containment | 针对短信/彩信监控,旨在遏制恶意软件在这些消息网络中的传播 | MADAM 更通用,考虑智能手机上的所有活动 |
下面是恶意软件分析与 MADAM 检测流程的 mermaid 流程图:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
A(恶意软件样本集):::process --> B(迭代映射分析):::process
B --> C(发现共性):::process
C --> D(软聚类):::process
D --> E(可视化展示):::process
F(安卓智能手机):::process --> G(MADAM 监控):::process
G --> H(收集系统调用和参数):::process
H --> I(机器学习分析):::process
I --> J(检测恶意行为):::process
J --> K(输出检测结果):::process
综上所述,恶意软件的共性分析有助于深入了解恶意软件的行为特征和家族关系,而 MADAM 为安卓智能手机提供了一种有效的多级异常检测解决方案,在检测率和误报率方面表现出色,且具有较好的通用性和自适应性。
技术细节分析
恶意软件共性分析技术剖析
迭代映射方法原理
迭代映射方法在恶意软件共性分析中起着关键作用。其核心思想是通过不断迭代,逐步发现样本之间的共性。具体操作步骤如下:
1.
设置覆盖阈值
:在实验中,将覆盖阈值 $T_s$ 设置为 90%,这意味着算法需要处理至少 90% 的样本行为。这个阈值的设定保证了分析的全面性和准确性。
2.
迭代处理
:算法开始对样本集进行迭代分析。在每次迭代中,根据样本的行为特征进行聚类操作。例如,在基于 HAC(层次聚类)的分区步骤后,如果样本的覆盖率显著(如超过 10%),则将其定义为属于该迭代级别的聚类。
3.
共性识别
:随着迭代的进行,不断识别出样本之间的共性。这些共性形成了软聚类,反映了样本之间的行为共享关系。
可视化的作用
可视化在恶意软件共性分析中具有重要意义,它能够直观地展示样本之间的关系和共性分布。
-
共性迭代图
:通过 x 轴表示迭代中发现的所有共性按升序连接,y 轴表示按揭示样本行为所需迭代次数排列的样本,我们可以清晰地看到早期迭代揭示更多共性,后续迭代中数量减少的趋势。这有助于分析人员了解共性发现的过程和规律。
-
热力图
:热力图以灰度颜色强度表示共性共享纯度,能够直观地展示不同恶意软件家族之间的共性共享情况。通过观察热力图,我们可以发现某些家族之间可能共享特定的组件,这对于研究恶意软件的传播和演化具有重要价值。
-
基于图的可视化
:基于图的可视化展示了样本之间的结构关系,包括聚类成员关系和成员在共享行为方面的接近程度。通过样本节点和参考节点的连接以及节点之间的距离,我们可以直观地看到样本之间的相似性和家族间的行为共享特性。
MADAM 技术细节分析
多级监控机制
MADAM 采用了多级监控机制,同时在内核级和用户级监控安卓系统。具体操作如下:
1.
内核级监控
:监控系统发出的系统调用,这些系统调用反映了操作系统的底层行为。通过分析系统调用的类型、参数和频率,可以发现潜在的恶意行为。
2.
用户级监控
:考虑智能手机的参数,如用户活动/闲置状态。例如,在用户闲置时,如果系统出现异常的高 CPU 使用率或数据传输,可能意味着存在恶意软件。
机器学习技术应用
MADAM 利用机器学习技术区分标准行为和恶意行为。具体步骤如下:
1.
特征提取
:使用 13 个特征来描述智能手机的行为,这些特征包括系统调用和智能手机参数。这些特征的选择经过了精心设计,能够有效地反映智能手机的行为模式。
2.
训练模型
:通过接收一组描述用户正常行为的参数进行训练,使模型学习到正常行为的模式。
3.
实时检测
:在正常使用过程中,模型实时分析智能手机的行为,识别出与正常行为模式差异较大的行为,将其视为可疑行为。
实际应用与效果评估
恶意软件共性分析的应用
恶意软件共性分析的结果可以应用于多个方面,如恶意软件分类、家族关系研究和防御策略制定。
-
恶意软件分类
:通过识别样本之间的共性,可以将恶意软件划分为不同的家族,有助于更准确地了解恶意软件的特征和行为模式。
-
家族关系研究
:分析不同家族之间的共性共享情况,可以研究恶意软件的传播和演化规律,为防范恶意软件的扩散提供依据。
-
防御策略制定
:根据共性分析的结果,可以制定针对性的防御策略,如开发特定的检测规则和防护机制。
MADAM 的实际应用效果
MADAM 在实际应用中表现出了良好的效果,主要体现在以下几个方面:
-
检测率
:MADAM 的检测率达到了 93%,特别是对 rootkit 的检测率为 100%。这表明 MADAM 能够有效地检测到真实的恶意软件,为安卓智能手机提供了可靠的安全保障。
-
误报率
:学习阶段后,MADAM 的误报率为 0.0001,平均而言,用户每天收到的误报少于 5 次。低误报率保证了用户的使用体验,不会因为频繁的误报而影响设备的正常使用。
-
性能开销
:MADAM 的整体性能开销可接受,内存消耗为 3%,CPU 开销为 7%,电池消耗为 5%。这表明 MADAM 在保证检测效果的同时,不会对设备的性能造成过大的影响。
总结与展望
总结
恶意软件的共性分析和 MADAM 多级异常检测技术为安卓智能手机的安全提供了有效的解决方案。恶意软件共性分析通过迭代映射方法和可视化技术,深入了解了恶意软件的行为特征和家族关系;MADAM 采用多级监控机制和机器学习技术,能够准确地检测到真实的恶意软件,同时具有低误报率和可接受的性能开销。
展望
未来,随着恶意软件技术的不断发展,恶意软件的形式和行为将更加复杂多样。为了更好地应对这些挑战,我们可以从以下几个方面进行进一步的研究和改进:
-
算法优化
:不断优化迭代映射方法和机器学习算法,提高共性分析和恶意软件检测的准确性和效率。
-
特征扩展
:探索更多的特征来描述智能手机的行为,以提高 MADAM 的检测能力。
-
多平台应用
:将 MADAM 的理论方法扩展到其他移动操作系统,为更多的移动设备提供安全保障。
以下是 MADAM 未来发展方向的列表:
1. 算法优化
2. 特征扩展
3. 多平台应用
通过不断地研究和改进,我们相信恶意软件分析和异常检测技术将能够更好地保护移动设备的安全,为用户提供更加可靠的使用环境。
下面是 MADAM 未来发展流程的 mermaid 流程图:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
A(当前 MADAM 技术):::process --> B(算法优化):::process
A --> C(特征扩展):::process
A --> D(多平台应用):::process
B --> E(提高检测准确性和效率):::process
C --> F(增强检测能力):::process
D --> G(覆盖更多移动操作系统):::process
超级会员免费看

被折叠的 条评论
为什么被折叠?



