摘 要:近几年来,各类网络攻击为了逃避日益先进的检测技术正变得愈加具有隐蔽性和对抗性。无法用传统方法防御的未知网络威胁的检测问题逐渐成为网络空间安全中的研究热点。为此,从数据角度出发,系统地总结和比较了当前针对未知网络威胁检测的几类方法,详细分析并阐述了其所采用的数据、方法、优缺点以及适用场景,最后讨论了针对未知网络攻击检测的下一步研究方向。

内容目录:

1 用于未知威胁检测的数据类型

1.1 非语义数据

1.2 语义数据

1.3 安全知识数据

2 不同数据场景下的未知网络威胁的检测方法

2.1 采用非语义数据的未知网络威胁检测方法

2.2 采用非语义数据和安全知识数据的未知网络威胁检测方法

2.3 采用语义数据和非语义数据的未知网络威胁检测方法

2.4 采用语义数据和安全知识数据的未知网络威胁检测方法

3 结 语

近几年,在网络空间规模逐渐扩大、结构日趋复杂的同时,网络安全形势也越来越严峻。为了逃避日益先进的检测技术,各类网络威胁正变得愈加具有隐蔽性和对抗性。并且随着新冠肺炎疫情在世界范围内的流行,越来越多的组织将资产和业务迁移到线上,导致攻击面快速扩张,各类新型威胁数量和种类也急剧增多。Skybox Security 在《2022 年 漏 洞 和 威 胁 趋 势 报 告》中指出,2021 年 0day(零日)漏洞新增数量再创新高,各类新型恶意软件也层出不穷,同时攻击者利用 0day 漏洞的速度及其攻击能力得到进一步提升,使得网络空间安全面临着更多来自未知网络威胁的挑战。本文将防御者在系统训练和运行阶段未见过的网络威胁称为未知网络威胁,即缺少相关标注训练数据的网络威胁。在以往的相关研究中,大多是关注对已知网络威胁的检测,但近年来各种未知网络威胁不断涌现,给政府、企业及关键基础设施带来了巨大的安全风险。而由于未知网络威胁种类的新增速度不断增加,采用以往的人工设计规则等方法实现检测的效率太低,难以满足如今的网络安全需求。对未知网络威胁的检测已经成为当前的研究热点和难点。

在实际应用中,未知网络威胁缺乏标记数据的原因主要有两种。一是攻击者在实施攻击时采用了新 0day 漏洞或新技术。除了对新 0day漏洞的利用,由于许多攻击工具或新技术(如人工智能)可以从开源社区中被轻易获取,这不仅提高了攻击技术,还降低了攻击成本。例如韩宇等人采 用 生 成 对 抗 网 络(Generative Adversarial Networks,GAN)算法实现了恶意流量伪装,成功绕过了网络入侵检测系统(Network Intrusion Detection Systems,NIDS) 的 检 测。这类网络威胁由于防御者在此前没有相关知识,因此缺乏相关标记数据。二是攻击者在实施攻击时采用加密或社会工程等技巧,使得攻击行为与正常行为难以区分。例如,被广泛应用的传输层安全协议(Transport Layer Security,TLS)也同样被用于网络攻击,据统计,在 2020 年有 70%的恶意攻击采用了加密技术。防御方一方面需要维护数据传输的机密性,另一方面需要在加密环境下找出恶意攻击,这给攻击检测带来了极大的困难。这类网络威胁由于防御者的成本等因素限制,无法及时从海量无标注的数据中找出并标记此类攻击,因此缺乏相关标记数据。

及时检测和分析未知网络威胁的意义在于如下两个方面 。一是可以帮助系统尽快从攻击中恢复,以减少造成的损失。二是多步攻击[ 也有文献称为高级持续威胁(Advanced Persistent Threat,APT)] 常常包含未知网络威胁(例如,MITRE 公司搜集的多个真实 APT 案例中就包含了众多单步的未知攻击,包括 0day 攻击、社会工程攻击等),这类多步攻击也可以视作多步的未知网络威胁。及时发现这些攻击碎片可以帮助防御方了解所遭受的多步攻击的意图并预测后续攻击,以帮助防御方及时采取保护措施并阻止后续攻击。

