数据驱动的未知网络威胁检测综述_第1页
数据驱动的未知网络威胁检测综述_第2页
数据驱动的未知网络威胁检测综述_第3页
数据驱动的未知网络威胁检测综述_第4页
数据驱动的未知网络威胁检测综述_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

近几年,在网络空间规模逐渐扩大、结构日趋复杂的同时,网络安全形势也越来越严峻。为了逃避日益先进的检测技术,各类网络威胁正变得愈加具有隐蔽性和对抗性。并且随着新冠肺炎疫情在世界范围内的流行,越来越多的组织将资产和业务迁移到线上,导致攻击面快速扩张,各类新型威胁数量和种类也急剧增多。SkyboxSecurity在《2022年漏洞和威胁趋势报告》中指出,2021年0day(零日)漏洞新增数量再创新高,各类新型恶意软件也层出不穷,同时攻击者利用0day漏洞的速度及其攻击能力得到进一步提升,使得网络空间安全面临着更多来自未知网络威胁的挑战。本文将防御者在系统训练和运行阶段未见过的网络威胁称为未知网络威胁,即缺少相关标注训练数据的网络威胁。在以往的相关研究中,大多是关注对已知网络威胁的检测,但近年来各种未知网络威胁不断涌现,给政府、企业及关键基础设施带来了巨大的安全风险。而由于未知网络威胁种类的新增速度不断增加,采用以往的人工设计规则等方法实现检测的效率太低,难以满足如今的网络安全需求。对未知网络威胁的检测已经成为当前的研究热点和难点。在实际应用中,未知网络威胁缺乏标记数据的原因主要有两种。一是攻击者在实施攻击时采用了新0day漏洞或新技术。除了对新0day漏洞的利用,由于许多攻击工具或新技术(如人工智能)可以从开源社区中被轻易获取,这不仅提高了攻击技术,还降低了攻击成本。例如韩宇等人采用生成对抗网络(GenerativeAdversarialNetworks,GAN)算法实现了恶意流量伪装,成功绕过了网络入侵检测系统(NetworkIntrusionDetectionSystems,NIDS)的检测。这类网络威胁由于防御者在此前没有相关知识,因此缺乏相关标记数据。二是攻击者在实施攻击时采用加密或社会工程等技巧,使得攻击行为与正常行为难以区分。例如,被广泛应用的传输层安全协议(TransportLayerSecurity,TLS)也同样被用于网络攻击,据统计,在2020年有70%的恶意攻击采用了加密技术。防御方一方面需要维护数据传输的机密性,另一方面需要在加密环境下找出恶意攻击,这给攻击检测带来了极大的困难。这类网络威胁由于防御者的成本等因素限制,无法及时从海量无标注的数据中找出并标记此类攻击,因此缺乏相关标记数据。及时检测和分析未知网络威胁的意义在于如下两个方面。一是可以帮助系统尽快从攻击中恢复,以减少造成的损失。二是多步攻击[也有文献称为高级持续威胁(AdvancedPersistentThreat,APT)]常常包含未知网络威胁(例如,MITRE公司搜集的多个真实APT案例中就包含了众多单步的未知攻击,包括0day攻击、社会工程攻击等),这类多步攻击也可以视作多步的未知网络威胁。及时发现这些攻击碎片可以帮助防御方了解所遭受的多步攻击的意图并预测后续攻击,以帮助防御方及时采取保护措施并阻止后续攻击。可以预见,随着未来网络攻击场景更加复杂,未知网络威胁也将愈发常见。然而以往对已知网络威胁检测的基于签名的方法对未知网络威胁束手无策,基于异常的方法误报率高。并且,如今面对越来越复杂的网络攻击以及海量安全数据,大多研究采用了机器学习(MachineLearning)算法实现高性能的威胁检测。在机器学习算法中,分类任务定义了以下4个基本类:已知的已知类(KnownKnownClasses,KKC)、已知的未知类(KnownUnknownClasses,KUC)、未知的已知类(UnknownKnownClasses,UKC)和未知的未知类(UnknownUnknownClasses,UUC)。而对未知类(UKC或UUC类)的识别方法包括异常检测(AnomalyDetection)、开集识别(OpenSetRecognition)和零样本学习(Zero-ShotLearning)3种,相关任务及差异如表1所示。从方法的角度来看,现有对单步未知网络威胁的检测方法也可以分为这3类,而对包含多步未知网络威胁来说,检测原理大多基于上下文推理。表1分类中不同任务的差异从表1可以看出,这3类方法适用场景的差异主要在于所需数据的不同。然而,数据作为网络空间安全中的重要资源,获取高质量数据的成本很高。现有的研究都是针对某一具体场景下未知网络威胁检测的需求,给出了具体的解决方案。目前该领域缺乏系统性的综述研究,特别是从数据视角分析不同场景下适合的算法。为此,本文从实际应用出发,从数据视角总结了不同场景下的未知网络威胁的检测方法,并分析了不同数据条件下的检测思路,同时详细地阐述了各类检测方法的优缺点以及适用场景,为实际中各类未知网络威胁检测的实现提供了指导和参考。1用于未知威胁检测的数据类型数据是网络威胁检测和分析的基础。特别是在机器学习架构中,数据的可用性与质量直接影响了模型的性能。对本文所研究的未知威胁检测来说,不同来源的安全数据具有不同的语义,也具有不同的获取难度,而数据的可用性直接决定了实际应用中应该采用何种方法来实现检测。如何对不同来源的安全数据进行分类是一个重要的研究课题。基于不同的语义级别将安全相关的数据分为3类:非语义数据(NonsemanticData)、语义数据(SemanticData)和安全知识数据(SecurityKnowledgeData)。本文在此研究的基础上,扩展和完善了相关概念,并分析了其在实际未知网络威胁检测中的位置和获取难度。本文给出了一个简化的通用网络威胁检测框架,并标注了各类数据在其中的所属位置,如图1所示。根据研究对象的不同,可将检测框架分为5层,分别为感知层、事件层、告警层、态势分析层和威胁情报层。感知层的任务是采集、传输并预处理系统中的各类原生数据(RawData);事件层的任务是对感知层中的非语义数据进行分析,将其分割和提炼为与安全相关的事件;告警层的任务是采用模式匹配、异常检测等方法对感知层的语义数据以及事件层提炼的安全事件数据进行分析,实现对各种单步攻击的检测;态势分析层的任务是结合威胁情报层的相关安全知识数据,对告警层检测到的多个单步攻击进行关联分析和场景重构等,以发现复杂的多步攻击,并呈现当前系统的网络安全态势;威胁情报层需要采集并处理各类需要的安全知识数据。图1包含3类安全数据的典型网络威胁检测框架1.1非语义数据非语义数据是指系统本身正常运行时所产生的数据,不包括安全语义信息的各程序或组件的详细记录。其主要数据类型包括镜像的流量数据、系统调用、操作日志、NetFlow、各类审计设备日志、服务器日志、数据库日志等。虽然这类数据自身并不包含与安全相关的语义信息,但安全分析人员可以通过异常检测、规则匹配等方法从中发现潜在的网络威胁。在实际应用中,这类数据较容易被获取,但因数量庞大且是无标注的,因此在威胁检测时还需进一步处理分析。1.2语义数据语义数据是包含安全语义的数据,包括各类安全设备的告警和日志,以及从非语义数据中提炼的与安全相关的事件,如图1所示。其主要数据类型包括各类入侵检测系统(IntrusionDetectionSystem,IDS)、防火墙和蜜罐等安全组件的告警和日志,以及安全人员提炼的与安全相关的事件。这类数据自身包含了与安全相关的语义信息,所以是有标注的。获取这类数据需要部署各类安全组件,并且数据的质量与安全设备的性能高度相关。近年来,虽然各类安全组件的性能进步很大,但仍难以应对层出不穷的攻击。在实际应用中,这类数据中可能存在较多的误报和漏报。在未知网络威胁检测中,语义数据应当不包含单步未知威胁(否则就是已知威胁),但多步未知威胁可以通过对语义数据中的部分已知单步攻击的上下文推理中发现未知网络威胁。1.3安全知识数据安全知识数据主要包括系统相关信息和攻击相关知识两个部分。系统相关信息是指系统自身相关但又难以准确获取的安全相关信息,例如网络拓扑、资产信息、访问控制策略、各类系统设置和安全规则等,进一步还包括利用外界的威胁情报构建的知识图谱等高级数据形式。这类数据往往不能从真实部署的环境中直接获取或在建设、运行、维护时经常变更,需要对其进行实时监控并提供人工维护。攻击相关知识包括各种外部威胁情报信息(如漏洞库、恶意域名库等)以及其他与网络攻击相关的知识(如各类攻击模型等)。威胁情报已成为检测网络威胁的重要数据源,这类数据或由专业安全机构实时发布更新,或以非结构化的文本形式存在于互联网中。安全知识数据的获取难度各不相同,需要结合具体场景分析。但对未知网络威胁检测而言,很多最新的攻击技巧或0day漏洞往往是最先碎片化存在于社交网站中,要从互联网的海量信息中获取高质量的威胁情报数据十分困难。2不同数据场景下的未知网络威胁的检测方法2.1采用非语义数据的未知网络威胁检测方法采用非语义数据的未知网络威胁检测方法是指仅利用系统业务所产生的非语义数据实现检测,主要用于对单步未知网络威胁的检测。从采用数据角度来说,实际中使用的非语义数据主要是原始流量数据,其他类型的非语义数据主要用于用户实体行为分析(UserandEntityBehaviorAnalytics,UEBA)。从使用方法的角度来说,主要采用异常检测和开集识别的方法,并且最终通过相似度匹配思想实现检测。这类方法的检测流程如图2所示。图2采用非语义数据的未知网络威胁检测方法采用原始流量数据来识别未知威胁检测的方法框架与传统恶意流量识别任务基本相同。流量分类主要包括3种方法,分别是基于端口(Port-Based)、基于载荷(PayloadInspection-Based)和基于流(Flow-Based)。然而,由于缺乏与未知网络威胁相关的先验知识,并且对于动态端口、端口混淆、加密等技术的应用使得传统的、基于端口和载荷的流量识别方法几乎失效。因此,基于流的方法已经成为识别未知网络威胁的主流方法。在海量实时数据中,相比于传统方法,基于机器学习的恶意流量识别方法的性能优势愈发凸显

