CN117633796A - 一种事件链提取方法、装置、电子设备及存储介质 - Google Patents

一种事件链提取方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN117633796A
CN117633796A CN202311594331.8A CN202311594331A CN117633796A CN 117633796 A CN117633796 A CN 117633796A CN 202311594331 A CN202311594331 A CN 202311594331A CN 117633796 A CN117633796 A CN 117633796A
Authority
CN
China
Prior art keywords
target
event
node
detected
graph
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311594331.8A
Other languages
English (en)
Inventor
鞠凯乐
康学斌
肖新光
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Antiy Technology Group Co Ltd
Original Assignee
Antiy Technology Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Antiy Technology Group Co Ltd filed Critical Antiy Technology Group Co Ltd
Priority to CN202311594331.8A priority Critical patent/CN117633796A/zh
Publication of CN117633796A publication Critical patent/CN117633796A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开涉及一种事件链提取方法、装置、电子设备及存储介质,所述方法包括:获取待检测数据;将所述待检测数据输入预设的图检测模型中;所述图检测模型包括多个行为单元,所述行为单元根据预设的事件检出的行为规则确定;每当所述图检测模型输出所述待检测数据命中的目标事件时,将所述目标事件记录到预设的索引链表的目标索引节点中,以生成所述待检测数据对应的目标事件链;所述索引链表中每一节点对应一条事件链,所述目标索引节点对应所述目标事件链。本公开利用图算法的多节点相互连接的特点建立图检测模型提高事件链上的事件查询效率,利用索引链表解决事件链成链问题,不需要大量的if else等语句以及重复性冗余代码,提取效率也更高。

Description

