本文主要是介绍A survey of network-based intrusion detection data sets翻译一(1-4),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
0.摘要
标记的数据集对于训练和评估基于异常的网络入侵检测系统是必要的。这项工作对基于网络的入侵检测的数据集进行了重点文献调查,并详细描述了基于数据包和流量的网络数据。该文确定了15种不同的属性,以评估个别数据集对特定评估方案的适用性。这些属性涵盖了广泛的标准,并被归为五类,如数据量或提供结构化搜索的记录环境。基于这些属性,对现有数据集进行了全面的概述。这个概述还强调了每个数据集的特殊性。此外,这项工作还简要介绍了基于网络的数据的其他来源,如流量生成器和数据存储库。最后,我们讨论了我们的观察,并为使用和创建基于网络的数据集提供一些建议。
1.引言
IT安全是一个重要的问题,人们在入侵和内部威胁检测的研究方面花费了很多精力。在处理安全相关数据(Chandola等人,2006;Garcia等人,2014;Rehák等人,2008;Ring等人,2017)、检测僵尸网络(Beigi等人。2014;Stevanovic和Pedersen,2015;Wang和Pascha- lidis,2017;Yin等人,2018),端口扫描(Jung等人,2004;Ring等人,2018),暴力攻击(Hellemons等人,2012;Javed和Paxson,2013;Najafabadi等人,2014;Sperotto等人,2009)等等已经发表了很多工作。所有这些工作的共同点是,他们重新要求有代表性的基于网络的数据集。此外,基准数据集是评估和比较不同网络入侵检测系统(NIDS)质量的良好基础。给定一个标记的数据集,其中每个数据点被分配到正常或攻击类别,被检测到的攻击数量或错误警报的数量可以作为评价标准。不幸的是,周围没有太多具有代表性的数据集。根据Sommer和Pax-son(2010)的说法,缺乏有代表性的公开数据集是基于异常的入侵检测的最大挑战之一。Małowidzki等人(2015)和Haider等人(2017)也有类似的说法。然而,社区正在努力解决这个问题,因为在过去的几年里,已经发布了几个入侵检测数据集。特别是,澳大利亚网络安全中心发布了UNSW-NB15 ( Moustafa and Slay, 2015) 数据集,科堡大学发布了CIDDS-001 ( Ring et al., 2017c) 数据集,或者新不伦瑞克大学发布了CICIDS 2017 ( Sharafaldin et al., 2018) 数据集。未来可以预期会有更多的数据集。然而,现有的数据集没有整体索引,很难跟踪最新的发展。
这项工作对现有基于网络的入侵检测数据集进行了文献调查。首先,对基础数据进行了更详细的调查。基于网络的数据以基于数据包或基于数据流的格式出现。基于流的数据只包含关于网络连接的元信息,而基于包的数据还包含有效载荷。然后,本文分析并分组了不同的数据集属性,这些属性在文献中经常被用来评估基于网络的数据集的质量。本调查的主要贡献是对基于网络的数据集进行了详尽的文献综述,并分析了哪些数据集符合哪些数据集属性。本文重点关注数据集内的攻击场景,并强调数据集之间的关系。此外,我们还简要介绍了流量生成器和数据存储库,作为典型数据集以外的网络流量来源,并提供了一些意见和建议。作为一个主要的好处,这项调查建立了一个数据集属性的集合,作为比较现有数据集和确定合适的数据集的基础,鉴于具体的评估方案。此外,我们创建了一个网站1,其中提到了所有提到的数据集和数据存储库,我们打算更新这个网站(https://www.informatik.uni-wuerzburg.de/datascience/datasets/nids-ds,感觉数据不是很全啊)。
本文的其余部分组织如下。下一节讨论了相关工作。第三节更详细地分析了基于数据包和流量的网络数据。第4节讨论了典型的数据集属性,这些属性在文献中经常被用来评估入侵检测数据集的质量。第5节概述了现有的数据集,并根据第4节确定的属性检查每个数据集。第6节简要介绍了基于网络数据的其他来源。第7节讨论了观察结果和建议,然后本文以总结的形式结束。
2.相关工作
本节回顾了关于基于网络的入侵检测数据集的相关工作。应该注意的是,本文没有考虑基于主机的入侵检测数据集,如ADFA ( Creech and Hu, 2013 )。有兴趣的读者可以在Glass Vanderlan等人(2018)中找到关于基于主机的入侵检测数据的详细信息。
Małowidzki等人(2015)讨论了缺失的数据集是入侵检测的一个重要问题,设定了对好的数据集的要求,并列出了可用的数据集。Koch等人(2014)提供了另一个入侵检测数据集的概述,分析了13个数据源,并根据8个数据集的属性对它们进行了评估。Nehinbe(2011)对IDS和入侵防御系统(IPS)的数据集进行了严格的评估。作者检查了来自不同来源的7个数据集(如DARPA数据集和DEFCON数据集),强调了它们的局限性,并提出了创建更真实的数据集的方法。由于许多数据集是在过去的四年里发表的,我们继续以前的工作(Koch等人,2014;Małowidzki等人,2015;Nehinbe,2011)从2011年到2015年,但提供了一个比前辈更多的最新和更详细的概述。
虽然许多数据集论文(例如CIDDS002(Ring等人,2017)、ISCX(Shiravi等人,2012)或UGR'16(MaciáFernández等人,2018))只是简要介绍了一些入侵检测数据集,但Sharafaldin等人(2018)提供了一个更详尽的回顾。他们的主要贡献是一个生成入侵检测数据集的新框架。Sharafaldin等人还分析了11个可用的入侵检测数据集,并根据11个数据集属性对其进行了评估。与早期的数据集论文相比,我们的工作重点是对现有的基于网络的数据集提供一个全新的概述,而不是贡献一个额外的数据集。
最近的其他论文也涉及到基于网络的数据集,但主要关注点不同。Bhuyan等人(2014)对网络异常检测进行了全面回顾。作者描述了九个现有的数据集,并分析了现有异常检测方法所使用的数据集。同样,Nisioti等人(2018)专注于入侵检测的无监督方法,并简要地提到了12个现有的基于网络的数据集。Yavanoglu和Aydos(2017)分析和比较了最常用的入侵检测数据集。然而,他们的评论只包含7个数据集,包括其他数据集,如HTTP CSIC 2010(Giménez等人,2010)。总而言之,这些作品往往有不同的研究目标,而且只略微涉及到基于网络的数据集。
3.数据
通常情况下,网络流量是以基于数据包或基于流量的格式进行捕获。在数据包层面上捕获网络流量,通常是通过在网络设备上镜像端口来完成。基于数据包的数据包含完整的有效载荷信息。基于数据流的数据是更聚合的,通常只包含网络连接的元数据。Wheelus等人通过一个说明性的比较强调了这种区别。"捕获的数据包检查和网络流量之间的区别的一个很好的例子是,通过徒步穿越森林来观察森林,而不是乘坐热气球飞越森林"(Wheelus等人,2014)(挺形象的,有没有内部载荷就是这个区别)。在这项工作中,引入了第三个类别(其他数据)。其他类别没有标准的格式,每个数据集都不一样。
3.1基于包的数据
基于数据包的数据通常以pcap格式捕获,包含有效载荷。可用的元数据取决于使用的网络和传输协议。有许多不同的协议,其中最重要的是TCP、UDP、ICMP和IP。图1说明了不同的报头。TCP是一个可靠的传输协议,包括元数据,如序列号、确认号、TCP标志或校验值。UDP是一个无连接的传输协议,它的报头比TCP小,只包含四个字,即源端口、目的端口、长度和校验值。与TCP和UDP相比,ICMP是一个支持性协议,包含状态信息,因此更小。通常,在传输协议的头旁边还有一个IP头。IP头提供了源和目的IP地址等信息,也显示在图1中。
3.2基于流的数据
基于流量的网络数据是一种更浓缩的格式,主要包含网络连接的元信息。基于流量的数据将在一个时间窗口内共享某些属性的所有数据包汇总为一个流量,通常不包括任何有效载荷。默认的五元组定义,即源IP地址、源端口、目的IP地址、目的端口和传输协议(Claise,2008),是基于流量的数据中广泛使用的属性匹配标准。流量可以以单向或双向的格式出现。单向格式将所有从主机A到主机B的、具有上述属性的数据包聚合成一个流。所有从主机B到主机A的数据包被聚合成另一个单向流。相比之下,双向流总结了主机A和B之间的所有数据包,无论方向如何。典型的基于流的格式是NetFlow(Claise,2004),IP FIX(Claise,2008),sFlow(Phaal,2004)和OpenFlow(McKeown等人,2008)。表1给出了基于流量的网络流量的典型属性的概述。根据具体的流量格式和流量导出器,可以提取额外的属性,如每秒的字节数、每包的字节数、第一个包的TCP标志,甚至有效载荷的计算熵。此外,有可能通过nfdump 2或YAF等工具将基于数据包的数据转换为基于流量的数据(但反之亦然)。3 对流量输出器之间的差异感兴趣的读者可以在Haddadi和Zincir Heywood(2016)中找到更多细节,以及对不同流量输出器如何影响僵尸网络的分析。
3.3其他数据
这一类包括所有既不是纯粹的基于数据包也不是基于流量的数据集。这一类的例子可能是基于流量的数据集,这些数据集被基于数据包的数据或基于主机的日志文件的额外信息所丰富。KDD CUP 1999(Stolfo,2018)数据集是这一类别的著名代表。每个数据点都有基于网络的属性,如传输的源字节数或TCP标志,但也有基于主机的属性,如失败的登录次数。因此,这一类的每个数据集都有自己的属性集。由于每个数据集都必须单独进行分析,我们不对可用的属性做任何一般性的陈述。
4.数据属性
为了能够并排比较不同的入侵检测数据集,并帮助研究人员找到适合其特定评估场景的数据集,有必要定义共同的属性作为评估基础。因此,我们探讨文献中用于评估入侵检测数据集的典型数据集属性。一般概念FAIR(Wilkinson等人,2016)定义了学术数据应满足的四个原则,即可查找性、可访问性、互操作性和可重复使用性。在赞同这一总体概念的同时,这项工作使用更详细的数据集属性来提供基于网络的入侵检测数据集的重点比较。一般来说,不同的数据集强调不同的数据集属性。例如,UGR'16数据集(MaciáFernández等人,2018年)强调了较长的记录时间,以捕获周期性效应,而ISCX数据集(Shiravi等人,2012年)则侧重于准确的标签。由于我们的目标是研究基于网络的入侵检测数据集的更普遍的属性,我们试图统一和概括文献中使用的属性,而不是采用所有的这些属性。例如,一些方法评估特定类型的攻击,如DoS(拒绝服务)或浏览器注入的存在。某些攻击类型的存在可能是评估这些特定攻击类型的检测方法的相关属性,但对其他方法来说是没有意义的。因此,我们使用一般的属性来描述恶意网络流量的存在(见表3)。第5节提供了关于数据集中不同攻击类型的更多细节,以及对其他特定属性的讨论。
我们没有像Haider等人(2017)或Sharafaldin等人(2018)那样制定一个评价分数,因为我们不想判断不同数据集属性的重要性。在我们看来,某些属性的重要性取决于具体的评价场景,不应该在调查中进行普遍评判。相反,应该让读者能够找到适合他们需要的数据集。因此,我们将下面讨论的数据集属性分为五类,以支持系统的搜索。图2总结了所有的数据集属性和它们的数值范围。
4.1一般信息
以下四个属性反映了数据集的一般信息,即创建年份、可用性、正常和恶意网络流量的存在。
4.1.1. 创建年份
由于网络流量受到概念漂移的影响,而且每天都有新的攻击场景出现,因此入侵检测数据集的年份发挥着重要作用。该属性描述了创建年份。数据集的基础网络流量被捕获的年份比其发布的年份更适合于及时性。
4.1.2. 公开可用性
入侵检测数据集应公开提供,作为比较不同入侵检测方法的基础。此外,数据集的质量只有在公开可用的情况下才能被第三方检查。表3包含了这一属性的三种不同特征:是、O.R.(应要求)和否。应要求是指在向作者或负责人发送消息后,将允许访问。
4.1.3. 正常用户行为
此属性表示数据集中是否有正常的用户行为,其值为yes或no。值是表示数据集内有正常的用户行为,但它不对攻击的存在作任何陈述。一般来说,IDS的质量主要由其攻击检测率和误报率决定。因此,正常用户行为的存在对于评估一个IDS是必不可少的。然而,没有正常的用户行为并不意味着数据集不能使用,而是表明它必须与其他数据集或现实世界的网络流量合并。这样的合并步骤通常被称为叠加或加盐(Aviv and Haeberlen, 2011; Celik et al., 2011)。
4.1.4. 攻击流量
IDS数据集应该包括各种攻击场景。该属性表明数据集内存在恶意网络流量,如果数据集至少包含一次攻击,则其值为 "是"。表4提供了关于具体攻击类型的额外信息。
4.2数据的性质
这个类别的属性描述了数据集的格式和元信息的存在。
4.2.1. 元数据
对第三方来说,基于数据包和流量的网络流量的内容解释是困难的。因此,数据集应该伴随着元数据,以提供有关网络结构、IP地址、攻击场景等的补充信息。这一属性表明存在额外的元数据。
4.2.2. 格式
网络入侵检测数据集以不同的格式出现。我们大致将其分为三种格式(见第3节)。(1) 基于数据包的网络流量(例如,pcap)包含带有有效载荷的网络流量。(2) 基于流的网络流量(如NetFlow)只包含关于网络连接的元信息。(3) 其他类型的数据集可能包含。(3) 其他类型的数据集可能包含,例如,基于流量的跟踪,以及来自基于数据包的附加属性,甚至来自基于主机的日志文件。
4.2.3. 匿名性 (或加密)
通常,入侵检测数据集可能由于隐私原因而不被公布,或者只以匿名的形式提供。此属性表明数据是否被匿名化,以及哪些属性受到影响。表3中的值no表示没有进行匿名处理。值是(IPs)意味着IP地址被匿名化或从数据集中重新移出。同样地,是(有效载荷)表示有效载荷信息被匿名化或从基于数据包的网络流量中删除。
4.3数据体量
这一类的属性从数量和持续时间方面来描述数据集的特点。
4.3.1. 数量 count
属性count描述了一个数据集的大小,可以是包含的数据包/流量/点的数量,也可以是以Gigabyte(GB)为单位的物理大小。
4.3.2. 持续时间 Duration
数据集应该涵盖很长一段时间的网络流量,以捕捉周期性的影响(例如,白天与晚上或工作日与周末)(MaciáFernández等人,2018)。属性Duration提供了每个数据集的记录时间。
4.4记录环境
这一类的属性描述了捕获数据集的网络环境和条件。
4.4.1. 流量的种类
流量种类属性描述了网络流量的三种可能来源:真实、模拟或合成。真实意味着真实的网络流量是在生产性网络环境中捕获的。仿真的意思是,真实的网络流量是在测试平台或仿真网络环境中捕获的。合成指的是网络流量是合成的(例如,通过流量生成器),而不是由真实(或虚拟)的网络设备捕获的。
4.4.2. 网络类型
中小型公司的网络环境与互联网服务提供商(ISP)有着本质的区别。因此,不同的环境需要不同的安全系统,评估数据集应适应特定的环境。这一属性描述了创建各自数据集的基础网络环境。
4.4.3. 完整的网络
该属性采用Sharafaldin等人(2018)的观点,表示数据集是否包含有多个主机、路由器等网络环境的完整网络流量。如果数据集只包含来自单一主机(如蜜罐)的网络流量,或只包含网络流量中的某些协议(如只包含SSH流量),则该值被设置为否。
4.5评估
以下属性与使用基于网络的数据集的入侵检测方法的评估有关。更确切地说,这些属性表示预定义子集的可用性、数据集的平衡性和标签的存在。
4.5.1. 预定义分集
有时很难比较不同IDS的质量,即使它们是在同一数据集上评估的。在这种情况下,必须澄清是否使用了相同的子集进行训练和评估。如果一个数据集带有用于训练和评估的预定义子集,这个属性就提供了信息。
4.5.2. 平衡性
通常,机器学习和数据挖掘方法被用于基于异常的入侵检测。在这类方法(如决策树分类器)的训练阶段,数据集在其类别标签方面应该是平衡的。因此,数据集应包含每个类别(正常和攻击)的相同数量的数据点。然而,现实世界的网络工作流量是不平衡的,与攻击流量相比,它包含更多的用户行为,也没有恶意。这一属性表明数据集在其类别标签方面是否平衡。在使用数据挖掘算法之前,应该通过适当的预评估来平衡不平衡的数据集。He和Garcia(2009)对从不平衡的数据中学习进行了很好的概述。
4.5.3. 标签化
标记的数据集对于训练有监督的方法以及评估有监督和无监督的入侵检测方法是必要的。这一属性表示数据集是否被标记。如果至少有两个类别,即恶意和攻击,这个属性就被设置为是。这个属性的可能值是:yes, yes with BG. (yes with background), yes (IDS), indirect, 和 no 。Yes with background意味着有一个第三类背景,属于该类背景的数据包、流量或数据点可能是正常的或处于粘性状态。yes (IDS),意味着某种入侵检测系统被用来创建数据集的标签,数据集的一些标签可能是错误的,因为入侵检测系统可能不存在缺陷。indirect意味着数据集没有明确的标签,但可以通过额外的日志文件自行创建标签。
这篇关于A survey of network-based intrusion detection data sets翻译一(1-4)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!