计算机网络与通信学报

PDF
计算机网络与通信学报/2020/文章

研究文章|开放访问

体积 2020 |文章的ID 9024726 | 16. 页面 | https://doi.org/10.1155/2020/9024726

基于主机和网络分析的混合僵尸网络检测

学术编辑:从聚氨酯
已收到 09年2019年8月
修改后的 2019年10月25日
接受 2019年11月29日
发表 2020年1月22日

摘要

僵尸网络是最危险的网络安全问题之一。僵尸网络会感染未受保护的机器,并跟踪与命令和控制服务器的通信,以发送和接收恶意命令。攻击者利用僵尸网络发起DDoS、钓鱼、窃取数据、垃圾邮件等危险攻击。僵尸网络的规模通常非常大,可能有数百万受感染的主机属于它。本文提出了一种基于网络流量记录和主机活动的僵尸网络检测方法。因此,我们提出了一种能够在早期检测新的僵尸网络的通用技术。我们的技术实现在两个方面:主机端和网络端。我们感兴趣的僵尸网络通信流量包括HTTP、P2P、IRC和使用IP流量的DNS。提出HANABot算法对僵尸网络行为进行预处理和特征提取,以区分僵尸网络行为和合法行为。我们使用真实数据集(恶意的和合法的)来评估我们的解决方案。 Our experiment shows a high level of accuracy and a low false positive rate. Furthermore, a comparison between some existing approaches was given, focusing on specific features and performance. The proposed technique outperforms some of the presented approaches in terms of accurately detecting botnet flow records within Netflow traces.

1.介绍

大多数人的日常工作,如商务、教育和娱乐都依赖互联网。1].僵尸网络是最受欢迎的安全威胁之一[2].“僵尸网络”这个词是由两个词组成的:机器人和网络。机器人是指在没有用户交互的情况下运行并执行预定任务的自动程序。机器人可以是好的,也可以是坏的。僵尸网络中的bot是在受害者不知情的情况下在其机器上运行的恶意软件。拥有该机器人的攻击者控制了该机器,并与其他机器人一起组成了受感染机器的网络。攻击者被称为僵尸网络主人。僵尸网络主用特殊的机制与这些僵尸进行通信,并通过僵尸网络交换命令。这种机制称为命令和控制服务器(C&C)。

由于僵尸网络具有执行各种恶意活动和针对电子商务网站、政府网站等的大规模攻击的能力,bot以协调的方式行动,并遵循僵尸网络主人的指示。[3.].

该机器人具有午餐危险攻击的能力,如分布式拒绝服务(DDOS),捕鱼,数据窃取,点击欺诈和垃圾邮件。卡巴斯基的一项调查显示,DDOS Botnet于2018年第一季度袭击了79个国家的在线资源[4].每年这个攻击次数正在增加。僵尸网络活动的目标通常是为了不同目的而获得经济利益。其中一个僵尸网络活动是从受损机器窃取敏感信息,并将这些信息发送回C&C服务器。然后,这种敏感的信息由僵尸网络母版销售。敏感信息的一个例子是个人银行详细信息或未经授权的人不应该有权访问它的任何其他信息。

组织防火墙的设计允许合法的流量,如DNS、HTTP和P2P。僵尸网络的主人以此为优势,通过组织防火墙,将僵尸下载到用户的计算机中。网络中交换的大量数据包和数据使网络管理员无法检测到这种入侵,因为他无法监控所有这些信息。有许多类型的僵尸网络已被以前的研究人员确定[5- - - - - -7].第一个开发的僵尸网络是Internet中继聊天(IRC)僵尸网络,其次是超文本传输协议(HTTP)僵尸网络,最后是点对点(P2P)僵尸网络。IRC机器人是最容易检测的僵尸网络类型,因为它使用集中式架构,这意味着所有的机器人都从一个中心点受到监督。中心点的存在使其可见,因此很容易被发现和阻挡[8].但是,P2P Bot是最难以检测的,因为它使用分布式架构,这意味着BotNet Master Transfers命令将其传送到其他对等体的受感染的机器人对等体。在这种情况下,分布式僵尸网络中的单个故障不会产生重大中断[7].

必须采取的第一种行动来保护网络是检测由机器人感染的机器。然而,僵尸网络正在采用和开发隐藏技术以及技术的发展。这些隐藏技术可以通过各种方式来完成,例如尝试模仿合法的网络流量和使用过程注入。幸运的是,僵尸网络遵循唯一的通信模式,与不同标准中的非无可利量(合法)流量不同,例如数据包大小,流量,流量和持续时间。

僵尸网络检测可以在网络级或主机级进行。网络层面的僵尸网络检测在网络安全中起着至关重要的作用,通过监控网络流量,并在检测到任何异常事件时向网络管理员发出警告。另一方面,主机级的检测通过监控主机上的文件系统修改、注册表修改和网络流量,在检测恶意软件感染方面起着至关重要的作用。

鉴于上面的讨论,我们的研究问题如下:通过组合网络流量流数据分析仪和主机进程数据分析仪可以有效地检测僵尸网络?

在本研究中,我们提出了一种能够在早期检测僵尸网络的一般混合技术。早期阶段意味着当机器人试图传播机器人恶意代码来感染其他机器或从BOT和C&C服务器之间交换的第一分组来检测恶意行为。我们的技术部署在主机级别和网络级别。我们感兴趣的僵尸网络通信流量包括使用IP流量的HTTP,P2P,IRC和DNS。我们的技术由三个组件组成:网络分析仪,主机分析仪和检测报告:(我)主机分析仪在文件系统和注册表中观察过程操作。(ii)网络分析器观察主机进程的网络流量活动。这些活动包括僵尸网络传播操作和僵尸网络与命令和控制服务器的通信。(3)检测报告组件生成包含受感染机器的IP地址的报告。

为了实现我们的目标,我们开发了一种名为HANABot(僵尸网络检测主机和网络分析仪)的算法,对数据进行预处理,以基于一组特征检测僵尸。这些特征被结合在一起产生了一种分类技术,能够以高度的准确性区分僵尸网络和合法流量记录。虽然之前已经研究过其中一些特征,但它们以不同的方式被重用和排序,以提高区分合法流量和僵尸网络流量的准确性。事实上,这些特性是实现高僵尸网络检测精度的基础。此外,本文还提出了一些新的特征,以增强僵尸网络的检测能力,特别是在僵尸网络的早期阶段。

我们建议的方法有以下三点贡献:(1)一种能够检测三种僵尸网络(IRC,HTTP和P2P)的一般僵尸网络检测技术。对于网络流量分析,我们的解决方案监控两项活动:僵尸网络传播技术和网络数据流。僵尸网络传播探测器目的是在该机器人开始与C&C服务器通信之前检测新感染的主机。(2)我们的技术,用于主机进程分析,监视文件系统创建和注册表修改。(3)提出了一种有效的僵尸网络检测算法——HANABot主机网络分析仪。

本文组织如下。部分2对僵尸网络检测的一些研究工作进行了综述。部分3.描述了我们的目标和实验室实验环境的方法。部分4介绍了建议的技术,Hanabot及其组件。部分5介绍了HANABot的性能,并与以前的一些解决方案进行了比较。最后,在第一部分对本文进行了总结6并推荐一些未来的作品。

2.文献综述

僵尸网络检测是当前研究的热点之一。许多文献研究都集中在僵尸网络检测技术上。这些技术中有许多只针对特定的僵尸网络类型。基于僵尸网络行为的检测方法可以分为三类:基于主机的检测、基于网络的检测和混合检测。在这里,我们简要介绍了一些以前的研究,提出了不同的解决方案来检测僵尸网络。

2.1。主机侧的僵尸网络检测