可以预见,随着未来网络攻击场景更加复杂,未知网络威胁也将愈发常见。然而以往对已知网络威胁检测的基于签名的方法对未知网络威胁束手无策,基于异常的方法误报率高。并且,如今面对越来越复杂的网络攻击以及海量安全数据,大多研究采用了机器学 习(Machine Learning) 算 法 实 现 高 性 能 的威胁检测 。在机器学习算法中,分类任务定义了以下 4 个基本类:已知的已知类(Known Known Classes,KKC)、已知的未知类(Known Unknown Classes,KUC)、未知的已知类(Unknown Known Classes,UKC)和未知的未知类(Unknown Unknown Classes,UUC)。而对未知类(UKC或 UUC 类)的识别方法包括异常检测(Anomaly Detection)、 开 集 识 别(Open Set Recognition)和零样本学习(Zero-Shot Learning)3 种,相关任务及差异如表 1 所示 。从方法的角度来看,现有对单步未知网络威胁的检测方法也可以分为这 3 类,而对包含多步未知网络威胁来说,检测原理大多基于上下文推理 。

表 1 分类中不同任务的差异

从表 1 可以看出,这 3 类方法适用场景的差异主要在于所需数据的不同。然而,数据作为网络空间安全中的重要资源,获取高质量数据的成本很高。现有的研究都是针对某一具体场景下未知网络威胁检测的需求,给出了具体的解决方案。目前该领域缺乏系统性的综述研究,特别是从数据视角分析不同场景下适合的算法。为此,本文从实际应用出发,从数据视角总结了不同场景下的未知网络威胁的检测方法,并分析了不同数据条件下的检测思路,同时详细地阐述了各类检测方法的优缺点以及适用场景,为实际中各类未知网络威胁检测的实现提供了指导和参考。

用于未知威胁检测的数据类型

数据是网络威胁检测和分析的基础。特别是在机器学习架构中,数据的可用性与质量直接影响了模型的性能 。对本文所研究的未知威胁检测来说,不同来源的安全数据具有不同的语义,也具有不同的获取难度,而数据的可用性直接决定了实际应用中应该采用何种方法来实现检测。

如何对不同来源的安全数据进行分类是一个重要的研究课题。Ju 等人基于不同的语义级别将安全相关的数据分为 3 类:非语义数据(Nonsemantic Data)、 语 义 数 据(Semantic Data) 和 安 全 知 识 数 据(Security Knowledge Data)。本文在此研究的基础上,扩展和完善了相关概念,并分析了其在实际未知网络威胁检测中的位置和获取难度。

本文基于文献 [9] 和文献 [11] 给出了一个简化的通用网络威胁检测框架,并标注了各类数据在其中的所属位置,如图 1 所示。根据研究对象的不同,可将检测框架分为 5 层,分别为感知层、事件层、告警层、态势分析层和威胁情报层。感知层的任务是采集、传输并预处理系统中的各类原生数据(Raw Data);事件层的任务是对感知层中的非语义数据进行分析,将其分割和提炼为与安全相关的事件;告警层的任务是采用模式匹配、异常检测等方法对感知层的语义数据以及事件层提炼的安全事件数据进行分析,实现对各种单步攻击的检测;态势分析层的任务是结合威胁情报层的相关安全知识数据,对告警层检测到的多个单步攻击进行关联分析和场景重构等,以发现复杂的多步攻击,并呈现当前系统的网络安全态势;威胁情报层需要采集并处理各类需要的安全知识数据。

图 1 包含 3 类安全数据的典型网络威胁检测框架

1.1 非语义数据

