APP下载

P2P僵尸网络检测新技术探究

2015-01-01

网络安全技术与应用 2015年11期
关键词:僵尸攻击者数据包

0 引言

僵尸网络中僵尸主机是由远程操控者利用网络上计算机的弱点,通过感染病毒、蠕虫、木马和间谍软件来初始化的。僵尸网络攻击者通过命令和控制(C&C)机制控制僵尸网络中大规模的被感染的僵尸主机来进行非法操作。僵尸网络有两种基本类型:集中式和分散式。在集中式的僵尸网络中,僵尸主机从C&C服务器获取命令,当僵尸网络C&C服务器被关闭时,整个僵尸网络将会瘫痪。P2P技术因此被攻击者采用,在分散式僵尸网络中没有中心服务器,僵尸主机在P2P僵尸网络充当作为客户端和C&C服务器。如果一个僵尸主机或P2P僵尸网络的一部分被摧毁,其他僵尸主机通信也不会受影响。因此,更加的难以检测和摧毁。因而,本文中重点对P2P僵尸网络的检测方法作以介绍。

1 P2P僵尸网络生命周期

僵尸网络生命周期包括四个阶段:初始化阶段、二次传播阶段、连接阶段和维护阶段。初始化阶段通过各种方法给网络上的防御脆弱的主机感染上木马、蠕虫或病毒。受感染的主机会从特定服务器直接下载并安装僵尸程序。僵尸主机安装僵尸程序后,会由设置好的C&C渠道与其他僵尸主机使用僵尸程序提供网络列表进行连接从而形成僵尸网络。二次传播阶段,僵尸网络成功地建立后,被感染的计算机成为僵尸网络的一部分。攻击者可以通过推送或拉取的方式向所有活动的发送命令,继而然后传播僵尸程序到更多主机。连接阶段中攻击者控制僵尸大军可以发出各种协调指令来攻击目标,如图 1所示。最后,维护阶段负责保持僵尸主机的活跃与进行程序更新,还要去除失效的和可疑的僵尸主机。

现今,P2P僵尸网络通过开发和采用新技术以避免被检测到。比如,僵尸网络通过基于主机的分析 Rootkit来防止被检测,Rootkit是在受感染的主机上安装软件以隐藏僵尸网络相关流程或因程序执行造成的各种基于主机的异常。还有一些攻击者使用Fast-Flux Service Networks(FFSNs)来防止被检测。

图1 P2P僵尸网络操作流程

2 P2P僵尸网络检测技术分析

P2P僵尸网络不使用中心节点且流量也与合法的P2P流量有很高的相似度,这些都使它们更为隐蔽,因此更难以检测。但研究人员已经提出了很多检测方法以检测出这些僵尸网络。本文讨论分析最新的检测技术以及其优势和局限性。

2.1 染色注入法

Coskun B等人提出了一种建立在僵尸主机相互接触上的僵尸网络检测方法。在检测前设定种子僵尸程序的染色阈值,使用通信色散图来确定僵尸主机之间的相互联系。接触种子僵尸节点的主机标记为可疑,给联系可疑部分主机的节点增加染色程度。最终节点有染色值高于一定阈值作为僵尸主机。这项技术使得P2P僵尸网络若想要避免被检测到,就要使内部僵尸节点避免相互接触。这无疑增加僵尸网络的控制难度,增加不必要的开销。

2.2 大数据分析法

Kamaldeep Singh等人提供了一个利用大数据分析僵尸主机流量的检测方案。他们使用Hadoop、Hive和 Mahout等开源工具开发一个检测系统,该系统能够在准实体的时间检测出僵尸主机。框架由三部分组成:

(1)流量嗅探模块:使用dumpcap软件在网络中嗅探数据包而后将其保存成pcap文件,再将文件提交给Hadoop分布式文件系统(HDFS)。

(2)特征提取模块:使用Apache Hive提取HQL语句中基于使用映射-规约模式算法的特征。框架可以使用Tshark选取所需的功能检测,然后使用排名算法计算相应的信息增益类。

(3)机器学习模块:使用随机森林算法提高了检测的精度,减少了计算复杂度。

大数据分析法检测出了包括Conficker、Kelihos-Hlux、Zeus、Storm和Waledac等各种P2P僵尸网络。这个大数据开发框架检测僵尸主机的精度为99.7%。

