RelExt: Relation Extraction using Deep Learning approaches for Cybersecurity Knowledge Graph Improvement 阅读笔记

  • Article
  • Background
  • Purpose
  • Cybersecurity Knowledge Graph
  • System Architecture
  • Experiment
    • Corpus
    • Evaluations
  • Conclusion

Article

RelExt: Relation Extraction using Deep Learning approaches for Cybersecurity Knowledge Graph Improvement

Background

每年研究者和网络防御专家会发现数百万种不同类型的攻击和恶意软件,安全分析师需要实时分析利用网络威胁情报,确保其组织的安全。网络安全知识图谱可以存储相应信息,还能检索数据和回答安全分析师提出的复杂查询问题。然而,不同网络安全系统依赖于不同知识表示模式,因此必须开发系统改进这些表示。

Purpose

本文中作者提出了一个RelExt系统在网络安全文本上创建语义三元组,使用深度学习的方法提取可能的关系。将三元组填充入网络安全知识图谱中,帮助安全分析师形成决策。

Cybersecurity Knowledge Graph

Syed等人建立了一个统一网络安全本体UCO,描述了一个包含各种网络安全要素的本体,提到了一些类及其之间可能存在的关系。作者将其作为RelExt系统的起点。

UCO 1.0基于STIX 1.2定义类和关系,本文中作者采用STIX 2.0并创建了UCO 2.0。图1展示了各实体类型之间关系的概览。

UCO 2.0中一些重要的类:Software、Malware、Indicator、Vulnerability、Course-of-action、Tool、Attack-pattern、Campaign。

UCO 2.0中的关系:

hasProduct(subject : software,object : software)

hasVulnerability(subject : software,object : vulnerability)

mitigates(subject : course-of-action,object : malware / campaign)

uses(subject : campaign / malware, object : tool / software)

indicates(subject : indicator, object : malware / campaign)

attributed-to(subject : campaign / intrusion-set, object : threat actor)

related-to

located-at

现有的安全知识图谱中可能存在两个实体之间关系不正确或缺少关系的情况,RelExt通过验证关系和插入值来改进,如图2所示。

System Architecture

RelExt是一种前馈神经网络模型,用于预测网络安全实体之间的关系,系统整体架构如图5所示。现有的模型使用诸如所涉及的实体长度、实体之间的单词等作为模型的特征。RelExt使用由网络安全NER识别的网络安全实体的上下文向量表示,利用实体间上下文相似性来判断是否构成三元组。

使用CyberTwitter中创建和使用的NER从网络安全文本中抽取(实体:类)键值对,作为RelExt的输入。根据CKG可以进一步处理输入,将与UCO 2.0和STIX 2.0中不一致的实体对删除(例如Campaign和Version)。另外,在预处理过程中删掉了不临近的实体对。该过程选定35个单词作为阈值,也即窗口大小,即两个实体必须在35个单词的窗口内才会被送入RelExt。作者发现语料库句子的平均长度为14个单词,将window-size作为句子平均长度的函数,根据经验选择了35个单词为阈值,用户可以根据需求调整参数。

经过上述处理后,利用网络安全语料库训练的Word2Vec模型生成现有实体的向量嵌入,将两个向量输入RelExt(结构如下,三个隐藏层的神经元个数分别为200、100、50),预测一个可能的关系。

Experiment

Corpus

(1)获取了2GB的公开可用的网络安全博客、技术报告(共474份),提供了大量网络安全实体之间存在的关系,与CVE等不同,这些报告之间在结构上互不相同,有助于建立一个通用的模型,减小系统bias。
(2)CVE语料库,收集了约90000条JSON实体。
(3)Microsoft和Adobe安全公告以公告的形式在各自的软件中发布安全漏洞,由于他们的产品无处不在,因此他们产品的相关知识在检测攻击时很有价值,因此也将这些公告纳入语料库。
(4)STIX语料库,从TAXII服务器的信息中产生的语义三元组。

Evaluations

用上述语料库中的关系来训练RelExt。除了网络安全专家手工标注的关系和从语料库中提取的关系外,还有一个包含33000个关系的训练集。产生向量嵌入,batch size设置为100,epoch设置为50进行迭代训练。训练结果如表I~IV所示。


Conclusion

本文提出了RelExt系统预测网络安全实体对之间的关系,描述了一pipeline,介绍了准备网络安全文本语料库,预处理,将其作为RelExt的输入进行训练。训练完成后,RelExt可以预测未见过的网络安全实体间的关系,生成三元组填充入知识图谱。