非语义数据是指系统本身正常运行时所产生的数据,不包括安全语义信息的各程序或组件的详细记录。其主要数据类型包括镜像的流量数据、系统调用、操作日志、NetFlow、各类审计设备日志、服务器日志、数据库日志等。虽然这类数据自身并不包含与安全相关的语义信息,但安全分析人员可以通过异常检测、规则匹配等方法从中发现潜在的网络威胁。在实际应用中,这类数据较容易被获取,但因数量庞大且是无标注的,因此在威胁检测时还需进一步处理分析。

1.2 语义数据

语义数据是包含安全语义的数据,包括各类安全设备的告警和日志,以及从非语义数据中提炼的与安全相关的事件,如图 1 所示。其主要数据类型包括各类入侵检测系统(Intrusion Detection System,IDS)、防火墙和蜜罐等安全组件的告警和日志,以及安全人员提炼的与安全相关的事件。这类数据自身包含了与安全相关的语义信息,所以是有标注的。获取这类数据需要部署各类安全组件,并且数据的质量与安全设备的性能高度相关。近年来,虽然各类安全组件的性能进步很大,但仍难以应对层出不穷的攻击。在实际应用中,这类数据中可能存在较多的误报和漏报。在未知网络威胁检测中,语义数据应当不包含单步未知威胁(否则就是已知威胁),但多步未知威胁可以通过对语义数据中的部分已知单步攻击的上下文推理中发现未知网络威胁。

1.3 安全知识数据

安全知识数据主要包括系统相关信息和攻击相关知识两个部分。系统相关信息是指系统自身相关但又难以准确获取的安全相关信息,例如网络拓扑、资产信息、访问控制策略、各类系统设置和安全规则等,进一步还包括利用外界的威胁情报构建的知识图谱等高级数据形式。这类数据往往不能从真实部署的环境中直接获取或在建设、运行、维护时经常变更,需要对其进行实时监控并提供人工维护。攻击相关知识包括各种外部威胁情报信息(如漏洞库、恶意域名库等)以及其他与网络攻击相关的知识(如各类攻击模型等)。威胁情报已成为检测网络威胁的重要数据源 ,这类数据或由专业安全机构实时发布更新,或以非结构化的文本形式存在于互联网中。安全知识数据的获取难度各不相同,需要结合具体场景分析。但对未知网络威胁检测而言,很多最新的攻击技巧或 0day 漏洞往往是最先碎片化存在于社交网站中,要从互联网的海量信息中获取高质量的威胁情报数据十分困难。

不同数据场景下的未知网络威胁的检测方法

2.1 采用非语义数据的未知网络威胁检测方法

采用非语义数据的未知网络威胁检测方法是指仅利用系统业务所产生的非语义数据实现检测,主要用于对单步未知网络威胁的检测。从采用数据角度来说,实际中使用的非语义数据主要是原始流量数据,其他类型的非语义数据主要用于用户实体行为分析(User and Entity Behavior Analytics,UEBA)。从使用方法的角度来说,主要采用异常检测和开集识别的方法,并且最终通过相似度匹配思想实现检测。这类方法的检测流程如图 2 所示。

图 2 采用非语义数据的未知网络威胁检测方法

采用原始流量数据来识别未知威胁检测的方法框架与传统恶意流量识别任务基本相同。流量分类主要包括 3 种方法,分别是基于端口(Port-Based)、基于载荷(Payload Inspection-Based)和基于流(Flow-Based)。然而,由于缺乏与未知网络威胁相关的先验知识,并且对于动态端口、端口混淆、加密等技术的应用使得传统的、基于端口和载荷的流量识别方法几乎失效 。因此,基于流的方法已经成为识别未知网络威胁的主流方法。在海量实时数据中,相比于传统方法,基于机器学习的恶意流量识别方法的性能优势愈发凸显 。目前,该方面的研究都是基于流级特征,并采用机器学习算法,从而实现检测。

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

