CASIE: Extracting Cybersecurity Event Information from Text阅读总结

Purpose

本文提出了CASIE系统,该系统从文本中提取有关网络安全事件的信息并填充语义模型,其最终目标是集成到网络安全数据的知识图谱中。

Background

通过从新闻文章中提取网络安全事件,能够帮助我们了解当前的趋势和漏洞,并将其集成到网络安全知识图谱中,实现其自动化。

抽取网络安全事件和生活中的事件不同之处有两点:一是需要的专业领域知识不同;二是网络安全事件的复杂性更高,一个网络攻击事件可以包含带有多个动作的攻击模式,尝试或完成。每提及此类行动都可视为是单独的网络安全事件描述,从而增加了网络安全事件参考的可能选择。

术语Event nugget是能够清楚表达事件的单词或短语,与触发词不同。

Event argument是事件参与者或属性值,可以是事件中涉及的可标注实体(如个人或组织),也可以是指定重要信息的属性(如时间或数量)。

Role 是nugget和argument间的语义关系,每个事件类型都指定它可以拥有的角色,以及对填充这些角色参数的约束。

Realis指定事件是否发生,可以是Actual(实际发生的事件),Other(未能发生的事件或未来发生的事件),Generic(不确定的事件或者不具体的事件,如引用钓鱼攻击的概念)。
标注者间信度(inter-annotator agreement)用来衡量任务中人类评分者意见一致的指标。使用 Cohen’s Kappa score ,0.81~0.99为接近完美的表现。另外还构造了标签混淆矩阵(包括5种事件类型和20个事件参数),发现最不容易混淆的标签是CVE、时间和金钱。最容易混淆的标签如表所示。

Methods

网络安全事件抽取

表中定义了可以填充每个事件类型的基本角色和参数。我们进一步将这两种事件类型细分为五个事件子类型。
在这里插入图片描述
a. Attack.Databreach数据外联,破坏系统并删除数据,角色可以是Compromised-Data和Number-Of-Data。
b. Attack.Phishing钓鱼,模仿另一个实体,试图让受害者访问恶意链接等,角色为Trusted-Entity。
c. Attack.Ransom勒索,侵入系统加密数据,并索要赎金,角色为Ransom-Price 和Payment-Method。
d. Discover.Vulnerability安全专家或公司发现漏洞,角色为Discoverer, Capabilities, 和VS-Owner。
e. Patch.Vulnerability软件公司通过发布更新来解决已有漏洞,角色为Releaser, Issue-Addressed, Patch, Patch-Number 和 Supported-Platform。
在这里插入图片描述

系统设计和架构

CASIE包括6个步骤:事件线索检测、事件参数检测、事件参数和角色链接、事件可能性识别、事件关联、映射到知识图谱。
在这里插入图片描述
a. 事件块、参数检测
使用混合双向LSTM,基于不同的特征和输入句子中的每个单词的embdding vector,使用BIO标记每个token。
事件块特征:使用Core NLP对原始文本分词、词性还原、词性标注及NER,之后删除停用词。使用额外的知识库DEpedia和Wikidata寻找其他的命名实体。以解决CoreNLP部分类型缺失的问题。建立特征集:
(1) 每个单词的词性
(2) CoreNLP和DBpedia中的实体类型
(3) 实体在Wikidata中的相关类型
(4) 句子中提取的一组句法依赖关系
(5) 句法特征
参数特征与其相似。
词嵌入:使用Transfer-Word2vec、Domain-Word2vec、Cyber-Word2vec和Pre-built BERT,对上下文无关的使用前两种。
在这里插入图片描述使用带有CRF层的BiLSTM进行事件块和事件参数检测。使用这种架构的原因是可以使用左右两边的文本来预测目标单词。将每个语言特征的嵌入层连接起来形成嵌入层。当使用BERT嵌入时,增加额外两个双向LSTM层。注意力层可以提高参数检测的性能。

b. 链接事件参数和角色
角色将被分配给一个事件参数。例如,如果在Phishing事件中提到一个Person,他的角色可能是Attacker、Victim或Trusted-Entity。在这里插入图片描述词嵌入层通过两个全连接层,然后与其他嵌入层连接,之后经过最后一个全连接层输出结果。输出层的节点数量为每个事件的角色数量,而不是系统中的角色总数,因此要为每个事件类型建立一个神经网络,过滤掉不相关的角色(例如在Patch.Vulnerability事件中,Attacker和Victim就不应该出现在输出中)

c. 事件可能性识别
针对每个事件块识别其发生的可能性。
在这里插入图片描述
当发现事件块时,可能性的特征向量是事件块及其上下文的词向量,实验发现使用7个单词的上下文窗口可以获得最佳表现。所有的停用词都包含在识别组件中,因为它们包含重要的信息。如(may/can/not/no)等。
在这里插入图片描述首先将事件分为Generic和非Generic,若是非Generic,进一步分类为Actual和Other。

Data and Annotations

作者收集了大约5000篇网络安全的新闻文章,其中的约1000篇由三位经验丰富的计算机专家注释,通过投票机制确定最终的注释。注释的单词数量不做限制。

Results

1. 作者定义并指定了5个网络安全事件和它们的语义角色,以及20种可供角色填充的参数。 2. 展示了一个新颖的、有挑战性的新闻专线语料库,在其中注释了网络安全事件。 3. 提出CASIE系统,该网络安全事件抽取系统将现代深度学习与语义特征相结合,提供了一套完整的信息抽取模型和工具,基于背景知识图谱产生网络安全特征。

Conclusions

定义了一个网络安全事件抽取任务,定义了5种事件类型、语义角色、能够填充角色的参数类型。重点在事件检测系统:检测事件线索和参数,预测事件可能性,将事件参数和事件线索与角色联系起来。开发CASIE并评估其性能,证明了使用神经网络和词嵌入特征能够精确抽取网络安全事件的信息。

Comments

目前正在进行的是事件参数检测,未来开发用于将参数链接到Wikidata实体,并计算事件之间关联和序列关系的组件,将支持其他事件类型,将事件、参数、角色对齐与映射到统一网络安全本体,并将提取的信息导出为集成的事件图。
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值