嵌入式系统中基于机器学习的安卓恶意软件家族分类方法
1. 恶意软件家族分类概述
恶意软件家族分类是将恶意软件样本分类到不同家族的任务。一个家族是一组具有相似特征(如行为、源代码、传播方法等)的恶意软件样本。在本文的工作中,假设安卓恶意软件家族集合 F 是固定且预先已知的。
分类方法的整体流程如下:
1. 训练阶段 :收集大量已知恶意软件 M,每个样本已标注所属家族,M 需包含 F 中每个家族的成员。运行每个样本 s∈M 并收集一段时间内的运行时指标,得到每个指标的时间序列。仅依赖可从 proc 文件系统获取的资源消耗指标,处理这些指标以提取应用的指纹。使用生成的指纹集(标注相应家族)训练分类器。
2. 分类阶段 :当输入新的恶意软件 s 时,运行 s 并构建其指纹,将新生成的指纹输入分类器以获取 s 所属的家族。
2. 指纹生成
指纹生成的第一步是执行恶意软件样本 s,期间使用预定义的输入事件集进行模拟。为使不同执行中的输入事件模拟一致,始终生成相同的随机事件序列。在执行过程中,以采样间隔 τ 从 proc 文件系统监测并收集 n 个指标,监测的通用指标包括 CPU、内存和网络使用情况,具体如下表所示:
| File (/proc/) | Metric | Description |
|---|---|---|
| [pid]/statm | vss |
超级会员免费看
订阅专栏 解锁全文
37

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



