0 引言
随着互联网应用技术的高速发展,网络安全信息呈现指数级增长,网络犯罪日益猖獗,特别是近年来,网络安全事件频发,个人隐私和企业安全面临巨大挑战。网络安全的核心是攻防对抗,攻击者通常在时间和资源等方面掌握主动权,导致防御方处于不利地位。
为了更好地分析和利用网络安全数据,提取有效的网络安全事件并追踪关键事件,网络安全中的数据提取技术正在蓬勃发展。在网络安全领域中,安全日志和新闻博客等信息通常以文本形式存在。文本数据信息通常涵盖大量细节和专业术语,而且数据呈现出规模大、碎片化等特点,这为高效地理解数据信息带来了巨大的挑战
[1-2]。网络安全数据多源异构需要进行抽取重新组织,以便更清晰地展现。如何更准确地从数据中获取有用的信息,正逐渐成为网络安全领域研究的焦点内容。
事件抽取任务旨在从非结构化的文本中提取出结构化的事件信息,通常是在特定时间和地点发生的活动
[3-5],涉及一个或者多个参与者。为了将这些非结构化的文本以结构的形式呈现事件信息,首先需要从文本中识别出具体的网络安全事件并将其归类到预定义的类型中。然而,单纯检测事件的类型往往不足以全面描述整个事件,因此接下来的任务是进行事件论元抽取,识别和提取与网络安全相关的关键事件元素,如攻击实施者,采用的步骤,攻击的目标,发生的时间以及受到的影响等。
尽管事件抽取具有广阔的应用前景,但由于事件的结构和成分各异,同时存在语义歧义和一词多义等,这使得事件抽取仍然是一个相当具有挑战性的任务。因此,本文将深入探讨网络安全领域中事件抽取相关技术。
1 网络安全事件抽取的相关定义
事件提取的目标是检测文本中是否存在报告的事件。如果包含有相关事件,其任务是从文本中进一步提取与事件相关的信息,包括事件类型和事件参数的角色,如参与者、时间、攻击模式以及造成的影响等。根据自动内容提取(Automatic Content Extraction, ACE)定义对事件、事件触发词、事件论元、元素角色等进行详细描述。
事件指的是以自然语言描述客观发生的具体网络安全事件的形式,这通常体现为一个或一组句子;事件触发词(Event Trigger)指在网络安全事件的识别过程中,事件触发词作为最具代表性的词汇,对于确定事件类型至关重要;事件类别(Event Type)指对事件进行分类,由网络安全事件元素和触发词共同定义;事件论元(Event Argument)指在网络安全领域中,事件论元指的是参与事件的实体,它们是事件结构的基础;元素角色(Argument Role)指又称为论元角色,描述的是网络安全事件元素在相应事件中的扮演的角色是什么。
在ACE定义事件之后,许多其他事件类型和结构也被定义,如ERE和TAC-KBP定义的事件类型和结构。除了组织之外,个别研究人员也为特定领域定义了事件类型和结构,如在网络安全领域由马里兰大学定义的网络安全事件类型
[6]。
2 网络安全事件抽取数据集
本节主要介绍用于网络安全领域事件提取任务的数据集资源。通常这些数据集的标注工作由具有领域专长的个人或专家完成,标注后的样本被视为具有真实的标签。下面介绍两种常用的网络安全领域数据集和其他一些数据集。
2.1 CASIE数据集
CASIE
[6]数据集收集了约5 000篇网络安全新闻文章,其中提及定义的5种事件的约1 000条。该语料库包含了丰富的事件注释。这些文章涵盖了网络攻击以及与系统漏洞相关的事件。数据集定义了5种事件子类型,并确定了它们的语义角色,同时定义了20种与事件相关的论元类型,例如文件、设备、软件、货币等。由3位经验丰富的计算机科学家进行注释,采用多数票选出最终注释。在一篇标注文章中,通常会出现多个网络安全事件,并且这些事件可能涉及多种类型。根据指定的注释指南要求,只有在事件核心已经在其上下文中被识别的情况下,才能对事件论元进行注释,并将其设置为句子及其前后句。
2.2 CySecED数据集
CySecED
[7]使用“The HackerNews”(THN)网站上的文章作为网络安全的标注语料。CySecED参考了文献提出的网络攻击分类法,并从THN中筛选了频繁出现且影响较大的30种网络安全事件类型。这30种事件被分为4类,反映了网络攻击和漏洞处理的4个不同阶段:首先是DISCOVER阶段,即某个实体(如黑客或工程师)检测或提及软件或系统中的漏洞;其次是PATCH阶段,指某些实体(例如软件企业)修复已知的漏洞或进行补丁修复;接着是ATTACK阶段,表示攻击者利用特定漏洞通过用户泄露、病毒、间谍软件、蠕虫或拒绝服务等手段对系统造成影响;最后是IMPACT阶段,指针对系统造成的攻击后果,例如系统扰乱、信息破坏或泄露。
2.3 其他数据集
除了上述数据集,一些文献
[8-9]也构建了自己的数据集。网络安全数据的敏感性使其难以公开和共享,同时网络安全事件的稀缺性和多样性也给数据的收集和整理带来了极大的挑战。此外,网络安全是一个强领域性的问题,需要专业人员对数据进行深入分析和标注,使得获取多且高质量的标注数据变得十分困难。
综上所述,网络安全领域公开的数据集较少,而CASIE数据集包含5种事件类型,事件种类相对较少,其他攻击类型没有涵盖,比如DDoS攻击等。CySecED包含了30种事件类型,事件分类更加细化,不同的类型之间的数据量差异较大。然而CySecED数据集侧重于事件检测,但未能详尽标注事件论元信息,因此无法应用于事件论元抽取任务。
3 网络安全事件抽取方法
在网络安全事件的分析任务中,整个过程可以分为事件检测和事件论元抽取两个主要阶段。
3.1 事件检测方法
目前在网络安全事件检测领域,主要存在两种方法:一是依赖于特定触发词以识别事件的方法;二是不依赖于特定的触发词,而是通过其他特征来检测事件。
3.1.1 基于有触发词的事件检测方法
基于有触发词的事件检测方法依赖于预先定义的关键词或特征,利用触发词检测作为任务的切入点。其中最直接的方法是将句子的动词视为事件触发语。Huang等
[10]从OntoNotes提取所有名词和动词概念,并结合框架网络中的动词和词汇单位,将其作为候选的事件触发词。张家诚等
[11]提出一种融合继续预训练和分部池化的司法事件检测模型,以提高模型对领域知识的理解能力,利用触发词的位置将模型输出的嵌入向量分割成两部分,并捕获触发词上下文和句子整体的语义特征。此外Ding等
[12]提出了一种触发感知点阵神经网络事件检测框架,该框架旨在同时应对触发词不匹配及多义触发词识别两大挑战,融合了分层表示学习策略与触发感知特征提取机制,不仅深入挖掘了数据的内在多粒度特性,还实现了深度语义特征的精准捕获与学习。
在网络安全领域,Yagcioglu等
[13]结合卷积网络神经(Convolutional Neural Network, CNN)和长短期记忆网络(Long Short-Term Memory, LSTM),利用特定领域的词嵌入和特定任务的特征,提出一种利用触发词检测Twitter上嘈杂短文本网络安全事件的方法。Shin等
[14]提出一个新的网络安全事件检测系统,通过分析单词随时间的出现情况,结合聚类算法,该系统能够有效检测并聚类新的和重新出现的网络安全威胁,实验表明该系统性能良好。Khandpur等
[15]提出了一种新的基于卷积核和依赖解析的查询扩展策略,用于检测各种网络攻击,包括DDoS、数据泄露和Twitter账户劫持,只需要少量的通用种子事件触发器,并学习将它们映射到特定的事件相关扩展,从而以无监督的方式将态势感知转化为网络事件。以上文献所探讨的事件检测方法,其核心均聚焦于利用触发词作为关键线索进行识别与定位。
3.1.2 基于无触发词的事件检测方法
基于无触发词的事件检测方法,采取无事件触发词条件下的事件抽取任务。由于基于触发词的事件检测方法过于依赖训练数据中标注的事件触发词,这一过程往往需要大量的人力和物力。此外,标注过程中的错误以及事件触发词本身可能存在的歧义性也会对最终的事件抽取效果产生负面影响。为了解决这些问题,一些研究者已经开始逐步探索在没有事件触发词的情况下进行事件抽取的相关任务。纪文迪等
[16]提出一种基于对比学习与数据增强的零样本事件检测方法,其不直接依赖于触发词,通过事件描述的重构与复写,自动为无监督的对比学习提供训练样本,实现从大量文本中自动发现并归类新的事件类型。Wan等
[17]提出了一种基于双注意力的无触发器事件检测模型,该模型利用局部注意力机制专注于句子中的核心语义元素,以此模拟并识别潜在的事件触发词,进而应对触发词识别不一致的问题。此外,模型借助全局注意力机制深入分析整个文档的上下文信息,针对多义性触发词带来的挑战,提供了一种有效的解决策略。
网络安全领域同样引入了无触发词事件检测解决触发词构建难的问题。Wang等
[18]提出了一种带有事件描述的网络安全事件检测新范式,该范式无需触发词有助于节省标注工作和提高研究人员的效率,结合上下文相关词嵌入、上下文无关词嵌入和字符级词嵌入来增强网络安全领域的词表示。此外也有文献把事件检测任务简化成语义分类任务,如Fang等
[19]针对Twitter上的网络威胁事件检测,提出了一种基于自然语言处理技术、迭代扩张卷积神经网络(Iterated Dilated Convolution Neural Network, IDCNN)和双向长短期记忆(Bidirectional Long Short-Term Memory, BiLSTM)的机器学习算法,同时使用隐念狄利克雷分布(Latent Dirichlet Allocation, LDA)提取推文的主题关键词,实现了高精度的多任务学习模型。Tang等
[9]提出了一种基于对比学习的无触发网络安全事件检测方法,通过将语义纳入表示模型,弱化触发器在事件分类中的作用,并使用文本语义叠加词频权重进行事件检测,实现触发器语义融合进行无触发词事件检测。
综上所述,目前大多数方法还是采用了基于触发词的事件检测,基于无触发词的事件抽取研究还存在一定的局限性。有些方法仅考虑了上下文级别的语义表示,而在使用词级语义表示时,仍然将每个单词视为可能的触发词。此外,现有研究在处理事件类型的语义表示时也存在一定的不足。为了弥补这些缺陷,未来的研究需要进一步探索更有效的方法来提升事件抽取的准确性和适用性。
3.2 事件论元抽取方法
事件论元检测的方法可以根据所使用的特征范围,分为句子级方法和篇章级方法两大类。这两类方法的主要区别在于处理信息的层级和范围。在网络安全领域,这些方法可以抽取各种网络攻击事件的相关论元信息,从而增强对网络安全威胁的理解力。事件论元抽取示例如
图2所示。
3.2.1 句子级的方法
Wang等
[20]提出分层模块化事件参数提取模型,通过将神经模块网络签名与概念层次结构相结合,组合单元模块以提取句子中的事件参数角色,以便有效分类特定事件参数。Du等
[21]提出一种新的事件抽取方法,该方法通过将句子中的事件论元抽取转化为问答形式的端到端任务,有效减轻了因实体识别错误而导致的错误传播问题。与此同时,Li等
[22]设计一种多轮问答驱动的事件抽取框架,该框架将论元抽取视为阅读理解任务,并通过嵌入先前的答案来捕获不同事件类型与论元间的交互作用。这种方法不仅增强了模型对新事件类型和论元角色的泛化能力,还提高了抽取的准确性。Hsu等
[23]提出一种低资源端到端事件抽取模型,通过更好地结合标签语义和子任务之间的共享知识,将事件建模为条件生成问题为设计的语义提示提供指导,有效地从句子中提取事件预测,并在少量训练数据下表现出良好的学习能力。而网络安全领域句子级事件抽取方法相对较少。Luo等
[8]提出了利用字符嵌入和滑动窗口机制获取句子上下文信息,并将其建模为序列标记问题,用于预测每个字符的标签,从而预测事件的类型。Qiu等
[24]设计并比较多种用于分类网络攻击事件及其论据的特征表示模型,并结合句子的词汇、上下文和语义特征,使用有监督的学习方法和预标注的训练和测试数据,以便识别网络攻击事件参数。
3.2.2 篇章级的方法
在进行事件抽取时,若仅关注句子层面的事件信息提取,会忽略跨句子的上下文联系和事件之间的关联性,可能会丢失重要信息,从而影响到事件完整度和分析的深度。事件抽取通常被定义为一种基于单句的抽取任务,然而这种方法可能与信息搜集时的自然行为模式不相符,因为其更倾向于在更广阔的文本环境中识别和理解事件。Li等
[25]提出一个文档级神经事件参数提取模型,通过将任务表述为遵循事件模板的条件生成,条件文本生成的端到端神经事件参数提取模型解决了文档级参数提取任务。Ren等
[26]研究了为文档级事件论元抽取设计检索增强策略,并引入了一种新的自适应混合提取增强范式,旨在生成深度线索作为模型解决任务的关键参考向量,从而提升其类比能力。Liu等
[27]提出一种新的方法来缓解文档级事件论元抽取面临的数据稀疏问题,将任务与机器阅读理解联系起来。该方法设计了基于机器阅读理解的数据增强机制,从而有效解决长上下文和数据稀疏带来的挑战。Yang等
[28]提出一种少样本文档级事件论元抽取基准模型,通过新的N-Way-D-Doc采样方法和调整后的神经模型,在处理跨句子传播的事件论元时取得了显著进展。Zhang等
[29]专注于隐式事件论元检测任务,通过引入跨句事件论元候选人的两步法处理挑战,展示了在RAMS数据集上优于强序列标注基线的整体性能。
然而网络安全领域的发展相较于通用领域较为缓慢,由于其技术和应用需要高度的专业背景知识,因此相关研究相对较少。Satyapanich等
[6]在信息安全领域中采用神经网络进行事件论元篇章级抽取。该模型使用不同的特征作为输入表示,通过确定事件块进一步抽取相关的事件元素信息。Luo等
[8]提出了一个框架,不仅在句子级验证有效,同时在篇章级也得到了验证。该框架旨在从网络安全新闻、博客和公告中以端到端方式提取文档级网络安全事件,将其建模为序列标记问题。使用字符嵌入和滑动窗口机制获取跨句上下文信息,以便预测每个字符的标签。
综上所述,句子级的事件论元抽取相比篇章级具有更高的准确度且更容易实现。然而,在网络安全复杂场景中,某些事件的论元可能跨越两个或多个句子,这导致句子级抽取的事件论元存在缺失等问题。最后,如
表1所示,对不同的网络安全事件抽取方法进行了系统比较。
4 大模型在网络安全事件抽取的应用
自Chat GPT-3.5的推出,自然语言处理领域经历了一次革命性的进展。Chat GPT模型通过利用提示和问答机制来准备训练数据,从而指导模型在对话交互中产生符合预期的回应。大模型的一个关键基础能力是其对上下文的语义理解与分析,这对于事件抽取任务至关重要。这种能力允许模型推断出文本中事件的含义、事件间的联系以及深层的语义信息。它还能识别文本数据中的相关性和相似性,为事件的关联分析和聚类提供了技术支撑。因此,利用大模型的语义分析能力,可以进一步开发相关技术,以提高对事件信息的抽取和分析质量。
微软在2023年推出了Security Copilot的安全大模型,该模型专注于分析和还原安全事件的攻击路径与目标,同时提供有效的事件应对策略。谷歌的Sec-PaLM 2模型被应用于代码审计领域,它能够深入解析潜在的恶意脚本行为,并有效检测代码中的安全威胁。另外国内也有网络安全方面的大模型如深信服安全GPT、360GPT安全应用框、绿盟科技SecXO ps等实现了高级威胁检测、安全监测调查、热门漏洞排查以及安全智能分析
[30]。
GPT在复杂场景中需要专业领域的背景知识,然而它仍难与事件抽取任务模型的性能相匹配。特别是网络安全领域,构建大模型面临的挑战包括数据集格式不统一、数据噪声问题以及专业标注需求,这些因素共同增加了构建高质量训练数据集的复杂度。其次大模型在推理过程中可能出现的“幻觉”倾向,即生成看似可信但实际错误的信息,对提高其在安全事件处置等关键场景下的可信度和准确性提出了挑战。
因而,为了提升网络安全大模型的训练效果,应建立统一的数据集格式标准,并探索少样本或零样本学习方法以减少人工标注的需求。此外,为了减少模型出现的“幻觉”,提升大模型在网络安全领域的可信度和安全性,应结合专家知识、强化学习技术进行训练,并将模型输出作为辅助参考,确保重大决策结合专家综合评估。
5 结束语
网络安全事件抽取作为文本信息抽取中一项至关重要的工作,其主要目标是从文本中提取网络安全事件的结构化信息,这对于网络安全防护、情报收集和风险评估等多个领域都具有重要的意义。由于其对信息聚合、风险评估和威胁情报分析等应用的重要性,事件抽取自几十年前就已经成为研究的热点。然而,网络安全事件抽取的发展相对缓慢,根本原因在于标注数据集的匮乏。此外,网络安全事件的类型繁多、模式多变,加之文本语义的复杂性和多样性,进一步加剧了该领域发展的难度。在网络安全领域,事件抽取的应用尚处于起步阶段,代表着巨大的发展潜力。而当前大模型技术的迅猛发展为网络安全领域的信息抽取带来了新的机遇。这些模型通过其强大的学习能力,有望在网络安全事件抽取方面实现突破,进而推动整个网络安全领域的发展。