Extractor:Extracting Attack Behavior from Threat Reports 论文笔记

中文译名:提取器: 从威胁报表中提取攻击行为
作者:Kiavash Satvat
单位:伊利诺伊大学芝加哥分校
国家: #美国
年份: #2021年
来源: #SP
关键字: #提取信息
代码地址: https://github.com/ksatvat/Extractor
笔记建立时间: 2023-04-13 17:43
#TODO

摘要

  • 提出 EXTRACTOR,可以从 CTI 报告中精确提取简洁的攻击行为
  • 可以提取非结构化文本,对文本没有要求

1. Introduction

挑战

  • 冗长:威胁报告中充斥着大量无关文本。
  • CTI 报告的句法和语义复杂性、技术术语的普遍使用以及缺乏适当的标点符号很容易影响报告的解释和攻击行为的提取。
  • 难以准确地解释技术报告中的复杂逻辑。

目标

除了解决上面的挑战,作者还想实现两个目标:

  • 可操作的情报:EXTRACTOR 从文本中提取的攻击行为必须能在系统审计日志中被观察到,并能有效地用于威胁检测。不需要人员或工具的进一步处理
  • 准确处理大量 CTI 报告。
    • 自动挖掘更大的知识源(能够处理不同的文本)
    • 从 CTI 报告中构建图表表示
    • 从与不同组织中的同一攻击相关的各种 CTI 源提取信息

2. 问题和背景

问题描述

image.png
(实现效果)
报告 (左图)是 njRAT的自由改编,删除了不相关的句子。这个例子展示了语言的复杂性,这将在本文中讨论。在相应的来源图中 (右侧),节点表示系统实体,边指向系统调用。矩形、椭圆形、五边形和菱形分别表示文件、进程、注册表和套接字。

挑战

  • 冗余
  • CTI 文本的复杂性
    • 缺少标点符号——NLP 工具难以分辨句子边界
    • 专业单词——NLP 工具是用通用英语来训练的。
    • 省略:CTI 报告中经常出现缺少主语或宾语的情况
    • 不能忽略代词。
    • 复杂的语言结构:结构的复杂性和各种语言技术 (如回指、名词化和列表)的使用可能会混淆常见的 NLP 工具。总的影响是,许多主语、动词和宾语被错误地分类并无法解决。
  • 关系的提取:不能仅仅依赖句子的语法结构,还要分析语义

3. APPROACH

image.png
EXTRACTOR 有四个主要组成部分:1)归一化,2)resolution,3)摘要,4)图生成。

  • 规范化负责第一轮的句子简化和转换到标准形式。
  • Resolution 解决了这些句子中的歧义
  • 摘要删除了与攻击行为不严格相关的部分文本。
  • 最后,图生成负责解决文本中事件之间的时间和因果顺序,并构建最终的起源图 。

实例:
image.png

A.归一化

目的:生成规范的句子形式——将长而复杂的句子分解成更短的句子,以规范的形式出现。直观的说,每个句子都表达一个单独的动作,这样动作的主体和对象以及动作本身就更容易识别。
操作:规范化由 Tokenization、Homogenization 和 Conversion.组成。这些步骤分别执行句子边界检测、单词同质化和被动到主动动词转换。

Tokenization

目的:划分句子

  • 使用标点符号、新行、项目符号、枚举数字以及标题和题目作为句子分隔符,将长句子分割为单词序列
  • 如果每个短序列满足以下要求,就升级为一个长句子
    • 以大写的主语开始,包含了构成一个完整句子所必须的所有成分,并且前后序列也是完整句子
    • 以一个动词开始,并且该动词包含在系统调用字典中,序列包含了构成一个完整句子所必须的所有成分,并且前后序列也是完整句子
  • 示例(图 4):
    • 4-9 是一个长句子, 首先被划分为更短的序列,然后用 POS 和 DP 为其标记。并检查是否满足以上两个条件。
    • 第4行序列满足第一种情况的条件,而第5-9行序列满足第二种情况 (省略主语)的条件。
Homogenization

目的:将同一概念的多个文本表示替换为同一文本表示的过程。

  • CTI 报告通常包含可能引入歧义并影响最终结果质量的结构和同义词。例如,C 2、C&C 和 Command and Control 是同一个实体的不同表示,而像 stores、save 这样的动词可能表示对应于写入系统调用的操作。

操作:

  • 使用两个专门构建的字典对名词短语和动词进行 Homogenization,将 CTI 报告中出现的不同术语的同义词映射到审计日志中可以观察到的实体或操作。
Coversion

目的:EXTRACTOR 将被动语态转换为主动语态。这种转换有助于发现系统主体 (过程)和系统对象,以及使因果关系推断更准确.
操作:

  • 使用 POS 和 DP 来检测被动句
  • 然后转换主语和实施者,并将被动动词转换为主动动词。

经过归一化的三部分后,长句被转换为短句,并且每个短句都以主动的形式来表达一个动作。

Resolution

这部分主要用于解决句子的歧义,作者原话是“Resolution 将引用同一实体的隐式引用与实际引用进行协调”,我的理解是隐式引用可能存在一些省略的主语导致句子产生歧义,那 Resolution 就需要对主语进行补充,将隐式引用转换为显式引用。

Ellipsis Subject(省略主语) Resolution (ESR)

图四示例中的第 5-9 都是省略主语
目的:找到并补充主语
操作:

  • 利用 POS 和 DP 找到缺少主语的句子
  • 使用当前句子之前的句子中出现的实体构建一个候选主语列表
  • 计算候选主语和缺少主语的句子之间的距离(以句子数计算),距离越近被选中的概率越高。

示例:
图四的5-9行句子中缺少主语。ESR 模块检测前面句子中的主语和其他宾语,并选择出现在冒号前面的代词作为主语。

Pronoun(代词) Resolution (PR)

目的:代词解析是将代词映射并替换到其所指的先行词实体的过程。
操作:

  • 采用了一个流行的共指解析模型 NeuralCoref。这个模型在解析 CTI 报表域中的代词时效果最好,特别是在前面的 ESR 和 Tokenization 步骤之后。图4,第4、5和6行演示了已解析的前名词 (即 it 和本身)及其对应的引用 (autoalization .exe)。
Entity Resolution (ER).

实体解析是指在同一句中指代另一个实体的名词或动词短语被该实体替换或作为冗余删除的过程。
(这部分和代词有点像,例如,在图4的第11行中,The following files 指的是 mscno. exe authorization. EXE-0AD199D6. pf。这部分就是要把 The following files 换成具体的实体名)
这类词主要有三类:Anaphora(指代),Nominalization(名词化),auxiliary verb(助动词)

在 Resolution 模块过后,此时的文本由具有明确主语、宾语和动词的句子组成。

text summarization

image.png
目的:对审计报告中没有出现的内容进行删除,也就是说作者希望能够对文本更近一步的进行处理,不是简单的剔除非技术内容。
操作:

  • 使用 bert 模型将句子分为生产性和非生产性
  • 使用 BiLSTM 推导生产性句子组件的语义角色,并删除不必要的单词
    • 为了避免删除可能包含重要对象的句子组件,使得删除更加精确,使用系统实体提取器——如果一个被标记为需要删除的句子组成部分不包含 SEE 组件规则可以生成的任何实体,则该组成部分将被删除。

text summarization 是 EXTRACTOR 的核心组件之一。它负责大大降低文本的复杂性和数量,同时保留描述可观察行为的最重要的句子。
最后输出的文本形式是:系统主体 (例如,进程)、对象 (例如,文件、套接字)和操作 (例如,执行)。文本是明确的、有序的,并且大部分多余的文本被消除了

graph extraction

但是只是简单的将主语和对象设置为图中结点,动词设置为图中的边生成的图模糊且巨大。

Semantic Role Labeling SRL

SRL 可以从句子中提取角色,并且理解哪个是动作实施者,哪个是接受者。

系统实体提取器 (SEE)

SEE 模块,从 SRL 生成的角色中提取代表系统实体的简洁节点,并修剪掉不能构成可能的系统实体的无用部分。
SEE 使用超过 32 种不同的正则表达式和应用程序名称或知名进程的数据库检测可能的系统实体名称 (例如,文件或进程名称,IP,注册表项)。

graph builder GB

分两个步骤,第一步就是根据 see 修剪后剩下的文本,将主语作为结点,动作作为边构建图。
第二步就是基于因果推论来确定边的方向。

因果推论 Causal Inference

这步用于确定图中边的方向。根据系统调用到系统流方向的映射。啥意思,就是看这个系统调用是干嘛的,比如对于发送系统调用,流从主语到对象,而对于接收系统调用,流从对象到主语。

4. IMPLEMENTATION

Tokenization

建立在 NLTK 句子标记器之上。NLTK (自然语言工具包)是一个常见的自然语言处理工具包,包含为英语开发的几个库和统计自然语言处理。我们选择 NLTK 是因为我们发现它比其他方法 (spaCy, Stanford)效果更好,并且在处理 CTI 域中的文本时更加一致。

Text Summarization

使用了一个12 个隐藏层 BERT 来区分生产性句子和非生产性句子。使用了8000个标记句子,训练模型。
为了理解单词在文本摘要器中的角色,使用了一个深度 BiLSTM 模型的重新实现。由于模型没有经过微调以处理网络安全句子,我们使用3,000个手动标记的句子来训练模型。

SRL

为了实现 SRL,我们使用了[79]中描述的方法,该方法由[34]部署,该方法在 NLP 领域越来越流行。为了采用该系统并在网络安全领域获得更精确的输出,我们进一步用2000个网络安全句子重新训练模型,这些句子与我们注意到系统无法正确预测角色的领域相关。为了进一步完善,我们评估并展示了我们再培训的结果 (见章节 V-D)。

数据构建

为了构建字典和我们的数据集,我们使用了从各种来源抓取的 CTI 报告池。我们使用了不同的来源,即 APT 报告存储库[6]、微软威胁中心[8]、赛门铁克安全中心[16]、威胁百科全书[18]和病毒雷达[20],以确保多样性和覆盖范围。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值