2.3 基于eMule-like网络流量包的周期搜索法

本检测方法能够检测eMule-like寄生僵尸网络。根据僵尸主机需要执行程序规定的任务以及定期发送搜索请求的规律,此方法通过寻找这些周期性序列生成的通信网络。通过两个算法:被动匹配算法和主动搜索算法来设计识别周期搜索序列,从100个eMule校园节点和恶意节点收集信息生成P2P僵尸网络模拟器。该程序的僵尸主机检测准确率达到了98%。

2.4 模糊推理法

模糊推理法是基于僵尸主机流量规律性和使用者的流量随机性的生成规律,可以用来检测所有类型的僵尸网络如IRC,P2P和HTTP僵尸网络。该方法能从时间间隔、数据包数量及字节数、数据包目的地三个数据流特征的基础上,区分目的主机的恶意与否。首先,捕获数据;然后将捕获的数据进行三个步骤操作:预处理过滤、聚合和流动特征提取。在特征提取中,分别提取并计算每个包目的地,包数及字节数、时间间隔的熵值。

这里,xi代表了相应的熵的特性。模糊规则将其分类成良性或恶意主机。在上文提到的三个特征熵值和模糊规则的基础上,判断通信是否属于恶意。

2.5 博弈论判别法

传统相关性模型仅适用于受信任的主机组成的内部网络。博弈论法是一个以信任为判定条件的模型,能够检测僵尸网络主机和网络行为确定动态网络,通过监控安装在主机上的分析仪来确定给哪些主机添加受信任的主机标识。博弈论根据主机贡献,在确定主机所在组的信誉水平基础上给每个主机确定信任水平。不同组的主机产生的行为价值乘以相应的主机的信誉确定主机的信誉水平值,根据最高分值信任主机的数据设置相关检测分数来判定不同群体的特征函数。

2.6 SVM检测法

Pijush Barthakur等人提出了一种使用支持向量机(SVM)的主动检测技术,SVM 法比其他方法检测精度更好。方法僵尸主机两个特点:保持数据包大小和传输的字节数最低,数据包大小和网络数据包到达时间不变。此检测方案包括两个部分:

流提取:从捕获的数据流中提取有用的流标签。分为训练和测试输出。

分类:提炼数据流并转换成范围为[-1,+1]的向量。选择使用径向基函数(RBF)内核分类数据流建立SVM模型。

使用支持向量机模型检测僵尸主机检测精度为99.01%。

2.7 隐形僵尸网络检测法

隐形僵尸网络检测法能够检测隐形 P2P僵尸网络且提供了在所有检测技术中最好的结果,其检测准确性接近 100%。它由两个阶段组成,如图2所示。

图2 隐形僵尸网络检测系统

(1)P2P客户端检测:由DNS流量分析发现主机参与P2P通信,然后由P2P客户端软件通过颗粒度检测确认。如果他们有相同的数据流大小以及在各种网络中产生大量的消息交流则将其确定为P2P客户机。

(2)P2P僵尸主机检测:若主机在激活时间和连接时间长短上相互关联,则将其定义为可疑主机。

此方法使用Argus工具收集前面几种网络的信息,最大的优势是,能够精准的从大量合法共享数据中检测出僵尸程序。

3 结论

新型僵尸网络由于使用了 FFSNs(Fast-Flux Service Networks)和 Rootkit技术,使得单纯依靠传统的检测方法显得力不从心,出现诸如检测率不高、高误报率、无法检测隐形僵尸网络等问题。随着新型僵尸网络检测技术的发展,这些问题得到了进一步的解决。本文总结了最新出现的P2P僵尸网络检测技术以及它们的优点和局限性。然而单一的技术检测P 2 P僵尸网络难以达到检测精度高和误报率的目标,结合两个或两个以上的技术开发检测方法可以大大推进P 2 P僵尸网络的检测精准度。这将是下一步的研究目标。

猜你喜欢

僵尸攻击者数据包
二维隐蔽时间信道构建的研究*
机动能力受限的目标-攻击-防御定性微分对策
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
笔记本电脑“僵尸”
SmartSniff
正面迎接批判
你愿意当吸血鬼还是僵尸?
在舌尖上筑牢抵御“僵尸肉”的防火墙
有限次重复博弈下的网络攻击行为研究
App已死?80%的僵尸应用带来的困惑