RelExt: Relation Extraction using Deep Learning approaches for Cybersecurity Knowledge Graph 阅读笔记相关推荐

  1. 《Deep Learning for Computer Vision withPython》阅读笔记-PractitionerBundle(第9 - 11章)

    9.使用HDF5和大数据集 到目前为止,在本书中,我们只使用了能够装入机器主存储器的数据集.对于小数据集来说,这是一个合理的假设--我们只需加载每一个单独的图像,对其进行预处理,并允许其通过我们的网络 ...

  2. 《Deep Learning for Computer Vision withPython》阅读笔记-StarterBundle(第6 - 7章)

    6.配置您的开发环境 当涉及到学习新技术(尤其是深度学习)时,配置开发环境往往是成功的一半.在不同的操作系统.不同的依赖版本以及实际的库本身之间,配置您自己的深度学习开发环境可能是相当令人头痛的事情. ...

  3. 《Deep Learning for Computer Vision withPython》阅读笔记-StarterBundle(第4 - 5章)

    4.图像分类基础 这句格言在我们的生活中已经听过无数次了.它只是意味着一个复杂的想法可以在一个单一的图像中传达.无论是查看我们股票投资组合的折线图,查看即将到来的足球比赛的传播,还是简单地学习绘画大师 ...

  4. 《Deep Learning for Computer Vision withPython》阅读笔记-StarterBundle(第18 - 23章)

    18.检查点模型 截止到P265页 //2022.1.18日22:14开始学习 在第13章中,我们讨论了如何在培训完成后将模型保存和序列化到磁盘上.在上一章中,我们学习了如何在发生欠拟合和过拟合时发现 ...

  5. A Survey on Deep Learning for Neuroimaging-based Brain Disorder Analysis阅读笔记

    摘要,本文工作    深度学习最近已用于分析神经影像,例如结构磁共振成像(sMRI),功能性核磁共振成像(fMRI)和正电子发射断层扫描(PET).并且在脑部疾病的计算机辅助诊断中,相对于传统的机器学 ...

  6. A Comparative Analysis of Deep Learning Approaches for Network Intrusion Detection Systems (N-IDSs)

    论文阅读记录 数据类型 在预定义时间窗口中,按照传输控制协议/互联网协议(TCP/IP)数据包将网络流量数据建模成时间序列数据. 数据:KDDCup-99/ NSL-KDD/ UNSW-NB15 NI ...

  7. 【基于深度学习的脑电图识别】应用篇:DEEP LEARNING APPROACHES FOR AUTOMATIC ANALYSIS OF EEGS

    DEEP LEARNING APPROACHES FOR AUTOMATIC ANALYSIS OF EEGS 摘要: 数据: 时序信号的时序建模: 特征提取方法: 利用时空上下文建模: 1. 混合 ...

  8. 论文阅读课8-Chinese Relation Extraction with Multi-Grained Information and External Linguistic Knowledge

    文章目录 Abstract 1.Introduction 2.相关工作 3. 方法 3.1 输入 3.1.1 字符级别表示 3.1.2单词级表示 3.2encoder 3.2.1 base latti ...

  9. Learning Memory-guided Normality for Anomaly Detection阅读笔记

    Learning Memory-guided Normality for Anomaly Detection阅读笔记 Abstract 我们解决异常检测的问题,即检测视频序列中的异常事件. 传统上,异 ...

最新文章

  1. 多分类神经网络与原子核
  2. 40亿条/秒!Flink流批一体在阿里双11首次落地的背后
  3. lsattr/chattr
  4. PLSQL创建用户及权限分配
  5. django-记住用户名-利用cookie-待演练
  6. exec vs sp_executesql
  7. win7 建立无线wifi执点全过程
  8. 联想e431笔记本更改硬盘模式bios设置的详细教程
  9. linux文件及文件夹权限
  10. C/C++[codeup 1397,2020]查找
  11. C#动态库(dll)查看代码工具(反编译工具)
  12. 将表中一整列数据都生成五笔和拼音
  13. 自我怀疑的开发者:你够好吗?
  14. 智能网联建设核心评价指标探讨
  15. 启动MyEclipse时报错,An error has occurred see the log file 出现此类错误提示
  16. 【UV打印】UV平板打印机校准教程
  17. 输入一个字符串转换成十进制整数
  18. net view 时报错 发生系统错误 6118 解决
  19. CPU被挖矿,Redis竟是内鬼。
  20. linux文件IO简述和内容整理

热门文章

  1. spark常用的linux命令,GitHub - Sparkinzy/linux-command: Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。...
  2. 微信小程序用户登录信息过期处理
  3. 【Unity开发小技巧】Unity日志输出存储
  4. [内附完整源码和文档] 基于JSP网上招聘系统的设计与实现
  5. 关于Raft的一些问题解答
  6. 不就是语法和长难句吗-思维导图分享
  7. classes是什么意思怎么读_class是什么意思_class怎么读_class翻译_用法_发音_词组_同反义词_班-新东方在线英语词典...
  8. 【机器学习】Python 3.0 简单实现K-邻近法
  9. 玩树莓派(raspberry pi) 2/3 raspbian的遇到的一些问题
  10. 巴曙松:寻找可持续的经济复苏