一种事件链提取方法、装置、电子设备及存储介质
技术领域
本公开涉及数据处理技术领域,具体涉及一种事件链提取方法、装置、电子设备及存储介质。
背景技术
在利用网络流量检测设备、静态检测引擎和动态分析引擎针对威胁进行检测的情景中,从海量检测数据中提取带有时间和/或因果关联的事件、行为、攻击链等一直是难以解决的问题,往往需要消耗大量的人力进行人工提取与数据整理。
为了提高提取效率,目前可以通过设置自动化决策实现事件、行为、攻击链的自动提取,但是在自动化决策场景中,因为决策具有大量复杂的多层级逻辑判断,多条件流程下,在代码中会导致大量的if else等语句以及重复性冗余代码,且提取效率低。
发明内容
鉴于现有技术存在的上述问题,本公开的目的在于提供一种事件链提取方法、装置、电子设备及存储介质,能够解决现有技术中具有时间和/或因果关联的事件链提取需要大量的if else等语句以及重复性冗余代码,提取效率低的技术问题。
为了实现上述目的,本公开实施例提供一种事件链提取方法,包括:
获取待检测数据;
将所述待检测数据输入预设的图检测模型中;所述图检测模型包括多个行为单元,所述行为单元根据预设的事件检出的行为规则确定;
每当所述图检测模型输出所述待检测数据命中的目标事件时,将所述目标事件记录到预设的索引链表的目标索引节点中,以生成所述待检测数据对应的目标事件链;所述索引链表中每一节点对应一条事件链,所述目标索引节点对应所述目标事件链。
在一些实施例中,所述图检测模型的构建步骤包括:
根据预设的事件检出的行为规则生成检测图,其中,所述检测图包括图节点及相邻的图节点之间的边;所述图节点用于记录所述行为规则生成的行为单元的信息;所述边用于记录相邻的行为单元之间的关联关系;
基于所述检测图生成开始边界数组和结束边界数组,其中,所述开始边界数组中用于存储表示事件起始行为的起始事件对应的起始行为单元,所述结束边界数组中用于存储表示事件终止行为的终止事件对应的终止行为单元;
基于所述检测图、开始边界数组和结束边界数组得到所述图检测模型。
在一些实施例中,所述图检测模型输出所述待检测数据命中的目标事件,包括:
查找当前索引链表中是否存在与所述待检测数据相关联的目标索引节点;
若不存在,则从所述开始边界数组中查找所述待检测数据命中的目标起始行为单元,将所述目标起始行为单元对应的起始事件确定为目标事件并输出;
若存在,则从所述检测图中查找所述待检测数据命中的目标事件并输出,若所述检测图中查找不到所述目标事件,则从所述结束边界数组中查找所述待检测数据命中的目标终止行为单元,将所述目标终止行为单元对应的终止事件确定为目标事件并输出。
在一些实施例中,当所述目标事件为所述起始事件时,将所述起始事件作为所述目标事件链的头节点记录至索引链表的空闲节点中,并将该空闲节点确定为所述目标索引节点;
当所述目标事件为所述终止事件时,将所述终止事件作为所述目标事件链的尾节点链接至所述目标索引节点当前记录的事件链尾部,得到所述目标事件链。
在一些实施例中,所述从所述检测图中查找所述待检测数据命中的目标事件,包括:
根据目标索引节点当前记录的事件链中最后一个节点的事件信息,从所述检测图中查找与该最后一个节点关联的目标行为单元;
将所述目标行为单元对应的事件确定为所述目标事件。
在一些实施例中,所述从所述检测图中查找与该最后一个节点关联的目标行为单元,包括:
获取所述最后一个节点匹配的关联节点列表;所述关联节点列表用于记录所述检测图中与所述最后一个节点关联且曾经被命中过的下一关联节点;
从所述关联节点列表中查找所述待检测数据命中的关联节点;
若查找到所述待检测数据命中的关联节点,则将其中优先级最高的关联节点对应的行为单元确定为目标行为单元;
若未查找到所述待检测数据命中的关联节点,则遍历所述检测图中所述关联节点列表当前未记录的其他图节点,将遍历到的所述待检测数据命中的行为单元确定为目标行为单元。
在一些实施例中,所述方法还包括:
若从所述关联节点列表中查找到目标行为单元,则将所述目标行为单元对应的关联节点的优先级权重增加预设值;
若从所述其他图节点中查找到目标行为单元,则将所述目标行为单元对应的图节点记录至所述关联节点列表。
本公开实施例还提供一种事件链提取装置,包括:
获取模块,配置为获取待检测数据;
输入模块,配置为将所述待检测数据输入预设的图检测模型中;所述图检测模型包括多个行为单元,所述行为单元根据预设的事件检出的行为规则确定;
记录模块,配置为每当所述图检测模型输出所述待检测数据命中的目标事件时,将所述目标事件记录到预设的索引链表的目标索引节点中,以生成所述待检测数据对应的目标事件链;所述索引链表中每一节点对应一条事件链,所述目标索引节点对应所述目标事件链。
本公开实施例还提供一种电子设备,至少包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述方法的步骤。
本公开实施例还提供一种计算机可读存储介质,所述计算机可读介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
与现有技术相比较,本公开实施例提供的事件链提取方法、装置、电子设备及存储介质,在生成待检测数据关联的事件链时,将待检测数据输入预设的图检测模型中,进而每当所述图检测模型输出所述待检测数据命中的目标事件时,将所述目标事件记录到预设的索引链表的目标索引节点中,以生成所述待检测数据对应的目标事件链。本公开利用图算法的多节点相互连接的特点建立图检测模型提高事件链上的事件查询效率,利用索引链表解决事件链成链问题,不需要大量的if else等语句以及重复性冗余代码,提取效率也更高。
附图说明
在不一定按比例绘制的附图中,相同的附图标记可以在不同的视图中描述相似的部件。具有字母后缀或不同字母后缀的相同附图标记可以表示相似部件的不同实例。附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书以及权利要求书一起用于对所申请的实施例进行说明。在适当的时候,在所有附图中使用相同的附图标记指代同一或相似的部分。这样的实施例是例证性的,而并非旨在作为本装置或方法的穷尽或排他实施例。
图1为本公开实施例的事件链提取方法的流程图;
图2为本公开实施例的图检测模型的构建流程图;
图3为本公开实施例的事件链提取方法的另一流程图;
图4为本公开实施例的事件链提取方法的又另一流程图;
图5为本公开实施例的事件链提取装置的结构示意图。
具体实施方式
下面,结合附图对本公开的具体实施例进行详细的描述,但不作为本公开的限定。
应理解的是,可以对此处公开的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本公开的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本公开的实施例,并且与上面给出的对本公开的大致描述以及下面给出的对实施例的详细描述一起用于解释本公开的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本公开的这些和其它特征将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本公开进行了描述,但本领域技术人员能够确定地实现本公开的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本公开的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本公开的具体实施例;然而,应当理解,所公开的实施例仅仅是本公开的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本公开模糊不清。因此,本文所公开的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本公开。
首先对本公开实施例所涉及的术语进行简要说明:
(1)特征链:指一系列有因果关系的特征组成的有序集合。
(2)事件:指目标行为的事件,事件链为具有时间关系或因果关系的事件的集合。
(3)图:是一种用来存储表示多对多的关系的数据结构。
(4)缓存:指用来存储曾经搜索过的结果的结构,用于搜索加速。
(5)bfs:宽度优先搜索,无环图的搜索算法。
(6)搜索边界:表示搜索开始与结束的条件边界。
图1为本公开实施例的事件链提取方法的流程图。如图1所示,本公开实施例提供了一种事件链提取方法,包括:
S101:获取待检测数据。
本公开实施例的事件链提取方法应用于服务器等电子设备,服务器可以实时或定时获取待检测数据。服务器可以为网络攻击检测引擎、网络漏洞检测引擎、网络流量检测设备等,或者是专门用于进行事件链提取的服务器。
待检测数据为高噪音日志(log),即完全未经处理的初级日志,待检测数据中可能存在与某一或某些事件链存在时间或因果关联关系的事件(根据目标行为确定)。例如,网络攻击检测引擎可以实时获取网络运行时的运行日志,对其中的攻击行为进行检测分析,确定攻击行为对应的事件,进而根据检测到的事件提取对应的事件链(该事件链为一攻击链)。待检测数据还可以为网络流量检测设备获取的网络流量日志等,其具体类型本公开不具体限定。
S102:将所述待检测数据输入预设的图检测模型中;其中,所述图检测模型包括多个行为单元,所述行为单元根据预设的事件检出的行为规则确定。
本步骤中,可以预先将事件检出对应的一系列行为规则拆分为独立的多个的行为单元,各行为单元之间存在一定的时间或因果关联关系,然后,根据多个行为单元构建图检测模型,图检测模型中的各节点表示上述各行为单元,各节点之间相互连接,表示各行为单元之间的关联关系;之后,将待检测输入构建好的图检测模型中,根据图检测模型中存在关联关系的行为单元对待检测数据进行检测分析。
S103:每当所述图检测模型输出所述待检测数据命中的目标事件时,将所述目标事件记录到预设的索引链表的目标索引节点中,以生成所述待检测数据对应的目标事件链;其中,所述索引链表中每一节点对应一条事件链,所述目标索引节点对应所述目标事件链。
当待检测数据命中的目标事件时,确定从待检测数据中检出对应的目标事件,此时,将该目标事件记录到预设的索引链表的目标索引节点中,如此重复,直至全部的待检测数据检测完成;预设的索引链表中已经根据目标索引节点给出了目标事件链的成链规则等,因此,本实时例中,全部的待检测数据检测完成后,无需考虑事件链如何成链,根据记录有目标事件的目标索引节点,便可以快速生成所述待检测数据对应的目标事件链。
本公开实施例提供的事件链提取方法,在生成待检测数据关联的事件链时,将待检测数据输入预设的图检测模型中,进而每当所述图检测模型输出所述待检测数据命中的目标事件时,将所述目标事件记录到预设的索引链表的目标索引节点中,以生成所述待检测数据对应的目标事件链。本公开利用图算法的多节点相互连接的特点建立图检测模型提高事件链上的事件查询效率,利用索引链表解决事件链成链问题,不需要大量的if else等语句以及重复性冗余代码,事件链提取效率也更高。
在一些实施例中,如图2所示,所述图检测模型的构建步骤包括:
S201:根据预设的事件检出的行为规则生成检测图,其中,所述检测图包括图节点及相邻的图节点之间的边;所述图节点用于记录所述行为规则生成的行为单元的信息;所述边用于记录相邻的行为单元之间的关联关系;
S202:基于所述检测图生成开始边界数组和结束边界数组,其中,所述开始边界数组中用于存储表示事件起始行为的起始事件对应的起始行为单元,所述结束边界数组中用于存储表示事件终止行为的终止事件对应的终止行为单元;
S203:基于所述检测图、开始边界数组和结束边界数组得到所述图检测模型。
图检测模型构建时,将根据行为规则拆分的各行为单元以图节点的形式存储,即每个图节点表示一行为单元,相邻的图节点之间的边表示相邻的行为单元之间的关联关系,基于此,便可构建出用于检测事件的检测图。
具体实施中,可以根据yaml语句构建事件检出的行为规则,进而将行为规则进行拆分为多个行为单元,根据各行为单元之间的关联关系生成检测图。yaml是一个可读性高,用来表达数据序列化的格式,通过使用方便的yaml语句可以构建高可读性、高易维护的事件检出的行为规则。具体的,yaml语句以一个行为单元为单位,在一个单位内会留出用以标明与其他单位的关系的存储位置,从而方便确定各图节点的位置。
可选的,在根据相邻的行为单元之间的关联关系确定边时,可以根据yaml规则为每一条边设置一定的权值,表示某一行为单元发生后,对应的下一行为单元的发生概率。
上述构建的检测图为有向完全图,可以保证以任意一个节点作为起点均能够将整个检测图全部遍历,进而保证事件检出的全面、准确性。但是,有向完全图的路径可能成环,导致事件对应的事件链永远无法完结,且无法界定哪一个行为为事件链开始或结束的行为,即事件链的起始行为和结束行为无法清晰描述。因此,本实施例中,在生成检测图后,根据检测图生成开始边界数组和结束边界数组,以分别用来描述事件链的起始行为和终止行为,基于所述检测图生成开始边界数组和结束边界数组后,结合检测图即可得到完整的图检测模型。
通过步骤S201至S203构建好图检测模型后,将获取的待检测数据输入图检测模型中,图检测模型根据预设的图节点(包括检测图中的图节点、开始边界数组中的节点以及结束边界数组中的节点)以及各图节点之间的关联关系对待检测数据进行检测分析,若从待检测数据中查询检测到目标事件,确定待检测数据命中目标事件,之后根据命中的目标事件提取对应的事件链。
当待检测数据中检出的目标事件命中开始边界数组中的节点时,确定该节点对应的行为为目标事件的起始行为,该节点即为事件链的起始节点,即一个新的事件链记录被开启;当待检测数据中检出的目标事件命中结束边界数组中的节点时,确定与该目标事件相关联的事件链记录被终止,该节点即为事件链的终止节点。
图检测模型对待检测数据进行检测时,可以提取待检测数据中的关键特征,将其与图检测模型中的各图节点及各图节点之间的关联关系进行比对,从而从待检测数据中检出对应的目标事件。在通过步骤S201至S203构建好图检测模型后,可以对建的所述图检测模型进行校验,若校验成功,确定所述图检测模型为最终的图检测模型;若校验失败,重新确定事件检出的行为规则,并根据重新确定的行为规则生成图检测模型,以得到更加准确的、动态调整的图检测模型。
在一些实施例中,如图3所示,步骤S103中,所述图检测模型输出所述待检测数据命中的目标事件,包括:
S301:查找当前索引链表中是否存在与所述待检测数据相关联的目标索引节点;
S302:若不存在,则从所述开始边界数组中查找所述待检测数据命中的目标起始行为单元,将所述目标起始行为单元对应的起始事件确定为目标事件并输出;
S303:若存在,则从所述检测图中查找所述待检测数据命中的目标事件并输出,若所述检测图中查找不到所述目标事件,则从所述结束边界数组中查找所述待检测数据命中的目标终止行为单元,将所述目标终止行为单元对应的终止事件确定为目标事件并输出。
索引链表为事件链的索引,其中的每一索引节点对应一条事件链,本实施例中,索引节点为事件链的头节点,记录事件链的通用检测特征(归类特征),方便后续事件的检测归类。事件链的其他节点只记录事件的行为特征,不记录归类特征,以减少大量的if else等语句以及重复性冗余代码的使用,减少数据存储空间,并提高事件链提取效率。
将待检测数据输入图检测模型检测时,先查找当前索引链表中是否存在与所述待检测数据相关联的目标索引节点,若不存在,确定待检测数据对应的事件链为初次出现的新的事件链,此时,从所述开始边界数组中查找所述待检测数据命中的目标起始行为单元,若查找到对应的目标起始行为单元,则确定存在与事件链的头节点对应的行为单元,此时,可以将该目标起始行为单元对应的起始事件确定为目标事件并输出,以根据该起始事件生成新的事件链。若当前索引链表中存在与所述待检测数据相关联的目标索引节点,确定待检测数据对应的事件链为之前出现过的事件链,此时,从所述检测图中查找所述待检测数据命中的目标事件,若所述检测图中查找到所述目标事件,将该目标事件输出,该目标事件对应的行为单元中记录有该目标事件的具体行为特征;若所述检测图中查找不到所述目标事件,则确定不存在事件相关联的行为单元,从所述结束边界数组中查找所述待检测数据命中的目标终止行为单元,若查找到,将该目标终止行为单元对应的终止事件确定为目标事件并输出,表示目标事件链经过该终止事件后完结,根据该终止事件从预设的事件链列表中确定出待检测数据对应的目标事件链,并将该目标事件链从事件链列表中断开,实现目标事件链的提取。
若从所述结束边界数组中未查找所述待检测数据命中的目标终止行为单元,则确定待检测数据中不存在任何与事件链相关联的目标事件,此时,可以重复步骤S301至S303,对待检测数据进行重新检测,直至检出目标事件,若经多次检测仍未检出目标事件,则确定待检测数据中不存在目标事件链相关的目标事件。
通过上述S301至S303,图检测模型优先从索引链表查找与待检测数据相关联的目标索引节点,然后从开始边界数组、检测图或结束边界数组中查找对应的目标事件并输出,在利用索引链表中的目标索引节点查询时,由于每一目标索引节点代表一事件链,因此,查询的时间复杂度为O(n),其中,n为节点数量,无需直接遍历检测图进行查找,可以大大提高事件检出效率,且能够确定出目标事件所在目标事件链中的位置。
在一些实施例中,所述方法还包括:
S401:当所述目标事件为所述起始事件时,将所述起始事件作为所述目标事件链的头节点记录至索引链表的空闲节点中,并将该空闲节点确定为所述目标索引节点;
S402:当所述目标事件为所述终止事件时,将所述终止事件作为所述目标事件链的尾节点链接至所述目标索引节点当前记录的事件链尾部,得到所述目标事件链。
当通过步骤S302确定的目标事件为起始事件时,可以将该起始事件作为目标事件链的头节点记录至索引链表的空闲节点中,并将其确定为目标索引节点,方便后续其他待检测数据检测时的判断,提高后续目标事件检测效率。例如,当下一待检测数据与该目标索引节点相关联时,可以确定下一待检测数据中的目标事件不是事件链的起始事件,直接从所述检测图中查找下一待检测数据命中的目标事件并输出。当通过步骤S302确定的目标事件为终止事件时,将所述终止事件作为所述目标事件链的尾节点链接至所述目标索引节点当前记录的事件链尾部,得到所述目标事件链,从而完成该事件链的提取。
本实施例中,可以将事件链的尾节点指针记录至索引链表,便于在得到所述目标事件链后,根据尾节点指针更新待检测数据的检测命中信息(包括从检测图中查找到的目标事件、从开始边界数组和结束边界数组中查找到的目标事件),进而更新索引链表和事件链。更新索引链表包括对索引链表中目标节点的增删,更新事件链包括对事件链中事件的增删,以及对事件链的增删。在进行更新时,由于查询仅限于尾节点指针,查询的时间复杂度为O(n),相较于检测图的查询,例如,bfs查询的情况下,时间复杂度为O(n^2),可以大大提高查询效率。同时,本实施例中,只要维护上述索引链表即可解决事件链的成链问题。
在一些实施例中,步骤S303中,所述从所述检测图中查找所述待检测数据命中的目标事件,包括:
S3031:根据目标索引节点当前记录的事件链中最后一个节点的事件信息,从所述检测图中查找与该最后一个节点关联的目标行为单元;
S3032:将所述目标行为单元对应的事件确定为所述目标事件。
由于事件链中不同的事件存在一定的关联关系,在从检测图中查找待检测数据命中的目标事件时,可以利用目标索引节点当前记录的事件链中最后一个节点的事件信息,作为待检测数据在检测图中的查找起点,查找当前已经检出的最后一个节点(最后一个事件)的下一节点(下一事件)作为目标事件,如此,无需从事件链的起始事件开始进行查找,可以减少查询的时间复杂度,最坏的情况便是以该最后一个节点为起点,遍历整个检测图,如此,可以根据目标索引节点当前记录的事件链中最后一个节点,将存在关联关系的事件按序链接接入对应的事件链,进而得到完整的事件链。
在一些实施例中,如图4所示,步骤S3031中,所述从所述检测图中查找与该最后一个节点关联的目标行为单元,包括:
S501:获取所述最后一个节点匹配的关联节点列表;所述关联节点列表用于记录所述检测图中与所述最后一个节点关联且曾经被命中过的下一关联节点;
S502:从所述关联节点列表中查找所述待检测数据命中的关联节点;
S503:若查找到所述待检测数据命中的关联节点,则将其中优先级最高的关联节点对应的行为单元确定为目标行为单元;
S504:若未查找到所述待检测数据命中的关联节点,则遍历所述检测图中所述关联节点列表当前未记录的其他图节点,将遍历到的所述待检测数据命中的行为单元确定为目标行为单元。
本步骤中,可以预先设置关联节点列表,该关联节点列表中记录曾经被查找到的节点,当查找该最后一个节点的下一个节点时,优先从上述关联节点列表中查找对应的下一关联节点,若查找到多个关联节点,可以将其中优先级最高的关联节点对应的行为单元确定为目标行为单元,进而根据该目标行为单元确定目标事件。关联节点的优先级可以根据关联节点对应的行为单元的执行顺序、执行频率等确定。关联节点列表中的各关联节点可以以next数组的形式存储。若未查找到多个关联节点,则遍历所述检测图中所述关联节点列表当前未记录的其他图节点,以检出目标事件,如此,可以增加待检测数据的检测效率。
在一些实施例中,所述方法还包括:
S601:若从所述关联节点列表中查找到目标行为单元,则将所述目标行为单元对应的关联节点的优先级权重增加预设值;
S602:若从所述其他图节点中查找到目标行为单元,则将所述目标行为单元对应的图节点记录至所述关联节点列表。
在通过步骤S503从所述关联节点列表中查找到目标行为单元后,可以确定该目标行为单元的优先级较高,将其对应的关联节点的优先级权重增加预设值,并根据增加后的优先级权重对关联节点列表中的各关联节点重新进行排序,以不断调整关联节点列表,提高事件链提高准确性和效率。若通过步骤S504从其他图节点中查找到目标行为单元后,可以将所述目标行为单元对应的图节点记录至所述关联节点列表中,并为该图节点设置一定的优先级权重,根据该优先级权重对关联节点列表进行排序,更新关联节点列表。
本公开实施例提供的事件链提取方法,适用于多行为规则、多时间关系、多因果关系的待检测数据检出场景,可以从海量的日志信息等待检测数据中提取出事件链,同时,根据图算法的特征以及设置的图节点、边的权重等,也可以适用于多条件匹配的待检测数据筛选检测场景,适用范围广。
图5为本公开实施例的一事件链提取装置的结构示意图。如图5所示,基于上述的事件链提取方法,本公开实施例还提供一种事件链提取装置,包括:
获取模块10,配置为获取待检测数据;
输入模块20,配置为将所述待检测数据输入预设的图检测模型中;所述图检测模型包括多个行为单元,所述行为单元根据预设的事件检出的行为规则确定;
记录模块30,配置为每当所述图检测模型输出所述待检测数据命中的目标事件时,将所述目标事件记录到预设的索引链表的目标索引节点中,以生成所述待检测数据对应的目标事件链;所述索引链表中每一节点对应一条事件链,所述目标索引节点对应所述目标事件链。
在一些实施例中,事件链提取装置还包括图检测模型构建模块,配置为:
根据预设的事件检出的行为规则生成检测图,其中,所述检测图包括图节点及相邻的图节点之间的边;所述图节点用于记录所述行为规则生成的行为单元的信息;所述边用于记录相邻的行为单元之间的关联关系;
基于所述检测图生成开始边界数组和结束边界数组,其中,所述开始边界数组中用于存储表示事件起始行为的起始事件对应的起始行为单元,所述结束边界数组中用于存储表示事件终止行为的终止事件对应的终止行为单元;
基于所述检测图、开始边界数组和结束边界数组得到所述图检测模型。
在一些实施例中,所述图检测模型输出所述待检测数据命中的目标事件,包括:
查找当前索引链表中是否存在与所述待检测数据相关联的目标索引节点;
若不存在,则从所述开始边界数组中查找所述待检测数据命中的目标起始行为单元,将所述目标起始行为单元对应的起始事件确定为目标事件并输出;
若存在,则从所述检测图中查找所述待检测数据命中的目标事件并输出,若所述检测图中查找不到所述目标事件,则从所述结束边界数组中查找所述待检测数据命中的目标终止行为单元,将所述目标终止行为单元对应的终止事件确定为目标事件并输出。
在一些实施例中,记录模块30进一步配置为:
当所述目标事件为所述起始事件时,将所述起始事件作为所述目标事件链的头节点记录至索引链表的空闲节点中,并将该空闲节点确定为所述目标索引节点;
当所述目标事件为所述终止事件时,将所述终止事件作为所述目标事件链的尾节点链接至所述目标索引节点当前记录的事件链尾部,得到所述目标事件链。
在一些实施例中,所述从所述检测图中查找所述待检测数据命中的目标事件,包括:
根据目标索引节点当前记录的事件链中最后一个节点的事件信息,从所述检测图中查找与该最后一个节点关联的目标行为单元;
将所述目标行为单元对应的事件确定为所述目标事件。
在一些实施例中,所述从所述检测图中查找与该最后一个节点关联的目标行为单元,包括:
获取所述最后一个节点匹配的关联节点列表;所述关联节点列表用于记录所述检测图中与所述最后一个节点关联且曾经被命中过的下一关联节点;
从所述关联节点列表中查找所述待检测数据命中的关联节点;
若查找到所述待检测数据命中的关联节点,则将其中优先级最高的关联节点对应的行为单元确定为目标行为单元;
若未查找到所述待检测数据命中的关联节点,则遍历所述检测图中所述关联节点列表当前未记录的其他图节点,将遍历到的所述待检测数据命中的行为单元确定为目标行为单元。
在一些实施例中,记录模块30还配置为:
若从所述关联节点列表中查找到目标行为单元,则将所述目标行为单元对应的关联节点的优先级权重增加预设值;
若从所述其他图节点中查找到目标行为单元,则将所述目标行为单元对应的图节点记录至所述关联节点列表。
需要说明的是,本公开实施例提供的事件链提取装置与上述实施例中的事件链提取方法相对应,基于上述的事件链提取方法,本领域的技术人员能够了解本公开实施例中事件链提取装置具体实施方式以及其各种变化形式,事件链提取方法实施例中的任何可选项也适用于事件链提取装置,在此不再赘述。
本公开实施例还提供一种电子设备,至少包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现上述事件链提取方法的步骤。
在一些实施例中,执行算机程序的处理器可以是包括一个以上通用处理设备的处理设备,诸如微处理器、中央处理单元(CPU)、图形处理单元(GPU)等。更具体地,该处理器可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、运行其他指令集的处理器或运行指令集的组合的处理器。该处理器还可以是一个以上专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、片上系统(SoC)等。
存储器可以是只读存储器(ROM)、随机存取存储器(RAM)、相变随机存取存储器(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、电可擦除可编程只读存储器(EEPROM)、其他类型的随机存取存储器(RAM)、闪存盘或其他形式的闪存、缓存、寄存器、静态存储器、光盘只读存储器(CD-ROM)、数字通用光盘(DVD)或其他光学存储器、盒式磁带或其他磁存储设备,或被用于储存能够被计算机设备访问的信息或指令的任何其他可能的非暂时性的介质等。
本领域技术人员可以理解,电子设备可以包括更多或更少的部件,例如,还可包括通信接口等,或者组合某些部件,或者不同的部件布置。
本公开实施例的电子设备可以包括但不限于诸如服务器、台式计算机、数字TV等固定终端设备,以及诸如车载设备(例如HUD设备)、手持设备(例如手机、平板电脑等)、可穿戴设备(例如智能手表、智能手环等)等移动终端设备。具体实施中,电子设备优选为网络攻击检测引擎、网络漏洞检测引擎、网络流量检测设备等设备。
本公开实施例还提供一种计算机可读存储介质,所述计算机可读介质存储有计算机程序,所述计算机程序被处理器执行时实现上述事件链提取方法的步骤。
本公开实施例的计算机可读存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。本公开实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用,例如,可以为上述的存储器。
本公开的实施例的计算机程序可以组织成一个或多个计算机可执行组件或模块。可以用这类组件或模块的任何数量和组合来实现本公开的各方面。例如,本公开的各方面不限于附图中示出的和本文描述的特定的计算机可执行指令或特定组件或模块。其他实施例可以包括具有比本文所示出和描述的更多或更少功能的不同的计算机可执行指令或组件。
以上实施例仅为本公开的示例性实施例,不用于限制本公开,本公开的保护范围由权利要求书限定。本领域技术人员可以在本公开的实质和保护范围内,对本公开做出各种修改或等同替换,这种修改或等同替换也应视为落在本公开的保护范围内。

Claims (10)

1.一种事件链提取方法,其特征在于,包括:
获取待检测数据;
将所述待检测数据输入预设的图检测模型中;所述图检测模型包括多个行为单元,所述行为单元根据预设的事件检出的行为规则确定;
每当所述图检测模型输出所述待检测数据命中的目标事件时,将所述目标事件记录到预设的索引链表的目标索引节点中,以生成所述待检测数据对应的目标事件链;所述索引链表中每一节点对应一条事件链,所述目标索引节点对应所述目标事件链。
2.根据权利要求1所述的方法,其特征在于,所述图检测模型的构建步骤包括:
根据预设的事件检出的行为规则生成检测图,其中,所述检测图包括图节点及相邻的图节点之间的边;所述图节点用于记录所述行为规则生成的行为单元的信息;所述边用于记录相邻的行为单元之间的关联关系;
基于所述检测图生成开始边界数组和结束边界数组,其中,所述开始边界数组中用于存储表示事件起始行为的起始事件对应的起始行为单元,所述结束边界数组中用于存储表示事件终止行为的终止事件对应的终止行为单元;
基于所述检测图、开始边界数组和结束边界数组得到所述图检测模型。
3.根据权利要求2所述的方法,其特征在于,所述图检测模型输出所述待检测数据命中的目标事件,包括:
查找当前索引链表中是否存在与所述待检测数据相关联的目标索引节点;
若不存在,则从所述开始边界数组中查找所述待检测数据命中的目标起始行为单元,将所述目标起始行为单元对应的起始事件确定为目标事件并输出;
若存在,则从所述检测图中查找所述待检测数据命中的目标事件并输出,若所述检测图中查找不到所述目标事件,则从所述结束边界数组中查找所述待检测数据命中的目标终止行为单元,将所述目标终止行为单元对应的终止事件确定为目标事件并输出。
4.根据权利要求3所述的方法,其特征在于,
当所述目标事件为所述起始事件时,将所述起始事件作为所述目标事件链的头节点记录至索引链表的空闲节点中,并将该空闲节点确定为所述目标索引节点;
当所述目标事件为所述终止事件时,将所述终止事件作为所述目标事件链的尾节点链接至所述目标索引节点当前记录的事件链尾部,得到所述目标事件链。
5.根据权利要求3所述的方法,其特征在于,所述从所述检测图中查找所述待检测数据命中的目标事件,包括:
根据目标索引节点当前记录的事件链中最后一个节点的事件信息,从所述检测图中查找与该最后一个节点关联的目标行为单元;
将所述目标行为单元对应的事件确定为所述目标事件。
6.根据权利要求5所述的方法,其特征在于,所述从所述检测图中查找与该最后一个节点关联的目标行为单元,包括:
获取所述最后一个节点匹配的关联节点列表;所述关联节点列表用于记录所述检测图中与所述最后一个节点关联且曾经被命中过的下一关联节点;
从所述关联节点列表中查找所述待检测数据命中的关联节点;
若查找到所述待检测数据命中的关联节点,则将其中优先级最高的关联节点对应的行为单元确定为目标行为单元;
若未查找到所述待检测数据命中的关联节点,则遍历所述检测图中所述关联节点列表当前未记录的其他图节点,将遍历到的所述待检测数据命中的行为单元确定为目标行为单元。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若从所述关联节点列表中查找到目标行为单元,则将所述目标行为单元对应的关联节点的优先级权重增加预设值;
若从所述其他图节点中查找到目标行为单元,则将所述目标行为单元对应的图节点记录至所述关联节点列表。
8.一种事件链提取装置,其特征在于,包括:
获取模块,配置为获取待检测数据;
输入模块,配置为将所述待检测数据输入预设的图检测模型中;所述图检测模型包括多个行为单元,所述行为单元根据预设的事件检出的行为规则确定;
记录模块,配置为每当所述图检测模型输出所述待检测数据命中的目标事件时,将所述目标事件记录到预设的索引链表的目标索引节点中,以生成所述待检测数据对应的目标事件链;所述索引链表中每一节点对应一条事件链,所述目标索引节点对应所述目标事件链。
9.一种电子设备,其特征在于,至少包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器在执行所述存储器上的计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
CN202311594331.8A 2023-11-27 2023-11-27 一种事件链提取方法、装置、电子设备及存储介质 Pending CN117633796A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311594331.8A CN117633796A (zh) 2023-11-27 2023-11-27 一种事件链提取方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311594331.8A CN117633796A (zh) 2023-11-27 2023-11-27 一种事件链提取方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117633796A true CN117633796A (zh) 2024-03-01

Family

ID=90019307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311594331.8A Pending CN117633796A (zh) 2023-11-27 2023-11-27 一种事件链提取方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117633796A (zh)

Similar Documents

Publication Publication Date Title
EP3819785A1 (en) Feature word determining method, apparatus, and server
US11176110B2 (en) Data updating method and device for a distributed database system
WO2016177069A1 (zh) 一种管理方法、装置、垃圾短信监控系统及计算机存储介质
CN111581092B (zh) 仿真测试数据的生成方法、计算机设备及存储介质
CN110674247A (zh) 弹幕信息的拦截方法、装置、存储介质及设备
US20220229854A1 (en) Constructing ground truth when classifying data
US20230056760A1 (en) Method and apparatus for processing graph data, device, storage medium, and program product
CN108667678A (zh) 一种基于大数据的运维日志安全检测方法及装置
CN113626812A (zh) 基于结构特征筛选及负载扩展的机器学习木马检测方法
CN113449082A (zh) 一种新词发现方法、系统、电子设备及介质
CN117240632A (zh) 一种基于知识图谱的攻击检测方法和系统
CN118295842A (zh) 交易系统异常事件的数据处理方法、装置和服务器
CN112446341A (zh) 告警事件识别方法、系统、电子设备及存储介质
CN117056919A (zh) 一种基于深度学习的软件漏洞检测方法及系统
CN116821903A (zh) 检测规则确定及恶意二进制文件检测方法、设备及介质
CN116383412A (zh) 基于知识图谱的功能点扩增方法和系统
CN110472416A (zh) 一种网页恶意代码检测方法及相关装置
CN117633796A (zh) 一种事件链提取方法、装置、电子设备及存储介质
CN113419964B (zh) 一种测试案例生成方法、装置、计算机设备及存储介质
CN115314239A (zh) 基于多模型融合的隐匿恶意行为的分析方法和相关设备
CN115545043B (zh) 一种实体与关系并行抽取模型及其构建方法、装置及应用
CN117081727B (zh) 一种弱口令检测方法以及装置
CN115953248B (zh) 基于沙普利可加性解释的风控方法、装置、设备及介质
CN109325496B (zh) 基于字符去除的弹幕校验方法、装置、终端及存储介质
US20230297620A1 (en) Information search apparatus, information search method, and computer-readable recording medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination