从入侵检测到攻击者溯源:无监督方法的全面调查
0.摘要
在过去的五年里,网络攻击的频率和多样性都在增加。这一点是正确的,因为越来越多的组织每天都在承认受到损害。文献中提出了许多基于误用和异常的入侵检测系统(IDS),它们依赖于签名、监督或统计方法,但它们的可信度是值得商榷的。此外,正如本文所揭示的,目前的IDS是基于过时的攻击类别,不能反映当前的攻击趋势。由于这些原因,本文对用于入侵检测的无监督和混合方法进行了全面概述,讨论了它们在该领域的潜力。我们还介绍并强调了已经提出的用于入侵检测的特征工程技术的重要性。此外,我们讨论了目前的IDS应该从简单的检测发展到关联和归因。我们讲述了IDS数据如何被用来重建和关联攻击,以识别攻击者,使用先进的数据分析技术。最后,我们论证了目前的IDS攻击类别如何能够扩展到与现代攻击相匹配,并提出了三个关于出站网络通信的新类别。
近几年来,网络攻击显著增加。一些例子包括2014年的Sonydata漏洞,2015年底乌克兰对电网的攻击,甚至2015年对有争议的网络安全小组Hacking Team的入侵。根据[1],在2017年第一季度,DDoS攻击与前一年相比增加了30%。其中12次攻击的带宽超过每秒100吉比特(Gbps),而有两次针对媒体和娱乐部门的攻击超过了300吉比特。这些攻击不仅损害了组织和政府的正常运作,而且还产生了社会后果,并可能影响和损害关键的基础设施。
如[2]所述,有针对性的攻击现在是威胁格局的一个既定部分,高级持续性威胁(APTs)是最大的安全挑战之一,因为它们针对公司、基础设施和政府。APT是攻击者为实现特定的预定目标而采取的一种复杂和有预谋的方法。APT术语中的 "持续 "一词有双重含义:a)它能够在系统/网络中停留,直到实现其目的;b)攻击者的持久性,在达到其目标之前不会停止。网络犯罪已经变得更加有组织和复杂,因为犯罪分子可以很容易地从地下市场购买所有必要的手段来进行攻击[3]。恶意软件感染框架,如Zeus或SpyEye,可以以4000-7000美元的价格购买,而在网站上托管浏览器漏洞包(BEP)来引诱受害者,费用为1500-3000美元[4]。根据赛门铁克[5]的说法,一个包括更新和24x7支持的偷渡网络工具包可以以每周100美元到700美元的价格租用,而分布式拒绝服务(DDoS)攻击可以从每天10美元到1000美元订购。
在过去的二十年里,许多IDS被提出、开发、审查和评估。IDS处理网络的流量和来自主机的潜在数据,以检测任何恶意活动,如未经授权的访问或DDoS攻击。在互联网的早期,入侵检测是由分析师和系统管理员手动进行的,他们曾经审查过网络中的所有监测活动。随着网络规模和复杂性的增加,所产生的网络流量的数量使得人工监测网络流量入侵的效率降低。为了克服这些不足,引入了使用预定义攻击模式的滥用检测方法。然而,随着新攻击的复杂性和数量的增加,需要一个不同的解决方案,因此,基于数据挖掘的方法被引入了。起初,有监督的方法被用于这一目的,但事实证明只限于检测已知的攻击,而且假阳性率很低。近年来,无监督和混合(有监督或误用与无监督相结合)技术越来越受欢迎。然而,与文献中广泛研究的有监督IDS技术相反,没有对无监督和混合技术的全面回顾。本文的贡献是提供对这些技术的全面回顾,也注意到它们可以提高IDS作为一种对策所提供的安全标准:
- 1)他们有可能检测到未知的攻击(例如,0天攻击)[35]。有监督的方法对未知的攻击表现不佳,但对已知的攻击表现良好,假阳性率低。相反,无监督的方法能够检测到未知的攻击,但表现出很高的假阳性率。因此,将这两种方法结合到一个混合系统中,有可能导致高检测率和低误报率。
- 2)无监督方法不需要像有监督方法那样定期进行耗时的训练。
- 3)无监督方法不需要为训练目的定期进行数据标记,这既耗费时间又需要资源。
- 4) 取证调查中最重要的问题之一是来自不同来源的数据量,如网络流量、主机证据和不同设备的日志。从这些证据中提取特征并将其纳入聚类过程中,比重新训练监督模型要方便和有效得多。
- 5) 最后,正如第四节所讨论的,攻击的演变要求IDS使用归因和关联来进行扩展。聚类技术很适合这一目的,因为我们希望回答的归因问题可以通过从不同来源(网络、主机、日志文件等)提取的特征来描述,以后聚类过程将在此基础上进行。
然而,应该注意的是,这项工作并不表明无监督或混合型IDS是一个组织的安全银弹。即使在有IDS的情况下,由于各种原因,例如,由于存在错误的配置、0天的漏洞或不懂安全和技术的用户,攻击仍然可能发生。此外,正如[6]中所解释的,入侵检测的问题是难以解决的,事实上,IDS根本就没有检测到入侵。它们只识别入侵的证据,并产生潜在的恶意活动的指标。
由于这个原因,需要对检测到的实例进行进一步的关联,以重建所发生的攻击,并有可能识别出它的部分内容和以前遗漏的受影响主机[98]。例如,有针对性的攻击由几个阶段组成,这些阶段可能不会被检测到,特别是如果它们不产生网络流量。例如,其中一个阶段可能包括通过恶意的USB设备感染主机,这肯定不会被IDS检测到,与其他需要流量的主机感染情况相反,例如,利用缓冲区溢出的服务。在这两种情况下,这些阶段是一个更大的攻击的一部分。如果攻击的其他部分被检测到并与之相关联,缺失的阶段可以通过相关联的新产生的知识或其他证据来源手动或自动识别。因此,我们认为,对检测到的实例进行进一步的关联,可以导致重建已经发生的攻击,预防未来的攻击,以及识别攻击者的事件。这种分析通常是作为事件的法医调查的一部分进行的。然而,随着所产生的数据的广泛增加,这项任务变得不堪重负,人工重建的效率也很低。正如后面第四节所讨论的,时间是取证调查的关键因素,因此,将数据挖掘方法与当前的取证分析技术结合起来会非常有效。此外,这种复杂和多步骤的攻击需要将诸如IDS等技术与取证过程联系起来。
本文的主要贡献如下:
- 1)大多数调查涵盖了现有IDS的所有方面(即签名、统计、监督、非监督、软计算、基于知识等),但对非监督和混合IDS技术的关注有限,与此相反,本文对这些方法进行了全面回顾,并将其带入入侵关联和归因的下一个层次。
- 2)特别是基于机器学习的方法,我们认为特征提取、构建和选择技术发挥了重要作用,因为它们对其学习过程有很大影响。与其他研究不同,我们用一个小节来彻底讨论这个话题。
- 3)我们并不局限于对所评作品的介绍,还对它们进行了比较和分析,并确定了它们的优势和劣势。通过这种方式,我们能够提出建议,以便在未来开发入侵检测系统时予以考虑。
- 4)我们发现了有关当前IDS的开放性问题,并讨论了此类系统需要如何从简单的检测发展到相关和归因,以便能够有效地应对APTs、目标攻击、数据渗透等威胁。
- 5)据我们所知,我们是第一个讨论对入侵检测阶段产生的指标进行关联的概念,其最终目标是揭示攻击者的身份。
- 6)最后,我们确定了不属于四个已知IDS攻击类别中任何一个的现代攻击。我们讨论了这些攻击的行为,并确定和提出了检测这些攻击所要考虑的特征
本文的其余部分组织如下。第二节简要介绍了入侵检测的背景。第三节介绍并比较了不同的无监督和混合入侵检测方法和特征选择技术。第四节介绍了关联的概念,第五节介绍了相关工作。最后,第六节总结了本文并讨论了未来工作的方向。
2.背景
本节根据入侵检测技术的a)实施方法、b)检测机制和数据分析技术、c)架构以及最常用的措施和攻击类别来讨论入侵检测技术的基本原理
2.1实施方法分类
关于实施方法,IDS可以分为两类:a)基于主机和b)基于网络。基于主机的入侵检测系统(HIDS)在网络的每个主机上部署一个本地代理。HIDS使用本地代理和应用程序日志或原始系统调用作为数据源,以检测流氓进程、关键系统配置文件(如注册表键)的修改、特权升级和任何其他违反系统政策的未经授权的行动。HIDS的优点是可以处理高质量的数据,通常信息量很大[7]。然而,当数据在本地处理时,处理审计线索会对主机的性能产生重大影响[8],当使用远程处理单元时,则会对网络带宽产生影响[9]。Lichodzijewski等人[10]通过利用 "会话信息 "而不是传统的审计跟踪成功地降低了计算成本,Hu等人[11]也是如此,他们提出了一个基于隐马尔可夫模型的系统,该系统有一个预处理阶段,可以删除类似的子序列系统调用。其他提出基于主机的IDS的人有[12]和[13]。
尽管HIDS是文献探讨的第一个领域,但随着计算机网络的发展和网络攻击的扩散,HIDS提供的保护是不够的,因为它们被限制在单一的主机上。与HIDS相比,NIDS有几个优点[7]:
- 1. 它对攻击更有弹性,因为HIDS依赖于系统和其他应用程序产生的日志。
- 2. 它是独立于操作系统和平台的,这意味着同一个NIDS可以在任何平台上工作,而不需要任何修改。
- 3. 它不影响网络的性能,因为它不会因为简单地监测和处理网络流量而增加任何开销。
NIDS在数据包或流量层面上监测和分析网络流量,并试图检测异常情况,如未经授权的访问或DDoS攻击。在数据包层面,IDS执行所谓的深度数据包检测(DPI),分析每个数据包的标题和有效载荷[7], [14]。尽管检查数据包的有效载荷可以提供非常多的信息,但在今天的高速通信网络中,这种方法不仅耗时和低效,而且计算成本也很高。正如后面III-C节所讨论的,IDS的理想特征之一是要求实时或接近实时的性能。此外,在加密数据包的情况下,随着暗网[15]的兴起和VPN等技术的使用而变得普遍,对有效载荷的分析是不可能的。相反,基于流量的NIDS只检查数据包头,并使用NetFlow或IPFIX形式的输入数据[16]。这两种技术的组合可以用来提高IDS的性能。例如,DPI可以只应用于那些被基于流量的IDS标记为潜在恶意的数据包。NIDS的主要缺点之一是网络可扩展性,即NIDS随着网络的规模和复杂性的变化而调整的能力。这个问题及其目前提出的解决方案将在III-C节详细介绍。
2.2检测机制分类
IDS可以根据其检测机制进行分类[17]。(i) 基于误用或签名,(ii) 基于异常或行为,以及(iii) 混合。滥用或基于签名的系统维护一个预定义签名(模式)的数据库,这些签名对应于已知的攻击,并通过将这些签名与审计数据流进行比较来进行检测。它仍然是当今行业的首选方法,因为它的假阳性率很低,构成了一个 "开箱即用 "的解决方案。有许多基于签名的开源IDS在企业界被广泛使用,如SNORT[119]、BRO[18]和Suricata[19]。此外,还有各种安全解决方案,包括已知供应商提供的网络入侵检测,如AlienVault的统一安全管理(USM)[20],CISCO的Firepower下一代IPS(NGIPS)[21]和FireEye的FireEye网络安全[22]。
尽管有这样的优势,滥用型入侵检测系统还是和它的数据库一样好,它需要由人类专家来更新,所以它不能检测出未知的攻击[6]。因此,这种入侵检测系统的性能与它的数据库的质量密不可分。而且,随着其规模的增加,处理时间(即搜索时间)和成本也会增加。根据Dreger等人[23]的研究,流行的滥用IDS,如SNORT和BRO,在高速网络上运行时,会消耗大量的资源(如CPU和内存)。此外,在当今不断变化和发展的网络物理生态系统中,每天都会出现新的攻击和旧攻击的更高级变体。因此,维护一套最新的规则是不可行的,同时也是一个耗时和不充分的过程。Cheng等人[24]针对已知的基于滥用的系统如SNORT,测试了五种不同的IDS规避技术。他们的结果表明,这种IDS很容易受到诸如有效载荷和shellcode突变以及老式攻击的简单变化的攻击。
异常检测是指识别数据集中不符合 "正常 "行为的实例的问题。如果一个行为与 "正常 "行为的偏差超过了预定的或动态计算的阈值,则被认为是异常或离群。异常检测在各种应用中得到了广泛的应用,如信用卡、保险或医疗保健的欺诈检测,网络安全的入侵检测,安全关键系统的故障检测,以及对敌人活动的军事监视[25]。必须强调的是,异常现象并不一定对应于攻击,而是一种可疑的观察。基于异常的IDS不依赖于先前定义的模式,但它们的目的是对正常行为/流量进行建模,以检测异常,因此它们能够检测已知和未知的攻击。其代价是它们产生的高假阳性率和它们需要的调整阶段。
文献中有许多研究旨在结合上述技术,以继承它们的优点,提高检测率并最大限度地减少误报率。Barbara等人[26]提出了一个最著名的混合系统,名为审计数据分析和挖掘(ADAM)。ADAM有两个检测阶段:首先在基于异常的阶段使用关联规则挖掘,然后用滥用模块将可疑的连接分类为正常、已知攻击和未知攻击。Kim等人[27]将滥用模块的C4.5决策树与多个单类支持向量机(SVM)相结合,对正常行为进行建模。同样地,Depren等人[28]将自组织地图(SOM)用于异常模块,将C4.5决策树用于误用模块。其他提议的混合系统有[29]-[31]。
2.3基于异常的入侵检测系统
基于异常的IDS可以根据它们使用的方法分为以下几类:统计、监督(分类)、无监督(聚类和离群检测)、软计算、基于知识和学习者的组合。这篇评论集中在无监督和混合系统上,同时对有监督的技术做了简短的描述。关于其他类别的详细评论可以在[32]-[34]中找到。
在有监督的IDS中,一个模型被训练为从实例(即标记的数据)中学习。当一个新的实例被引入时,分类器试图将其分配到一个预定义的类别中。一些分类算法,如决策树(C4.5)、SVM、K-Nearest Neighbour、Bayes分类器、神经网络等,已被用于基于网络的入侵检测任务。根据Laskov等人的研究[35],监督算法在检测已知攻击时表现出了出色的检测精度和低误判率--其中C4.5取得了最佳效果。然而,当数据集中出现未知攻击时,大多数分类模型都无法检测到它们,其中SVM取得了最佳结果。此外,基于分类的系统有一个与基于签名的系统类似的缺点,即它们需要定期训练以保持其高检测率。这并不可行,因为要获得标记的数据是非常困难的,特别是在定期的基础上。此外,即使存在标记的数据,也不确定它们是否包括所有的新攻击。在过去,人们提出了很多监督模型,如[36]-[39]中的模型。
无监督的异常检测(也被称为基于离群点的检测)使用聚类技术来识别给定数据集中可能存在的恶意实例,而不需要有任何先验知识。聚类的目标是将有限的无标签数据集分离成有限的、离散的 "自然 "的、隐藏的数据结构,而不是提供从相同的概率分布中产生的未观察到的样本的准确特征[40]。换句话说,聚类算法的目的是将给定的数据划分为达到高的内部相似性和外部不相似性的组(聚类),而无需任何先验知识。为此,所有的聚类方法都是基于以下假设。首先,数据集中正常实例的数量远远超过了异常实例的数量。其次,异常现象本身与正常实例有质的区别[42]。在聚类形成之后,分数被分配给构建的聚类。如果一个集群的分数超过了预定义的或动态计算的阈值,它就被认为是潜在的恶意的。相对而言,当聚类被用来检测网络攻击时,我们假设:a)正常流量超过恶意流量;b)正常流量以某种方式与恶意流量相区别。由于这些原因,正如本节后面所解释的,选择适当的特征子集是非常重要的。换句话说,我们必须选择能够很好地描述要识别的攻击的特征。关于检测过程,聚类的目的是在没有任何先验知识的情况下对网络流或数据包进行分组,而只是基于它们之间的关系。因此,正常流量的大集群将被创建,而恶意流量将形成较小的集群和离群值,即不属于任何集群的实例。根据实验和调整使用的算法,可以使用动态或静态阈值来决定哪些集群被认为是恶意的。基于聚类的系统的主要优点是它们能够在没有任何先验知识的情况下检测出未知的攻击,这消除了对标记数据的需要。主要的缺点是它们产生的高假阳性率。第III-C节对无监督系统进行了更广泛的概述和比较。
无监督异常检测的最重要步骤之一是特征提取或选择。数据集中的每个实例都由一个特征数组表示,这些特征被称为特征。特征选择是指从可用的特征中选择一个最相关、最不多余的子集的过程。另一方面,特征提取的目的是创造(提取)更高质量的新特征。这两个过程不仅会影响系统的检测率,也会影响其性能。第III-B节对特征选择和提取过程进行了深入讨论,并对网络入侵检测中最常用的技术进行了比较。
2.4架构的分类
IDS的架构会影响其整体性能,因此是系统设计过程中的一个重要决定。由于现在大多数组织(如公司、大学)使用的是高速网络,这一点尤其正确。考虑到系统的架构,IDS可以分为以下三类。
- 1)集中式。集中式IDS由整个网络中的多个传感器组成,它们监测并向中央处理单元(CPU)发送数据,在那里对收集的数据进行分析并进行检测。这种架构有两个主要的缺点。首先,它不提供网络的可扩展性,这意味着随着网络的扩展,CPU会超负荷工作,在某些时候可能无法跟上工作负荷。其次,一个CPU构成了系统的单点故障(SPoF)[42]。
- 2) 分散式。在这种结构中,多个传感器和多个处理单元分散在网络中,遵循一个分层结构。收集到的数据被发送到最近的处理单元,在那里得到预处理,然后再送到主处理单元。通过这种方式,可以避免SPoF和扩展性问题。由于预处理阶段,系统的性能也得到了提升。
- 3)分布式。这种结构由多个自主代理的平面覆盖组成,这些代理同时充当传感器和处理单元。数据由代理收集和处理,它们通过点对点(P2P)架构相互通信[36]。在这种结构中,没有主处理器或CPU,处理工作量在所有代理之间分配,这提高了系统的性能和可扩展性。
在去中心化和分布式架构中,代理之间的通信对于检测某些类型的攻击至关重要。例如,代理之间失去通信可能导致系统无法检测分布式攻击。
2.5度量
在过去,不同的指标和数据集被用来衡量一个系统在成功识别数据集中的攻击和正常流量方面的能力,这使得我们很难比较各种拟议系统的结果。关于系统的检测能力,最常见的评估措施如下。
- 1)混淆矩阵,也被称为误差矩阵,是一种将实际结果和预测结果之间关系可视化的方式。它主要是在监督学习中被利用来评估分类器的预测准确性。表格的每一行都对应于分类器预测的结果,而每一列都对应于实际结果。
- 2)召回率代表成功检索到的相关实例(即真阳性)的比例。反之,精确度是指正确识别的检索实例的比例。召回率和精确度都集中在阳性样本上,但它们都没有捕捉到模型处理阴性案例的能力[42]。前面两个衡量标准的调和平均值被称为F-measure(F1)。尽管F1被提倡作为捕捉系统有效性的单一措施,但它仍然完全忽略了真阴性(TN)[43]。
- 3) 准确度同时考虑了真阳性和阴性,被定义为正确分类的样本与总实例数的比率。
- 4) 灵敏度,也被称为真阳性率(TPR),是指被正确分类为阳性的样本比例。相反,特异性或真阴性率(TNR)衡量被正确分类为阴性的实例比例。同样,假阳性率(FPR)表示被错误地识别为异常情况的样本比例。
- 5) 接收者操作特征(ROC)是一种最初用于信号处理理论的技术,用于可视化不同参数设置下的TPR与FPR。它描述了收益(真阳性)和成本(假阳性)之间的相对权衡[44]。
尽管IDS的准确性是最重要的要求之一,但它不是唯一的要求。系统的响应时间是一个重要的因素,因为它将被用于快速的企业网络中,即使是一个小的延迟也会导致一个组织的金钱损失。此外,计算和通信成本(在代理和处理单元之间),不仅会对响应时间产生负面影响,而且还会对部署和维护系统的财务成本产生影响。由于今天的网络很大,而且其规模是动态和可变的,IDS应该拥有适应网络规模和结构变化的能力。最后,一个注定要保护其他系统的系统本身应该对任何旨在破坏其运行的攻击具有弹性,并在不同情况下具有稳定和一致的性能。
2.6攻击类
入侵检测文献中提出了四大类攻击,IDS需要能够检测这些:
- 1) 拒绝服务(DoS)。在DoS攻击中,目标系统被来自单一连接的大量请求淹没,直到目标系统的所有资源被耗尽,从而无法再处理合法请求。在分布式拒绝服务(DDoS)攻击中,攻击者使用分布在互联网上的多个连接,并且可能是僵尸网络的一部分。这种攻击的目标是基础设施的可用性,使其用户无法使用服务或资源。小型或中型DoS和DDoS攻击通常被攻击者用作烟幕,以掩盖更小但更危险的恶意活动,或破坏安全设备,如防火墙。
- 2) 探测。这种类型的攻击(例如,端口扫描)是用来探索目标网络和收集主机的信息,如开放的端口,运行的服务等。
- 3) 用户到根(U2R)。在这种情况下,攻击者已经拥有对目标系统的本地访问权,目的是利用系统漏洞,将她的权限从一个简单的用户升级到超级用户/管理员。最常见的U2R类型之一是缓冲区溢出,在这种情况下,攻击者试图过度填充缓冲区并在根权限下执行恶意代码。
- 4) 远程到本地(R2L)。在这种攻击类型中,攻击者在目标机器上没有账户,并试图获得本地访问。远程到本地的攻击通常与U2R攻击相结合。R2L攻击的一个例子是SSH蛮力。
3.用于无监督和混合入侵检测的方法和系统
3.1收集方法
本小节介绍了我们用来汇编所考虑的论文清单的方法。对于专注于入侵检测的论文,我们的目标是收集那些在过去五年中发表的、使用无监督或混合(监督和无监督的组合)技术的论文。特征选择的文献相对有限,因此我们将最知名或最有前途的作品纳入我们的清单,但还是试图将我们自己限制在最近七年内。首先,我们在以下基础上建立了一个初步的论文库。
- 用 "无监督入侵检测"、"异常入侵检测 "等关键词在Google Scholar、IEEE Xplore和ACM数字图书馆进行搜索。
- 浏览顶级安全会议和期刊的论文,如ACM Symposium on Computer and Communications Security(CCS), IEEE Communications Surveys & Tutorials, IEEE Symposium on Security and Privacy(S&P), Network and Distributed System Security Symposium(NDSS). 。
- 基于作者的个人知识,推荐具体的论文。
选择的范围扩大,基于:
- 考虑已经选定的论文的参考文献部分中的论文。
- 只有在之前没有考虑过的情况下,浏览所选论文发表过的会议或期刊的论文集。
3.2特征选择(FS)
在过去的几十年里,许多研究人员试图提高IDS的检测率和性能,他们把重点放在检测算法上,提出了不同的技术,或者把两者结合起来。然而,他们可能忽略了必须先进行的过程,即特征选择(FS)。特征选择是确定相关特征的最佳子集的过程,该子集比原始特征集更好地代表每个类别。在许多情况下,特征选择比检测算法的选择更重要。
使用能有效描述输入数据的最佳子集,而不是整个特征空间,不仅能提高系统的准确性,还能降低误判率和计算时间。FS并不创造新的特征,而是选择那些相关的和非冗余的特征。在分类或聚类过程中加入不相关和多余的特征会导致概括性差和过度拟合[45]。特征选择过程有两个主要部分:搜索策略和评价标准。选择的搜索策略负责选择作为最优子集一部分的特征。评价标准为每个特征分配一个分数。如果这个分数超过了一个阈值,那么它就被认为是相关的,并包括在子集中。
FS方法可以分为两大类:过滤器和包装器。滤波器不考虑分类技术,而是用统计学和信息论的方法,如互信息、信息增益、相关系数和信息熵,给提出的特征分配分数。因此,过滤器是一种快速和简单的方法。相比之下,包装器,其一般方法可以在图2中观察到,用基于使用的检测算法的预测模型来评估候选子集。在每个迭代中,分类器在训练集上使用一个特征子集,根据结果,特征被接受或拒绝。尽管包装器考虑到了检测算法,并因此产生了一个适应特定算法和IDS的子集,但它们可能会导致过度拟合,并可能是计算密集型的,特别是在网络数据的情况下,这些数据是高维的。
Wrapper 特征选择过程根据检测技术的不同而不同。在监督学习的情况下,类是预先定义的,数据是被标记的。因此,在应用分类过程后,更容易评估拟议的子集。在无监督学习的情况下选择特征被认为是一个更难的问题,因为缺乏指导搜索相关信息的类标签[46]。在这种情况下,最常见的标准是集群的质量,它们的集群内和集群间的距离。表I中给出了几种用于入侵检测的特征选择方法的比较。
关于FS的使用,Fahad等人[47]比较了六种不同的技术。信息增益(IG)、增益比(GR)、主成分分析(PCA)、基于相关性的特征选择(CBF)、Chi-square和基于一致的搜索(CBC)。为了评估这些方法,他们选择了三个衡量标准:i)良好性,对应于检测精度;ii)稳定性,评估子集对交通数据变化的稳健性;iii)相似性,比较不同的FS 服务技术在同一数据集上的表现。根据他们的结果,没有一种特征选择技术可以被认为是所有指标和数据集上的 "最佳"。更详细地说,除了一个数据集之外,CBF在所有的数据集上都取得了最高的好感度值(说明简单来看,相关性方法比较好用)。此外,Chisquare和IG在许多数据集上取得了非常高的数值。GR和CBC的结果最低。关于稳定性,几乎所有的技术都被认为是不稳定的。最好的结果(0.87%)是IG,最差的是CBC和CBD,因为它们没有高度考虑特征的相互依赖关系。在所有情况下,所选的六种技术之间的相似性都很低,这表明对一种技术来说是最佳的子集可以被认为不是另一种技术的最佳。所有这些都导致了这样的结论:一种FS 服务技术不能满足所有数据集的所有标准。因此,作者提出了局部优化方法(LOA),它是五种FS 服务方法的组合(集成方法基本会更好用吧)。PCA被排除在外,因为它转换了特征,因此属于特征提取的范畴。LOA首先为5种FS 服务技术中的每一种提取一个最佳特征子集,然后计算每个特征的支持度。最后,如果该值高于预定义的阈值,该特征将被纳入最终的最优子集。
此外,Fahad等人[48]通过提出全局优化算法(GOA)改进了他们之前的方法。首先,上述五种FS技术被组合起来以过滤掉不相关的特征。然后,基于最大熵的自适应阈值被用来从第一阶段产生的不稳定子集中选择稳健的特征。最后,采用随机森林过滤法,利用前向顺序选择来保证最终子集的质量并避免过度拟合。GOA的表现优于反向传播神经网络(BNN)和基于快速相关的过滤器(FCBF-NB),不仅提高了检测率,而且还产生了一个较小的、高度描述性的子集,减少了计算时间。这种方法的主要优点是它结合了多种技术,因此每次都会选择在稳定性和最优性方面表现更好的一种。此外,使用自适应阈值而不是静态阈值使该方法对网络漂移更加稳健。
Liu等人[49]提出了一种两阶段的特征选择技术,称为面向类的特征选择(COFS)。第一阶段通过两个步骤为每个攻击类搜索一个最佳子集:首先计算每个值的加权对称不确定性(WSU)和每个特征与每个类之间的局部相关度量(LCM)。同时使用本地和全局度量,不仅可以确保同一类别的特征之间的相关性,而且可以确保不同的特征之间的相关性。第二阶段使用预定义的阈值为每个类别选择一个特征子集。这是通过从所有选定的子集中去除多余的特征来实现的。这种方法的缺点是与[48]相比,使用了一个静态阈值。他们的结果表明,第一阶段提高了分类器的检测精度,而第二阶段则降低了计算成本。COFS与其他已知的FS方案如全球优化算法(GOA)、WSU_AUC和BFS进行了比较,在大多数情况下,COFS的结果最好或次好,GOA最差。
同样,Zhang等人[50]提出了一种Wrapper 方法,结合WSU对大部分特征进行预过滤和ROC曲线下的面积(AUC)来选择特定分类器的最佳特征。在最后阶段,选择稳健的特征(SRSF)算法被用来选择前一步中最稳健的特征子集。根据他们的结果,这种方法改善了大多数少数人类别的TPR,减少了多数人类别的FRP。此外,根据作者的实验,(the server port, the total number of bytes sent in the initial window and the minimum segment size)服务器端口、初始窗口中发送的总字节数和最小段大小似乎是不同数据集中最重要的三个特征。
De la Hoz等人在[51]中提出了一种多目标Wrapper 方法,该方法结合了NSGA-II[52]和Jaccard系数作为选择最佳特征子集的评价标准。在每次迭代中,为五个类别(DoS, Probe, U2R, R2L, Normal)中的每个类别选择一个新的子集。然后通过分类器使用雅卡德系数对每个子集进行评估,并通过计算五个非主导解决方案(子集)的帕累托前沿来演化群体。结果显示,使用选定的子集为所有类别提供了更好的准确性,尤其是对U2R和R2L类别提供了更高的性能,这些类别被认为是可能性较小的,因此最难检测。与其他FS方法相比,如[48]和[50],提议的方法为每个类别(攻击或正常)选择不同的子集,这导致了更高的准确性。同样,Zhu等人[53]提出了一个NSGA-III的改进版本,称为I-NSGA-III,用于特征选择。该方案利用基于概率的偏向选择克服了不平衡问题,并利用拟合选择去除多余的特征。和以前一样,评价标准是Jaccard系数。为了评估产生的特征子集,作者在检测阶段使用了GHSOM。根据他们的结果,NSGA-III+GHSOM在检测精度方面的总体表现(99.27%)略好于I-NSGA-III+GHSOM(99.24%)。然而,所提出的方法的主要优势是,通过解决不平衡问题,它对较小的类(U2R和R2L)产生了更高的准确率,而这并没有反映在总体检测率上。最后,I-NSGA-III+GHSOM产生了一个较小的特征子集,这导致了较少的计算时间。
Li等人在[54]中提出了一种基于Wrapper 的方法,该方法将修正的随机突变爬坡(RMHC)算法与多个线性SVMs结合起来,建立一个轻量级IDS。首先,生成一个初始子集,然后使用修改的RMHC生成一个子集,并使用线性SVMs与前一个子集进行比较,这是一个反复的过程。如果迭代次数达到最大值或满足预定的标准,当前的最佳子集被认为是最佳的。修改后的RMHC被用来提高包装器的降维能力并降低其计算复杂性。实验表明,特征选择过程明显加快,系统的整体检测能力也得到了提高。此外,与[49]和[51]类似,RMHC为每个攻击和正常类构建了一个子集。然而,与[47]-[49]不同的是,该方法只使用一个评价标准,而不是多个标准。
Amiri等人[55]使用的信息理论和统计标准创造了一种FS方法,它可以选择具有最大相关性和最小冗余度的特征。修正的基于互信息的特征选择(MMIFS)算法选择具有最大相互信息(MI)的特征作为子集的第一个元素,然后使用贪婪的方法,根据其特征间的MI选择特征。提出的方法与基于线性相关的特征选择(LCFS)和前向特征选择(FFSA)进行了比较。事实证明,该方法在检测R2L和probe攻击方面是最有效的,FFSA对DoS、U2R和Normal最有效。同样,[56]中的方法使用相互信息来实现特征类的相关性,使用广义熵来实现特征间的去冗余。
通过对文献的研究,得出以下结论:
- 1)一种特征选择技术不足以实现不同数据集的稳定性,因为网络流量的行为是变化的[47]-[49]。
- 2)对于入侵检测的五类中的每一类,应获得一个最佳子集,因为一个全局特征子集无法令人满意地描述所有不同的类别[49],[51],[54]。
- 3) FS不仅可以大大提高检测率,还可以提高计算性能。如前所述,不相关或多余的特征可能会导致概括性差和过度拟合。此外,关于每个数据点的更多特征会转化为更高的计算成本和复杂性[48]-[54]。
- 4)最后,U2R和R2L类被认为是最难检测的,因为它们足够离散,而且它们可能被误认为是正常流量。实验表明,通过识别根据每个类的特点调整的特征子集,FS可以提供这个问题的解决方案[51], [53], [54]。
3.3无监督和混合IDS
如第二节所述,无监督学习试图在没有任何先验知识的情况下区分恶意流量和正常流量。在本小节中,介绍并比较了过去5年中发表的无监督和混合(监督和无监督的组合)方法(表二)。本小节中回顾的论文和他们提出的方法涉及到一个典型的公司网络。读者可以参考第五部分,了解专注于不同网络类型的安全解决方案,如WSN和SCADA,这不属于本工作的范围。
Casas等人[57]提出了一种以DBSCAN为聚类方法的子空间聚类和证据积累算法(SSC-EA)。SSC-EA不是对整个特征空间进行划分,而是将特征空间X划分为N个不同的子空间Xi⊂X,并在每个分区上应用DBSCAN。然后将多个子空间的聚类结果合并为一个新的相似性度量,该度量能够清楚地突出不同子空间中同时识别出的异常值和小规模的聚类。后来Casas等人[58]将他们提出的聚类技术用于一个完整的入侵检测系统,其拓扑结构可以在图3中找到。首先,网络数据包被捕获并转换为流量。接下来,在到达变化检测模块之前,流量被聚集在不同的流量分辨率级别,该模块使用时间序列标准来检测潜在的恶意流量并激活聚类模块。多分辨率流量的使用使系统能够检测小型、大型、单一来源和分布式攻击。如果检测到变化,SSC-EA对数据进行聚类并对产生的聚类进行排序。最后,一个预定义的阈值被用来决定一个集群是否是恶意的。他们的结果表明,所提出的方法不仅可以对DoS和Probe等大量攻击实现高检测率,而且还可以对U2R和R2L进行检测。这很可能是由于使用了多分辨率流量和子聚类来检测较小的攻击,这些攻击可能被最大的攻击所掩盖。此外,子聚类的使用使系统并行化,降低了计算时间,从而实现了实时检测。
Amoli等人[59]创建了一个基于SSC-EA的双引擎无监督入侵检测系统。第一个引擎负责使用带有动态自适应阈值的SSC-EA进行入侵检测,该阈值是根据网络的先前行为计算的。为了避免丢失小的攻击,该阈值考虑到了四个不同的网络前缀:/0、/8、/16和/24。第二个引擎是一个僵尸网络检测模块,它对特定的网络特征进行聚类,以检测集中式和分散式的僵尸网络C&C通信。对前述行为的不同时间窗口进行了测试,观察到最佳值为5分钟。此外,在优化阈值参数后,所提出的模型达到了98.39%的准确率和3.61%的FP率,并优于经典的DBSCAN和K-means实现。
Bohara等人[60]利用系统和网络日志,将K-means和DBSCAN同时用于混合入侵检测。首先,用防火墙数据对两种算法的性能进行了评估。当使用K-means时,不同特征分布的数据点被聚在一起,较小的聚类被吸收到其较大的相邻聚类中。这可能是由于数据的非正态分布造成的。相反,DBSCAN在数据上的表现非常好,因此它被用于其余的实验中。此外,系统和网络日志被结合起来,研究主机特征对系统检测能力的影响。结果证明,有些攻击只能通过主机和网络特征的结合来检测。
Bhuyan等人[56]提出了一种基于多步骤的离群点检测方法,该方法利用了他们之前在[61]和[62]中的工作。所提出的框架包括第三节B中介绍的互信息和广义熵特征选择(MIGE-FS)、基于树的子空间聚类技术TreeCLUS(TCLUS)和基于ROS分数的异常检测。正如上一小节所讨论的,MIGE-FS试图在每个案例中选择最相关的最佳特征子集,以减少成本并提高准确性。TCLUS算法生成了一棵树,其中每个节点代表一个集群。起初,所有的特征都是根节点的一部分。然后,该算法以深度优先的方式,根据最大的特征类相关度和最小的特征-特征冗余度,将特征空间划分为更多的节点。当集群完全形成后,将为每个集群计算一个参考点,以便用于创建档案。在最后一个阶段,针对每个集群的特征和参考点,计算一个离群分数ROS'。如果分数超过了预定的阈值,该群组就被认为是异常的。所提出的方法优于已知的方法,如C4.5和ID3,尤其是对正常和U2R类的检测率更高。
Costa等人[63]部署了最优路径森林聚类法(OPF)。为了克服OPF在不同浓度和规模下的问题,并加快检测速度,作者通过不同的自然启发的优化技术来优化OPF。粒子群优化(PSO)和蝙蝠算法(BA)获得了最佳结果。
Bostani和Sheikhan[64]使用了一种改良的最优路径森林(MOPF)算法,该算法由分区、修剪和检测的三个模块组成。第一个模块利用k-means来创建训练子集,供检测模块以后使用。修剪模块负责通过识别信息量最大的样本来修剪训练子集,以提高OPF的速度。最后,检测模块基于先进的OPF算法,其性能比原来的OPF好14.86%,训练时间减少6.9倍。
Lin等人在[65]中介绍了一个基于结合聚类中心和最近的邻居(CANN)的入侵检测系统。首先,使用聚类技术提取聚类中心。第二步,计算距离度量,即给定数据集的所有数据与聚类中心之间的距离(dist1)和每个数据点与同一聚类中的最近邻居之间的距离(dist2)。dist1和dist2的总和导致了一个新的一维特征。最后,k-NN被用来对新构建的特征所代表的数据进行分类。实验表明,该方法成功地检测了DoS和探测攻击,但在U2R和R2L上表现不佳。
Hosseinpour等人[66]将无监督学习和人工免疫系统结合起来,创建了一个分布式混合IDS。无监督学习被用作主要的先天免疫力,其中聚类将数据分为自我(正常)和非自我(攻击)。接下来,监督学习代表了次要的适应性免疫,其中检测器是根据聚类结果生成的,当它们变得成熟时,会分布在网络的主机上。这些检测器可以在未来被主机用来阻止已知的攻击。
Jha和Acharya[67]提出了另一个用于入侵检测的免疫系统模型,它由两层组成:T细胞和B细胞层。在第一层,一个利用隐马尔可夫模型(HMM)的概率模型,识别可能的攻击。在第二层,一个决策树利用前一阶段的输出和每个人自己的特征识别算法来确认真正的攻击。虽然第二阶段是无监督的,但第一阶段需要对T细胞进行训练。最后,拟议模型的一个优点是其适应性,因为T细胞利用以前的经验来提高检测率。
Elbasiony等人[68]试图通过结合随机森林和加权K-means来利用滥用和异常检测的优势。提出的方法包括两个阶段:在线和离线。在在线阶段,通过随机森林算法将流量与误用签名进行比较,如果不存在匹配,连接将被发送到离线模块,在那里,异常检测模块将尝试使用K-means决定它是一个新的攻击还是正常的流量。此外,离线阶段根据异常检测的结果生成签名,这些签名被滥用模块使用。
Song等人[70]提出了一个由训练和测试阶段组成的混合IDS,其目的是通过对正常行为的建模来检测攻击。在训练阶段,首先对数据进行过滤以隔离正常流量,然后对它们进行聚类。对于每一个形成的聚类,都会创建一个单类SVM模型。在测试阶段,发生了相反的过程。数据被聚类,形成的聚类与先前创建的单类SVM模型进行比较。如果一个聚类与任何一个模型不匹配,那么它就被认为是一种攻击。这种方法的缺点是,随着新的应用程序和硬件的加入,网络的正常行为会不断变化,这可能会导致高误报率。此外,训练阶段应定期进行,这在计算上是昂贵的。
Ashfaq等人[71]提出了一个半监督的分割和征服模型,该模型利用模糊度的大小来对未标记的数据进行分类。作者使用随机权重的神经网络(NNRw)作为分类器。尽管所提出的方法不需要大量的标记数据,但该模型仍然需要进行训练,其准确率为84%(KDDTest+)和68%(KDDTest-)。
Chandrasekhar和Raghuveer[72]提出了一个使用K-means、SVM和模糊神经网络的入侵检测系统。该方法包括四个阶段:首先,K-means被用来从初始数据集生成训练集群。对于每个训练子集,训练不同的神经模糊模型,随后生成一个用于SVM分类的向量。最后,一个径向SVM分类器被用来检测攻击。所提出的方法在两个低频攻击类别,即U2R和R2L中取得了特别高的比率。
Gogoi等人[73]提出了一个多步骤的方法,包括三个阶段。首先,CatSub+分类器被用来检测DoS和Probe攻击。然后,K点聚类被用来检测正常流量,最后,基于GBBK的分类器检测R2L和U2R攻击。实验中同时进行了流级别和数据包级别的检测,流级别在所有类别中都取得了更高的准确性。
[74]中提出的方法由三个模块组成:特征选择、无监督聚类和监督分类。首先,对数据采用基于熵的特征选择方法,去除预测能力差的不相关特征和与一个或多个特征相互关联的冗余特征。然后,使用k-means将数据聚类为正常和异常。最后,k-NN和Naïve Bayes分类器检测异常实例的具体攻击类别。所提方法的检测率达到98.18%,FP率为0.830%。
[75]中介绍了一种基于图的入侵检测算法,该算法使用基于局部偏差系数的离群点检测方法(LDCGB)。LDCGB使用基于图形的算法(GB)对数据进行聚类,并使用基于局部偏差系数的离群点方法来决定哪些聚类是恶意的,哪些是正常的。这种方法的优点是,与其他方法相比,这种算法不依赖于初始集群数量,能够检测任意形状的集群。
从上述文献中得出了以下结论和建议:
- 1)从表三可以看出,网络流量数据是高维的。具体来说,大多数数据集的每个数据点都有19到50个特征(表三)。此外,随着技术的发展,这个数字可能会增加更多。因此,使用整个特征空间进行聚类不仅耗时,而且可能导致检测率低下。因此,正如第二节A所解释的,特征选择是至关重要的。
- 2)有能力检测任意形状聚类的聚类算法,如DBSCAN,比只能检测圆形聚类的算法表现更好[56]-[60]。这一点也从Buczak和Guven[109]中得到证实。
- 3)检测方法的并行化可以减少计算时间,实现实时检测。为此,可以利用高性能的云计算技术,以实现更好的时间性能和分配处理工作量。
- 4)使用主机数据可以提高检测率,但必须考虑从大规模网络中实时提取这些数据是否可行[60],[66]。
- 5) 需要初始化和调整系统的参数是使这些技术无法应用于工业的主要缺点之一[33]。因此,基于密度的方法,如DBSCAN,需要较少的参数化,似乎最适合在实际网络中部署。
- 6) 无监督和有监督技术的结合有可能导致高检测率和低假阳性率[66]-[68], [70]-[74]。
- 7)U2R和R2L攻击是最难检测的,因为它们类似于正常流量。子聚类、特征选择,如[51]、[53]和[54],以及使用不同的网络分辨率似乎可以提高这些攻击类别的检测率。此外,神经网络[76]和无监督方法的结合,如[72],在这两种低频攻击中表现得非常好。
3.4数据集
真实的网络流量是开发、测试、调整和评估IDS的先决条件。随着新的攻击和网络技术的出现,迫切需要新捕获的高速痕迹。正如在[77]中所讨论的,大多数用于入侵检测的数据集都是过时的,不能反映真实世界的情况。在本小节中,将介绍研究人员用于入侵检测的不同数据集,并在表III中进行了总结。
1)UNB ISCX[77]。UNB ISCX IDS 2012数据集由标记的网络痕迹组成,包括pcap格式的完整数据包有效载荷,这些数据集与相关配置文件一起公开。对真实痕迹进行分析以创建配置文件,其中包含对入侵的详细描述和应用程序、协议或低级网络实体的抽象分布模型。这些配置文件被代理用来生成HTTP、SMTP、SSH、IMAP、POP3和FTP的真实流量。该数据集包括七天的网络流量,即。
- - 三天的非恶意流量。
- - 一天包含来自内部攻击的U2R渗透和正常活动。
- - 一天是使用IRC僵尸网络的DDoS攻击。
- - 一天的HTTP DoS和正常活动。
- - 一天的正常活动和R2L攻击(蛮力SSH)。
2)ISOT僵尸网络[78]。ISOT数据集是以前存在的三个数据集的组合。
- - 来自蜜罐项目法国分部[79]的两个数据集,包含Storm和Waldek僵尸网络流量被用来模拟恶意流量。
- - 来自匈牙利爱立信研究机构的流量实验室[80]和劳伦斯伯克利国家实验室[83]的痕迹被用来模拟正常流量。
3)CAIDA[81]。这些数据集包含来自CAIDA的equinix-chicago高速互联网主干链路监测器的被动流量追踪。流量跟踪是匿名的,有效载荷被删除。每年的数据集(2014-2016年)都包含每季度的一个痕迹。
4)MAWI[82]。该数据集包含来自WIDE骨干网的数据包追踪,该骨干网连接了日本的几个研究机构以及美国的商业ISP和大学。追踪是未标记的,所有的IP都被扰乱以保护用户的匿名性。
5)LBNL[83]。劳伦斯伯克利国家实验室(LBNL)的数据集由2004年10月至2005年1月期间总共几千个内部主机的100多个小时的匿名网络活动组成。
6) UNIBS[84]。这些痕迹是在连续三个工作日在布雷西亚大学校园网的边缘路由器上收集的,包含来自20个不同工作站的流量。该数据集由79000个TCP(99%)和UDP(1%)的匿名和无负载流量组成。
7)DARPA[85]。DARPA数据集由两个实验的标记流量组成。LLDOS 1.0和LLDOS 2.0在MIT林肯实验室进行。两个场景都包括攻击者探测网络、闯入主机、安装恶意木马软件和发动DDoS攻击。
8) KDD99[86]。KDD99是入侵检测中使用最广泛的数据集。它首先由麻省理工学院林肯实验室为第三届国际知识发现和数据挖掘工具竞赛准备,包括训练集上的500万条连接记录和测试集上的200万条记录。它总共包含24种训练攻击类型,仅在测试数据中还有14种类型,其流程由41个特征描述。9) NSL-KDD [87]。正如[88]中所讨论的,KDD99有两个重要的问题,高度影响了被评估系统的性能,导致对异常检测方法的评估非常糟糕。为此,提出了NSL-KDD,它由KDD99的选定流组成,具有以下优点。
- - 它不包括训练集中的冗余记录,因此分类器不会偏向于更频繁的记录。
- - 拟议的测试集中没有重复的记录。因此,学习者的表现不会被那些对频繁记录有更好检测率的方法所偏爱。
- - 从每个难度级别组中选择的记录数量与原始KDD数据集中的记录比例成反比。因此,不同的机器学习方法的分类率在更大的范围内变化,这可以更准确地评估不同的学习技术。
- - 训练集和测试集中的记录数量是合理的,这使得在完整的数据集上运行实验是可以承受的,而不需要随机选择一小部分。因此,不同的研究工作的评价结果可以是一致的和可比较的。
10)TUIBS。在撰写本文时,TUIBS数据集无法访问,因此不在讨论之列。更多信息,读者可以参考[32]。
11) metrosec[89]。这些痕迹是作为METROSEC项目的一部分从法国RENATER网络收集的,包含模拟的DDoS攻击。由于该项目于2006年结束,该数据集已不再可用,因为其创建者认为它已经过时。
12) DEFCON:DEFCON数据集包含CTF演习的流量,但目前无法访问。关于更多信息,读者可以参考[32]。总之,最著名和最常用的数据集是各种版本的原始KDD99[86], [87],这些数据集如今已经过时,因为它们既没有反映当前的攻击类型,也没有反映攻击者的方法。然而,其他数据集,即[77]-[81],更能代表当前的威胁状况。对许多研究人员来说,另一个缺点可能是数据集的格式。虽然著名的KDD99已经进行了预处理,但其他数据集,如[77]是原始(.pcap)格式。因此,它们需要技术能力来完成特征工程的过程。尽管如此,仍然需要构建新的入侵检测数据集,这些数据集在拓扑结构和平衡方面都是现实的,同时也遵循当前的攻击和趋势。最后,很明显,目前还没有包括网络流量以及日志和主机证据的数据集。
3.5关联
如前所述,过去几年出现了对检测到的恶意事件进行进一步关联的需求。然而,相关的文献是相当有限的。本小节介绍了在攻击重建和由IDS产生的指标的相关性方面已发表的工作。
Cheung等人[90]提出了关于检测和识别多步骤攻击场景的最早和为数不多的方法之一。作者提出了相关攻击建模语言(CAML),并展示了如何使用它来模拟多步骤的攻击场景。CAML产生的方法和模型是可扩展的,以处理新的攻击和数据类型,并独立于传感器技术。Limmer和Dressler[91]对文献中发表的事件相关技术进行了分类,并从早期预警系统的角度提出了需求分析。Noel等人[92]应用网络攻击图来关联事件和构建场景。他们通过图将已知的漏洞映射到事件上,并使用路径中每个事件之间的逆向距离作为相关性测量。一个低通滤波器也被应用于反距离的序列,以提供对检测错误的弹性。另外,为了将事件路径分成高度相关的攻击场景,对过滤后的距离使用了一个阈值。Dwivedi和Tripathi[93]试图将具有相同警报名称但不同源IP的SNORT事件进行关联。他们成功地消除了警报的重复性,这对于减少安全管理员的工作量很有帮助。Jiang和Cybenko[94]开发了一个进程查询系统(PQS),它能够通过使用签名和基于时间的事件关联来扫描和关联分布式事件。与其他不同的是,Morin和Debar[95]提出在入侵检测中应用编年史而不是事件相关的规则。他们说明了这种方法如何能够减少警报过载和假阳性。最后,在[96]中提出了Quicksand,一种分散的方法,用于收集和关联来自网络内多点的事件。该系统认为入侵是发生在网络不同主机上的事件模式,并使用签名来识别攻击的模式。
4.公开议题
正如前几节所讨论的,每种检测机制都有其自身的缺点。基于签名的系统和他们的数据库一样好,而数据库很难保持更新,特别是在今天。监督方法只对已知的攻击有很好的表现,而且还需要定期用标记的数据进行训练。无监督的方法能够在没有定期训练的情况下识别未知的攻击,但有较高的假阳性率。此外,无论哪种检测机制,设计一个不仅能够在不同规模和结构的网络中扩展,而且性能令人满意的系统并不是一件简单的事情[32]。因此,尽管在相关文献中已经提出了许多用于入侵检测的系统和方法,但设计一个强大的、可扩展的和高性能的IDS仍然是一个挑战[32]。
迄今为止,大部分的研究集中在开发一个能够产生攻击指标的系统。这些攻击指标是第一级孤立的安全警报,基于对与单一攻击步骤(利用、探测或其他事件)相对应的活动的观察[90]。然而,在过去的几年里,威胁形势的变化要求这种系统从简单的检测发展到相关和归因。本小节的其余部分确定了与之相关的公开问题,并提供了未来的研究方向。
4.1攻击重建
如前所述,IDS可以识别潜在的恶意事件,但实际上并不能检测到完整的攻击纪实。虽然这在过去是足够的,但今天由于DDoS和勒索软件攻击、僵尸网络、高级持续性威胁(APT)和隐私增强技术(PET)的使用,如虚拟私人网络(VPN)和Tor的兴起,这已经不够了。由于目前广泛使用的安全技术(IDS和防病毒)无法检测到APT这样有针对性的高级威胁[97],因此出现了对新一代入侵检测和预防工具的需求。因此,迫切需要对IDS和其他类似技术(如完整性检查器和Web应用防火墙(WAF))产生的指标进行进一步的关联,以确定攻击的每一步,并能够重建它。正如本节后面将深入讨论的那样,复杂的攻击,如APTs,由多个步骤组成,可以映射到杀戮链上,这是一个包含攻击的不同阶段的模型[98]。因此,来自不同来源的数据(如日志、性能指标、网络流量)的相关性可以使人们尽可能多地识别和分组这些步骤。这些技术可以带来大量的好处。首先,可以提供对企业的网络威胁和网络攻击的整体看法,而目前的IDS只能提供个别指标。这一点很重要,因为在大多数情况下,只有通过对攻击的整体检查才能感知到事件的严重性和重要性。同样,试图重建一个攻击可以引发进一步的调查,并揭示出其中未被发现的部分,如有可能为攻击者提供可追溯性的实时连接、其他受感染的主机等。例如,在僵尸网络感染的情况下,重建攻击可能导致识别其他受感染的主机。此外,网络空间是一个动态的环境,因此研究以前发生的攻击,包括成功的和不成功的(近乎失败的),可以导致发展一个更好的防御策略和早期检测,甚至预防未来的攻击。
此外,IDS正在成为数字取证和事件响应过程的一个组成部分。这是通过将IDS的输出反馈给数字调查过程中的证据关联来实现的,以便构建攻击的时间线并识别犯罪者。与所有的事件响应案例一样,时间是一个关键因素。在大多数数字取证调查中,从证据中恢复的特定实例,如潜在的恶意域,随着时间的推移变得无法访问。因此,将分析员通常手动执行的部分关联自动化,可能会导致对时间敏感的证据的检索。攻击越早被重构并确定其所有部分,目标公司或组织就能越早做出反应并采取额外的预防措施。这可能包括修改或增加新的保障措施,如填充防火墙规则或教育员工,以避免同一或不同的攻击者造成进一步的损害。最后,将产生的指标关联起来,可以减少IDS产生的错误警报,因为它们不适合任何恶意活动,构成异常值。
在一篇开创性的论文中,Hutchins等人[98]提出了由七个阶段组成的攻击杀伤链,即:侦察、武器化、交付、利用、安装、指挥与控制(C&C)和行动。这些指的是APT攻击矢量的不同阶段,所有这些共同构成了一个活动。以前产生的IDS指标可以用来重构发生的攻击。此外,IDS的部分攻击类别对应于特定的活动阶段。例如,探测类对应于侦察阶段。其他阶段,如安装,只能通过主机数据检测。因此,从主机上提取的特征在某些情况下可能是至关重要的。具体来说,CPU或内存消耗的突然变化,或关键注册表键的修改是恶意软件感染的有力指标。在很短的时间内密集地解析许多不同文件夹中的不同文件类型,是勒索软件活动的一个可靠指标。属于通常不会通过互联网通信的进程或孤儿进程(那些没有父进程的进程)的开放连接,是恶意软件感染的其他指标。
然而,他们的收集应该以不干扰正常操作和不引起任何隐私侵犯的方式进行。理想情况下,收集工作应该既能为用户实现最大的隐私,又能收集所需的数据以实现基础设施内的最大可见性。不幸的是,在所有情况下,这不是一个可行的和现实的目标,因此,隐私和安全之间的权衡是不可避免的[99]。基础设施的重要性和针对它的威胁类型,是影响这种权衡的主要因素。根据其所在地,组织或公司必须遵守不同的法律和法规。例如,在欧盟,按照新的欧盟通用数据保护条例1(欧盟GDPR)的要求,需要完全透明。每个组织或公司都必须明确声明所收集的数据,并说明为什么这些数据对特定威胁具有重要意义。最后,基础设施的用户应该完全了解为安全目的而收集和储存的数据。
正如Hutchins等人[98]所说,防御者可以利用攻击者的 "持久性 "并以此来对付他们。就其性质而言,APT行为者会尝试多次入侵,这些入侵很可能分散在不同的时间,并利用这些尝试的反馈(成功或不成功)来调整其策略。即使对一个资源丰富的攻击者来说,完全改变其行动方式的想法也是不可行的,也是不赚钱的。作者还提出了一个案例研究,证明比较多个活动的不同阶段可以确定它们是否来自同一个攻击者。这种复杂的关联性要求对目前的检测方法进行扩展,以回答以下的归因问题。
- - 重构的活动是持续威胁的一部分吗?属于同一攻击者的两个或多个攻击活动可能是一个更大的目标攻击或APT的一部分。在这种情况下,攻击者的成功和不成功的次数以及攻击的时间可以用来进行关联。攻击者可能在一定时期内发动多次攻击,但也可能等待数天甚至数月才再次尝试以避免被发现。这个决定取决于目标的重要性、激励和资源。
- - 考虑到对一组资源的任何两次攻击,我们能否识别它们是否有联系?为了回答这个问题,我们可以考虑在活动中描述两个攻击的相似性的特征,以及与攻击有关的时间戳。这些相似之处可能是指目标主机、使用的漏洞、交付方式等。将两个攻击联系起来的明显方法是源IP地址。然而,很大比例的攻击使用如今的服务,如Tor、VPN和代理,这使得识别真正的源IP特别具有挑战性。此外,在分布式攻击的情况下,IP相关性没有帮助,因为攻击来自于多个受感染的主机,这些主机是由僵尸管理员控制的。此外,小型或中型DDoS攻击有时被用作烟幕,以掩盖更小但更重要的活动,如数据渗出。在这种情况下,与时间有关的特征和攻击的规模可以用来识别这种攻击之间的关系。
- -我们可以使用来自外部的额外信息,如社交媒体或暗网来识别攻击者吗?通常情况下,黑客活动家等攻击者往往通过社交网络宣布和讨论他们的攻击,例如Twitter和Facebook[100], [101]。同样,威胁情报也可以从暗网中收集,许多威胁者在暗网中使用论坛进行交流,交换漏洞或协调他们的攻击[102]。此外,在许多情况下,对暗网论坛的研究可能会导致识别以前被受害公司或组织所忽略的攻击。这些信息与检测到的攻击和构建的活动相关联,可能会导致更接近攻击者的身份。
- - 攻击是手动的还是自动的?
在考虑攻击的归属,即识别攻击者时,我们应该考虑攻击或部分攻击是否是自动化的。例如,在大多数情况下,DDoS攻击是通过软件或僵尸网络自动进行的。在这种情况下,使用IP作为相关的标准是没有帮助的。另一方面,如果攻击是手动完成的,则有更多的可能性直接连接到其源头。然而,即使在这种情况下,归属可能需要多个阶段的关联。例如,在从一个受感染的主机转向最终目标的情况下,在最终主机上检测到的连接可能是误导的。在这种情况下,将两台主机的类似行为和它们之间的网络流量联系起来,就可以揭示出转折的情况。然后,最初被感染的主机的证据可以用来识别攻击者。
出现的明显问题是在如此大量的异质和快速数据中要进行的关联的复杂性和多样性。不能使用规则和预先确定的签名,因为它们只能识别已知的模式,从而限制了这种系统的有效性。相反,在入侵检测中需要一种能够通过使用构建的特征集来识别自然联系和关联的方法。由于这些原因,数字取证领域可以从大数据分析和数据挖掘技术中受益,比如基于特征的归因。此外,随着机器学习和数据挖掘领域的不断发展,新的算法和优化被提出,这可以在很多方面使安全领域受益。一些与安全相关的任务,如入侵检测和攻击重建,可以是自动化或半自动化的。此外,这些任务在时间和资源方面的表现也可以得到显著改善。
4.2IDS攻击类型
所有与IDS相关的文献都将系统产生的指标分为四类,即DoS、U2R、R2L和探测(见第三节)。随着攻击的发展,这些类别应该也随之发展,因此,我们认为它们已经不够用了。在这项工作中,关于入侵检测系统的攻击类别的公开问题如下。
- 1)入侵检测系统产生攻击指标,并将其划分为上述4类。根据Akamai[1]和OWASP TOP 10[103],最频繁的三种Web应用攻击是SQL注入、本地文件包含和XSS。这三个都属于U2R和R2L类,是目前检测到的最少的攻击类。这一事实支持了我们之前的论点,即有必要通过使用特征选择、提取和转换技术以及手动选择的特征来加强IDS对这些类别的检测能力(见第三部分B)。
- 2)正如卡巴斯基[104]所言,通过数据渗透进行的网络间谍活动是每个企业最担心的问题之一。在这种攻击中,将目标数据传输给攻击者是在主机感染恶意软件后进行的,并且在大多数情况下使用加密的流量。这种恶意网络活动不属于文献中使用的传统的四种攻击类别,因为它是成功入侵后的行动。尽管如此,为这种恶意网络流量创建一个指标,可以识别入侵并揭示受感染的主机,即使感染没有被检测到。
- 3)同样如[105]所述,自2011年以来,新的勒索软件家族的数量稳步增长,2016年几乎43%的勒索软件受害者是组织中的员工。这种攻击属于恶意软件感染的范畴,它不一定需要网络流量(例如,用U盘感染)。然而,它拥有一个独特的特点:在第一次执行后,恶意软件必须与C&C服务器通信,以接收加密密钥。通过选择适当的特征子集,我们可以创建这种类型的通信指标(见第三部分B),并阻止攻击的实现,即使感染是成功的。
- 4) 僵尸网络为DDoS攻击提供了便利,无论它们是被攻击者雇佣还是拥有[5]。因此,在过去的几年里,僵尸网络的感染有所增加,大型的高速网络,如企业或大学网络是主要的目标。同样,僵尸网络感染和通信不属于四个已知的攻击类别中的任何一个。检测感染阶段可以像其他恶意软件感染实例一样,主要基于与主机相关的特征。相反,检测僵尸网络通信可以基于网络特征,包括:a)通信类型。HTTP、IRC、P2P或社会网络通信方法[106]和b)隐藏和规避技术的发生,如Fast-Flux[107]。最后,产生的指标可以结合起来,通过空间和时间上的关联,将受感染的主机确定为僵尸网络的成员。例如,如果观察到一组主机在响应来自同一服务器的类似信息时进行类似的活动,那么它们很可能是同一僵尸网络的一部分。
正如很容易观察到的那样,第二、三和四点与流出的网络流量有关。传统上,计算机安全使用周界的概念,认为周界外的一切是敌人的领土,周界内的一切是安全区。因此,恶意流量曾经被认为是传入流量的一部分。然而,随着内部威胁、数据渗透和C&C通信的出现,这一事实已不再有效。总而言之,现有的攻击分类需要被扩展。
随着攻击的演变和当前的威胁,也需要考虑外发流量。基于这些,我们建议增加以下攻击类别:数据渗出、僵尸网络C&C通信和勒索软件通信。勒索软件通信是指获取加密密钥,但利用C&C方法来获取。因此,这个类别可以被认为是C&C的一个子类。然而,勒索软件的网络通信更加具体,其信息数量有限,而僵尸网络的C&C通信是通过时间来扩展和连续的。此外,如果我们也考虑到主机证据,勒索软件的恶意软件会向用户显示自己,而僵尸网络的恶意软件则利用不同的技术将自己隐藏起来。最后,僵尸网络通信往往包括多个表现出相同可疑行为的主机,这构成了另一个独特的特征。
5.相关工作
Bhuyan等人[32]在统计学、基于分类、基于知识、软计算、基于聚类和组合学习者等类别下,对异常检测论文提供了全面的背景和彻底的回顾。此外,作者介绍了捕获方法、不同的指标、攻击类型和对最常用的数据集的回顾。最后,他们讨论了开放的问题,并为设计IDS提供了实用的建议。Catania和Garino[33]不仅根据其检测率比较了已知的基于签名和异常的方法,而且还根据它们在没有人类互动的情况下可以实现的自动化水平进行了比较。基于签名的、基于异常的和有状态的协议分析方法都包括在评论中,但作者也试图讨论用于入侵检测的理论数据挖掘方法与它们在实际网络中的部署之间的差距[108]。Buczak和Guven[109]根据引用次数和相关度,比较了有代表性的机器学习(ML)和数据挖掘(DM)方法。他们的调查包括DM/ML领域的全面背景,并比较了不同的方法,如人工神经网络、贝叶斯网络、聚类、决策树等。作者还介绍了一些已知的用于ML和DT的网络安全数据集。最后,他们强调了入侵检测中一些最重要的问题,如收集标记数据进行再训练。
对云入侵检测感兴趣的读者可以参考[110]。作者对基于虚拟机自省(VMI)和管理程序自省(HVI)的入侵检测技术及其优点和缺点进行了详尽的回顾。这包括误用、基于异常和混合方法。此外,为突出云环境中的漏洞,特别提出了一个威胁模型,其中包括从云内部和外部发起的攻击。攻击被分为五类:对虚拟机的攻击(VMA),对虚拟机监控器的攻击(VMMA),对硬件的攻击(HA),对虚拟存储的攻击(VSA)和对租户网络的攻击(TNA)。
与其他调查相反,Vasilomanolakis等人[42]专注于协作式IDS(CIDS),并根据其架构将它们分为三类:集中式、分散式和分布式。在将CIDS分解成五个基本构件后,对每个构件进行了讨论。对于这三类中的每一类,最知名的CIDS都根据它们所提供的能力在模块层面进行了比较。作者定义了对CIDS的要求,并介绍了它们之间的关系和对它们的攻击。本文的结论是,没有一个CIDS能够在一个大规模的网络中提供必要的能力。
Butun等人[111]考虑到移动Ad-Hoc网络(MANET)和无线传感器网络(WSN)的架构:分布式、集中式、分层式或独立式,提出了不同的入侵检测方法。他们的调查包括统计、聚类、博弈论和遗传算法。同样,Mitchell和Chen[112]根据他们将被部署到的系统类型对现有的异常、基于签名和混合IDS技术进行分类。他们的分类包括无线局域网(WLAN)、无线传感器网络(WSN)、无线个人区域网络(WPAN)、Ad-hoc网络、移动电话、网络物理系统(CPS)和无线网格网络(WMN)。Luong等人[113]对检测针对无线网络的安全攻击(如窃听、干扰和黑洞攻击)的经济和定价方法进行了全面审查。此外,论文最后从攻击和经济工具的角度为现有的挑战以及关于5G HetNets的新研究问题提供了研究方向。同样,在[115]中介绍了用于解决WSN中各种问题的机器学习方法的回顾。作者不仅关注安全方面,还关注无线网络的其他功能和非功能特性。Xu等人[114]讨论了针对WSN的一个主要威胁,即节点伪造或冒充,并提出了针对它的设备指纹识别解决方案。作者回顾了用于WSN安全的指纹识别方法,并建议使用这些方法来生成不可伪造的签名,以区分恶意用户和合法用户。Zhu和Sastry[116]提供了SCADA专用入侵检测系统的分类法,并试图强调旨在保护控制系统的IDS的要求。除了对IDS技术的回顾,作者还专门为SCADA系统定义了一套指标和攻击。
6.总结
在过去的二十年里,入侵检测的主题得到了广泛的研究。多年来,已经部署了不同的方法,包括基于签名和异常的方法。本文调查了过去几年中使用无监督技术的基于异常的IDS,因为它们表现出检测未知攻击的能力,基于描述每个攻击类别的特征,不需要任何预先的知识或需要标记的数据进行定期训练。此外,基于异常的混合IDS也得到了审查,因为它们旨在结合无监督和有监督方法的优点。现在的取证调查包括来自不同来源的大量数据,如网络流量、主机、不同设备的日志等。无监督技术对于从不同证据来源中提取的新特征具有更强的可塑性,并且不需要定期重新培训。出于这个原因,我们提出并比较了用于入侵检测的特征选择方法。通过我们的调查,我们强调,为每一类找到并使用一个最佳的特征子集,可以减少计算时间和复杂性,提高检测精度,降低假阳性率。这个概念在数据分析领域是众所周知的,但它还没有被广泛地用于入侵检测。此外,我们确定了当前IDS的局限性,并讨论了未来工作的方向,以有效地应对当前的威胁形势。为此,我们认为IDS和取证唆使之间的差距需要被填补。IDS的输出可以被引入到法医调查过程中,以构建一个攻击的时间线,并将重建的攻击关联起来,以确定犯罪者。最后,我们建议对现有的攻击类别进行扩展,增加三个新的类别,涉及到流出的网络通信。