入侵检测系统综述:技术、数据集和挑战
摘要:网络攻击越来越复杂,因此在准确检测入侵方面面临越来越多的挑战。未能防止入侵可能会降低安全服务的可信度,例如数据机密性、完整性和可用性。为了应对计算机安全威胁,文献中提出了许多入侵检测方法,这些方法大致可分为基于特征的入侵检测系统(SIDS)和基于异常的入侵检测系统(AIDS)。这篇调查论文介绍了当代入侵检测系统的分类法,对最近的著名作品进行了全面回顾,并概述了常用于评估目的的数据集。本文还介绍了攻击者为避免检测而使用的规避技术,并讨论了对抗此类技术以使计算机系统更安全的未来研究挑战。
Khraisat A, Gondal I, Vamplew P, et al. Survey of intrusion detection systems: techniques, datasets and challenges[J]. Cybersecurity, 2019, 2(1): 1-22.
CCF None
(1)恶意软件(恶意软件)的发展对入侵检测系统(IDS)的设计提出了严峻的挑战。
恶意攻击已经变得更加复杂,首要的挑战是识别未知和模糊的恶意软件,因为恶意软件作者使用不同的规避技术来隐藏信息,以防止IDS检测。
(2)检测零日攻击很重要
(3)IDS的作用:IDS的目的是尽早识别不同类型的恶意软件,这是传统防火墙无法实现的
(4)本文提供了最新的分类方法,对以往的IDS研究工作进行梳理总结分类。
(5)本文论述了数据挖掘技术在IDS中的应用
(6)描述了基于特征和基于异常的方法(即SIDS和AIDS)
(7)本文从技术和数据集的角度对入侵检测系统进行了结构化的、当代的、广泛的研究;并强调技术的挑战,然后提出建议。
在过去几年中,已经发布了一些关于入侵检测的调查。表1显示了本次调查和之前的调查论文所涵盖的IDS技术和数据集。Axelsson对入侵检测系统和分类法的调查(Axelsson,2000)根据检测方法对入侵检测系统进行了分类。Debar等人高度引用的调查(Debar等人,2000年)调查了基于攻击行为和知识概况的检测方法。
Liao等人的《入侵系统分类法》(Liao等人,2013a)对五个子类进行了分类,并对其特征进行了深入分析:基于统计、基于模式、基于规则、基于状态和基于启发式。另一方面,我们的工作重点是特征检测原理、异常检测、分类和数据集。
现有评论文章(例如,Buczak&Guven,2016;Axelsson,2000;Ahmed等人,2016;Lunt,1988;
Agrawal&Agrawal,2015)专注于入侵检测技术或数据集问题或计算机攻击和入侵检测系统规避的类型。没有文章全面回顾入侵检测、数据集问题、规避技术和各种攻击。此外,入侵检测系统的发展使得同时提出了几个不同的系统,因此需要更新。本文介绍了入侵检测学科分类法的最新调查,进一步增强了中给出的分类法(Liao等人,2013a;Ahmed等人,2016)
鉴于对先前调查的讨论,本文重点关注以下内容:
根据入侵方法,根据主要攻击类型对各种入侵检测系统进行分类。
对网络异常IDS评估指标进行分类,并讨论特征选择的重要性。
评估可用IDS数据集,讨论规避技术的挑战。
入侵可以定义为对信息系统造成损害的任何未经授权的活动。这表示任何可能对信息机密性、完整性或可用性构成威胁的攻击都将被视为入侵。例如,使计算机服务对合法用户无响应的活动被视为入侵。IDS是一种软件或硬件系统,用于识别计算机系统上的恶意行为,以便维护系统安全(Liao等人,2013a)。IDS的目标是识别传统防火墙无法识别的各种恶意网络流量和计算机使用情况。这对于实现对危害计算机系统可用性、完整性或机密性的操作的高度保护至关重要。IDS系统大致可分为两类:基于特征的入侵检测系统(SIDS)和基于异常的入侵检测系统(AIDS)。
特征入侵检测系统(SIDS)基于模式匹配技术来发现已知攻击;
这些也被称为基于知识的检测或误用检测(Khraisat et al.,2018)。在SIDS中,匹配方法用于查找以前的入侵。换句话说,当入侵特征码与特征码数据库中已经存在的先前入侵特征码匹配时,会触发报警信号。在SIDS,主机日志被使用,来查找以前被确定为恶意软件的命令或操作序列。在文献中,SIDS也被称为基于知识的检测或滥用检测(Modi等人,2013年)。
图1展示了SIDS的工作原理。其主要思想是建立一个入侵特征码数据库,将当前的一组活动与现有特征码进行比较,并在发现匹配时发出警报。
SIDS通常对先前已知的入侵提供极好的检测精度(Kreibich&Crowcroft,2004)。然而,SIDS很难检测到零日攻击,因为在提取和存储新攻击的特征之前,数据库中不存在匹配的特征。SIDS被用于许多常用工具,例如Snort(Roesch,1999)和NetSTAT(Vigna&Kemmer,1999)。
AIDS中使用机器学习,基于统计或基于知识的方法创建计算机系统行为的正常模型,若观测行为与正常行为之间的偏差过大则被视为异常或入侵。
前两节根据用于识别入侵的方法对ID进行分类。ID还可以根据用于检测异常活动的输入数据源进行分类。就数据源而言,通常有两种类型的IDS技术,即基于主机的IDS(HIDS)和基于网络的IDS(NIDS)。
HIDS检查来自主机系统和审核源的数据,如操作系统、窗口服务器日志、防火墙日志、应用程序系统审核或数据库日志。HIDS可以检测不涉及网络流量的内部攻击(Creech&Hu,2014a)。
NIDS监控通过数据包捕获、网络流和其他网络数据源从网络中提取的网络流量。基于网络的ID可用于监视连接到网络的许多计算机。NIDS能够在外部威胁传播到另一个计算机系统之前的早期阶段监控可能由外部威胁发起的外部恶意活动。
AIDS可以分为三大类:
基于统计的方法涉及收集和检查一组项目中的每个数据记录,并建立正常用户行为的统计模型。另一方面,基于知识的方法试图从现有的系统数据(如协议规范和网络流量实例)中识别所请求的操作,而机器学习方法则从训练数据中获得复杂的模式匹配能力。
基于统计信息的入侵检测系统为正常行为模式构建分布模型,然后检测低概率事件并将其标记为潜在入侵。统计辅助基本上考虑了统计指标,如数据包的中值、平均值、模式和标准偏差。换句话说,不是检查数据流量,而是监视每个数据包,这表示流的指纹。统计辅助工具用于识别当前行为与正常行为之间的任何类型的差异。统计IDS通常使用以下模型之一。
(1)单变量:“Uni”表示“一”,因此它表示数据只有一个变量。当仅为计算机系统中的一种行为度量创建统计正态分布时,使用此技术。单变量IDS寻找每个指标的异常情况(Ye等人,2002年)。
(2)多变量:基于两个或多个度量之间的关系,以了解变量之间的关系。如果实验数据表明,可以通过相关度量的组合而不是单独分析来实现更好的分类,那么该模型将很有价值。Ye等人研究了一种多元质量控制方法,通过建立正常活动的长期轮廓来识别侵入(Ye等人,2002)。多元统计ID面临的主要挑战是难以估计高维数据的分布。
(3)时间序列模型:时间序列是在一定时间间隔内进行的一系列观测。新的观察结果如果发生的概率太低,则为异常。Viinikka等人使用时间序列处理入侵检测警报聚合(Viinikka等人,2009)。Qingtao等人提出了一种通过检查时间序列数据中发现的突变来检测网络异常的方法(Qingtao和Zhiqing,2005)。通过模拟实验验证了该技术的可行性。
这组技术也被称为专家系统方法。这种方法需要创建一个反映合法流量概况的知识库。与此标准配置文件不同的操作被视为入侵。与其他类别的辅助设备不同,标准配置文件模型通常是基于人类知识创建的,根据一组试图定义正常系统活动的规则。
基于知识的技术的主要好处是能够减少误报,因为系统了解所有正常行为。
然而,在动态变化的计算环境中,这种IDS需要定期更新预期正常行为的知识,这是一项耗时的任务,因为收集所有正常行为的信息非常困难。
(1)有限状态机(FSM):FSM是一种用于表示和控制执行流的计算模型
该模型可应用于入侵检测,生成入侵检测系统模型。通常,模型以状态、转换和活动的形式表示。状态检查历史数据。例如,记录输入中的任何变化,并根据检测到的变化进行转换(Walkinshaw et al.,2016)。FSM可以代表合法的系统行为,任何观察到的偏离此FSM的行为都被视为攻击。
(2)描述语言:描述语言定义可用于指定已定义攻击的特征的规则语法。规则可以通过N-语法和UML等描述语言构建(Studnia et al.,2018)。
(3)专家系统:专家系统由许多定义攻击的规则组成。在专家系统中,规则通常由知识工程师与领域专家协作手动定义(Kim等人,2014)。
(4)签名分析:它是入侵检测系统中应用最早的技术。它依赖于字符串匹配的简单思想。在字符串匹配中,将逐字检查传入的数据包,并使用不同的签名。如果签名匹配,则会发出警报。如果没有,则将通信量中的信息与签名数据库上的以下签名进行匹配(Kenkre等人,2015b)。
(1)入侵检测系统中的监督学习
基于监督学习的入侵检测技术通过标记的训练数据检测入侵。监督学习方法通常包括两个阶段,即训练和测试。在训练阶段,识别相关特征和类别,然后算法从这些数据样本中学习。在监督学习IDS中,每条记录是一对,包含一个网络或主机数据源和一个相关的输出值(即标签),即入侵或正常。接下来,可以应用特征选择来消除不必要的特征。使用所选特征的训练数据,然后使用监督学习技术训练分类器,以学习输入数据和标记输出值之间存在的固有关系。文献中探讨了各种各样的监督学习技术,每种技术都有其优缺点。在测试阶段,使用训练好的模型将未知数据分为入侵类和正常类。
算法:决策树,贝叶斯分类器,遗传算法,人工神经网络,模糊理论,支持向量机,隐马尔可夫模型,KNN。
(2)入侵检测中的无监督学习
算法:K-means,层次聚类
(3)半监督学习
半监督学习介于有监督学习(具有完全标记的训练数据)和无监督学习(没有任何分类的训练数据)之间。研究人员已经表明,对于IDSs,半监督学习可以与少量标记数据分类器的性能结合使用,所需的时间和成本更少。
这对于许多IDS问题都很有价值,标记数据可能很少见或偶尔出现(Ashfaq et al.,2017)。
已经提出了许多不同的半监督学习技术,例如基于期望最大化(EM)的算法(Goldstein,2012),自我训练(Blount et al.,2011;Lyngdoh et al.,2018),联合训练(Rath et al.,2017),半监督支持向量机(Ashfaq et al.,2017),基于图的方法等。
(4)集成方法
与任何单独的组成学习算法相比,可以使用多种机器学习算法来获得更好的预测性能。已经提出了许多不同的集成方法,如Boosting、Bagging和Stacking。
Boosting是指一系列能够将弱学习者转换为强学习者的算法。
Bagging意味着在相同数据集的不同子集上训练相同的分类器。堆叠通过元分类器(Aburomman)组合各种分类&
Reaz,2016)。在整个训练集的基础上建立基本模型,然后将元模型的输出作为属性进行训练。
Jabbar等人提出了一种集成分类器,该分类器使用随机林和平均单依赖估计器(AODE)构建,该估计器解决了朴素贝叶斯分类器中的属性依赖问题。随机林(RF)提高了精度并减少了误报(Jabbar等人,2017)。将这两种方法组合在一个集合中,可以比单独应用的任何一种技术提高精度。
传统的入侵检测系统具有以下局限性:不易修改、无法识别新的恶意攻击、准确率低和误报率高。AIDS有局限性的地方,如假阳性率高。混合入侵检测系统基于SIDS和AIDS的结合。混合入侵检测系统克服了SIDS和AIDS的缺点。Farid et al.(Farid et al.,2010)提出了使用朴素贝叶斯和基于决策树的混合入侵检测系统,在KDD’99数据集上实现了99.63%的检测率。
IDS有许多分类指标,其中一些指标有多个名称。表6显示了可用于评估IDS性能的两类分类器的混淆矩阵。矩阵的每一列表示预测类中的实例,而每一行表示实际类中的实例。
IDS通常基于以下标准性能度量进行评估:
评估数据集在任何IDS方法的验证中都起着至关重要的作用,它允许我们评估所提出的方法检测入侵行为的能力。由于隐私问题,商业产品中用于网络数据包分析的数据集不容易获得。然而,有一些公开可用的数据集,如DARPA、KDD、NSL-KDD和ADFA-LD,它们被广泛用作基准。本节将讨论用于构建和比较评估IDS的现有数据集及其特性和局限性。
国防高级研究计划局(DARPA)于1998年最早创建了IDS数据集,并创建了KDD98(知识发现和数据挖掘(KDD))数据集。1998年,DARPA在麻省理工学院林肯实验室推出了一项计划,以提供全面而现实的IDS基准测试环境(麻省理工学院林肯实验室,1999年)。尽管该数据集对入侵检测系统的研究做出了重要贡献,但其准确性和考虑现实生活条件的能力受到了广泛批评(Creech&Hu,2014b)。
这些数据集是使用多台连接到互联网的计算机收集的,以模拟一个小型美国空军基地的受限人员。收集了网络数据包和主机日志文件。Lincoln实验室建立了一个实验台,为局域网(LAN)获得2个月的TCP数据包转储,模拟了一个常见的美国空军局域网。他们将局域网建模为真实的空军环境,但将其与多个模拟入侵交织在一起。
收集的网络数据包约为4G字节,包含约4900000条记录。两周的测试数据约有200万条连接记录,每个记录有41个特征,分为正常或异常。
提取的数据是一系列TCP会话,在定义好的时间开始和结束,在这些会话之间,数据流向源IP地址和从源IP地址流向目标IP地址,目标IP地址包含在军事网络环境中模拟的各种攻击。1998年DARPA数据集被用作衍生KDD Cup99数据集的基础,该数据集已用于第三届国际知识发现和数据挖掘工具竞赛(KDD,1999)。KDD Cup99数据集的41个特征如表7所示:
此数据集包含来自分布式拒绝服务(DDoS)攻击的网络流量跟踪,收集于2007年(Hick等人,2007年)。这种类型的拒绝服务攻击试图通过大量网络数据包覆盖目标来中断目标计算机或网络的正常流量,从而阻止正常流量到达其合法的目标计算机。CAIDA数据集的一个缺点是它不包含多种攻击。此外,收集的数据不包含整个网络的特征,这使得很难区分异常流量和正常流量。
NSL-KDD是一个公共数据集,由早期KDD cup99数据集开发而来(Tavallaee et al.,2009)。对cup99数据集进行的统计分析提出了严重影响入侵检测准确性的重要问题,并导致对艾滋病的误导性评估(Tavallaee et al.,2009)。
KDD数据集中的主要问题是大量重复数据包。Tavallaee等人分析了KDD训练和测试集,发现大约78%和75%的网络数据包在训练和测试数据集中重复(Tavallaee等人,2009)。训练集中的大量重复实例将影响机器学习方法偏向于正常实例,从而阻止它们学习通常对计算机系统更有害的不规则实例。Tavallaee等人于2009年从KDD Cup’99数据集构建了NSL-KDD数据集,以通过消除重复记录来解决上述问题(Tavallaee等人,2009)。
NSL-KDD列车数据集包含125973条记录,测试数据集包含22544条记录。
NSL-KDD数据集的大小足以使使用整个NSL-KDD数据集变得切实可行,而无需随机抽样。这在各种研究工作中产生了一致和可比的结果。NSL\U KDD数据集包含22个训练入侵攻击和41个属性(即特征)。在该数据集中,21个属性表示连接本身,19个属性描述同一主机内连接的性质(Tavallaee et al.,2009)。
在此数据集中,分析了真实网络流量跟踪,以从HTTP、SMTP、SSH、IMAP、POP3和FTP协议的真实流量中识别计算机的正常行为(Shiravi等人,2012)。此数据集基于真实的网络流量,该流量已标记并包含各种攻击场景。
澳大利亚国防军学院的研究人员创建了两个数据集(ADFA-LD和ADFA-WD),作为代表现代攻击结构和方法的公共数据集(Creech,2014)。数据集包含来自Linux和Windows操作系统的记录;它们是通过评估基于系统调用的HID创建的。Ubuntu Linux 11.04版被用作构建ADFA-LD的主机操作系统(Creech&Hu,2014b)。ADFA-LD中的一些攻击实例源自新的零日恶意软件,因此该数据集适合突出SIDS和AIDS入侵检测方法之间的差异。它包含三个不同的数据类别,每组数据包含原始系统调用跟踪。每个培训数据集都是从主机上收集的,用于正常活动,用户行为从web浏览到LATEX文档准备。表8显示了ADFA-LD的一些功能,以及每个功能的类型和说明。
ADFA-LD还包含不同类型攻击的系统调用跟踪。ADFA Windows数据集(ADFA-WD)提供了用于评估HID的当代Windows数据集。表9显示了每类AFDA-LD和AFDA-WD的系统调用数量。表10描述了ADFA-LD数据集中每个攻击类别的详细信息。
表11列出了ADFA-WD矢量和效果。
CICIDS2017数据集包括良性行为和新恶意软件攻击的详细信息:如暴力FTP、暴力SSH、DoS、Heartbleed、Web攻击、渗透、僵尸网络和DDoS(Sharafaldin et al.,2018)。此数据集根据时间戳、源和目标IP、源和目标端口、协议和攻击进行标记。配置了完整的网络拓扑以收集此数据集,其中包含调制解调器、防火墙、交换机、路由器和具有不同操作系统(Microsoft Windows(如Windows 10、Windows 8、Windows 7和Windows XP)、Apple的macOS iOS和开源操作系统Linux)的节点。此数据集包含捕获的网络流量中的80个网络流特征。
由于机器学习技术应用于AIDS,因此用于机器学习技术的数据集对于评估这些技术以进行真实评估非常重要。表12总结了流行的公共数据集,以及先前研究中每个数据集的一些分析技术和结果。表13总结了数据集的特征。
特征选择有助于降低计算难度,消除数据冗余,提高机器学习技术的检测率,简化数据,减少误报。在这方面的研究中,已经应用了一些方法来开发轻量级IDSs。
特征选择技术可以分为包装方法和过滤方法。包装器方法估计变量的子群,以确定变量之间的可行交互。这些技术有两个主要缺点:数据量不足时的累积过度拟合和变量量大时的重要计算时间。
过滤方法通常用作预处理阶段。特征的选择独立于任何机器学习技术。另一种方法是,根据特征在几个统计测试中的得分来指定特征,以确定特征与结果变量的相关性。
作为特征选择对IDS性能影响的一个示例,请考虑表14中的结果,其中显示了使用NSl KDD数据集的41个特征和不同特征的完整数据集构建C4.5分类器IDS模式的检测精度和时间。
网络攻击可以根据攻击者的活动和目标进行分类。每种攻击类型可分为以下四类之一(Sung&Mukkamala,2003):
拒绝服务(DoS)攻击的目的是阻止或限制网络、计算机向用户提供的服务。
探测攻击的目标是获取有关网络或计算机系统的信息。
User-to-Root(U2R)攻击的目标是非特权用户在入侵者具有用户级访问权限的特定计算机或系统上获取根用户或管理员用户访问权限。
远程到本地(R2L)攻击涉及向受害者计算机发送数据包。
网络犯罪分子利用尖端技术和社会工程策略,以计算机用户为目标。一些网络罪犯正变得越来越老练和有动机。网络罪犯已经显示出他们隐藏身份、隐藏通信、将身份与非法利润隔离以及使用抗妥协的基础设施的能力。因此,使用能够检测现代恶意软件的先进入侵检测系统来保护计算机系统变得越来越重要。为了设计和构建这样的IDS系统,有必要全面了解当代IDS研究的优势和局限性。
本文详细介绍了入侵检测系统的方法、类型和技术及其优点和局限性。综述了几种用于检测零日攻击的机器学习技术。然而,此类方法可能存在生成和更新有关新攻击的信息的问题,并产生高假警报或低准确性。我们总结了最近的研究结果,并探讨了AIDS改善的当代模式,以解决IDS问题。
此外,还探讨了用于IDS研究的最流行的公共数据集,并讨论了它们的数据收集技术、评估结果和局限性。由于正常活动经常发生变化,并且随着时间的推移可能不会保持有效,因此需要更新和更全面的数据集,其中包含广泛的恶意软件活动。需要一个新的恶意软件数据集,因为大多数现有计算机学习技术根据旧数据集(如DARPA)提供的知识进行培训和评估/
KDD99,其中不包括较新的恶意软件活动。
因此,仅使用1999年收集的这些数据集进行测试,因为这些数据集是公开的,没有其他替代和可接受的数据集可用。
虽然这些数据集被广泛接受为基准,但它们不再代表当代的零日攻击。虽然ADFA数据集包含许多新的攻击,但这还不够。因此,使用这些数据集测试AIDS并不能提供真正的评估,可能会导致对其有效性的不准确说法。
本研究还研究了四种常见的规避技术,以确定它们规避最近IDSs的能力。一个有效的入侵检测系统应该能够准确地检测不同类型的攻击,包括包含规避技术的入侵。开发能够克服规避技术的智能决策支持系统仍然是这一研究领域的主要挑战。