Cyber-All-Intel: An AI for Security related Threat Intelligence阅读笔记

Purpose

本文提出了一个AI系统Cyber-All-Inter协助安全分析师,这是一个网络安全领域的知识抽取、表示和分析的端到端pipeline系统。该系统使用多种知识表示方法,即向量空间和知识图谱的结合——"VKG"来存储到来的情报。同时,利用神经网络模型积极更新知识。作者创建了一个查询引擎和告警系统。

Methods

VKG结构结合了知识图谱和向量空间的嵌入表示,为关系和相关实体创建了新的表示。在VKG结构中,知识图谱包含了基于本体的各种实体及其相互关系的显式信息。另一方面,向量嵌入包含这些实体上下文中发现的隐含信息,对基础本体进行了增强,增加关系,用来描述与本体中术语关联的向量嵌入。

Cyber-All-Intel系统的总体系统架构如图1所示。
在这里插入图片描述

Cybersecurity Sources

OSINT是从公开来源收集的情报,如报纸、杂志、社交网站、视频网站、博客等。网络安全领域中,通过OSINT获得的信息可以对传统的安全系统和监控工具(如IDPS)获得的数据进行补充。

System Pipeline & Architecture

系统首先以模块化的方式收集数据,之后进行数据预处理删除停用词等,将数据存入网络安全语料库中。之后使用Security Vulnerability Concept Extractor(SVCE)抽取实体并理解它们之间的关系。对这些数据标记和向量化,标记的实体转换为其向量嵌入,填入知识图谱中。

针对一个输入文本:Microsoft Internet Explorer allows remote attackers to execute arbitrary code or cause a denial of service (memory corruption) via a crafted web site, aka “Internet Explorer Memory Corruption Vulnerability.”

首先生成RDF三元组如图2。

在这里插入图片描述

将三元组加入系统后,VKG结构的知识部分就完成了,使用Apache Jena存储知识图谱。如图3所示,加入的节点会链接到"Microsoft Internet Explorer",“remote attackers”,“execute arbitrary code”,“denial of service”,’'crafted web site"。

每两周都会重新训练一次向量模型更新语料库。

在这里插入图片描述

The VKG Structure

VKG结构中,实体被表示为知识图谱中的一个节点,并用"hasVector"关系链接到其向量空间中的表示。向量表示能够编码"本地上下文知识",词向量可以捕获词语之间不同程度的相似度。而知识图谱能够利用推理技术获得新的知识。另外,可以同时使用它们来改进单独由其中一个部分提供的结果。例如,可以使用知识图谱提供的显式信息辅助向量空间的相似性搜索(查询引擎中使用)。

Cybersecurity Knowledge Improvement

VKG结构的另一个好处是能够使用其中一个表示来改进另一个。

Improving the Knowledge Graph Using Vector Embeddings

通过学习不同实体的向量表示,可以训练一个模型预测知识图谱中实体之间的新关系。当新数据加入时预测其关系。
在这里插入图片描述

训练集 T S = { ( v 1 , 1 , v 1 , 2 , R 1 ) , ( v 2 , 1 , v 2 , 3 , R 2 ) , . . . , ( v n , k , v n , l , R m ) } TS = \{(v_{1,1},v_{1,2},R_1),(v_{2,1},v_{2,3},R_2),...,(v_{n,k},v_{n,l},R_m)\} TS={(v1,1,v1,2,R1),(v2,1,v2,3,R2),...,(vn,k,vn,l,Rm)}

k , l ∈ E k,l \in E k,lE

v n , k , v n , l ∈ V & k ≠ l v_{n,k},v_{n,l} \in V \& k \neq l vn,k,vn,lV&k=l

R是UCO本体中的关系集合,
R = [ h a s P r o d u c t , h a s A t t a c k e r , h a s M e a n s , . . . ] R = [hasProduct, hasAttacker , hasMeans, ...] R=[hasProduct,hasAttacker,hasMeans,...]

V是向量嵌入的集合,E是实体类的集合。

Improving Vector Embeddings using the Knowledge Graph

该任务的动机来自于编码知识图谱中以断言形式呈现的全局上下文,以及编码向量嵌入中局部共同上下文的需求。比如"三星"和"苹果"都是手机制造商,这将有助于使这些实体在向量空间中距离更近。

本文建立了一个前馈神经网络,将实体的关系上下文,以及使用VKG结构的实体***RDF2Vec***向量作为输入,将其投影到相同的位置(平均),输出为实体的编码向量。结构如图5。

在这里插入图片描述

Application

A Query Processing Engine

向后端查询处理引擎发出请求,列举(list)实体或关系,查询(search)语义相似的概念,计算在存储数据上推理的输出(infer)。这三个是在VKG的应用的基本任务

C = { s e a r c h , l i s t , i n f e r } C=\{search,list, infer\} C={search,list,infer}

复杂查询可以是以上基本要求的组合,仅在知识图谱上和仅在向量上执行的查询分别表示为 Q K G Q^{KG} QKG Q v Q^v Qv

Q V K G − > Q K G ∪ Q v Q^{VKG} -> Q^{KG} \cup Q^v QVKG>QKGQv

对于一个查询:Raise an alert if, a vulnerability similar to denial of service is listed in MySQL,将其分为三个子查询:

1)在向量空间中( Q v Q^v Qv)寻找与denial of service相似的漏洞(set - V)

  1. 列举MySQL( Q 1 K G Q_1^{KG} Q1KG)中的已知漏洞(set - K)

3)在知识图谱上( Q 2 K G Q_2^{KG} Q2KG)推断是否告警(基于V中的漏洞是否在MySQL中出现)

在这里插入图片描述

Knowledge Augmentation and Alerts

VKG结构可以用来为节点添加其他来源的信息,如DBpedia,YAGO等。还可以添加从本地组织结构收集的信息,如网络活动、可执行程序的共享依赖库等,将本地组织知识加入系统。

安全分析师为系统提供一个配置文件,包含有关OS、各种已安装软件及其版本信息,将其作为规则的一部分。

利用SWRL规则实现一个推理引擎,首先计算一个情报是否"有效且是实时的",之后如果它在分析师的系统配置文件中,就发出警报。对于相似的产品(如同一家公司开发的),如果一个发出警报,就应该对另一个进行判断,在SWRL规则中考虑共享依赖库的数量、研发公司等。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值