英语原文共 11 页,剩余内容已隐藏,支付完成后下载完整资料
基于大数据分析框架和随机森林方法的点对点僵尸网络检测
作者:Kamaldeep Singh,Sharath Chandra Guntuku,Abhishek Thakur,Chittaranjan Hota
关键字:Hadoop,Mahout,Peer-to-Peer,Botnet detection,Machine learning,Network security。
摘要
网络交通检测和相关的分析研究在实时分析大量数据方面进展缓慢。一些垂直尺度上的解决方案在基于签名的检测方向上提供了很好的实现。不幸的是,这些方法在不同的子网中对待网络流量并且在攻击以一个较低的速度来源于多台机器时不能应用基于异常的分类,比如僵尸网络。
在这篇论文里,作者使用像Hadoop,Apache Hive,Mahout这样的开源工具提供了一个可以扩展的准实时入侵检测系统。这个实现使用机器学习方法来检测点对点的僵尸网络攻击。这篇论文的贡献如下:
- 使用hive构建了一个分布式系统,这个系统可以用来嗅探和处理根据动态网络特征的网络痕迹。
- 使用mahout的并行处理能力构建基于随机森林的决策树模型,这个模型在系统中被用于准实时的点对点僵尸网络检测。系统的安装和性能矩阵是可以观测的,并且将来的扩展提了出来。
简介
僵尸网络攻击在全球范围内都是安全研究和分析的最大挑战之一。由于电脑违反网络安全造成的经济损失多达几十亿美元。就在这篇文章完成之前的几个月里,一个极大的DDos对很多的WordPress用户的管理员郑虎造成了攻击。线上的安全社区和博客怀疑这次攻击就是一个点对点的僵尸网络攻击。在这次攻击里,至少有90000个IP被控制来实施攻击。人们怀疑这次攻击是一个更大的计划的一部分,因为很可能攻击者想要利用巨大的WordPress服务器然后使用军队的自动化来启动一个更大的DDos攻击。因此,尽管点对点的僵尸网络攻击从十年前开始就在上升,检测和减轻他们的攻击仍然是一个巨大的挑战。
为了检测和减轻这类攻击,网络痕迹和包捕获是网络分析和安全研究中最有用的资源。随着每天这类攻击的增加,网络痕迹的长度处理也在扩充。然而,计算机系统缺少硬件,并且基本上被这些设备所限制而不能容纳巨大的数据集。这个已经导致了在分布式计算上研究兴趣的增加,因为这可以充分的利用多核和集群计算带来的巨大计算能力。
过去以来,研究员们已经使用了各种各样的技术,比如签名和异常检测系统,来处理安全威胁检测的问题。但是这些解决方案在处理在上面讨论的大数据集时存在扩展问题。尽管有核尺度方法被提了出来,但是在面对大数据集的时候仍然有问题。人们发现模型的参数很多的情况下,数据集越大,训练出来的模型会更好。在模型参数很多的情况下,如果发生了数据过拟合,训练错误将会更少同时交叉验证的错误会更高。这种情况下的原因是训练过拟合了,模型将会记住数据。但是模型将会产生对新的训练集泛化能力弱的问题,这导致了一个更大的交叉验证错误。这种缺点可以通过增加训练集的大小来更正,因为增加训练集的大小可以在训练参数很多的情况下降低交叉验证的错误。因此,数据集需要使用大数据相关的技术。几个大的数据集包含有各种各样已经被捕获的僵尸病毒的活动并且已经被CAIDA和其他组织公开使用。这些记录中被UCSD捕获的一个数据集,大小大概为40GB,被这篇文章用来做研究,需要注意的是,这个需要一个可以扩展的框架来训练分类模型。
因此,在这篇研究中,提出了一个可以扩展的分布式的入侵检测系统,这个系统可以处理极大的网络带宽。系统构建在hadoop的基础上,我们都知道hadoop是一个开源的软件框架,它支持大量数据处理的分布式应用程序并且能够利用有能力使用集群机器强大性能的库,同时这个库也对Apache Mahout进行了封装定制。Mahout提供了很多的机器学习算法,这些算法可以用来构建预测模型。
这篇论文的余下部分是这样组织的:第二部分描述在基于机器学习方法和hadoop来进行僵尸网络检测方面的相关研究;第三部分描述实验的安装和对于系统为了实现实时检测安全威胁使用的方法;第四部分描述使用这个系统进行点对点的僵尸网络检测的应用程序;第五部分主要包括实验结果和将来的研究范围。
相关的研究工作
这几年来,一些研究者已经提出基于机器学习的安全威胁检测方法。系统上来讲,研究方向已经从基于签名的方法转移到更多的研究基于语义的方法,比如设计开发本体模型来处理网络应用攻击[36]和基于隐式马尔科夫模型的垃圾邮件检测[37]。在[5]中,研究者们开发了基于可以意识安全性的智能体,而且这种智能体能够管理它们自己的安全性。在[24]中提出了使用大量的网络痕迹来检测网络安全威胁,并且提出了基于Hadoop的DDos入侵检测方法,在[23]中,他们已经开发出了一个新型的流量检测系统,这种流量监测系统能够用可扩展的方式分析达几TB的网络流,他们也已经开发了一个MapReduce算法,这个算法使用一个能够并行操作libpcap文件的新的输入格式,但是他们的方式将这种特性给硬编码了,导致用户没有足够的灵活性来基于问题选择特征集。基于目前作者的知识,作者认为在安全领域的分析缺少重要的基于大数据的研究。
相反的是,在安全领域已经有了使用机器学习方法来进行入侵检测的有意义的研究。在[52]中,作者基于与网络流量的特征对网络流量进行了区别并且将他们分类成了良心的和恶意的。他们也展示了恶意者怎样能够改变他们的行为从而逃避他们系统的检测,这个过程在在可以改变行为的Nugache上测试了。在[17]中,作者展示了P2P僵尸检测可以通过一种新的贝叶斯正则化神经网络来实现。
在[9]中,作者提供了一个在对IDS的对抗性攻击的概览,并且强调了在可意识对手且更难攻破的IDS防御系统的最新的有意义的研究方向。在[42]中,研究者们已经致力于构建无监督的异常检测系统。Markovian IDS已经基于挖掘攻击模式开发了屏蔽无线传感器网络的模型。
在[39]中,研究者们报道他们在识别Sinit和Nugache上的工作,Sinit和Nugache都是通过相同的端口通信。他们也表明大量的目的地无法到达的错误信息和连接重置错误消息被注意到了。但是将它们的有效载荷加密的病毒能够抵抗作者的防御,这是由于作者的防范方法很大程度上取决于有效加密载荷。在[11]中,研究者们解释了在处理Nugache的点对点僵尸网络时,当前面临的挑战和特征。在[45]中作者总结了对于静态检测系统来说,它们是无法检测到Nugache 攻击的。
在[38]中,研究者们致力于理解在P2P领域中信誉和信任的角色的作用。在论文[21]中,也有工作试图去基于网络将应用分类。在[7]中,也有相应的工作去开发隐私匿名包保护框架,这种框架可以用来传递包。在[45]中,作者分析了Storm,并且总结了能够依靠配置IDS文件来检测的病毒,因为IDS能够从配置文件中发现特定的病毒。但是,将合法的点对点通信和Storm的病毒通信分开是困难的,因为Storm的行为能够伪装从而看起来就像是合法的点对点通信。为了解决这个问题,在[19]中,作者提出了一种方法来减轻Storm的蠕虫并且介绍了一种测量手段,这种测量手段可以通过对病毒的执行文件进行逆向工程来枚举受感染者的主机数量,这一切是为了能够定位用于生成用来搜索其他受感染的主机和病毒的密匙的函数。
在[44]中,作者报告了对Peacomm的深度的分析和它如何通过持有一个执行依赖来发送垃圾邮件给很多账户。为了减轻这个问题,在[25]中,作者提出了一个自适应方法来检测点对点僵尸网络的数量。然而他们的解决方案只能用在僵尸网络的攻击环境中。对Trojan Peacomm来说,他们的研究是成功的,但是在处理其他种类的僵尸网络时他们的实现是不明确的。
在[15]中,作者对恶意软件进行了一个哈希,并且将其保存了下来,然后使用它们来定位在点对点网络中的僵尸节点。他们认为如果一个节点搜索一个恶意软件的哈希值,那么这个节点肯定是一个僵尸节点。在[29]中,作者设计了方法,通过使用由被命令和控制使用的结构化的覆盖拓扑所引起的特殊通信模式的增加来定位僵尸网络位置。他们测试了是否ISPs能够检测点对点僵尸网络结构通信的有效性。他们的算法通过分析节点通信的信息实现了将僵尸网络与另外节点的分离。
可扩展的点对点僵尸网络检测框架
这个框架依赖于Libpcap,Hadoop,Mahout和MapReduce。Tshark被用来从包中提取需要的字段。在这个框架中,也需要有模块能够生成特征集,这些特征集可以被后来的机器学习模块使用。同时,TShark也是一个网络协议分析工具,它能够使用Libpcap库并且能够从一个正在使用的网络中捕获包数据。在Sniffer模块提取了需要的信息之后,MapReduce Paradigm被用来做特征提取。这个被Apache Hive完成,因为Hive提供了一个算法,使用类SQL语言HiveQL从数据中提取数据。
在这一节,将会详细描述这个可扩展的网络威胁检测的系统的组件。这个框架包含下列的组件:
- 为了预处理包数据的Traffic Sniffer模块;
- 能够提取特征的Feature Extraction Module;
- 能够学习并且检测恶意流量的机器学习模块;
这些组件将会在下面的三个章节中描述,并且将会讨论在他们实现过程中面临的挑战。
Traffic Sniffer
在参考文献[12]中,Dumpcap被用来从网络接口中嗅探数据包,与此同时,Tshark被用来提取与特征集相关的字段,并且将这些字段提交给Hadoop Distributed File System(HDFS)。尽管Tshark能够被用来从网络接口中嗅探数据包,但是Dumpcap在长期的捕获时提供了更好的性能,因为它是Libpcap的最低级的抽象。然而,Tshark的缓冲的有限显示了更多的瓶颈并且消耗更多的事件。因此,Dumpcap捕获Ring缓冲选项被用来捕获流量到成功的Pcaps里,然后这些包能够被多个Tshark接口处理。在这种情况下,系统能够实现更好的并行化。
Traffic Sniffer模块将这些来自于网络的流量存储到Pcap文件里,这些文件具有一个固定的大小,且由捕获的Ring缓冲选项决定。当嗅探到的一些包被丢弃了并且不能够写到文件系统里的时候,为了能够实现较低的包丢弃,实验过程中,缓冲大小基本上不变。
在集群中的Ubuntu 12.04(x64)系统有一个TCP/IP缓冲大小的限制,因此,系统会在缓冲大小严重不匹配时取消将数据包保存到Pcap文件里。为了验证这个,可以修改Ubuntu系统的TCP/IP缓冲值,比如从4MB修改到12MB,然后将会看到不同的带宽,这表明当增加缓冲大小时,包的丢弃率下降了。
在实验过程中,我们发现在包丢弃率和Pcap的大小之间有一个趋势。这是由于包向磁盘写入的速率和磁盘的性能。它取决于磁盘的配置,比如磁盘扇区大小,文件缓冲大小等。
在[41]中提出当包保存之前,包通过一系列缓冲队列传递。第一个缓冲是在NIC它自己的内存中,并且不能被改变。第一个在内存中的队列是在NIC驱动上的RX Ring缓冲。在大多数驱动中,一个NIC队列可以被交付给一个CPU[4]。在non-NAPI驱动的情况下,下一个队列将会被压进网络栈中。这是一个单独的CPU缓冲,这个缓冲可以在他们被内核处理之前存储包。它的大小可以被内核指定,通过使用参数:net.netdev_max_backlog。后来的缓冲可以出现在处理路径上,这个取决于上层的协议。如果一个缓冲满了,包将会丢失。因此,包丢弃的比例是一个取决于带宽的函数。结果可以参看表格Table 1。包丢弃率随着贷款的改变可以参考Fig 1。
Feature Extraction Module
一旦这些分开的文件被提交给HDFS,Apache Hive可以使用这些数据从中提取特征。在整个系统中,一个重要的特征是在运行时改变特征的能力,这个能力是Apache Hive和TShark赋予的。特征提取Perl脚本,正如上面提及的,通过使用TShark能够让用户去选择需要从保重提取的字段,然后系统会创建相应的创建一个Hive Table。这个特性向用户展示了系统在相对复杂的问题实例中提取不同特征的灵活性,并且也避免了改变整个代码的繁重的工作。在这种情况下,特征被使用一个MapReduce Program提取,这个展示在前面的研究中[23]。一个不同的特征集使用这个脚本完成选择,并且一个不同的Hive表格将会被自动创建。
Apache Hive数据仓库软件能够很容易的完成提取/转换/加载(ETL)工作,并且能够管理极大的数据集,Apache Hive构建与Apache Hadoop[2]系统之上。它提供了一个HQL(Hive Query Language)语言,这个语言和SQL[49],很类似并且因此能够很容易的被任何熟悉SQL的用户轻易理解。这些查询被Apache Hive解释成Map Reduce程序并且在运行时执行。
对于这个问题来说,由于大多数提取出的特征是基于流的统计数据,比如在一个流中最大的数据包的大小,所以他们在表外被提取,使用一个在HQL中的”group by“语法。分组是基于MapReduce算法的。Map阶段产生key-value对,并且传递给Reduce阶段。在这里,Reducer将基于传递给它的key将所有的value组合到一起。也就是说,MapReduce框架递归的在lt;key,valuegt;对上操作,并且系统的输入是一个lt;key,valuegt;集合并且被Job产生的输出也是另外一个lt;key,valuegt;对的集合:
(input)lt;k1,v1gt; -gt;
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[147104],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。
您可能感兴趣的文章
- 为非政府组织OG慈善基金会设计的基于社区的救灾管理系统外文翻译资料
- 基于UML建模的医疗系统电子健康服务软件外文翻译资料
- 开发一种具有增强现实功能的智能手机应用程序, 以支持护理学生对心衰的虚拟学习外文翻译资料
- 在开发 Web 应用程序中应用 Vue.JS 框架外文翻译资料
- 基于MES系统的生产车间信息管理研究外文翻译资料
- 基于Vue.js和MySQL的电子商务平台的设计与实现外文翻译资料
- 详细的Spring配置和SpringBoot外文翻译资料
- 基于NS2的DSR和AODV协议的性能比较研究外文翻译资料
- 不同仿真参数下NS2的TCP吞吐量性能外文翻译资料
- 基于Spring Boot和VUE的车辆管理系统实现外文翻译资料