使用防病毒软件和防火墙保护主机不足以防止僵尸网络恶意软件的感染。此外,即使我们可以停止C&C服务器,也可以再次启动受感染的主机(带BOT)进入未来的攻击。在这种情况下,我们需要基于主机的检测来消除来自主机的机器人程序。基于宿主的检测技术存在各种研究[9- - - - - -11.].黄 [10.]在短时间内,基于主机中的网络故障跟踪,提出了一种有效的BOT主机检测解决方案。溶液由两阶段组成:(1)训练阶段和(2)检测阶段。第一阶段用于从失败流中提取特征。第二阶段根据使用C4.5算法在训练阶段获得的知识分析数据。在[9]、Etemad和Vahdani采用主机分析的方法对C&C集中式僵尸网络进行检测。他们的解决方案是基于进出主机的真实流量分析。它由两个基本组成部分组成:(我)协议分类器:主机传出流量和传入流量被重定向到此组件。首先,此协议分类器将IRC流量和HTTP协议流量分离在其余的主机流量中。然后,它将分隔的流量转发到通信模式解释器组件。(ii)通信流量模式解释器由两个模块组成:IRC模块和HTTP模块。此组件可区分恶意流量从合法的流量。然后,主机防火墙可以过滤此恶意数据包。在IRC模块中,它根据与僵尸网络C&C服务器的通信流量来检测IRC恶意机器人。在HTTP模块中,它根据HTTP消息的周期性模式识别基于HT的Botnet C&C服务器通信流量。

这种方法基于主机中的交通分析器,而不是在进程检测中。它不会将加密的数据包(命令)从僵尸网络掌握到机器人处理。此外,它仅限于集中的僵尸网络,不处理P2P僵尸网络。

在[12.],曾等人。为受监控网络中的每个主机提出了每次流程级别遏制技术。每次流程容器包括两个组件:行为分析组件和密封模型。行为分析组件包括各种监视器和疑似处理级别发生器。在注册表,文件系统和网络堆栈中的操作系统级别的运行时行为中监视该过程。然后基于进程活动分析,它们将SVM算法应用于每个运行过程以为该过程分配可疑级别。在容纳中,存在映射功能优化器,将可疑分数传送到每个过程的阈值。

他们的方法有很多优点:(1)他们提出了一种技术,可为恶意网络蠕虫进行早期和自动防御综合行为分析和遏制。(2)它们使用机器学习分类技术生成每个进程的可疑级别,并开发算法将每个可疑级别得分映射到阈值的阈值以进行速率限制过程。(3)它们使用现实世界蠕虫二进制文件和正常计划进行深入的分析和实验。

2.2.基于网络的僵尸网络检测

此前,僵尸网络检测技术是基于有效载荷检测分析技术,检测TCP和UDP报文内容中的恶意软件特征。有效载荷分析技术是一种资源消耗技术,需要处理大量的数据包数据,是一个缓慢的过程。此外,新一代的僵尸网络使用加密算法和其他方法来隐藏它们的通信流量,并粉碎数据包有效载荷检测分析技术。

从网络跟踪中提取的基于流的属性类似于NetFlow功能,例如字节/每包,字节的每流数,每秒字节。在过去几年中,出现了使用流量分析的僵尸网络检测技术。在过去几年中有许多网络流量流检测技术。在本节中,将讨论一些技术及其限制。异常检测可以通过基于挖掘的检测技术来提取意外的网络流量模式。因此,即使数据包加密,它也可以检测异常流量。许多技术使用流程分析[5713.- - - - - -15.].

在[5]提出了能够检测不同类型的僵尸网络的普通僵尸网络检测。该方法在恒定的时间间隔期间分析网络流量流。然后,对网络流量流中的统计相关性进行用于构建有效分类系统。无论拓扑或所使用的协议如何,此方法都可以检测僵尸网络。此外,它能够检测未知的僵尸网络。