。目前,该方面的研究都是基于流级特征,并采用机器学习算法,从而实现检测。这类方法基本可以分为异常检测和开集识别。基于异常检测的方法是采用大量无标注的正常类数据训练模型,检测时将明显偏离正常类的离群点识别为未知网络威胁。例如,提出了一种基于单类支持向量机(OneClassSupportVectorMachine,OCSVM)和一维卷积自编码器(One-DimensionalConvolutionalAutoencoder,1D-CAE)的方法,通过设计一个将重构误差与分类误差相结合的统一目标函数,同时优化两个模型并实现对未知流量的识别。同样地,Shang等人提出了一种基于OCSVM的方法,并设计了粒子群优化算法对模型参数进行优化,在工控网络中实现了对未知流量的实时检测。为了解决单一模型性能不足的问题,许多研究采用集成学习的方式集成多个检测模型。例如,汪洁等人设计了多级分布式集成分类器,可以用于对未知恶意流量的识别。这种方法对数据质量要求较低,但在模式不固定的大规模网络中应用时往往容易产生较多的误报和漏报,其原因在于大多偏离正常类的离群点与威胁无关,并且对抗样本攻击、流量混淆等技术可以使恶意流量与正常流量类似,使得这类方法准确率大幅下降。基于开集识别的方法是采用各类标记数据训练细粒度的分类模型,检测时通过极值理论(ExtremeValueTheory,EVT)等方法校正分类结果,以实现对已知类和未知类的识别。例如,Cruz等人

