僵尸网络检测模型的自动生成
1. 样本分组
样本可以手动根据杀毒软件分配的恶意软件名称,或者基于行为相似性划分到不同的僵尸家族。例如,之前的工作引入了基于主机的分析系统,可根据恶意软件程序调用的系统调用找到相似的恶意软件实例。而且,分组步骤不需要完美,系统可以容忍僵尸网络痕迹池被污染的情况。假设僵尸样本集已被划分为一致的组,系统既没有关于命令交换方式的信息,也不知道响应何时以及如何启动。
2. 分析僵尸活动
创建僵尸检测模型的第一步是捕获被僵尸感染的机器产生的网络流量。为此,在有互联网访问的受控环境中运行每个僵尸二进制文件数天,目的是让僵尸连接到其控制与指挥(C&C)机制,并使其运行足够长的时间,以观察不同僵尸命令及其触发活动的代表性集合。观察到的流量应包含最常用的命令,因为这些是最有用的检测目标。而很少使用的命令的缺失是可以接受的,因为针对这些命令的检测模型在部署时也很少触发。
2.1 定位僵尸响应
收集网络痕迹后,下一步是定位痕迹中僵尸对先前收到的命令执行响应的点。通过检查网络流量的突然变化(如数据包数量激增或联系多个不同主机)来实现。假设这些变化表明收到命令时启动的僵尸活动。不过,这意味着只能检测导致网络行为改变的僵尸响应(以及命令),但大多数当前的僵尸响应,如发送垃圾邮件、执行拒绝服务攻击、上传被盗信息或下载附加组件,都属于这一类别。
流量变化可能并非由命令引起,例如扫描在受害者列表耗尽时结束,系统会将扫描结束视为潜在响应并标记位置。幸运的是,这关系不大,因为后续分析可能找不到针对此(不存在)响应的合适命令。有时,在这种情况下可以生成有趣的检测模型,例如僵尸完成扫描后通常会向僵尸主控发送状态通知,
超级会员免费看
订阅专栏 解锁全文
30

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