基于开集识别的方法是采用各类标记数据训练细粒度的分类模型,检测时通过极值理论(Extreme Value Theory,EVT)等方法校正分类结果,以实现对已知类和未知类的识别。例如,Cruz 等 人 采 用 Weibull-calibrated 支 持 向 量机(Weibull-calibrated Support Vector Machine,W-SVM)对流量进行细粒度识别,并采用 EVT进行评估校准以识别出未知恶意流量。Henrydoss等人 通过 EVT 近似计算每个已知类的边缘距离分布并实现开集流量分类。Yang 等人 设计了一个两阶段分类方法,采用条件变分自编码器(Conditional Variational Auto-Encoder,CVAE)和EVT 分别在不同阶段对已知和未知恶意流量进行识别,实现分类性能的进一步提升。此外,基于深度学习检测未知网络威胁产生的流量时,也可以结合强化学习(Reinforcement Learning)实现。例如,Puzanov 等人 设计了一个小样本下基于深度强化学习的检测模型。在该方法中,如果某一新样本特征经检测模型判断与当前已知类都不符合,则需要分析人员判断其是否属于新类的未知威胁。一旦有新的未知类被确定,则检测模型会学习识别后续同类样本。这类方法实质上是采用度量学习思想,通过计算未知威胁的流量特征与所有已知类特征的相似度来进行识别,而主要区别在于所采用的识别算法和相似度计算方法不同。

综上所述,采用非语义数据的未知网络威胁检测方法的优点在于:(1)数据的获取成本较低;(2)方法性能与安全设备的性能无关;(3)模型大多较简单,轻量化的方法能够实现快速部署。相应地,其缺点在于:(1)基于异常检测的方法误报率高,容易将离群点都认为是威胁或攻击行为;(2)针对隐蔽性较强的网络威胁效果欠佳;(3)方法性能受非语义数据质量的影响,且输出结果只包含是否异常,具体威胁所属细粒度类型还需要大量人工分析。此类方法适合于业务或通信模式相对固定的小规模网络系统,如工业控制网络系统等。这类系统模式相对固定,因此异常往往与攻击相关,并且由于系统规模较小,人工分析工作量较小。

2.2 采用非语义数据和安全知识数据的未知网络威胁检测方法

采用非语义数据和安全知识数据的未知网络威胁检测方法是指利用系统业务所产生的非语义数据和安全知识数据来实现检测。从采用数据的角度来说,实际中使用的非语义数据是原始流量数据;使用的安全知识数据包括攻击相关知识和系统相关信息。从使用方法的角度来说,主要有基于零样本学习和基于攻击图两类方法,并且最终通过相似度匹配实现检测。这类方法的检测流程如图 3 所示。

图 3 采用非语义数据和安全知识数据的未知网络威胁检测方法

第一类方法基于零样本学习,采用攻击相关知识实现未知网络威胁检测。零样本学习作为迁移学习的一种特殊场景,可以通过安全知识数据实现对未知网络威胁的检测。相关研究处于起步阶段,零样本方法利用威胁情报的语义数据,在语义空间中实现知识转移,从而精准识别和分析未知威胁的类型。例如,Zhang 等人 提出了一种基于自编码器(Autoencoder,AE)的零样本学习方法用于未知攻击检测。该方法将已知攻击的流量特征映射到语义空间,再通过 AE 的重构误差建立特征到语义的映射关系,实现对未知攻击的检测及其语义分析。

第二类方法基于攻击图,采用基于漏洞和网络拓扑等系统相关信息构建的攻击图,利用模式匹配实现对多步未知网络威胁的检测。例如,Nia 等人 首先将所有偏离正常模式的未知流量假定为恶意流量,提取其属性信息并采用MulVAL 工具生成轻量级的攻击图,其次采用随机游走和模式定理与已知攻击图进行相似度计算,最后判断该未知流量是良性类还是恶意类。

综上所述,采用非语义数据和安全知识数据的未知网络威胁检测方法的优点在于:(1)方法的识别性能与安全设备的性能无关;(2)输出细粒度识别结果,理论上误报率比基于非语义数据的方法低。相应地,其缺点在于:(1)方法的性能与安全知识数据的质量高度相关,而高质量的安全知识数据获取难度较大;(2)容易受到业务模式改变(概念漂移)的影响;(3)模型复杂度和数据成本较大。此类方法适合于缺少安全设备的系统。这类环境中由于安全设备的缺失,难以获取语义数据,因此采用非语义数据和安全知识数据来识别未知威胁。