采用Weibull-calibrated支持向量机(Weibull-calibratedSupportVectorMachine,W-SVM)对流量进行细粒度识别,并采用EVT进行评估校准以识别出未知恶意流量。Henrydoss等人

通过EVT近似计算每个已知类的边缘距离分布并实现开集流量分类。Yang等人

设计了一个两阶段分类方法,采用条件变分自编码器(ConditionalVariationalAuto-Encoder,CVAE)和EVT分别在不同阶段对已知和未知恶意流量进行识别,实现分类性能的进一步提升。此外,基于深度学习检测未知网络威胁产生的流量时,也可以结合强化学习(ReinforcementLearning)实现。例如,Puzanov等人

设计了一个小样本下基于深度强化学习的检测模型。在该方法中,如果某一新样本特征经检测模型判断与当前已知类都不符合,则需要分析人员判断其是否属于新类的未知威胁。一旦有新的未知类被确定,则检测模型会学习识别后续同类样本。这类方法实质上是采用度量学习思想,通过计算未知威胁的流量特征与所有已知类特征的相似度来进行识别,而主要区别在于所采用的识别算法和相似度计算方法不同。综上所述,采用非语义数据的未知网络威胁检测方法的优点在于:(1)数据的获取成本较低;(2)方法性能与安全设备的性能无关;(3)模型大多较简单,轻量化的方法能够实现快速部署。相应地,其缺点在于:(1)基于异常检测的方法误报率高,容易将离群点都认为是威胁或攻击行为;(2)针对隐蔽性较强的网络威胁效果欠佳;(3)方法性能受非语义数据质量的影响,且输出结果只包含是否异常,具体威胁所属细粒度类型还需要大量人工分析。此类方法适合于业务或通信模式相对固定的小规模网络系统,如工业控制网络系统等。这类系统模式相对固定,因此异常往往与攻击相关,并且由于系统规模较小,人工分析工作量较小。2.2采用非语义数据和安全知识数据的未知网络威胁检测方法采用非语义数据和安全知识数据的未知网络威胁检测方法是指利用系统业务所产生的非语义数据和安全知识数据来实现检测。从采用数据的角度来说,实际中使用的非语义数据是原始流量数据;使用的安全知识数据包括攻击相关知识和系统相关信息。从使用方法的角度来说,主要有基于零样本学习和基于攻击图两类方法,并且最终通过相似度匹配实现检测。这类方法的检测流程如图3所示。图3采用非语义数据和安全知识数据的未知网络威胁检测方法第一类方法基于零样本学习,采用攻击相关知识实现未知网络威胁检测。零样本学习作为迁移学习的一种特殊场景,可以通过安全知识数据实现对未知网络威胁的检测。相关研究处于起步阶段,零样本方法利用威胁情报的语义数据,在语义空间中实现知识转移,从而精准识别和分析未知威胁的类型。例如,提出了一种基于自编码器(Autoencoder,AE)的零样本学习方法用于未知攻击检测。该方法将已知攻击的流量特征映射到语义空间,再通过AE的重构误差建立特征到语义的映射关系,实现对未知攻击的检测及其语义分析。第二类方法基于攻击图,采用基于漏洞和网络拓扑等系统相关信息构建的攻击图,利用模式匹配实现对多步未知网络威胁的检测。例如,Nia等人