在[7辽谐和张提出了一种基于分析和监控网络流量的P2P僵尸网络检测方法,使用数据挖掘方案。他们使用三个数据挖掘流行算法评估它们的解决方案:J48,Naïve贝叶斯和贝叶斯网络。这些算法的精度率分别为98%,89%和87%。

赵等人在[13.提出一个新的解决办法P2P通过分析网络流量来检测僵尸网络。他们的想法在于从要分析的网络流中选择12个功能,因此提取预定义时间窗口的流动行为。他们使用机器学习算法将僵尸网络流量与合法流量隔离。它们使用缩小的误差修剪算法选择决策树。然后,它们使用相关属性评估器来选择僵尸网络检测的密钥差异属性。他们的方法可以离线或在实时流量中检测单个机器人活动。此外,它能够通过C&C相中的活性来检测未知机器并在早期检测机器人。

洪和孙在[14.]提出基于机器学习的僵尸网络检测系统。该解决方案基于网络流量。首先,从网络流量中选择并提取一组基于流的特征。然后,为了确保模型表现良好,将一些噪声添加到有效载荷,参与时间和特征中。此解决方案实现了一些僵尸网络类型达到99.7%的高精度。与现有的僵尸网络检测系统相比,所提出的解决方案表明它可以抵抗更多噪音。

Alauthaman等人[15.],提出了一种基于决策树和自适应多层神经网络的P2P僵尸网络检测方案。该框架被动地监控网络流量,以检测僵尸网络与C&C服务器的通信以及僵尸网络之间的通信。首先,减少网络流量是为了管理庞大的网络流量。然后,提出了29个用于僵尸网络检测的特征。采用特征约简方法CART (classification and regression tree)剔除对分类模型影响较小的特征。这种特征约简的目标是只保留有价值的特征,以获得更好的神经网络学习率和分类准确率。对该方法的评价表明,该方法具有99.2%的精度,优于现有的一些方法。

DNS检测技术是基于僵尸网络产生的特定DNS特征分析。然而,这些DNS技术并不能区分C&C服务器流量和新的僵尸网络类型。一些解决方案通过DNS流量来检测僵尸网络,僵尸网络依赖DNS来发现C&C服务器。

赵等人[16.]提出一个IDNS系统,用于检测C&C服务器中的恶意域名,以实现APT(高级持久威胁)攻击。所提出的系统部署在网络侧,该网络侧可以减少必须注册的网络流量,然后分析。他们的方法包括四个组件:(我)数据收集器:用于存储入站和出站的网络流量。(ii)恶意DNS检测:对数据采集器存储的DNS记录进行分析。然后检测到可疑的APT C&C域,并将该域对应的可疑服务器IP地址提供给下一个组件。(3)网络流量分析器组件:它由两个单位组成,该单位是签名探测器和异常探测器。(iv)声誉引擎:它计算了来自先前组件的每个IP地址的声望结果。

在此方法中针对恶意DNS检测器研究的14个功能分为5类:域名功能,DNS应答功能,时间值功能,基于TTL值的功能和主动探测功能。此僵尸网络检测可以仅检测依赖于DNS的恶意。因此,无法检测到P2P僵尸网络。

2.3。基于杂化的检测

混合检测是网络流量分析和主机流量分析之间的一种关联。

Zeng等[17.]提出一种僵尸网络检测技术,该技术包括主机级检测和网络电平检测。它们的解决方案是第一个结合主机和网络级别检测并关联可能提高检测精度的警报。他们建议使用9个功能进行主机分析:6个功能,用于文件和注册表操作,以及主机中的网络流量的3个功能。对于网络分析,从NetFlow数据中提取了17个功能。它们评估了组合的主机和网络检测技术,并表明它们的解决方案对IRC,P2P和HTTP Botnet有效。

在[18.],提出了一种主机级检测和网络级检测相结合的僵尸网络检测技术。提出的解决方案,称为努力,是作为一个多模块的方法来关联来自不同的主机和网络层面的信息,以实现高效和有效的检测。在实字机器上实现并评估了该解决方案。结果表明,EFFORT可以有效检测到15个真实字机器人,假阳性率低。

在[19.],Abdullah等人。处理P2P僵尸网络架构。它们的解决方案取决于基于主机和网络的分析之间的组合。在主机级别中,分析将位于文件系统:注册表和日志文件上。此分析在主机中发生的每种活动中的异常行为和特征。在网络级别,分析在完整的数据包有效载荷上。此分析可以在网络中使用BOTS对C&C服务器和受感染的主机进行区分。

这种解决方案也可以看作是一种预防机制。实际上,从主机分析的角度出发,在早期检测机器人是有效的。然而,由于P2P机器人的网络违规,完成分析需要时间。为了准确的检测率,它将主机分析结果与网络分析结果相结合。

2.4.讨论

我们简要介绍了与僵尸网络检测相关的最新技术,这对定位和检测网络中的僵尸有重要的贡献。

我们区分了(1)主机端僵尸网络检测、(2)网络端僵尸网络检测和(3)混合僵尸网络检测。很明显,采用这样一种解决方案将获得最大的效益(我)结合主机和网络分析,意思是混合僵尸网络检测:要高效,一些解决方案集成了多种策略。使用混合僵尸网络检测,合并许多参数与定位和检测异常行为。在这种情况下,如果网络分析仪未检测到机器人流量,则主机分析仪可以使用其他规则来检测它,并考虑其他特征,并且反向是真的(如果主机分析器未检测到机器人行为,则网络分析仪可以使用其他规则来检测它并考虑其他功能)。(ii)最小化复杂性:僵尸网络检测器的目标是尽早检测僵尸网络流量,同时降低分析器的复杂性和处理时间。例如,网络分析仪必须分析和分类所有ImoIning和传出流量。因此,高效的僵尸网络探测器应在开始分析之前过滤流量。(3)易于调整以检测新的僵尸网络和可扩展:僵尸网络检测器可以具有良好的已知僵尸网络的检测率。但是,该解决方案还应以非常高的精度检测未知僵尸网络。在所有情况下,所有这些解决方案的目标都是尽快检测僵尸网络并停止它。理想的解决方案是获得100%的检测速率,0%的假阳性率。要采用,这种解决方案应该有效,性复杂性低,能够检测到新的或未知的僵尸网络。

3.方法论

在本节中,我们介绍了研究方法能够进行调查以及分析受感染的宿主中的机器人。

3.1。实验室环境

本研究的实验室环境包括物理机和虚拟机。其中一台物理机器用于收集恶意软件,另一台物理机器用于分析恶意软件。本研究利用虚拟机软件为僵尸网络分析提供了一个高效、安全的环境,并为部署实验室分析僵尸网络提供了一种灵活的方式。

这个实验室由几台计算机组成。如果这个实验室只依靠物理计算机来分析僵尸网络,研究成本将非常高。然而,使用虚拟机的优点首先是降低成本,其次,如果虚拟机被感染,可以将计算机恢复到原来的状态。这样可以节省多次重复实验的时间,从而保证实验结果的准确性和安全性。

另一方面,本研究正在处理一个恶意活动,可以威胁到研究人员的网络安全。因此,我们首先要考虑研究人员网络的安全性。解决方案是在收集恶意软件的物理机器上使用非军事区(DMZ)。这个DMZ在一个隔离的环境中提供了一个蜜罐来捕获实验机器中的所有恶意流量。

3.2。实验室组成部分

该小节介绍了用于实验本研究的实验室组件。这些组件如图所示1

它由带Linux作为操作系统的物理计算机(主机)组成。在此主机上,我们将VM与Windows 7作为操作系统安装。VM将成为本研究中攻击的目标,Linux操作系统是安装蜜罐的控制器。对于动态分析,将使用不同的工具来执行实验:(我)蜜罐:这个工具是用来收集恶意软件样本从互联网。事实上,收集恶意软件使用此工具是最安全的方式。物理计算机直接连接到互联网,暴露计算机的弱点,从而吸引攻击者。本研究选择的蜜罐是低相互作用的Dionaea [20.].(ii)控制器:采用linux操作系统。它将被用来监视网络活动和控制windows虚拟机活动。它将建立一个数据库来收集恶意软件的特征。(3)虚拟目标:它是一个Windows 7 VM。将安装恶意软件分析工具。这将允许我们检查机器人行为。(iv)动态分析:这是一个带有Windows 7作为操作系统的VM;我们将有能力执行动态分析。将分别在本研究中进行动态分析。

3.3。数据集集合

我们已经运行了一个月的蜜罐,并收集了六种类型的恶意软件二进制文件。不幸的是,只有两个收集的二进制文件属于僵尸网络。因此,我们从Virustotal下载了其余的想要恶意软件二进制文件。然后,我们通过捕获正常和恶意流程的活动来完成实验来构建我们的数据集。受监控的应用程序是eMule,BitTorrent,Web服务,RBOT,ZUES,Neris和Storm。在定期使用中,从清洁(无恶意)VM PC收集合法应用迹线。收集的数据集呈现在表中1


数据集类型 大小

合法的 15.4 GB.
恶意的 11 GB.

要构建我们提出的技术培训数据集,我们已将公开可用的僵尸网络数据集应用于多个来源。我们收集了三个不同的僵尸网络数据集和达尔屋大学的一个良性数据集[21.],两个僵尸网络数据集和一个CTU大学的正常数据集[22.,来自Sourcefire漏洞研究小组(VRT)的一个僵尸网络数据集[23.],以及一个来自ISCX的数据集,该数据集是几个可访问的公共可用僵尸网络和正常数据集的混合[24.].

表格2显示收集的数据集的详细描述。


数据集 数据集类型 大小

ISCX 混合物 5 GB.
城堡 P2P僵尸网络 8.39 MB.
z P2P僵尸网络 6.98 MB.
Rbot IRC僵尸网络 27 MB.
鼻内 IRC僵尸网络 1.04 GB
NormalCapture 正常的 2.44 GB.

为了评估我们的僵尸网络检测技术,我们已经使用了实验中的收集数据集。

3.4.研究设计

研究设计分为两个阶段。第一阶段由使用蜜罐机集合Malware签名组成。这些恶意软件二进制文件将用于感染VMware主机以监视其活动。

使用嗅探器工具(WiriShark)和恶意软件分析工具(Process Monitor和Process Explorer)监控受感染的主机的目标是能够在C&C服务器和本主机之间提取通信模式特征。之后,我们使用这些工具来分析收集的恶意软件行为,并收集我们需要的行为信息伪影。

这项研究的第二阶段包括开发一种算法(使用python)来提取所需的工件。然后,我们执行预处理步骤,收集特征,引导最终决策。这个最终决定将使用使用Knime的机器学习算法产生。

3.5。提取特性构建的特性

僵尸程序需要通过互联网进行各种操作,如与C&C服务器通信,并通过感染其他计算机传播僵尸网络。因此,监控主机中的网络流量和处理活动是检测僵尸网络的一个重要方面。我们的主机进程分析特性所需的构件将在本节中解释4.2

在下文中,我们审查了用于在网络监控中的机器人活动中对P2P,IRC,HTTP和IP通量活动进行分类的特征和属性。在流分类字段中,查找特征和属性的组合,可以高精度区分每个类别,并成功地确定每个未知项的标签到正确的类是挑战。

可以直接从网络流记录中提取我们特征载体分析所需的特性。对于每个流记录,我们首先确定流量类型,然后计算基于流量类型所需的功能。

表格3.展示了构建机器学习工具功能所需的工件。


数量 工件

1 端口源和目的地
2 IP源和目的
3. 协议(UDP或TCP)
4 HTTP方法(POST或GET)
5 连接总数
6 连接失败数
7 第一个数据包长度
8 数据包大小
9 数据包总数
10. 输入小数据包的数量
11. 输出小包数

第四个工件用于确定属于同一流的包。伪数字5和6用于计算本节中给出的失败连接比率特征4.1.1.最后五个工件的使用如下所示。

3.5.1。数据包大小

需要大量带宽的P2P应用程序和互联网服务通常具有较大的包大小。这是因为这些包与大量的有效负载内容相链接,并包含大量的数据和信息。这些大数据包是由于上传、下载文件、视频流、P2P文件共享等占用网络带宽的业务造成的。以太网上运行的TCP或UDP数据包的最大传输单元(Maximum Transmission Unit, MTU)大小约为1400字节,P2P应用程序的大小在1000到1400之间,如图所示2

然而,僵尸网络使用较小的数据包大小,以减少其对网络流量的可观察影响,并且不消耗网络带宽。原因有二:一是保持连接不被察觉,并隐藏在网络中;第二,最大限度地提高机器人与命令控制服务器之间连接的可靠性。如图所示,僵尸网络通信使用的数据包大小小于400字节2.在僵尸网络检测中,如果数据包的大小小于400字节,则将其视为小数据包。

对于HTTP流量,请求和响应大小可以分为3个范围,分别是0-500、501-1000和1001-1500字节。在HTTP流量中,我们区分两种情况:(我)HTTP请求报文大小在range1(0 ~ 500)范围内,响应报文大小在range1范围内的异常行为。(ii)HTTP请求报文大小在range1(0-500)范围内,而响应报文大小在不同范围(range2或range3)内的正常行为。

HTTP请求和响应范围示例如表所示4


分类 RequestPacketSize ResponsePacketSize

不正常 500个字节 500个字节
正常的 500个字节 500个字节

3.5.2。包大小相等

如第3.5.1款所述,机器人使用小的数据包大小。此外,在僵尸网络的生命周期期间,C&C服务器和机器人之间的通信活动遵循常量模式(因为它们在机器人节目中硬编码)。实际上,在C&C服务器和机器人之间交换的数据包具有相同的内容。这意味着与上述说明的通常小的分组大小。因此,机器人遵循其通信交通行为的均匀性,例如分组大小,而合法用户使用通常是大分组尺寸的不同分组大小。如果是正常或异常行为,则使用数据包大小和等同小包大小的数量来对流量作出决定。因此,对于每个流,如果它是小分组,则每个流是第一个传入的分组大小(IPS),如果是小分组,则是小分组的小分组尺寸(OPS)。这些值在流动结束时使用得出结论。然后,(1)计算equal incoming small packet (EIS)的个数。为了达到这一目的,将计算所有大小等于IPS的小数据包的数量。然后统计整个流的总包数,称为total incoming packet (TIP)。在流的末尾,计算出如下公式: 在哪里σ.为正参数,表示僵尸网络流中所有报文不等于第一个报文(IPS)。从我们的实验中,我们注意到有一些不同的值。因此,我们选择 (2)在传出流量的情况下使用相同的步骤。计算出相等的出站小包(EOS)个数。因此,计算该报文大小等于OPS的小出包数。同时统计出包总数。则可得: 在哪里

4. Hanabot技术描述和分析

我们的解决方案HANABot(用于僵尸网络检测的主机和网络分析)工作在网络级和主机级。在网络层面,它可以监控连接到该网络的所有设备的流量,并对其进行分析,观察具体的连接模式。在主机级,我们的解决方案可以监控主机进程的操作和网络流量,以检测bot进程。监控的主机进程操作涉及注册表和文件系统。然后,通过改变特定的特性来决定是否怀疑包含主机IP地址的流或主机中的进程存在bot活动。数字3.显示我们的技术架构,其中我们区分了三个组件:网络分析器组件,主机分析器组件和检测报告。

在本研究中,我们试图尽可能有效地检测僵尸网络。节4.1,我们详细描述了体系结构的每个组件。

4.1.网络分析仪

僵尸网络的网络流量分为两种主要类别:(我)通过扫描网络或通过社会工程来扫描网络中其他计算机的传播和感染。扫描技术可以是端口扫描或失败的连接。社会工程技术可能是电子邮件垃圾邮件。(ii)僵尸网络主用特定的通信模式,通过同一僵尸网络中的C&C服务器与僵尸网络成员进行通信。讨论了HTTP、IRC、IP流和P2P的通信流量。

作为分类技术的起始步骤,我们需要区分P2P活动和非P2P活动。数据包从Wireshark包分析器(PCAP文件)解析为我们的Hanabot算法。区分网络流量的过程基于源端口号,目标端口号和使用的协议。在非P2P流量中,我们确定以下网络流量:(我)HTTP协议使用TCP协议,端口号为80(ii)IRC使用TCP协议和端口号194(3)IP通量的DNS使用UDP协议和端口号53

如果源端口号和目的端口号都大于1024,则认为是P2P流量。

在这个阶段,我们过滤掉所有不相关的网络流量。请注意,这个过滤步骤只是一个可选过程,对我们的网络分析器并不重要。这一步的目的是通过减少流的总数来减少计算成本。然后,将网络流量分成不同的类别(HTTP流量、IRC流量等)。在每个分类中,提取属于同一流的所有报文。接下来,我们的HANABot算法提取表中所示的所有工件3.从这些流动。之后,Hanabot算法预处理这些提取的伪像以获得每个流的相关特征。预处理应用于网络流量,以收集基于该决定的有价值的信息。在下文中,我们呈现Hanabot预处理步骤。

数字4显示网络分析器组件。在下文中,我们在更多细节中展示了每个组件。

4.1.1。僵尸网络传播探测器

此组件在P2P和非P2P僵尸网络中很常见。事实上,在所有情况下,僵尸网络都使用传播技术来传播恶意代码并感染新机器。这些机器人将在新的受害机器中寻找已知的漏洞,作为传播过程的一部分。机器人随机寻找一个新的目标或特定的机器并扫描它。我们感兴趣的传播技术如下:(我)在传统的非P2P流量中,例如HTTP,DNS和SMTP,服务器运行良好,并且通常所有连接都是成功的。因此,客户端/服务器网络中的失败连接低。但是,在P2P网络中,如BitTorrent,失败的连接很高。其原因是对等体维护与其他对等体的连接,并尝试连接到已在P2P网络中断开连接的对等体。但是,由于机器人试图找到C&C服务器IP地址,IRC Botnet和HTTP僵尸网络具有很高的连接率。关于P2P僵尸网络,连接比率较小,因为机器机器通过硬编码IP地址与已知对等体通信。表中列出了失败的连接类型5.如果传出连接不成功,我们有一个失败的连接。连接失败率的计算公式如下: 其中FCR表示连接失败率,FCN表示连接失败数,ACN表示所有连接数。(ii)端口扫描是通过监控同一源IP到网络中不同主机的连接失败来实现的。非p2p报文(源端口或目的端口为 1024),在滑动时间窗口中的不同主机的许多失败连接被视为异常行为。基于表5,我们跟踪从相同的发送端IP地址发出的失败连接的数量。每次跟踪失败的连接时,都会有一个变量标志is_failed.设置为1。2秒后,我们求和is_failed.监控网络中的每个发件人的值。(3)电子邮件垃圾邮件是一种用于在大量的商业或营销内容中发送不需要的电子邮件消息,以便随机集合。提供电子邮件垃圾邮件程序与交付合法电子邮件相同,利用端口25上的简单邮件传输协议(SMTP)[25.].僵尸网络主利用僵尸网络大规模传播垃圾邮件。电子邮件的发送者可能属于不同的僵尸网络,也可能为不同的僵尸网络主人服务,以实现不同的目的,这些垃圾邮件可能有不同的内容。我们跟踪从发件人IP地址发出的SMTP数据包的数量。每次跟踪SMTP数据包时,可变标志is_SMTP设置为1。120秒后,我们总结is_SMTP监控网络中的每个发件人的值。


协议 故障描述
包发送 包收到了

TCP. TCP SYN. TCP重置
TCP SYN. ICMP遥不可及的
TCP SYN. 120秒内没有收到数据包

UDP. UDP. ICMP遥不可及的
UDP. 120秒内没有收到数据包

DNS DNS查询 查询域的DNS服务器错误代码

僵尸网络传播检测的功能:(1)连接失败率(FCR)(2)同一时间间隔(在本例中为2秒)内来自同一IP地址的失败连接数(3)同一时间间隔内(在本例中为120秒)来自同一IP地址的电子邮件(端口25)数量

4.1.2。P2P通信流量检测器

在[26.],我们提出了我们的工作来检测P2P僵尸网络。在这里,我们简要地提到提出的方法。如果报文的源端口号和目的端口号都大于1024,则认为是P2P报文。在P2P应用中,每个节点可以作为服务器下载数据,也可以作为客户端上传数据。为了相互通信,每个对等体都应该有一个对等体列表。它可以使用UDP传输协议从DHT (distributed hash table)中获取对等体列表,也可以使用TCP传输协议从应用服务器中获取对等体列表。对等体获取对等体列表后,首先尝试与其他对等体建立通信。这是P2P应用程序会话的第一个阶段。第二阶段包括数据交换阶段。(1)通信建立阶段:传输协议UDP或TCP可用于与现有对等列表建立通信。UDP通信建立:对等体发送小UDP数据包以建立P2P会话,然后等待来自接收器的数据包以开始数据的传输。数字5显示最常见的P2P应用程序的UDP数据包大小[27.].

根据图5,我们区分两种情况:(我)如果数据包请求大小在36字节和67字节之间,则将其视为异常行为。因此,如果用于启动P2P会话的UDP分组的大小在36字节和67之间,则它是僵尸网络通信分组。实际上,这种情况是当BOT知道谁是通过硬编码IP地址通信的对等机器人。此外,机器人发送许多小数据包来维护连接。(ii)如果UDP通信请求报文的大小超过120字节,而响应报文的大小超过400字节,则认为该流量是可疑的bot。事实上,如果对等体需要检索其他对等体的IP地址谁有想要的文件使用DHT,它应该发送一个请求UDP数据包大小如上所述,并接收数据包的大小小于400字节的情况下BitTorrent。然而,在僵尸网络的情况下,响应包含通常大于400字节的恶意代码。TCP通信建立:正常三次握手建立TCP通信。因此,TCP通信的检测是在数据传输阶段进行的。(2)数据传输阶段:连接建立后,开始通过P2P网络上传或下载数据进行数据传输。在传输过程中,节点使用较大的数据包来减少网络开销。这些数据包大小通常大于1000字节。然而,如本文所述,机器人使用小数据包来最小化其流量对网络的影响。方程(1)和(2)在预处理步骤中计算的用于作出关于流量类型的决定:(我)基于等式(1),如果 然后传入等于小型数据包大小的次数为高(异常行为)。(ii)根据公式(2),如果 然后传出等于小的数据包大小的数量很高(异常行为)。

等式的一个例子(1)计算出现在表中6


提示 EIS 对比NIP和EIS

30. 15. 7.5 高的
20. 5 10.

在TCP连接中,通过TCP完成标志或TCP重置标志终止流。在其他情况下,流可以以非标准的方式终止,例如物理链路的故障。在这种情况下,在UDP传输协议中,我们检查最后一个数据包到达的时间,如果它超过120秒(这个时间是开源linux内核的连接跟踪模块使用的默认值),我们认为这个流已经终止。

P2P通信流量检测的特点:(我)UDP协议的数据包请求大小(ii)UDP协议的数据包通信请求大小(3)UDP协议的数据包响应大小(iv)用于TCP协议的NIP,EIS,NOP和EOS(每个流程)

4.1.3。非P2P通信流量检测器

非P2P应用程序是在众所周知的端口号上运行的任何应用程序(如果源端口号或目标端口号小于1024)。在非P2P检测器中,我们监控HTTP,IRC和IP通量。

(1)HTTP检测器.HTTP流量使用TCP传输协议。标准HTTP通信包含请求和响应消息。(我)该请求可以是三种类型之一:GET,POST和HEAD。(ii)每个响应都有一个状态码。这个状态代码可以是五个类中的一个。我们感兴趣的响应状态代码是来自第二个类(2xx)的200,这意味着HTTP请求成功。实际的响应代码状态号将取决于所使用的HTTP请求方法类型。在HTTP GET请求中,HTTP响应状态码200将包含一个与所请求的web资源相对应的信息实体。在HTTP POST请求中,HTTP响应状态码200将包含包含活动结果的信息实体。我们分析了三种类型的参数,即HTTP请求大小、HTTP响应大小和有效负载数据包大小。在正常的HTTP流量中,合法用户下载数据时,发送的请求报文较小,接收的响应报文较大,接收的传入报文较大。合法用户上传数据时,发送的请求报文大小较大,发出的报文大小较大,接收的响应报文大小较小。然而,C&C服务器使用HTTP与机器人通信如图所示6可以分为三种情况。(我)C&C服务器发送到机器人指令,以便执行或恶意代码下载它们。在这种情况下,传入的数据包大小将很小,等于小的传入数据包大小的数量应该很大。(ii)该机器人将受损的主机信息发送到C&C服务器。在这种情况下,传出数据包大小将很小,具有相同大小的小型输出分组的数量应该很大。(3)该机器人维护与C&C的连接进行更新。在这种情况下,传入和输出分组大小将很小。此外,请求大小和响应大小将在相同范围内(两者都在小范围内)。

通过等式完成小数据包数量的预处理(1)和(2)。

流由TCP完成标志或TCP重置标志终止。在其他情况下,流可以以非标准的方式终止,例如物理链路的故障。在本例中,如果最后一个包在120秒之前到达,则认为此流终止。

HTTP检测器的特点如下:

每次流动,(我)HTTP请求大小(发布或获取消息)(ii)HTTP响应大小(状态代码200)(3)扼杀,EIS,NOP和EOS

(2) IP冲淡.使用DNS协议将服务器的名称解析为IP地址。当主机对特定域执行DNS查询时,它将检索DNS响应记录。响应记录可以是不同类型的记录之一,例如IPv4的A记录。如果定位了域名,则响应记录中映射的IP地址可以包含一个或多个IP地址。此响应记录可选地具有生存时间(TTL)周期。这个时间段是由该区域的权限名称服务器预定义的。缓存解析器执行查找并将结果存储一段TTL时间。这个时间段指示服务器和应用程序应该缓存这个地址的时间(以秒为单位)。大多数合法服务使用较长的缓存时间,比如86400秒甚至更长。 This long caching relieves the loads on the authority servers and provides response faster [28.- - - - - -30.].

僵尸网络主的主要挑战是保持C&C服务器更长时间不被发现,因为许多安全管理员试图阻止和跟踪这些服务器的IP地址[30.].此外,为了更好地管理大型分布式基础设施,僵尸网络的主人使用DNS流量实现了快速流量技术,原因有四个:(我)他们打算通过为C&C域名设置低TTL周期来减少缓存时间。这是因为长时间的缓存延迟了C&C服务器的新IP的传播。(ii)它们可以灵活地更改所管理的恶意服务器的IP地址。(3)C&C服务器变得更加难以识别和关闭。(iv)隐藏代理服务背后的关键服务器。

为了实现负载平衡,DNS在两个步骤中使用了轮询技术:(我)将域名映射到多个IP地址。(ii)DNS服务器遍历这些IP地址,每次返回一个不同的IP地址映射[31.].

只要一台计算机感染了僵尸程序,它就会作为资产加入僵尸网络[29.].恶意域名IP地址是从存在于不同自治系统和国家的机器人收集的。僵尸网络管理员不针对特定国家或特定IP范围[32.].

我们可以通过跟踪两个工件:分配给域和域缓存TTL的IP地址来检测DNS中的IP流量。每次主机向特定域发送查询时,我们都会跟踪分配的最后一个(如果有),新的IP,新域和域缓存TTL。实际上,如果最新的IP地址不在上一个IP和Cache TTL周期的同一类子网中小于1000,那么该域是可疑的。实际上,普通域在同一类子网和长域缓存TTL周期中分配多个IP地址。

IP通量检测器的特点如下:(我)分配给域的IP地址(ii)分配给域的下一个IP地址(3)TTL值

(3)IRC探测器.我们遵循在P2P数据传输中讨论的相同程序。我们跟踪小包大小的数量和相等的小包大小的比率。

4.2。主机分析仪

表格7显示主机进程分析的特性。


特征数 行为特色

1 在系统目录中创建DLL或EXE
2 创建并设置注册表中自动运行密钥的值
3. 关键注册表关键修改
4 机器人过程的积极时间

主机分析仪,如图所示7,由三个部分组成:过程行为分析、过程相关性和过程行为积累。在主机分析程序中,我们在一段时间内监视三个活动:注册表项、文件系统和进程活动时间。监测时间从10分钟到30分钟随机选取。节4.2.1,我们将更详细地讨论这些组件。

4.2.1。准备过程行为分析

我们开发了一种监视注册表项,文件系统和主动过程时间的算法。减少僵尸网络传播速度的第一个动作是识别在主计算机中执行恶意活动的进程。僵尸网络共享某些行为模式,例如在系统目录中创建Autorun注册表项和创建EXE,这与正常应用程序不同。但是,单独的单一活动,例如在注册表中创建自动或在系统目录中创建exe,可能会出现无害,而多种活动的组合可能会暴露恶意意图。

在我们的分析中,我们提取了常见的僵尸网络行为。我们关注软件进程运行时行为向量,包括注册表修改、文件系统创建和网络流量。主机进程的网络流量分析和检测将执行,并遵循本节中解释的过程4.在本节中,我们将解释我们的技术用于分析主机中被监视的注册表、文件系统和进程活动时间的特性。

(1)注册表.在注册表中,bot处理两个键项操作:(我)机器人将修改关键注册表项的值和自动运行密钥的创建。关键注册表项值的手段是任何软件的价值,该软件将进行进程监控以检测到任何恶意操作。过程监控软件的示例是Windows任务管理器,Sysinternals Tools和AntiVirus。该机器人将软件注册表的值更改为逃避检测,例如TaskMgr禁用,覆盖防病毒,Windows防火墙等。由Bot修改的注册表项的值的示例是HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \CurrentVersion \ Policies \ System。(ii)机器人将在注册表中创建一个自动运行密钥,以在操作系统启动时自动运行。autoRun键的值将设置为机器人的可执行文件的名称。AutoRun键的Bot创建的示例是Maripose [33.].

我们使用Hanabot算法定期检查上面提到的注册表位置。然后,Hanabot提取注册表项的值并找到拥有此值的进程ID。

(2)文件系统.当受害者计算机被击中时感染时,机器人总是将其恶意二进制文件从Internet下载到文件系统目录。这是因为操作系统启动时可以再次启动它。

拜耳等。[34.]表示恶意软件文件创建属于以下两个类别之一:(我)第一个包含可执行文件(EXE)。大多数机器人选择System目录位置,例如C:\ Windows或其子文件夹之一,作为删除二进制文件的典型位置。这是因为普通用户很少检查系统目录,并且在系统文件中,机器人二进制文件不太明显,这可能是数千个文件。新机器人开始定位为C:\ Users \ username \文档和设置的用户文件夹。(ii)第二个包含非标准文件,它是动态链接库(DLL),临时数据文件和批处理脚本。大多数这些文件都放在Windows目录中或用户文件夹中。Internet流量创建大量临时互联网文件。这些文件用于从Internet下载内容。

在监控位置的基础上,利用HANABot算法对windows目录下DLL和EXE文件的创建进行监控。然后,HANABot提取该文件的进程ID所有者。

(3)机器人的活动时间.机器人需要总是在线,以保持与僵尸网络主机的连接。如果机器人断开连接,则僵尸网络生命周期将受到影响。结果,机器人的活动时间(在后台操作并等待更新)应类似于底层受损的操作系统。相反,任何合法过程的活动时间由用户确定,这可能从一个用户到另一个用户的瞬态。

Hanabot算法用于监视过程的活动时间。它需要过程的创建时间。如果其时间更接近OS启动时间,则会定期检查此过程是否已终止。

4.2.2。流程关联

要进行恶意活动,机器人可以如下起作用:(我)机器人的行为行为,以进行恶意活动。(ii)机器人通过多个进程划分其活动,以便这些进程协同执行其分配的恶意活动。为了防止这种复杂的机器人(其某个进程恶意活动不被视为机器人),我们在监视期间考虑进程相关性。我们跟踪进程间的关系,并从进程相关性中聚合行为向量。获得的行为向量对于所有相关的进程都是相等的,如父进程及其子进程。通过维护白名单,我们可以很容易地排除一些具有相关性的正常进程,比如windows服务。因此,要完全区分一组行为恶意的进程并不困难。这意味着这些过程具有完全相同的行为向量。

4.2.3。过程行为累积

在监视时间窗口内,机器人可以执行多个恶意活动,也可以执行单个恶意活动。为了处理这类bot,我们在主机监视器中收集每个行为特征向量的值,如表所示8.行为向量特征值求和(累加)是普通软件中很少看到的,如在系统目录中创建EXE文件或在注册表中创建自动运行键等。累积过程很简单。表中显示了一个累积过程的示例8


时间窗口 行为特色 功能得分 积累功能得分

win0 EXE文件创建 1 1
win1 autorun创建 1 2
win2 DLL文件创建 0 2

使用此程序,如果进程在单个时间窗内进行一次恶意活动,则进程最终得分不会降低。每个窗口时间,进程进行恶意活动,其得分会增加。当每个进程在不同的时间窗口中显示恶意活动时,同样的概念也适用于一组进程。

在被监控主机中识别出bot进程后,管理员将扫描与该进程关联的文件。该文件可以提供有关C&C服务器IP地址的有价值的信息,以及bot(被破坏的机器)和C&C服务器之间如何建立通信的信息。此外,管理员可以知道僵尸网络是如何传播和感染其他机器的。这些知识使得管理员一方面可以阻止C&C服务器的所有进出流量,另一方面可以利用这些信息来构建新的规则,从而改进整体的检测机制。

仅应用主机分析技术可能不会有效,因为主机驻留机器人可能会危及检测技术。

5.评估

5.1。分类算法

随着恶意机器人软件的蔓延,对自动化替代方案的需求也在增加,因为手动生成的规则变得不切实际。机器学习算法允许检测系统适应快速变化的恶意软件。此外,它允许一种自动化的方法来学习僵尸网络可能呈现的特定模式和属性。

我们的目标是有效区分合法流量和僵尸网络流量。为此,我们考虑了最令人难忘的分类算法,即决策树集成分类器和朴素贝叶斯统计分类器。

朴素贝叶斯分类器(NB)是一种监督学习方法和分类统计技术。它假设了一个隐含的概率模型。它允许捕获和分析每个特征和相应类之间的关系,从而导出连接特征值和它的类的条件概率。

决策树分类器(DT)利用决策树作为预测模型,将项目观察映射到关于项目目标类的结论。它是用于数据挖掘和机器学习的预测建模方法之一。分类树是一个树模型,其中目标变量可以取一个有限的值集。在这个树形结构中,叶子代表类标签,每个分支代表特性,因此这些特性的结合就会产生那些类标签。

5.2。性能指标

为了避免数据偏差,需要测量多个指标。准确性、准确度、召回率、F-measure和假阳性率是用来评估我们的解决方案性能的五个指标。准确性取决于样本量。然而,精确度和召回措施与样本量无关。

精度速率表示所述检测结果的可信度,而调用速率指示属于可以识别的特定类的主机的一部分。公制F测量是精确和召回的协调均值。作为假阳性率的最后一个度量指示在僵尸网络类中对项目进行分类时出错,而合适的类是合法类。

表格9显示了这五个指标的性能结果。从表中可以看出,决策树分类器在主机级检测和网络级检测方面都取得了较高的性能,优于朴素贝叶斯分类器。混合检测的准确率为99.6%,假阳性率为0.01。这就是为什么我们选择决策树分类器作为我们的解决方案。


测量 主持人 网络 占地面积
NB. DT NB. DT NB. DT

精度 0.97 0.99 0.98 0.98 0.99 0.99
回忆 0.97 0.98 0.97 0.96 0.98 0.99
F-measure 0.96 0.98 0.97 0.97 0.98 0.99
假阳性率 0.04 0.03 0.04 0.04 0.05 0.01
准确性 (%) 95.8 98.5 98.2 99.1 98.6 99.6

5.3。结果和讨论

我们的技术包括两个主要组成部分:主机分析器和网络分析器。我们的技术的目的是检测未知的僵尸网络和被僵尸程序感染的主机。为了建立真相,我们从公开可用的僵尸网络数据集收集数据集。为了评估分类器检测技术的准确率,我们使用10倍交叉验证方法将我们的数据集划分为10个随机子集。9个子集用于训练,一个子集用于评价。重复相同的过程,直到10个子集中的每个子集被用作测试集恰好一次。评估必须表明它能够检测出不在训练数据集中的未知僵尸网络。为此目的,我们使用从我们的实验中收集的数据集,如本节所述3..该网络分析仪的检测准确率为99.6%。我们报告如下:(我)属于IRC僵尸网络的Neris Bot产生高失败的比率并执行扫描技术。我们的技术能够在传播阶段检测IRC机器人。(ii)在失败连接的数量方面,Storm bot的行为与bitTorrent类似。而且,它们都实现了DHT来获取对等列表。因此,风暴机器人可以在传播阶段逃到探测器。但是,由于bitTorrent中DTH UDP包的大小大于67字节,而bot使用的小于这个大小,P2P检测器将检测这个bot。该检测技术具有很高的精度。(3)从我们的实验来看,一些P2P应用程序的连接失败率结果低于僵尸网络检测的固定阈值;电驴就是一个例子。事实上,电骡的故障率非常小。这是由于使用了“错误的对等源列表”,该列表将被添加到应用程序中。当电骡应用程序与对端IP地址连接失败时,此列表将更新为对端IP地址。将这个对等源IP地址列表视为死亡并在预定义的时间(15到45分钟)内阻止。即使电骡应用程序在连接失败率方面与bot类似,我们的技术也不会检测到电骡,因为我们也检查了相同的小包大小特征,在这种情况下不满足。

表格10.显示两个分类器在主机级的性能比较。第一个分类器使用所有选择的特征。该分类器的性能导致了高假阳性率和低正确率。这是由于正常的P2P应用程序和僵尸网络之间常见的两个特性。这些特性如下:创建并设置注册表中AutoRun键的值和bot进程的活动时间。


决策树分类器 准确性 (%)

对于所有所选功能 85.
减少功能 98.5

这些特征不能有效区分机器人和合法P2P应用程序检测,增加了假阳性。这是由于P2P应用程序的性质,它创建了一个自动运行键,在操作系统启动时启动,并在后台在线工作(该进程的活动时间等于操作系统的活动时间)。僵尸网络以同样的方式运作。因此,我们通过从行为向量中消除这两个特征来评估第二个分类器。第二分类器降低了误报率,提高了准确率。

在我们的实验中,当主机进程被Rbot感染时,Rbot进程会注入svchost进程(windows服务)。svchost通过DNS查询获取C&C服务器的IP地址。然后,Rbot进程建立到这个地址的TCP连接。机器人向svchost进程注入恶意代码。主机分析不包括任何过程注入方法。因此,机器人进程将逃避我们的主机分析分析器。但是,如果我们同时使用主机分析器和网络分析器,这个机器人将被网络分析器检测到。将网络与主机分析仪相结合,可以提高检测的准确率。在这种情况下,所有流都被正确地分类在正确的类中(僵尸网络或合法)。

5.4。比较

我们将我们的技术与[513.15.].我们的解决方案与一些已发布的方法的性能比较如表所示11..现有解决方案的性能由每个开发人员计算。赵等人[13.]使用了两个P2P僵尸网络Storm和Waledac,以及两个HTTP僵尸网络BlackEnergy和Weasel来验证模型的有效性。基鲁巴瓦蒂和阿尼塔[5]使用了三个僵尸网络,即Zeus、Spyeye和BlackEnergy僵尸网络来评估他们的解决方案。Alauthamanet艾尔。15.]使用了两个P2P僵尸网络,即风暴机器人和Waledac Bot来验证其模型。


检测方法 中华商务结构 假阳性率(%) 准确性 (%)

赵等人[13. P2P、HTTP 0.2 99.1
kirubavathi andanitha [5 IRC,P2P,HTTP,HybRID 0.048 99.14
Alauthaman等人[15. P2P 0.75 99.2
Hanabot(网络分析仪) IRC, P2P, HTTP 0.04 99.1
Hanabot(主机和网络分析仪) - - - - - - 0.01 99.6

从性能比较表中,我们可以注意,我们只能使用Hanabot仅使用Hanabot与网络分析仪的最低误率达到非常好的准确度。但是,我们提出的解决方案是基于网络和宿主分析的混合解决方案,在准确度和假阳性率方面优于现有的解决方案。

在[912.]利用宿主级别分析的有效性,以了解更准确的结果。这些方法是我们的​​方法,监视每个主机中的注册表和文件系统。但是,我们在特征选择中区分了注册表的特征选择,例如自动运行键创建,这增加了僵尸网络检测。

六,结论

在这项研究中,我们提出了一种通用的技术,能够检测在三个层次上实现的新僵尸网络:主机层、网络层或两者的结合。我们感兴趣的僵尸网络通信流量包括HTTP、P2P、IRC和使用IP流量的DNS。我们提出的技术包括三个组成部分:主机分析器、网络分析器和检测报告:(我)网络分析器监控两项活动:与C&C服务器的僵尸网络传播和僵尸网络通信。网络分析器由三个探测器组成:传播探测器,P2P检测器和非P2P检测器。(ii)主机分析程序监视三个活动:注册表项、文件系统和活动进程在一段时间内的持续时间。主分析器由三部分组成:过程行为分析、过程相关性和过程行为积累。(3)检测报告负责基于主机分析或网络分析产生最终得分结果,并提供受感染机器的报告。

我们开发了HANABot算法,对主机流量数据进行预处理,主机处理操作和网络流量活动,根据特定的规则检测机器人。通过利用特定的连接模式,建立对僵尸网络流量及其处理操作来说独一无二的特征向量,成功地提取了所有的僵尸网络流量记录。对现有的方法进行了比较,重点介绍了具体的特性和性能。

在未来的工作中,我们将应用我们的解决方案进行实时分类。实际上,所提出的技术在离线模式下实现分类算法,其中互联网网络流量跟踪在处理之前存储在PCAP文件中。可以提高该技术以瞬间获得实时分类,具有高水平的精度。这可以通过使NetFlow迹线收集器的出口时间段相对较短,并且通过将导出的NetFlow Trave提供给分类技术,因为它们到达时。然后,该技术可以区分僵尸网络活动并在此基础上采取行动。实时分类发生的处理速度应该有所不同,具体取决于诸如导出时间间隔和导出的NetFlow迹线的大小的各种因素。此外,可以在主机级扩展这项工作,以支持僵尸网络使用的过程注入以施加完全控制过程[35.].

数据可用性

用于支持本研究发现的数据集可从通讯作者处获得。

利益冲突

作者声明他们没有利益冲突。

参考文献

  1. M.桑切斯的《十大最常见的安全威胁解释》,2017年,http://blogs.cisco.com/smallbusiness/the-10-most-common-security-threats-explained查看在:谷歌学术
  2. us.norton.com。(N.D.),“机器人和僵尸 - 一个日益威胁”,2017年,https://us.norton.com/botnet/查看在:谷歌学术
  3. B. Cusack和S. Almutairi,“监听僵尸网络通信渠道以保护信息系统”澳大利亚数字取证会议论文集,第44-52页,澳大利亚Joondalup, 2014年12月。查看在:谷歌学术
  4. 2018年第一季度的DDoS攻击https://securelist.com/ddos-report-in-q1-2018/85373/
  5. G. Kirubavathi和R. Anitha,“通过挖掘流量流特征来检测僵尸网络”,计算机与电气工程, 2016, vol. 50, pp. 91-101。查看在:出版商网站|谷歌学术
  6. 何杰,杨勇,王旭东,曾轶,“基于对等网络的实时流量分类”2014 IEEE第17届计算科学与工程国际会议论文集, pp. 605-613,成都,2014年12月。查看在:出版商网站|谷歌学术
  7. 廖文华,“基于数据挖掘的点对点僵尸网络检测”,计算机科学与技术国际互联网技术和应用会议论文集, pp. 1-4,中国武汉,2010年8月。查看在:出版商网站|谷歌学术
  8. T. S.希斯利普和J. M.皮特曼,“通过命令和控制基础设施对僵尸网络检测技术的调查”,数字取证,安全和法律杂志,卷。10,不。1,第2,2015条。查看在:出版商网站|谷歌学术
  9. F. Etemad和P. Vahdani,“僵尸网络在主机级的实时命令和控制特性描述”第六届国际电信研讨会的诉讼程序,PP。1005-1009,伊朗德黑兰,2012年11月。查看在:出版商网站|谷歌学术
  10. 彭译葶。黄,“基于网络故障模型的有效bot主机检测”,计算机网络(第57卷)2, pp. 514-525, 2013。查看在:出版商网站|谷歌学术
  11. M. Rostami, B. Shanmugam,和N. Idris,“基于节点行为的P2P僵尸网络连接分析和检测”,in2011年世界信息和通信技术大会论文集,第928-933页,印度孟买,2011。查看在:出版商网站|谷歌学术
  12. Y. Zeng,X. Hu,H. Wang,G. Shin和A. Bose,通过每次流程限制来遏制网络蠕虫,“第四届通信网络安全与隐私国际会议论文集,第1-10页,土耳其伊斯坦布尔,2008年9月。查看在:出版商网站|谷歌学术
  13. D. Zhao, I. Traore, B. Sayed等,“基于流量行为分析和流量间隔的僵尸网络检测”,计算机和安全,卷。39,pp。2-16,2013。查看在:出版商网站|谷歌学术
  14. C. Hung和H. Sun,“一个基于基于流的特征的机器学习的僵尸网络检测系统”Securware 2018的诉讼程序:新兴安全信息的第十二届国际会议2018年9月,意大利。查看在:谷歌学术
  15. M. Alauthaman,N. Aslam,L. Zhang,R. Alasem和M.A.Hossain,基于决策树和自适应多层神经网络的P2P僵尸网络检测方案“神经计算与应用,卷。29,不。11,pp。991-1004,2018。查看在:出版商网站|谷歌学术
  16. Zhao G., Xu K., Xu L., Wu B.,“基于恶意DNS和流量分析的APT恶意软件感染检测”,IEEE访问,第3卷,第1132-1142页,2015。查看在:出版商网站|谷歌学术
  17. Y. Zeng,X. Hu和K.Shin,“使用组合主机和网络级信息检测僵尸网络”2010 IEEE/IFIP国际可靠系统与网络会议论文集,pp。2010年6月,美国芝加哥291-300。查看在:出版商网站|谷歌学术
  18. S. Shin,Z. Xu和G. Gu,“努力:有效和有效的机器人恶意软件检测”第31届IEEE计算机通信年会(INFOCOM’12)小型会议论文集,第71-80页,美国佛罗里达州奥兰多,2012年3月。查看在:谷歌学术
  19. R. Abdullah, M. Faizal,和Z. Noh,“通过混合分析方法追踪P2P僵尸网络行为”,欧洲科学研究杂志,卷。118,没有。1,pp。75-85,2014。查看在:谷歌学术
  20. G. Sabbatel和A. Duda,“多媒体通信,服务和安全”第七届国际会议论文集,MCSS 2014,克拉科夫,波兰,2014年6月。查看在:谷歌学术
  21. F. Haddadi,Z. Heywood和A. Nur,“Botnet流量分析的数据确认”,安全基础与实践,斯普林斯国际出版社,柏林,德国,2015年。查看在:出版商网站|谷歌学术
  22. 恶意软件捕获设施项目,2016年,http://mcfp.weebly.com/mcfp-dataset.html
  23. 分析特洛伊的宙斯,https://labs.snort.org/papers
  24. 僵尸网络数据集,2015,http://www.unb.ca/research/iscx/dataset
  25. E. Willa, K. Anestis, L. Danielle和H. David,使用网络流量交通建模检测垃圾邮件主机和垃圾邮件机器人, USENIX协会,加州伯克利,美国,2010。
  26. S. Almutairi, S. Mahfoudh和J. S. Alowibdi,“基于网络流量分析的点对点僵尸网络检测”2016年第8届IFIP国际新技术国际会议,流动性和安全性会议(NTMS),第1-4页,拉纳卡,塞浦路斯,2016年11月。查看在:出版商网站|谷歌学术
  27. 使用流量分析识别P2P用户,2016,http://www.symantec.com/connect/articles/identifying-p2p-users-using-traffic-analysis
  28. B.康,“基于DNS的僵尸网络检测”密码和安全百科全书,春天,柏林,德国,2011年。查看在:出版商网站|谷歌学术
  29. L. Bilge, E. Kirda, C. Kruegel,和M. Balduzzi,“暴露:使用被动DNS分析发现恶意域名”第18届年度网络和分布式系统安全研讨会论文集,圣地亚哥,加州,美国,2011年2月。查看在:谷歌学术
  30. S. Lee和J. Kim,“带有缩短服务的”润滑僵尸网络命令和控制渠道“电脑通讯第36卷第2期3, pp. 320-332, 2013。查看在:出版商网站|谷歌学术
  31. S.S.C.Silva,R.M.P.Silva,R.C.G.Salles,R.M.Pinto和R. M. Salles,“Botnets:调查”,计算机网络(第57卷)2, pp. 378-403, 2013。查看在:出版商网站|谷歌学术
  32. S. Yadav和A. Reddy,“使用DNS失败获胜:更快的僵尸网络检测策略,”第七届国际通信技术委员会通信网络安全和隐私会议论文集,第446-459页,伦敦,英国,2012年9月。查看在:谷歌学术
  33. P. Sinha,A.Boukhtouta,V.Belarde和M. Debbabi,“博览会的分析”中的洞察力“第五届互联网和系统风险与安全国际会议论文集, 1-9页,蒙特利尔,QC,加拿大,2010年10月。查看在:出版商网站|谷歌学术
  34. U. Bayer, I. Habibi, D. Balzarotti, E. Kirda,和C. Kruege,“当前恶意软件行为的观点”,在第二届USENIX大规模利用和紧急威胁会议论文集, 2009年4月,美国马萨诸塞州波士顿。查看在:谷歌学术
  35. S. Shin,Zh。徐和G.Gu,“努力:高效且有效的机器人恶意软件检测”2012年IEEE INFOCOM会议论文集,第2846-2850页,美国佛罗里达州奥兰多,2012年3月。查看在:出版商网站|谷歌学术

版权所有©2020 Suzan Almutairi等。这是分布下的开放式访问文章知识共享署名许可协议如果正确引用了原始工作,则允许在任何媒体中的不受限制使用,分发和再现。


更多相关文章

1077 的观点 | 541. 下载 | 0 引用
PDF 下载引用 引文
下载其他格式更多的
订单打印副本命令

相关文章

我们致力于尽可能快速,安全地分享与Covid-19相关的结果。提交Covid-19文件的任何作者都应通知我们help@hindawi.com.以确保他们的研究被快速跟踪,并尽快在预印本服务器上可用。我们将为接受的与COVID-19相关的文章提供无限制的发表费用豁免。在此注册作为一名审稿人,帮助快速处理新提交的文件。