2.3 采用语义数据和非语义数据的未知网络威胁检测方法

采用语义数据和非语义数据的未知网络威胁检测方法是指利用语义数据和非语义数据来实现对多步未知威胁的检测。从采用数据角度来说,实际中使用的语义数据是各类安全设备的告警或日志;使用的非语义数据是各类审计设备的日志数据。从使用方法的角度来说,首先采用聚类或异常检测的方法筛选出可能证明存在未知威胁的日志事件,再与现有的安全事件基于属性跨域关联分析,实现对未知网络威胁的检测。这类方法本质上与采用非语义数据方法的检测思想类似,只是采用语义数据进行关联分析,进一步筛选出可疑日志,降低误报率。这类方法的检测流程如图 4 所示。

图 4 采用语义数据和非语义数据的未知网络威胁检测方法

这类方法的相关研究极少,这是因为未知威胁大多隐蔽性强,很难通过对各类日志的分析筛选出来,对包含未知威胁的多步攻击检测性能欠佳。这类方法主要针对已知攻击检测,但也有对未知攻击检测的能力,在部分特殊场景中表现不错。例如,Cheng 等人 在物联网(Internet of Things,IoT)场景中将各类日志转化为图结构,采用社区发现算法聚类分析,找出可疑日志并参与安全事件的关联分析,以发现可能的多步攻击。

综上所述,采用语义数据和非语义数据的未知网络威胁检测方法的优点在于:(1)误报率相对之前的方法较低;(2)模型大多较简单,轻量化的方法能够实现快速部署;(3)能够重构攻击场景,节省安全人员分析时间。相应地,其缺点在于:(1)适用场景有限;(2)针对隐蔽性较强的网络威胁效果欠佳。此类方法适合于业务或通信模式相对固定的网络系统,能够从日志层面快速筛选出潜在威胁。

2.4 采用语义数据和安全知识数据的未知网络威胁检测方法

采用语义数据和安全知识数据的未知网络威胁检测方法是指利用语义数据和安全知识数据来实现对多步未知威胁的检测。从采用数据的角度来说,实际中使用的语义数据是各类安全设备的告警或日志;使用的安全知识数据主要包括实时更新的漏洞信息和网络拓扑等信息、攻击相关知识数据、基于威胁情报构建的安全知识图谱3 种类型。从使用方法的角度来说,主要采用基于攻击图、基于攻击模型和基于知识图谱 3 种方法,最终通过上下文推理实现对未知威胁的检测。这类方法的检测流程如图 5 所示。

图 5 采用语义数据和安全知识数据的未知网络威胁检测方法

第一类方法采用系统相关信息中的漏洞和网络拓扑等信息作为安全知识数据,通过构建当前网络的攻击图,分析系统中存在的攻击路径,再结合语义数据匹配攻击图中的攻击路径,结合上下文推理来发现潜在的多步未知威胁。例如,Hu 等人 提出了一种基于攻击图的警报关联方法,首先使用 MulVAL 根据网络拓扑和漏洞构建攻击图,其次将警报聚类并映射到攻击图中呈现入侵情况,最后通过攻击图上的上下文推理,发现漏报的未知网络威胁。

第二类方法采用攻击相关知识中的网络攻击模型作为安全知识数据,结合语义数据中的碎片攻击,通过上下文推理识别和预测 可 能 存 在 的 多 步 未 知 威 胁。所 采 用 的 攻击模型包括两类,一是从攻击阶段建模,采用 的 典 型 的 攻 击 模 型 包 括 MITRE ATT&CK(MITRE Adversarial Tactics, Techniques, and Common Knowledge) 模 型、 统 一 链(Unified Kill Chain,UKC) 模 型 等;二 是 为 攻 击 者的能力、成本和收益等属性建模,如钻石模型(Diamond Model)。具 体 来 说,Wilkens等 人 采用有限状态机基于典型杀伤链 (Kill Chain)模型将告警映射到不同的攻击阶段上,通过图上的推理实现对多步未知威胁的检测。在对基于攻击者建模的方法中,Yin 等人提出了一种基于博弈论的安全度量方法,从攻击者的角度,通过量化分析攻击者的收益与风险计算出最优攻击时机,利用空间结构来建模长期博弈过程,将每个节点被攻击的可能性作为安全度量结果,以提前预测可能发生的未知威胁。