首先将所有偏离正常模式的未知流量假定为恶意流量,提取其属性信息并采用MulVAL工具生成轻量级的攻击图,其次采用随机游走和模式定理与已知攻击图进行相似度计算,最后判断该未知流量是良性类还是恶意类。综上所述,采用非语义数据和安全知识数据的未知网络威胁检测方法的优点在于:(1)方法的识别性能与安全设备的性能无关;(2)输出细粒度识别结果,理论上误报率比基于非语义数据的方法低。相应地,其缺点在于:(1)方法的性能与安全知识数据的质量高度相关,而高质量的安全知识数据获取难度较大;(2)容易受到业务模式改变(概念漂移)的影响;(3)模型复杂度和数据成本较大。此类方法适合于缺少安全设备的系统。这类环境中由于安全设备的缺失,难以获取语义数据,因此采用非语义数据和安全知识数据来识别未知威胁。2.3采用语义数据和非语义数据的未知网络威胁检测方法采用语义数据和非语义数据的未知网络威胁检测方法是指利用语义数据和非语义数据来实现对多步未知威胁的检测。从采用数据角度来说,实际中使用的语义数据是各类安全设备的告警或日志;使用的非语义数据是各类审计设备的日志数据。从使用方法的角度来说,首先采用聚类或异常检测的方法筛选出可能证明存在未知威胁的日志事件,再与现有的安全事件基于属性跨域关联分析,实现对未知网络威胁的检测。这类方法本质上与采用非语义数据方法的检测思想类似,只是采用语义数据进行关联分析,进一步筛选出可疑日志,降低误报率。这类方法的检测流程如图4所示。图4采用语义数据和非语义数据的未知网络威胁检测方法这类方法的相关研究极少,这是因为未知威胁大多隐蔽性强,很难通过对各类日志的分析筛选出来,对包含未知威胁的多步攻击检测性能欠佳。这类方法主要针对已知攻击检测,但也有对未知攻击检测的能力,在部分特殊场景中表现不错。例如,在物联网(InternetofThings,IoT)场景中将各类日志转化为图结构,采用社区发现算法聚类分析,找出可疑日志并参与安全事件的关联分析,以发现可能的多步攻击。综上所述,采用语义数据和非语义数据的未知网络威胁检测方法的优点在于:(1)误报率相对之前的方法较低;(2)模型大多较简单,轻量化的方法能够实现快速部署;(3)能够重构攻击场景,节省安全人员分析时间。相应地,其缺点在于:(1)适用场景有限;(2)针对隐蔽性较强的网络威胁效果欠佳。此类方法适合于业务或通信模式相对固定的网络系统,能够从日志层面快速筛选出潜在威胁。2.4采用语义数据和安全知识数据的未知网络威胁检测方法采用语义数据和安全知识数据的未知网络威胁检测方法是指利用语义数据和安全知识数据来实现对多步未知威胁的检测。从采用数据的角度来说,实际中使用的语义数据是各类安全设备的告警或日志;使用的安全知识数据主要包括实时更新的漏洞信息和网络拓扑等信息、攻击相关知识数据、基于威胁情报构建的安全知识图谱3种类型。从使用方法的角度来说,主要采用基于攻击图、基于攻击模型和基于知识图谱3种方法,最终通过上下文推理实现对未知威胁的检测。这类方法的检测流程如图5所示。图5采用语义数据和安全知识数据的未知网络威胁检测方法第一类方法采用系统相关信息中的漏洞和网络拓扑等信息作为安全知识数据,通过构建当前网络的攻击图,分析系统中存在的攻击路径,再结合语义数据匹配攻击图中的攻击路径,结合上下文推理来发现潜在的多步未知威胁。例如,提出了一种基于攻击图的警报关联方法,首先使用MulVAL根据网络拓扑和漏洞构建攻击图,其次将警报聚类并映射到攻击图中呈现入侵情况,最后通过攻击图上的上下文推理,发现漏报的未知网络威胁。第二类方法采用攻击相关知识中的网络攻击模型作为安全知识数据,结合语义数据中的碎片攻击,通过上下文推理识别和预测可能存在的多步未知威胁。所采用的攻击模型包括两类,一是从攻击阶段建模,采用的典型的攻击模型包括MITREATT&CK(MITREAdversarialTactics,Techniques,andCommonKnowledge)模型、统一链(UnifiedKillChain,UKC)模型等;二是为攻击者的能力、成本和收益等属性建模,如钻石模型(DiamondModel)。具体来说,采用有限状态机基于典型杀伤链(KillChain)模型将告警映射到不同的攻击阶段上,通过图上的推理实现对多步未知威胁的检测。在对基于攻击者建模的方法中,Yin等人提出了一种基于博弈论的安全度量方法,从攻击者的角度,通过量化分析攻击者的收益与风险计算出最优攻击时机,利用空间结构来建模长期博弈过程,将每个节点被攻击的可能性作为安全度量结果,以提前预测可能发生的未知威胁。第三类方法采用攻击相关知识中的外部威胁情报,构建安全知识图谱作为安全知识数据,首先利用威胁情报,例如,攻击类型枚举和分类数据集用漏洞库(CommonVulnerabilitiesandExposures,CVE)等构建知识图谱,其次将语义数据中的安全事件基于网络安全本体实例化,通过图谱上的边关系推理和上下文推

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论