一种威胁情报生成方法及装置与流程

文档序号:17951703发布日期:2019-06-19 00:05阅读:552来源:国知局
一种威胁情报生成方法及装置与流程
本申请涉及信息处理技术,尤其涉及一种基于知识图谱的威胁情报生成方法及装置。
背景技术
:近年来,网络攻击事件频发,影响范围越来越广,且网络攻击技术不断提高,更具威胁的零日(0day)攻击、高级持续性威胁(advancedpersistentthreat,apt)攻击等攻击手段层出不穷,传统的基于规则匹配的静态安全防护措施(如防火墙、入侵检测系统(intrusiondetectionsystems,ids))很难对这种新型未知攻击进行有效识别与拦截。为了应对此类新型的网络攻击,学术界和产业界提出了基于威胁情报的主动防御方法。然而,现有的技术主要存在以下两点不足,其一,威胁情报的实体识别与关系抽取准确率达不到预期效果,其二,从单篇文档中抽取的威胁情报仅携带极少量的上下文信息,这种孤立的入侵指标(indicatorsofcompromise,ioc)很难被安全人员理解并应用到防护系统中。技术实现要素:为解决上述技术问题,本申请实施例提供了一种威胁情报生成方法及装置。本申请实施例提供的威胁情报的生成方法,包括:采集多种类型的安全事件的描述文本,以及采集漏洞库和利用数据库;使用正则表达式从所采集的描述文本中过滤掉第一类描述文本,得到第二类描述文本,所述第一类描述文本不包含威胁字段,所述第二类描述文本包含威胁字段;使用卷积神经网络对所述第二类描述文本进行分类,得到真正的威胁情报文本和假正例威胁情报文本;从所述真正的威胁情报文本中提取实体并抽取实体之间的关系,并基于所述实体和实体之间的关系生成三元组信息;基于所述三元组信息,生成威胁情报知识图谱。本申请实施例提供的威胁情报的生成装置,包括:采集模块,用于采集多种类型的安全事件的描述文本,以及采集漏洞库和利用数据库;过滤模块,用于使用正则表达式从所采集的描述文本中过滤掉第一类描述文本,得到第二类描述文本,所述第一类描述文本不包含威胁字段,所述第二类描述文本包含威胁字段;分类模块,用于使用卷积神经网络对所述第二类描述文本进行分类,得到真正的威胁情报文本和假正例威胁情报文本;提取模块,用于从所述真正的威胁情报文本中提取实体并抽取实体之间的关系,并基于所述实体和实体之间的关系生成三元组信息;融合模块,用于基于所述三元组信息,生成威胁情报知识图谱。采用本申请实施例的上述技术方案,1)解决了威胁情报实体识别和关系抽取准确率较低造成的情报误报和漏报的问题。本申请融合正则匹配和卷积神经网络,识别出真正包含威胁信息的文本,然后使用nltk自然语言处理攻击,通过句法关系抽取出<实体,关系,实体>三元组,实现了威胁情报自动提取,该方法大大提高了威胁情报实体识别和关系抽取准确率,降低了情报漏报和误报率;2)解决了威胁情报上下文缺失和情报孤岛问题。本申请提出了基于知识图谱的威胁情报融合方法,融合多篇开源文档中的ioc信息,可以充分表达威胁事件的上下文信息,便于安全分析人员理解,同时充分挖掘多篇文档不同类型ioc之间的关联关系,利用构建的威胁情报知识图谱可以挖掘许多从单篇文档中提取的孤立ioc无法发现的知识。附图说明图1为本申请实施例提供的威胁情报的生成方法的流程示意图;图2为本申请实施例提供的卷积神经网络的示意图;图3为本申请实施例的威胁情报自动生成与融合的整体框架图;图4为本申请实施例提供的威胁情报的生成装置的结构组成示意图。具体实施方式现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。本申请实施例可以应用于计算机系统/服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器等电子设备一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。计算机系统/服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。目前,学术界和产业界常用的威胁情报生成方法主要有两种方法:方法1基于正则匹配的威胁情报生成方法:它是依据openioc词表,使用正则表达式的方式从安全文本中直接匹配ioc词条,然后将从每条文本中抽取的ioc词条存入json文件或xml文件中保存与分享。方法2依据语义依赖树的威胁情报生成方法:该方法从安全描述文本中抽取威胁情报实体,然后通过判断实体与实体之间是否存在动宾关系来确定这些实体是否是真正的威胁情报,如果两个实体之间存在明显的动宾关系,则认定该条信息属于威胁情报,提取该条威胁情报。上述技术存在的问题有:基于正则匹配的威胁情报生成方法(方法1)的主要问题在于,在威胁情报提取过程中,该方法不能理解文本上下文信息,仅仅通过正则表达式匹配公开ioc词表中的词汇类型,会造成大量的误报,即把本来不是威胁情报的文本会认定为威胁情报,并提取出很多错误的威胁情报。基于语义依赖树的威胁情报生成方法(方法2)比基于正则匹配的生成方法(方法1)好很多,但是该方法也存在自身的不足,第一,当句子结构复杂,句子指代不清晰时,威胁情报关系抽取的准确率大大降低;第二,从单篇文档中提取出的威胁情报上下文有限,不能融合多源异构数据的情报信息,致使得到的情报具有局部性和片面性,不利于纵观某类威胁情报的关联关系。图1为本申请实施例提供的威胁情报的生成方法的流程示意图,如图1所示,所述威胁情报的生成方法包括以下步骤:步骤101:采集多种类型的安全事件的描述文本,以及采集漏洞库和利用数据库;使用正则表达式从所采集的描述文本中过滤掉第一类描述文本,得到第二类描述文本,所述第一类描述文本不包含威胁字段,所述第二类描述文本包含威胁字段。本申请实施例中,从多种类型的数据源采集所述多种类型的安全事件的描述文本;其中,所述描述文本属于非结构化数据。具体地,上述多种类型的安全事件的描述文本是指多源异构数据。本申请实施例的技术方案实现了可扩展、自适应的高效数据爬虫工具,可以从公开的微博、博客、厂家公告、安全新闻等数据源采集与安全描述高相关的非结化描述文本(即安全事件的描述文本),同时,采集了公共漏洞和暴露(commonvulnerabilities&exposures,cve)漏洞库、国家信息安全漏洞共享平台(chinanationalvulnerabilitydatabase,cnvd)漏洞库、exploitdb数据库。本申请实施例中,根据开放入侵指标(openioc)词表,确定正则表达式;基于所述正则表达式从所采集的描述文本中过滤掉不包含威胁字段的第一类描述文本,得到包含威胁字段的第二类描述文本。这里,根据openioc词表确定的正则表达式如表1所示,该正则表达式可以实现自动过滤掉不包含任何威胁字段的描述文本,只在数据库中保存那些存在威胁字段的文本。ioc类型对应的正则表达式cve\b(cve\-[0-9]{4}\-[0-9]{4,6})\bemail\b([a-z][_a-z0-9-.]+@[a-z0-9-]+\.[a-z]+)\bfilepath\b[a-z]:\\[a-za-z0-9-\.\\]+\bip\b(\d{1,3}\.\d{1,3}.\d{1,3}\.\d{1,3})\bmd5\b([a-f0-9]{32}|[a-f0-9]{32})\bregistry\b((hklm|hkcu)\\[\\a-f0-9]{40})\bsha1\b([a-f0-9]{40}|[a-f0-9]{40})\bsha256\b([a-f0-9]{64}|[a-f0-9]{64})\b表1步骤102:使用卷积神经网络对所述第二类描述文本进行分类,得到真正的威胁情报文本和假正例威胁情报文本。本申请实施例中,使用词向量(word2vec)工具将所述第二类描述文本转换为向量;对转换得到的向量进行卷积操作和最大池化操作,并将池化后的向量拼接成一个全连接向量;使用sigmoid激活函数对所述全连接向量进行分类处理,基于分类结果确定所述第二类描述文本是属于真正的威胁情报文本还是属于假正例威胁情报文本。这里,假正例威胁情报文本是指包含openioc词但不属于攻击事件的文本。具体地,参照图2,使用卷积神经网络(convolutionalneuralnetworks,cnn)训练威胁情报识别分类器,对使用正则表达式过滤后的包含ioc字段的文本再次进行深入分类,过滤那些包含ioc字段但不属于威胁情报的文本(简称为威胁情报文本,也即包含威胁描述信息的文本),以此来降低威胁情报提取的误报率。步骤103:从所述真正的威胁情报文本中提取实体并抽取实体之间的关系,并基于所述实体和实体之间的关系生成三元组信息。本申请实施例中,利用自然语言处理工具(naturallanguagetoolkit,nltk)从所述真正的威胁情报文本中提取实体并抽取实体之间的关系,并基于所述实体和实体之间的关系生成三元组信息<实体,关系,实体>;对所述三元组信息进行存储。步骤104:基于所述三元组信息,生成威胁情报知识图谱。本申请实施例中,基于多个所述三元组信息,将相同的实体进行关联,生成具有多种实体和多种关系的威胁情报知识图谱。而后,可以运用成熟的图挖掘算法对威胁情报知识图谱中的节点和关系进行分析挖掘。图3为本申请实施例的威胁情报自动生成与融合的整体框架图,参照图3,本申请提出一种全新的基于知识图谱的威胁情报自动提取和融合方法。首先,通过设计的可扩展可伸缩的网络爬虫,从互联网上采集与工业控制安全相关的博客、论坛、微信公众号、安全新闻、厂商公告等安全事件描述文本,同时采集了cve漏洞库、cnvd漏洞库和exploitdb等国内外权威的漏洞披露和利用数据库。然后利用openioc词表作为匹配依据,使用正则表达式过滤掉不包含任何ioctoken的文本;然后使用卷积神经网络识别再次过滤尽管包含ioctoken但不属于威胁描述事件的文本;紧接着使用nltk对两次过滤后的多源文本进行句法依存分析,从文本中提取<实体,关系,实体>三元组关系,实现威胁情报自动提取;最后把提取的实体关系三元组加入到neo4j数据库中,实现多源文本威胁情报的自动融合,最终形成威胁情报知识图谱。威胁情报知识图谱不但能够表达更加丰富的上下文信息,同时能够充分探究多种ioc之间的潜在联系。并且可以利用该图谱实现语义检索,排序,分类、聚类、节点相似度计算等操作,在生成的威胁情报知识图谱上运行图挖掘算法能够挖掘出单片文档中孤立ioc不能发现的有价值模式。图4为本申请实施例提供的威胁情报的生成装置的结构组成示意图,如图4所示,所述装置包括:采集模块401,用于采集多种类型的安全事件的描述文本,以及采集漏洞库和利用数据库;过滤模块402,用于使用正则表达式从所采集的描述文本中过滤掉第一类描述文本,得到第二类描述文本,所述第一类描述文本不包含威胁字段,所述第二类描述文本包含威胁字段;分类模块403,用于使用卷积神经网络对所述第二类描述文本进行分类,得到真正的威胁情报文本和假正例威胁情报文本;提取模块404,用于从所述真正的威胁情报文本中提取实体并抽取实体之间的关系,并基于所述实体和实体之间的关系生成三元组信息;融合模块405,用于基于所述三元组信息,生成威胁情报知识图谱。在一实施方式中,所述采集单元401,用于:从多种类型的数据源采集所述多种类型的安全事件的描述文本;其中,所述描述文本属于非结构化数据。在一实施方式中,所述过滤模块402,用于:根据openioc词表,确定正则表达式;基于所述正则表达式从所采集的描述文本中过滤掉不包含威胁字段的第一类描述文本,得到包含威胁字段的第二类描述文本。在一实施方式中,所述分类模块403,用于:使用word2vec工具将所述第二类描述文本转换为向量;对转换得到的向量进行卷积操作和最大池化操作,并将池化后的向量拼接成一个全连接向量;使用sigmoid激活函数对所述全连接向量进行分类处理,基于分类结果确定所述第二类描述文本是属于真正的威胁情报文本还是属于假正例威胁情报文本。在一实施方式中,所述提取模块404,用于:利用nltk从所述真正的威胁情报文本中提取实体并抽取实体之间的关系,并基于所述实体和实体之间的关系生成三元组信息<实体,关系,实体>;对所述三元组信息进行存储。在一实施方式中,所述融合模块405,用于:基于多个所述三元组信息,将相同的实体进行关联,生成具有多种实体和多种关系的威胁情报知识图谱。本领域技术人员应当理解,图4所示的威胁情报的生成装置中的各模块的实现功能可参照前述威胁情报的生成方法的相关描述而理解。图4所示的威胁情报的生成装置中的各模块的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1