‘壹’ 什么是异常检测方法,有什么优缺点
首先给系统对象(如用户、文件、目录和设备等)创建一个轮并统计描述、统计正常使用时的一些测量属性(如访问次数、操作失败次数和延时等)。测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值在正常值范围之外时,就认为有入侵发生。
其优点是可检信桐激测到未知的入侵和更为复杂的入侵,缺点是误报、漏报率高滑袜,且不适应用户正常行为的突然改变。
‘贰’ 入侵检测系统的检测方法
在异常入侵检测系统中常常采用以下几种检测方法: 基于贝叶斯推理检测法:是通过在任何给定的时刻,测量变量值,推理判断系统是否发生入侵事件。 基于特征选择检测法:指从一组度量中挑选出能检测入侵的度量,用它来对入侵行为进行预测或分类。 基于贝叶斯网络检测法:用图形方式表示随机变量之间的关系。通过指定的与邻接节点相关一个小的概率集来计算随机变量的联接概率分布。按给定全部节点组合,所有根节点的先验概率和非根节点概率构成这个集。贝叶斯网络是一个有向图,弧表示父、子结点之间的依赖关系。当随机变量的值变为已知时,就允许将它吸收为证据,为其他的剩余随机变量条件值判断提供计算框架。
基于模式预测的检测法:事件序列不是随机发生的而是遵循某种可辨别的模式是基于模式预测的异常检测法的假设条件,其特点是事件序列及相互联系被考虑到了,只关心少数相关安全事件是该检测法的最大优点。 基于统计的异常检测法:是根据用户对象的活动为每个用户都建立一个特征轮廓表,通过对当前特征与以前已经建立的特征进行比较,来判断当前行为的异常性。用户特征轮廓表要根据审计记录情况不断更新,其保护去多衡量指标,这些指标值要根据经验值或一段时间内的统计而得到。 基于机器学习检测法:是根据离散数据临时序列学习获得网络、系统和个体的行为特征,并提出了一个实例学习法IBL,IBL是基于相似度,该方法通过新的序列相似度计算将原始数据(如离散事件流和无序的记录)转化成可度量的空间。然后,应用IBL学习技术和一种新的基于序列的分类方法,发现异常类型事件,从而检测入侵行为。其中,成员分类的概率由阈值的选取来决定。
数据挖掘检测法:数据挖掘的目的是要从海量的数据中提取出有用的数据信息。网络中会有大量的审计记录存在,审计记录大多都是以文件形式存放的。如果靠手工方法来发现记录中的异常现象是远远不够的,所以将数据挖掘技术应用于入侵检测中,可以从审计数据中提取有用的知识,然后用这些知识区检测异常入侵和已知的入侵。采用的方法有KDD算法,其优点是善于处理大量数据的能力与数据关联分析的能力,但是实时性较差。
基于应用模式的异常检测法:该方法是根据服务请求类型、服务请求长度、服务请求包大小分布计算网络服务的异常值。通过实时计算的异常值和所训练的阈值比较,从而发现异常行为。
基于文本分类的异常检测法:该方法是将系统产生的进程调用集合转换为“文档”。利用K邻聚类文本分类算法,计算文档的相似性。 误用入侵检测系统中常用的检测方法有: 模式匹配法:是常常被用于入侵检测技术中。它是通过把收集到的信息与网络入侵和系统误用模式数据库中的已知信息进行比较,从而对违背安全策略的行为进行发现。模式匹配法可以显着地减少系统负担,有较高的检测率和准确率。 专家系统法:这个方法的思想是把安全专家的知识表示成规则知识库,再用推理算法检测入侵。主要是针对有特征的入侵行为。 基于状态转移分析的检测法:该方法的基本思想是将攻击看成一个连续的、分步骤的并且各个步骤之间有一定的关联的过程。在网络中发生入侵时及时阻断入侵行为,防止可能还会进一步发生的类似攻击行为。在状态转移分析方法中,一个渗透过程可以看作是由攻击者做出的一系列的行为而导致系统从某个初始状态变为最终某个被危害的状态。
‘叁’ 对于入侵检测,统计异常检测方法和特征选择异常检测方法有什么区别
统计异常检测的方法用的是特征轮廓的异常值加权,而特征选择异常检测方法用的是特征空间构成入侵的子集来判断是否入侵。
这里ai表示与度量Mi的相关权重。一般而言,变量M1,M2…Mi 不是相互独立的,需要更复杂的函数处理其相关性。异常性测量值仅仅是数字,没有明确的理论依据支持这种处理方式。例如,使用多个独立的异常性变量作为结合的依据,概率计算在理论上是正确的。但是,异常性测量和贝叶斯概率计算之间的关系并不是很清晰的。常见的几种测量类型通常包括:
统计异常检测方法的优点是所应用的技术方法在统计学中已经得到很好的研究。例如,位于标准方差两侧的数据可认为是异常的。但统计入侵检测系统有以下几点不足:
特征选择异常检测方法是通过从一组度量中挑选能检测出入侵的度量构成子集来准确地预测或分类已检测到的入侵。判断符合实际的度量是复杂的,因为合适地选择度量子集依赖于检测到的入侵类型,一个度量集对所有的各种各样的入侵类型不可能是足够的。预先确定特定的度量来检测入侵可能会错过单独的特别的环境下的入侵。最理想的检测入侵度量集必须动态地决策判断以获得最好的效果。假设与入侵潜在相关的度量有n 个,则这n个度量构成的子集数是2^n 个 。由于搜索空间同度量数是指数关系,所以穷尽搜索最理想的度量子集的开销不是很有效的。Maccabe提出遗传方法来搜索整个度量子空间以寻找正确的度量子集。其方法是使用学习分类器方法生成遗传交叉算子和基因突变算子,除去降低预测入侵的度量子集,而采用遗传算子产生更强的度量子集取代。这种方法采用与较高的预测度量子集相结合,允许搜索的空间大小比其它的启发式搜索技术更有效。
‘肆’ win10连不上网,显示无internet怎办
计算机无法连接WLAN热点,计算机无法访问互联网。问题原因:微软Windows 10 系统随机硬件地址功能异常。WLAN热点本身出问题了,其他设备也连接不上此WLAN。网络系统的某些参数可能被软件冲突、病毒等原因篡改。计算机无线网卡驱动丢失或者安装了非官方驱动。解决方案:请按照下列方法依次排查:方法一:卸载第三方管家软件,关闭WLAN随机硬件地址。卸载第三方管家软件,例如腾讯管家、360管家、金山杀毒等。关闭WLAN随机硬件地址,具体操作如下:搜索框输入“WLAN”,打开 “WLAN设置”,进入WLAN设置界面。找到随机硬件地址开关,关闭开关即可。不接通电源,开机情况下长按开机键15s,然后再开机。方法二:通过手机或其他设备连接网络查看是否可以正常上网。如果网络正常,请重启计算机并重新连接网络。如果网络异常,请重启网络再排查。方法三:系统升级后网络系统的某些参数可能被软件冲突、病毒等原因篡改,可以通过以下步骤将参数重置,重置网络前请记住网络密码:在任务栏搜索框中搜索“cmd”。右键点击“命令提示符”选择“以管理员身份运行”。在弹出的命令提示符对话框中输入“netsh winsock reset”后点击 Enter。重启计算机后尝试重新连接网络。方法四:按照以下步骤检查计算机网卡驱动:鼠标右键点击 Windows 图标。点击“设备管理器”。选择“网络适配器”展开。查看 Intel Wireless 设备是否存在。若不存在,长按电源键 10 秒强制关机再开机尝试。若存在且存在黄色感叹号,请重新升级网卡驱动后重启再尝试。升级网卡驱动的方式有两种:1.通过官网安装最新的网卡驱动 2.通过电脑管家安装最新的网卡驱动。可以使用有线或者USB共享网络确认是否可以上网,例如:手机端进入网络共享,勾选USB共享网络,使用USB连接手机和计算机,确保网络已连接。备注:AMD平台计算机的WLAN驱动为Realtek 8822CE Wireless LAN 802.11ac PCI-E NIC,MateBook E 2019 的网络适配器显示的网卡驱动为Qualcomm(R)wi-fi B/G/N/AC(2X2)SVc。方法五:卸载WiFi驱动后,通过其他方式连接网络,电脑管家重新安装,安装后重启计算机。方法六:若以上方法无法解决,请您备份好数据,在开机时不断点按或者长按F10重置系统,或携带购机凭证前往华为客户服务中心进行检测。‘伍’ 谁知道网络异常是什么意思,怎么办
网络异常就是网络出现故障了,连接不上了,解决方法如下:
1、检查所有线路,看看是否有不小心弄掉的,如果有接上,保证所有的供电线路和信号输送线路都接通。
2、打电话给运营商,查看你的账号是否正常,如果不正常那么果断把问题交给运营商。
3、如果你手机能连接你的无线WiFi电脑不能,那么果断重启电脑,有时候你的电脑设置会被一些垃圾软件修改,导致无法上网。
4、能上qq,网页无法打开,这种问题当然不是网络的问题,在浏览器工具栏设置下Internet选项,将连接里的局域网设置为自动检测,将无线网络属性设置为自动获取。
5、如果有多余的Modem,换个测试下,看能否上网,如果可以那就是Modem有问题,可以尝试下,重启Modem,看是否能回复,如果不能就更换。
6、Modem能够单机上网,接上路由器不行那么重新设置路由器或者重启路由器,如果不行,那可能就是路由器的问题了
7、重启电脑或者是重新打开浏览器
‘陆’ “宏观网络流量”的定义是什么有哪些异常检测方法
一种互联网宏观流量异常检测方法(2007-11-7 10:37) 摘要:网络流量异常指网络中流量不规则地显着变化。网络短暂拥塞、分布式拒绝服务攻击、大范围扫描等本地事件或者网络路由异常等全局事件都能够引起网络的异常。网络异常的检测和分析对于网络安全应急响应部门非常重要,但是宏观流量异常检测需要从大量高维的富含噪声的数据中提取和解释异常模式,因此变得很困难。文章提出一种分析网络异常的通用方法,该方法运用主成分分析手段将高维空间划分为对应正常和异常网络行为的子空间,并将流量向量影射在正常子空间中,使用基于距离的度量来检测宏观网络流量异常事件。公共互联网正在社会生活的各个领域发挥着越来越重要的作用,与此同时,由互联网的开放性和应用系统的复杂性所带来的安全风险也随之增多。2006年,国家计算机网络应急技术处理协调中心(CNCERT/CC)共接收26 476件非扫描类网络安全事件报告,与2005年相比增加2倍,超过2003—2005年3年的总和。2006年,CNCERT/CC利用部署的863-917网络安全监测平台,抽样监测发现中国大陆地区约4.5万个IP地址的主机被植入木马,与2005年同期相比增加1倍;约有1千多万个IP地址的主机被植入僵尸程序,被境外约1.6万个主机进行控制。黑客利用木马、僵尸网络等技术操纵数万甚至上百万台被入侵的计算机,释放恶意代码、发送垃圾邮件,并实施分布式拒绝服务攻击,这对包括骨干网在内的整个互联网网络带来严重的威胁。由数万台机器同时发起的分布式拒绝服务攻击能够在短时间内耗尽城域网甚至骨干网的带宽,从而造成局部的互联网崩溃。由于政府、金融、证券、能源、海关等重要信息系统的诸多业务依赖互联网开展,互联网骨干网络的崩溃不仅会带来巨额的商业损失,还会严重威胁国家安全。据不完全统计,2001年7月19日爆发的红色代码蠕虫病毒造成的损失估计超过20亿美元;2001年9月18日爆发的Nimda蠕虫病毒造成的经济损失超过26亿美元;2003年1月爆发的SQL Slammer蠕虫病毒造成经济损失超过12亿美元。针对目前互联网宏观网络安全需求,本文研究并提出一种宏观网络流量异常检测方法,能够在骨干网络层面对流量异常进行分析,在大规模安全事件爆发时进行快速有效的监测,从而为网络防御赢得时间。1 网络流量异常检测研究现状在骨干网络层面进行宏观网络流量异常检测时,巨大流量的实时处理和未知攻击的检测给传统入侵检测技术带来了很大的挑战。在流量异常检测方面,国内外的学术机构和企业不断探讨并提出了多种检测方法[1]。经典的流量监测方法是基于阈值基线的检测方法,这种方法通过对历史数据的分析建立正常的参考基线范围,一旦超出此范围就判断为异常,它的特点是简单、计算复杂度小,适用于实时检测,然而它作为一种实用的检测手段时,需要结合网络流量的特点进行修正和改进。另一种常用的方法是基于统计的检测,如一般似然比(GLR)检测方法[2],它考虑两个相邻的时间窗口以及由这两个窗口构成的合并窗口,每个窗口都用自回归模型拟合,并计算各窗口序列残差的联合似然比,然后与某个预先设定的阈值T 进行比较,当超过阈值T 时,则窗口边界被认定为异常点。这种检测方法对于流量的突变检测比较有效,但是由于它的阈值不是自动选取,并且当异常持续长度超过窗口长度时,该方法将出现部分失效。统计学模型在流量异常检测中具有广阔的研究前景,不同的统计学建模方式能够产生不同的检测方法。最近有许多学者研究了基于变换域进行流量异常检测的方法[3],基于变换域的方法通常将时域的流量信号变换到频域或者小波域,然后依据变换后的空间特征进行异常监测。P. Barford等人[4]将小波分析理论运用于流量异常检测,并给出了基于其理论的4类异常结果,但该方法的计算过于复杂,不适于在高速骨干网上进行实时检测。Lakhina等人[5-6]利用主成分分析方法(PCA),将源和目标之间的数据流高维结构空间进行PCA分解,归结到3个主成分上,以3个新的复合变量来重构网络流的特征,并以此发展出一套检测方法。此外还有一些其他的监测方法[7],例如基于Markov模型的网络状态转换概率检测方法,将每种类型的事件定义为系统状态,通过过程转换模型来描述所预测的正常的网络特征,当到来的流量特征与期望特征产生偏差时进行报警。又如LERAD检测[8],它是基于网络安全特征的检测,这种方法通过学习得到流量属性之间的正常的关联规则,然后建立正常的规则集,在实际检测中对流量进行规则匹配,对违反规则的流量进行告警。这种方法能够对发生异常的地址进行定位,并对异常的程度进行量化。但学习需要大量正常模式下的纯净数据,这在实际的网络中并不容易实现。随着宏观网络异常流量检测成为网络安全的技术热点,一些厂商纷纷推出了电信级的异常流量检测产品,如Arbor公司的Peakflow、GenieNRM公司的GenieNTG 2100、NetScout公司的nGenius等。国外一些研究机构在政府资助下,开始部署宏观网络异常监测的项目,并取得了较好的成绩,如美国研究机构CERT建立了SiLK和AirCERT项目,澳大利亚启动了NMAC流量监测系统等项目。针对宏观网络异常流量监测的需要,CNCERT/CC部署运行863-917网络安全监测平台,采用分布式的架构,能够通过多点对骨干网络实现流量监测,通过分析协议、地址、端口、包长、流量、时序等信息,达到对中国互联网宏观运行状态的监测。本文基于863-917网络安全监测平台获取流量信息,构成监测矩阵,矩阵的行向量由源地址数量、目的地址数量、传输控制协议(TCP)字节数、TCP报文数、数据报协议(UDP)字节数、UDP报文数、其他流量字节数、其他流量报文书、WEB流量字节数、WEB流量报文数、TOP10个源IP占总字节比例、TOP10个源IP占总报文数比例、TOP10个目的IP占总字节数比例、TOP10个目的IP占总报文数比例14个部分组成,系统每5分钟产生一个行向量,观测窗口为6小时,从而形成了一个72×14的数量矩阵。由于在这14个观测向量之间存在着一定的相关性,这使得利用较少的变量反映原来变量的信息成为可能。本项目采用了主成份分析法对观测数据进行数据降维和特征提取,下面对该算法的工作原理进行介绍。 2 主成分分析技术主成分分析是一种坐标变换的方法,将给定数据集的点映射到一个新轴上面,这些新轴称为主成分。主成分在代数学上是p 个随机变量X 1, X 2……X p 的一系列的线性组合,在几何学中这些现线性组合代表选取一个新的坐标系,它是以X 1,X 2……X p 为坐标轴的原来坐标系旋转得到。新坐标轴代表数据变异性最大的方向,并且提供对于协方差结果的一个较为简单但更精练的刻画。主成分只是依赖于X 1,X 2……X p 的协方差矩阵,它是通过一组变量的几个线性组合来解释这些变量的协方差结构,通常用于高维数据的解释和数据的压缩。通常p 个成分能够完全地再现全系统的变异性,但是大部分的变异性常常能够只用少量k 个主成分就能够说明,在这种情况下,这k 个主成分中所包含的信息和那p 个原变量做包含的几乎一样多,于是可以使用k 个主成分来代替原来p 个初始的变量,并且由对p 个变量的n 次测量结果所组成的原始数据集合,能够被压缩成为对于k 个主成分的n 次测量结果进行分析。运用主成分分析的方法常常能够揭示出一些先前不曾预料的关系,因而能够对于数据给出一些不同寻常的解释。当使用零均值的数据进行处理时,每一个主成分指向了变化最大的方向。主轴以变化量的大小为序,一个主成分捕捉到在一个轴向上最大变化的方向,另一个主成分捕捉到在正交方向上的另一个变化。设随机向量X '=[X 1,X 1……X p ]有协方差矩阵∑,其特征值λ1≥λ2……λp≥0。考虑线性组合:Y1 =a 1 'X =a 11X 1+a 12X 2……a 1pX pY2 =a 2 'X =a 21X 1+a 22X 2……a 2pX p……Yp =a p'X =a p 1X 1+a p 2X 2……a p pX p从而得到:Var (Yi )=a i' ∑a i ,(i =1,2……p )Cov (Yi ,Yk )=a i '∑a k ,(i ,k =1,2……p )主成分就是那些不相关的Y 的线性组合,它们能够使得方差尽可能大。第一主成分是有最大方差的线性组合,也即它能够使得Var (Yi )=a i' ∑a i 最大化。我们只是关注有单位长度的系数向量,因此我们定义:第1主成分=线性组合a 1'X,在a1'a 1=1时,它能够使得Var (a1 'X )最大;第2主成分=线性组合a 2 'X,在a2'a 2=1和Cov(a 1 'X,a 2 'X )=0时,它能够使得Var (a 2 'X )最大;第i 个主成分=线性组合a i'X,在a1'a 1=1和Cov(a i'X,a k'X )=0(k<i )时,它能够使得Var (a i'X )最大。由此可知主成分都是不相关的,它们的方差等于协方差矩阵的特征值。总方差中属于第k个主成分(被第k个主成分所解释)的比例为:如果总方差相当大的部分归属于第1个、第2个或者前几个成分,而p较大的时候,那么前几个主成分就能够取代原来的p个变量来对于原有的数据矩阵进行解释,而且信息损失不多。在本项目中,对于一个包含14个特征的矩阵进行主成分分析可知,特征的最大变化基本上能够被2到3个主成分捕捉到,这种主成分变化曲线的陡降特性构成了划分正常子空间和异常子空间的基础。3 异常检测算法本项目的异常流量检测过程分为3个阶段:建模阶段、检测阶段和评估阶段。下面对每个阶段的算法进行详细的介绍。3.1 建模阶段本项目采用滑动时间窗口建模,将当前时刻前的72个样本作为建模空间,这72个样本的数据构成了一个数据矩阵X。在试验中,矩阵的行向量由14个元素构成。主成份分为正常主成分和异常主成份,它们分别代表了网络中的正常流量和异常流量,二者的区别主要体现在变化趋势上。正常主成份随时间的变化较为平缓,呈现出明显的周期性;异常主成份随时间的变化幅度较大,呈现出较强的突发性。根据采样数据,判断正常主成分的算法是:依据主成分和采样数据计算出第一主成分变量,求第一主成分变量这72个数值的均值μ1和方差σ1,找出第一主成分变量中偏离均值最大的元素,判断其偏离均值的程度是否超过了3σ1。如果第一主成分变量的最大偏离超过了阈值,取第一主成份为正常主成分,其他主成份均为异常主成分,取主成份转换矩阵U =[L 1];如果最大偏离未超过阈值,转入判断第下一主成分,最后取得U =[L 1……L i -1]。第一主成份具有较强的周期性,随后的主成份的周期性渐弱,突发性渐强,这也体现了网络中正常流量和异常流量的差别。在得到主成份转换矩阵U后,针对每一个采样数据Sk =xk 1,xk 2……xk p ),将其主成份投影到p维空间进行重建,重建后的向量为:Tk =UU T (Sk -X )T计算该采样数据重建前与重建后向量之间的欧氏距离,称之为残差:dk =||Sk -Tk ||根据采样数据,我们分别计算72次采样数据的残差,然后求其均值μd 和标准差σd 。转换矩阵U、残差均值μd 、残差标准差σd 是我们构造的网络流量模型,也是进行流量异常检测的前提条件。 3.2 检测阶段在通过建模得到网络流量模型后,对于新的观测向量N,(n 1,n 2……np ),采用与建模阶段类似的分析方法,将其中心化:Nd =N -X然后将中心化后的向量投影到p维空间重建,并计算残差:Td =UUTNdTd =||Nd -Td ||如果该观测值正常,则重建前与重建后向量应该非常相似,计算出的残差d 应该很小;如果观测值代表的流量与建模时发生了明显变化,则计算出的残差值会较大。本项目利用如下算法对残差进行量化:3.3 评估阶段评估阶段的任务是根据当前观测向量的量化值q (d ),判断网络流量是否正常。根据经验,如果|q (d )|<5,网络基本正常;如果5≤|q (d )|<10,网络轻度异常;如果10≤|q (d )|,网络重度异常。4 实验结果分析利用863-917网络安全监测平台,对北京电信骨干网流量进行持续监测,我们提取6小时的观测数据,由于篇幅所限,我们给出图1—4的时间序列曲线。由图1—4可知单独利用任何一个曲线都难以判定异常,而利用本算法可以容易地标定异常发生的时间。本算法计算结果如图5所示,异常发生时间在图5中标出。我们利用863-917平台的回溯功能对于异常发生时间进行进一步的分析,发现在标出的异常时刻,一个大规模的僵尸网络对网外的3个IP地址发起了大规模的拒绝服务攻击。 5 结束语本文提出一种基于主成分分析的方法来划分子空间,分析和发现网络中的异常事件。本方法能够准确快速地标定异常发生的时间点,从而帮助网络安全应急响应部门及时发现宏观网络的流量异常状况,为迅速解决网络异常赢得时间。试验表明,我们采用的14个特征构成的分析矩阵具有较好的识别准确率和分析效率,我们接下来将会继续寻找更具有代表性的特征来构成数据矩阵,并研究更好的特征矩阵构造方法来进一步提高此方法的识别率,并将本方法推广到短时分析中。6 参考文献[1] XU K, ZHANG Z L, BHATTACHARYYA S. Profiling Internet backbone traffic: Behavior models and applications [C]// Proceedings of ACM SIGCOMM, Aug 22- 25, 2005, Philadelphia, PA, USA. New York, NY,USA:ACM,2005:169-180.[2] HAWKINS D M, QQUI P, KANG C W. The change point model for statistical process control [J]. Journal of Quality Technology,2003, 35(4).[3] THOTTAN M, JI C. Anomaly detection in IP networks [J]. IEEE Transactions on Signal Processing, 2003, 51 )8):2191-2204.[4] BARFORD P, KLINE J, PLONKA D, et al. A signal analysis of network traffic anomalies [C]//Proceedings of ACM SIGCOMM Intemet Measurement Workshop (IMW 2002), Nov 6-8, 2002, Marseilles, France. New York, NY,USA:ACM, 2002:71-82.[5] LAKHINA A, CROVELLA M, DIOT C. Mining anomalies using traffic feature distributions [C]// Proceedings of SIGCOMM, Aug 22-25, 2005, Philadelphia, PA, USA. New York, NY,USA: ACM, 2005: 217-228.[6] LAKHINA A, CROVELLA M, DIOT C. Diagnosing network-wide traffic anomalies [C]// Proceedings of ACM SIGCOMM, Aug 30 - Sep 3, 2004, Portland, OR, USA. New York, NY,USA: ACM, 2004: 219-230.[7] SCHWELLER R, GUPTA A, PARSONS E, et al. Reversible sketches for efficient and accurate change detection over network data streams [C]//Proceedings of ACM SIGCOMM Internet Measurement Conference (IMC’04), Oct 25-27, 2004, Taormina, Sicily, Italy. New York, NY,USA: ACM, 2004:207-212.[8] MAHONEY M V, CHAN P K. Learning rules for anomaly detection of hostile network traffic [C]// Proceedings of International Conference on Data Mining (ICDM’03), Nov 19-22, Melbourne, FL, USA . Los Alamitos, CA, USA: IEEE Computer Society, 2003:601-604.
‘柒’ 大数据科学家需要掌握的几种异常值检测方法
引言
异常值检测与告警一直是工业界非常关注的问题,自动准确地检测出系统的异常值,不仅可以节约大量的人力物力,还能尽早发现系统的异常情况,挽回不必要的损失。个推也非常重视大数据中的异常值检测,例如在运维部门的流量管理业务中,个推很早便展开了对异常值检测的实践,也因此积累了较为丰富的经验。本文将从以下几个方面介绍异常值检测。
1、异常值检测研究背景
2、异常值检测方法原理
3、异常值检测应用实践
异常值检测研究背景
异常值,故名思议就是不同于正常值的值。 在数学上,可以用离群点来表述,这样便可以将异常值检测问题转化为数学问题来求解。
异常值检测在很多场景都有广泛的应用,比如:
1、流量监测
互联网上某些服务器的访问量,可能具有周期性或趋势性:一般情况下都是相对平稳的,但是当受到某些黑客攻击后,其访问量可能发生显着的变化,及早发现这些异常变化对企业而言有着很好的预防告警作用。
2、金融风控
正常账户中,用户的转账行为一般属于低频事件,但在某些金融诈骗案中,一些嫌犯的账户就可能会出现高频的转账行为,异常检测系统如果能发现这些异常行为,及时采取相关措施,则会规避不少损失。
3、机器故障检测
一个运行中的流水线,可能会装有不同的传感器用来监测运行中的机器,这些传感器数据就反应了机器运行的状态,这些实时的监测数据具有数据量大、维度广的特点,用人工盯着看的话成本会非常高,高效的自动异常检测算法将能很好地解决这一问题。
异常值检测方法原理
本文主要将异常值检测方法分为两大类:一类是基于统计的异常值检测,另一类是基于模型的异常值检测。
基于统计的方法
基于模型的方法
1、基于统计的异常值检测方法
常见的基于统计的异常值检测方法有以下2种,一种是基于3σ法则,一种是基于箱体图。
3σ法则
箱体图
3σ法则是指在样本服从正态分布时,一般可认为小于μ-3σ或者大于μ+3σ的样本值为异常样本,其中μ为样本均值,σ为样本标准差。在实际使用中,我们虽然不知道样本的真实分布,但只要真实分布与正太分布相差不是太大,该经验法则在大部分情况下便是适用的。
箱体图也是一种比较常见的异常值检测方法,一般取所有样本的25%分位点Q1和75%分位点Q3,两者之间的距离为箱体的长度IQR,可认为小于Q1-1.5IQR或者大于Q3+1.5IQR的样本值为异常样本。
基于统计的异常检测往往具有计算简单、有坚实的统计学基础等特点,但缺点也非常明显,例如需要大量的样本数据进行统计,难以对高维样本数据进行异常值检测等。
2、基于模型的异常值检测
通常可将异常值检测看作是一个二分类问题,即将所有样本分为正常样本和异常样本,但这和常规的二分类问题又有所区别,常规的二分类一般要求正负样本是均衡的,如果正负样本不均匀的话,训练结果往往会不太好。但在异常值检测问题中,往往面临着正(正常值)负(异常值)样本不均匀的问题,异常值通常比正常值要少得多,因此需要对常规的二分类模型做一些改进。
基于模型的异常值检测一般可分为有监督模型异常值检测和无监督模型异常值检测,比较典型的有监督模型如oneclassSVM、基于神经网络的自编码器等。 oneclassSVM就是在经典的SVM基础上改进而来,它用一个超球面替代了超平面,超球面以内的值为正常值,超球面以外的值为异常值。
经典的SVM
1
基于模型的方法
2
基于神经网络的自编码器结构如下图所示。
自编码器(AE)
将正常样本用于模型训练,输入与输出之间的损失函数可采用常见的均方误差,因此检测过程中,当正常样本输入时,均方误差会较小,当异常样本输入时,均方误差会较大,设置合适的阈值便可将异常样本检测出来。但该方法也有缺点,就是对于训练样本比较相近的正常样本判别较好,但若正常样本与训练样本相差较大,则可能会导致模型误判。
无监督模型的异常值检测是异常值检测中的主流方法,因为异常值的标注成本往往较高,另外异常值的产生往往无法预料,因此有些异常值可能在过去的样本中根本没有出现过, 这将导致某些异常样本无法标注,这也是有监督模型的局限性所在。 较为常见的无监督异常值检测模型有密度聚类(DBSCAN)、IsolationForest(IF)、RadomCutForest(RCF)等,其中DBSCAN是一种典型的无监督聚类方法,对某些类型的异常值检测也能起到不错的效果。该算法原理网上资料较多,本文不作详细介绍。
IF算法最早由南京大学人工智能学院院长周志华的团队提出,是一种非常高效的异常值检测方法,该方法不需要对样本数据做任何先验的假设,只需基于这样一个事实——异常值只是少数,并且它们具有与正常值非常不同的属性值。与随机森林由大量决策树组成一样,IsolationForest也由大量的树组成。IsolationForest中的树叫isolation tree,简称iTree。iTree树和决策树不太一样,其构建过程也比决策树简单,因为其中就是一个完全随机的过程。
假设数据集有N条数据,构建一颗iTree时,从N条数据中均匀抽样(一般是无放回抽样)出n个样本出来,作为这颗树的训练样本。
在样本中,随机选一个特征,并在这个特征的所有值范围内(最小值与最大值之间)随机选一个值,对样本进行二叉划分,将样本中小于该值的划分到节点的左边,大于等于该值的划分到节点的右边。
这样得到了一个分裂条件和左、右两边的数据集,然后分别在左右两边的数据集上重复上面的过程,直至达到终止条件。 终止条件有两个,一个是数据本身不可再分(只包括一个样本,或者全部样本相同),另外一个是树的高度达到log2(n)。 不同于决策树,iTree在算法里面已经限制了树的高度。不限制虽然也可行,但出于效率考虑,算法一般要求高度达到log2(n)深度即可。
把所有的iTree树构建好了,就可以对测试数据进行预测了。预测的过程就是把测试数据在iTree树上沿对应的条件分支往下走,直到达到叶子节点,并记录这过程中经过的路径长度h(x),即从根节点,穿过中间的节点,最后到达叶子节点,所走过的边的数量(path length)。最后,将h(x)带入公式,其中E(.)表示计算期望,c(n)表示当样本数量为n时,路径长度的平均值,从而便可计算出每条待测数据的异常分数s(Anomaly Score)。异常分数s具有如下性质:
1)如果分数s越接近1,则该样本是异常值的可能性越高;
2)如果分数s越接近0,则该样本是正常值的可能性越高;
RCF算法与IF算法思想上是比较类似的,前者可以看成是在IF算法上做了一些改进。针对IF算法中没有考虑到的时间序列因素,RCF算法考虑了该因素,并且在数据样本采样策略上作出了一些改进,使得异常值检测相对IF算法变得更加准确和高效,并能更好地应用于流式数据检测。
IF算法
RCF算法
上图展示了IF算法和RCF算法对于异常值检测的异同。我们可以看出原始数据中有两个突变异常数据值,对于后一个较大的突变异常值,IF算法和RCF算法都检测了出来,但对于前一个较小的突变异常值,IF算法没有检测出来,而RCF算法依然检测了出来,这意味着RCF有更好的异常值检测性能。
异常值检测应用实践
理论还需结合实践,下面我们将以某应用从2016.08.16至2019.09.21的日活变化情况为例,对异常值检测的实际应用场景予以介绍:
从上图中可以看出该应用的日活存在着一些显着的异常值(比如红色圆圈部分),这些异常值可能由于活动促销或者更新迭代出现bug导致日活出现了比较明显的波动。下面分别用基于统计的方法和基于模型的方法对该日活序列数据进行异常值检测。
基于3σ法则(基于统计)
RCF算法(基于模型)
从图中可以看出,对于较大的突变异常值,3σ法则和RCF算法都能较好地检测出来, 但对于较小的突变异常值,RCF算法则要表现得更好。
总结
上文为大家讲解了异常值检测的方法原理以及应用实践。综合来看,异常值检测算法多种多样 ,每一种都有自己的优缺点和适用范围,很难直接判断哪一种异常检测算法是最佳的, 具体在实战中,我们需要根据自身业务的特点,比如对计算量的要求、对异常值的容忍度等,选择合适的异常值检测算法。
接下来,个推也会结合自身实践,在大数据异常检测方面不断深耕,继续优化算法模型在不同业务场景中的性能,持续为开发者们分享前沿的理念与最新的实践方案。
‘捌’ 基于网络的入侵检测数据集研究
摘要:标记数据集是训练和评估基于异常的网络入侵检测系统所必需的。本文对基于网络的入侵检测数据集进行了重点的文献综述,并对基于包和流的底层网络数据进行了详细的描述。本文确定了15种不同的属性来评估单个数据集对特定评估场景的适用性。这些属性涵盖了广泛的标准,并被分为五类,例如用于提供结构化搜索的数据量或记录环境。在此基础上,对现有数据集进行了全面的综述。本综述还强调了每个数据集的特性。此外,本工作还简要介绍了基于网络的数据的其他来源,如流量生成器和数据存储库。最后,我们讨论了我们的观察结果,并为使用和创建基于网络的数据集提供了一些建议。
一、引言
信息技术安全是一个重要的问题,入侵和内部威胁检测的研究已经投入了大量的精力。在处理与安全相关的数据[1]-[4]、检测僵尸网络[5]-[8]、端口扫描[9]-[12]、蛮力攻击[13]-[16]等方面已经发表了许多贡献。所有这些工作的共同点是,它们都需要具有代表性的基于网络的数据集。此外,基准数据集是评价和比较不同网络入侵检测系统(NIDS)质量的良好基础。给定一个带标签的数据集,其中每个数据点都被分配给类normal或attack,可以使用检测到的攻击数量或虚警数量作为评估标准。
不幸的是,没有太多具有代表性的数据集。Sommer和Paxson[17](2010)认为,缺乏具有代表性的公共可用数据集是基于异常的入侵检测面临的最大挑战之一。Malowidzki等人(2015)和Haider等人(2017)也发表了类似的声明。然而,社区正在解决这个问题,因为在过去几年中已经发布了几个入侵检测数据集。其中,澳大利亚网络安全中心发布了UNSW-NB15[20]数据集,科堡大学发布了CIDDS-001[21]数据集,新布伦瑞克大学发布了CICIDS 2017[22]数据集。未来还会有更多数据集发布。然而,现有数据集没有全面的索引,很难跟踪最新的发展。
本文对现有的基于网络的入侵检测数据集进行了文献综述。首先,对底层数据进行更详细的研究。基于网络的数据以基于包或基于流的格式出现。基于流的数据只包含关于网络连接的元信息,而基于包的数据也包含有效负载。然后,对文献中常用的评价网络数据集质量的不同数据集属性进行了分析和分组。本调查的主要贡献是对基于网络的数据集进行了详尽的文献综述,并分析了哪些数据集满足哪些数据集属性。本文重点研究了数据集内的攻击场景,并强调了数据集之间的关系。此外,除了典型的数据集之外,我们还简要介绍了流量生成器和数据存储库作为网络流量的进一步来源,并提供了一些观察和建议。作为主要的好处,本调查建立了一组数据集属性,作为比较可用数据集和确定合适数据集的基础,给出了特定的评估场景。此外,我们创建了一个网站1,其中引用了所有提到的数据集和数据存储库,我们打算更新这个网站。
本文的其余部分组织如下。下一节将讨论相关工作。第三部分详细分析了基于包和流的网络数据。第四部分讨论了文献中常用来评价入侵检测数据集质量的典型数据集属性。第五节概述了现有的数据集,并根据第四节确定的属性检查每个数据集。第六节简要介绍了基于网络的数据的进一步来源。在本文件以摘要结束之前,第七节讨论了意见和建议。
二、相关工作
本节回顾基于网络的入侵检测数据集的相关工作。需要注意的是,本文没有考虑基于主机的入侵检测数据集,比如ADFA[23]。读者可以在Glass-Vanderlan等人的[24]中找到关于基于主机的入侵检测数据的详细信息。
Malowidzki等人[18]将缺失的数据集作为入侵检测的一个重要问题进行了讨论,对好的数据集提出了要求,并列出了可用的数据集。Koch等人的[25]提供了入侵检测数据集的另一个概述,分析了13个数据源,并根据8个数据集属性对它们进行了评估。Nehinbe[26]为IDS和入侵防御系统(IPS)提供了关键的数据集评估。作者研究了来自不同来源的七个数据集(如DARPA数据集和DEFCON数据集),强调了它们的局限性,并提出了创建更真实数据集的方法。由于在过去的四年中发布了许多数据集,我们延续了2011年到2015年[18],[25],[26]的工作,但提供了比我们的前辈更最新和更详细的概述。
虽然许多数据集论文(如CIDDS-002[27]、ISCX[28]或UGR ' 16[29])只对一些入侵检测数据集做了一个简要的概述,但Sharafaldin等人对[30]提供了更详尽的综述。他们的主要贡献是一个生成入侵检测数据集的新框架。Sharafaldin等人还分析了11个可用的入侵检测数据集,并根据11个数据集属性对其进行了评估。与早期的数据集论文相比,我们的工作重点是对现有的基于网络的数据集提供一个中立的概述,而不是提供一个额外的数据集。
最近的其他论文也涉及到基于网络的数据集,但主要关注的焦点有所不同。Bhuyan等人对网络异常检测进行了全面的综述。作者描述了现有的9个数据集,并分析了现有异常检测方法所使用的数据集。类似地,Nisioti等人的[32]关注于用于入侵检测的无监督方法,并简要参考了现有的12个基于网络的数据集。Yavanoglu和Aydos[33]分析比较了最常用的入侵检测数据集。然而,他们的审查只包含七个数据集,包括其他数据集,如HTTP CSIC 2010[34]。总而言之,这些作品往往有不同的研究目标,而且只是接触对于基于网络的数据集,则略有不同。
三、数据
通常,网络流量以基于包或基于流的格式捕获。在包级捕获网络流量通常是通过镜像网络设备上的端口来完成的。基于包的数据包含完整的有效载荷信息。基于流的数据更加聚合,通常只包含来自网络连接的元数据。Wheelus等人通过一个说明性的比较强调了这一区别:“捕获包检查和NetFlow之间的一个很好的区别示例是徒步穿越森林,而不是乘坐热气球飞越森林”[35]。在这项工作中,引入了第三类(其他数据)。另一个类别没有标准格式,并且因每个数据集而异。
A基于分组的数据
基于包的数据通常以pcap格式捕获,并包含有效负载。可用的元数据取决于使用的网络和传输协议。有许多不同的协议,其中最重要的是TCP、UDP、ICMP和IP。图1显示出了不同的报头。TCP是一种可靠的传输协议,它包含诸如序列号、确认号、TCP标志或校验和值之类的元数据。UDP是一种无连接的传输协议,它的头比TCP小,TCP只包含四个字段,即源端口、目标端口、长度和校验和。与TCP和UDP相比,ICMP是一个包含状态消息的支持协议,因此更小。通常,在报头旁边还有一个可用的IP报头传输协议的。IP报头提供源和目标IP地址等信息,如图1所示。
b .流为基础数据
基于流的网络数据是一种更简洁的格式,主要包含关于网络连接的元信息。基于流的数据将所有在时间窗口内共享某些属性的包聚合到一个流中,通常不包含任何有效负载。默认的五元组定义,即,源IP地址、源端口、目标IP地址、目标端口和传输协议[37],是一种广泛使用的基于流的数据属性匹配标准。流可以以单向或双向格式出现。单向格式将主机A到主机B之间共享上述属性的所有包聚合到一个流中。从主机B到主机A的所有数据包聚合为另一个单向流。相反,一个双向流总结了主机a和主机B之间的所有数据包,不管它们的方向如何。
典型的基于流的格式有NetFlow[38]、IPFIX[37]、sFlow[39]和OpenFlow[40]。表I概述了基于流的网络流量中的典型属性。根据特定的流格式和流导出器,可以提取额外的属性,如每秒字节数、每个包的字节数、第一个包的TCP标志,甚至有效负载的计算熵。
此外,可以使用nfmp2或YAF3之类的工具将基于包的数据转换为基于流的数据(但不是相反)。读者如果对流导出器之间的差异感兴趣,可以在[41]中找到更多细节,并分析不同的流导出器如何影响僵尸网络分类。
c .其他数据
这个类别包括所有既不是纯基于包也不是基于流的数据集。这类的一个例子可能是基于流的数据集,这些数据集已经用来自基于包的数据或基于主机的日志文件的附加信息进行了丰富。KDD CUP 1999[42]数据集就是这一类别的一个着名代表。每个数据点都有基于网络的属性,比如传输的源字节数或TCP标志的数量,但是也有基于主机的属性,比如失败登录的数量。因此,这个类别的每个数据集都有自己的一组属性。由于每个数据集都必须单独分析,所以我们不对可用属性做任何一般性的说明。
四、数据集属性
为了能够比较不同的入侵检测数据集,并帮助研究人员为其特定的评估场景找到合适的数据集,有必要将公共属性定义为评估基础。因此,我们研究了文献中用于评估入侵检测数据集的典型数据集属性。一般概念FAIR[43]定义了学术数据应该遵循的四个原则实现,即可查找性、可访问性、互操作性和可重用性。在与这个一般概念相一致的同时,本工作使用更详细的数据集属性来提供基于网络的入侵检测数据集的重点比较。通常,不同的数据集强调不同的数据集属性。例如,UGR ' 16数据集[29]强调较长的记录时间来捕捉周期效应,而ISCX数据集[28]强调精确的标记。由于我们的目标是研究基于网络的入侵检测数据集的更一般的属性,所以我们试图统一和概括文献中使用的属性,而不是采用所有的属性。例如,一些方法评估特定类型攻击的存在,比如DoS(拒绝服务)或浏览器注入。某些攻击类型的存在可能是评估这些特定攻击类型的检测方法的相关属性,但是对于其他方法没有意义。因此,我们使用一般的属性攻击来描述恶意网络流量的存在(见表三)。第五节提供了关于数据集中不同攻击类型的更多细节,并讨论了其他特定的属性。
我们不像Haider et al.[19]或Sharafaldin et al.[30]那样开发评估评分,因为我们不想判断不同数据集属性的重要性。我们认为,某些属性的重要性取决于具体的评估场景,不应该在调查中普遍判断。相反,应该让读者能够找到适合他们需要的数据集。因此,我们将下面讨论的数据集属性分为五类,以支持系统搜索。图2总结了所有数据集属性及其值范围。
A.一般资料
以下四个属性反映了关于数据集的一般信息,即创建年份、可用性、正常网络流量和恶意网络流量的存在。
1)创建年份:由于网络流量受概念漂移影响,每天都会出现新的攻击场景,因此入侵检测数据集的年龄起着重要作用。此属性描述创建年份。与数据集发布的年份相比,捕获数据集的底层网络流量的年份与数据集的最新程度更相关。
2)公共可用性:入侵检测数据集应公开可用,作为比较不同入侵检测方法的依据。此外,数据集的质量只能由第三方检查,如果它们是公开可用的。表III包含此属性的三个不同特征:yes, o.r. (on request)和no。On request是指在向作者或负责人发送消息后授予访问权限。
3)正常用户行为:此属性指示数据集中正常用户行为的可用性,并接受yes或no值。值yes表示数据集中存在正常的用户行为,但它不声明是否存在攻击。一般来说,入侵检测系统的质量主要取决于其攻击检测率和误报率。此外,正常用户行为的存在对于评估IDS是必不可少的。然而,缺少正常的用户行为并不会使数据集不可用,而是表明它必须与其他数据集或真实世界的网络流量合并。这样的合并步骤通常称为覆盖或盐化[44]、[45]。
4)攻击流量:IDS数据集应包含各种攻击场景。此属性指示数据集中是否存在恶意网络通信,如果数据集中至少包含一次攻击,则该属性的值为yes。表四提供了关于特定攻击类型的附加信息。
B.数据的性质
此类别的属性描述数据集的格式和元信息的存在。
1)元数据:第三方很难对基于包和基于流的网络流量进行内容相关的解释。因此,数据集应该与元数据一起提供关于网络结构、IP地址、攻击场景等的附加信息。此属性指示附加元数据的存在。
2)格式:网络入侵检测数据集以不同的格式出现。我们大致将它们分为三种格式(参见第三节)。(1)基于分组的网络流量(例如pcap)包含带负载的网络流量。(2)基于流的网络流量(如NetFlow)只包含关于网络连接的元信息。(3)其他类型的数据集可能包含基于流的跟踪,带有来自基于包的数据甚至来自基于主机的日志文件的附加属性。
3)匿名性:由于隐私原因,入侵检测数据集往往不会公开,或者只能以匿名的形式提供。此属性指示数据是否匿名以及哪些属性受到影响。表III中的none值表示没有执行匿名化。值yes (IPs)表示IP地址要么被匿名化,要么从数据集中删除。同样,值yes (payload)表示有效负载信息被匿名化,要么从基于分组的网络流量中删除。
C.数据量
此类别中的属性根据容量和持续时间描述数据集。
1) Count:属性Count将数据集的大小描述为包含的包/流/点的数量或物理大小(GB)。
2)持续时间:数据集应涵盖较长时间内的网络流量,以捕捉周期性影响(如白天与夜晚或工作日与周末)[29]。属性持续时间提供每个数据集的记录时间。
D.记录环境
此类别中的属性描述捕获数据集的网络环境和条件。
1)流量类型:描述网络流量的三种可能来源:真实的、模拟的或合成的。Real是指在有效的网络环境中捕获真实的网络流量。仿真的意思是在测试床或仿真网络环境中捕获真实的网络流量。综合意味着网络流量是综合创建的(例如,通过一个流量生成器),而不是由一个真实的(或虚拟的)网络设备捕获的。
2)网络类型:中小企业的网络环境与互联网服务提供商(ISP)有着本质的区别。因此,不同的环境需要不同的安全系统,评估数据集应该适应特定的环境。此属性描述创建相应数据集的基础网络环境。
3)完整网络:该属性采用Sharafaldin等人的[30],表示数据集是否包含来自具有多个主机、路由器等网络环境的完整网络流量。如果数据集只包含来自单个主机(例如蜜罐)的网络流量,或者只包含来自网络流量的一些协议(例如独占SSH流量),则将值设置为no。
E.评价
以下特性与使用基于网络的数据集评估入侵检测方法有关。更精确地说,这些属性表示预定义子集的可用性、数据集的平衡和标签的存在。
1)预定义的分割:有时,即使在相同的数据集上对不同的IDS进行评估,也很难对它们的质量进行比较。在这种情况下,必须明确是否使用相同的子集进行训练和评估。如果数据集附带用于训练和评估的预定义子集,则此属性提供信息。
2)均衡:基于异常的入侵检测通常采用机器学习和数据挖掘方法。在这些方法的训练阶段(例如,决策树分类器),数据集应该与其类标签相平衡。因此,数据集应该包含来自每个类(normal和attack)的相同数量的数据点。然而,真实世界的网络流量是不平衡的,它包含了比攻击流量更多的正常用户行为。此属性指示数据集是否与其类标签相平衡。在使用数据挖掘算法之前,应该通过适当的预处理来平衡不平衡的数据集。他和Garcia[46]提供了从不平衡数据中学习的良好概述。
3)带标签:带标签的数据集是训练监督方法、评估监督和非监督入侵检测方法所必需的。此属性表示是否标记了数据集。如果至少有两个类normal和attack,则将此属性设置为yes。此属性中可能的值为:yes, yes with BG。(yes with background)、yes (IDS)、indirect和no。是的,有背景意味着有第三类背景。属于类背景的包、流或数据点可以是正常的,也可以是攻击。Yes (IDS)是指使用某种入侵检测系统来创建数据集的标签。数据集的一些标签可能是错误的,因为IDS可能不完美。间接意味着数据集没有显式标签,但是可以通过其他日志文件自己创建标签。
五、数据集
我们认为,在搜索足够的基于网络的数据集时,标记的数据集属性和格式是最决定性的属性。入侵检测方法(监督的或非监督的)决定是否需要标签以及需要哪种类型的数据(包、流或其他)。因此,表II提供了关于这两个属性的所有研究的基于网络的数据集的分类。表三给出了关于第四节数据集属性的基于网络的入侵检测数据集的更详细概述。在搜索基于网络的数据集时,特定攻击场景的存在是一个重要方面。因此,表III显示了攻击流量的存在,而表IV提供了数据集中特定攻击的详细信息。关于数据集的论文描述了不同抽象级别的攻击。例如,Vasudevan等人在他们的数据集中(SSENET- 2011)将攻击流量描述为:“Nmap、Nessus、Angry IP scanner、Port scanner、Metaploit、Backtrack OS、LOIC等是参与者用来发起攻击的一些攻击工具。”相比之下,Ring等人在他们的CIDDS-002数据集[27]中指定了执行端口扫描的数量和不同类型。因此,攻击描述的抽象级别可能在表四中有所不同。对所有攻击类型的详细描述超出了本文的范围。相反,我们推荐感兴趣的读者阅读Anwar等人的开放存取论文“从入侵检测到入侵响应系统:基础、需求和未来方向”。此外,一些数据集是其他数据集的修改或组合。图3显示了几个已知数据集之间的相互关系。
基于网络的数据集,按字母顺序排列
AWID [49]。AWID是一个公共可用的数据集4,主要针对802.11网络。它的创建者使用了一个小型网络环境(11个客户机),并以基于包的格式捕获了WLAN流量。在一个小时内,捕获了3700万个数据包。从每个数据包中提取156个属性。恶意网络流量是通过对802.11网络执行16次特定攻击而产生的。AWID被标记为一个训练子集和一个测试子集。
Booters[50]。Booters是罪犯提供的分布式拒绝服务(DDoS)攻击。Santanna et. al[50]发布了一个数据集,其中包括九种不同的启动程序攻击的跟踪,这些攻击针对网络环境中的一个空路由IP地址执行。结果数据集以基于分组的格式记录,包含超过250GB的网络流量。单独的包没有标记,但是不同的Booters攻击被分成不同的文件。数据集是公开可用的,但是出于隐私原因,booters的名称是匿名的。
僵尸网络[5]。僵尸网络数据集是现有数据集的组合,可以公开使用。僵尸网络的创建者使用了[44]的叠加方法来组合ISOT[57]、ISCX 2012[28]和CTU-13[3]数据集的(部分)。结果数据集包含各种僵尸网络和正常用户行为。僵尸网络数据集被划分为5.3 GB训练子集和8.5 GB测试子集,都是基于包的格式。
CIC DoS[51]。CIC DoS是加拿大网络安全研究所的一组数据,可以公开使用。作者的意图是创建一个带有应用层DoS攻击的入侵检测数据集。因此,作者在应用层上执行了8种不同的DoS攻击。将生成的跟踪结果与ISCX 2012[28]数据集的无攻击流量相结合生成正常的用户行为。生成的数据集是基于分组的格式,包含24小时的网络流量。
CICIDS 2017 [22]。CICIDS 2017是在模拟环境中历时5天创建的,包含基于分组和双向流格式的网络流量。对于每个流,作者提取了80多个属性,并提供了关于IP地址和攻击的附加元数据。正常的用户行为是通过脚本执行的。数据集包含了多种攻击类型,比如SSH蛮力、heartbleed、僵尸网络、DoS、DDoS、web和渗透攻击。CICIDS 2017是公开可用的。
cidds - 001 [21]。CIDDS-001数据集是在2017年模拟的小型商业环境中捕获的,包含为期四周的基于单向流的网络流量,并附带详细的技术报告和附加信息。该数据集的特点是包含了一个在互联网上受到攻击的外部服务器。与蜜罐不同,来自模拟环境的客户机也经常使用此服务器。正常和恶意的用户行为是通过在GitHub9上公开可用的python脚本执行的。这些脚本允许不断生成新的数据集,并可用于其他研究。CIDDS-001数据集是公开可用的,包含SSH蛮力、DoS和端口扫描攻击,以及从野外捕获的一些攻击。
cidds - 002 [27]。CIDDS-002是基于CIDDS-001脚本创建的端口扫描数据集。该数据集包含两个星期的基于单向流的网络流量,位于模拟的小型业务环境中。CIDDS-002包含正常的用户行为以及广泛的不同端口扫描攻击。技术报告提供了关于外部IP地址匿名化的数据集的附加元信息。数据集是公开可用的。