第三类方法采用攻击相关知识中的外部威胁情报,构建安全知识图谱作为安全知识数据,首先利用威胁情报,例如,攻击类型枚举和分类数据集 用 漏 洞 库 (Common Vulnerabilities and Exposures,CVE)等构建知识图谱,其次将语义数据中的安全事件基于网络安全本体实例化,通过图谱上的边关系推理和上下文推理识别和预测可能存在的单步或多步未知网络威胁。例如,琚安康 提出一种基于知识图谱的攻击关联方法,将攻击模式、漏洞属性等结构化数据和描述文本等非结构化数据分别从本体和嵌入向量表示两个角度进行建模,在所构建的知识图谱中关联查询推理预测实体属性,发现未知网络威胁并给安全人员推荐响应方案。

综上所述,采用语义数据和安全知识数据的未知网络威胁检测方法的优点在于:(1)误报率相对之前的方法较低;(2)能够发现相对隐蔽的未知网络威胁;(3)能够重构攻击场景,节省安全人员分析时间。相应地,其缺点在于:(1)方法的性能与安全设备的性能高度相关,特别是漏报会极大影响性能;(2)方法的性能还与安全知识数据的质量有关。若所构建的攻击图或知识图谱中不包含单步未知威胁的相关信息,或者多步未知威胁不符合所采用的攻击模型,则无法关联发现未知威胁。此类方法适合于部署了高质量安全设备的网络系统,因为这类场景存在海量的多源异构数据,语义数据相比非语义数据在数量级上大大减少,能够极大地提高效率并减少误报率。

3 结 语

未知网络威胁由于缺乏签名特征或训练数据,给网络防御带来了新的挑战。对于未知威胁检测,业内当前有两种思路,一是将未知威胁转化为已知威胁后检测问题,例如基于联邦学习 等方法;二是本文总结的对未知网络威胁的检测方法。本文从数据角度系统地介绍了当前未知网络威胁检测的几种方法,并分析了各种方法的优缺点和适用场景,如表 2 所示,为实际中未知网络威胁检测的部署和实现提供了参考。

表 2 未知网络威胁检测方法对比

从表 2 和前文中可以看出,采用安全知识数据可以极大地降低检测时的误报和漏报,并可以给出对未知威胁的分析和响应建议。然而,高质量的安全语义数据获取困难,各类威胁情报的更新速度越来越快,仅凭分析人员难以及时理解和处理。开源高质量共享威胁情报更新速度较慢,而针对最新未知网络威胁的信息大多第一时间发布在各类网站上以非结构化形式零散存在,获取高质量数据难度较大。未来,未知网络威胁研究方向可以主要采用自然语言处理技术和认知计算方法,让机器自动从海量的威胁情报中得到高质量安全知识数据 ,再采用不同的方法模型进行精准分析和识别。这类方法不仅识别更精准,并且能给出具体威胁类型以及响应建议。

引用格式

引用格式:王一丰 , 郭渊博 . 数据驱动的未知网络威胁检测综述 [J]. 信息安全与通信保密 ,2022(10):86-97.

作者简介 >>>

王一丰,男,博士研究生,主要研究方向为深度学习和多步攻击检测;

郭渊博,男,博士,教授,主要研究方向为网络防御和人工智能安全。

选自《信息安全与通信保密》2022年第10期(为便于排版,已省去原文参考文献)

声明:本文来自信息安全与通信保密杂志社,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。