发明内容
本公开的一个方面提供了一种基于资产知识图谱的信息处理方法,包括:根据接收的待执行指令读取资产知识图谱,并基于所述待执行指令在所述资产知识图谱中确定目标实体,以及确定与所述目标实体关联的属性集合;基于确定出的所述目标实体,在所述资产知识图谱中确定与所述目标实体具有关联关系的第一关联实体;基于所述属性集合的至少部分属性,在所述资产知识图谱中确定与所述至少部分属性具有关联关系的第二关联实体;输出针对所述待执行指令的实体集合,所述实体集合包括所述目标实体、所述第一关联实体和所述第二关联实体,其中,其中,所述资产知识图谱是基于资产数据中具有关联关系的实体构建而成的,所述具有关联关系的实体是根据从资产数据中抽取的实体要素确定的,所述实体要素包括实体、实体属性和实体关联关系。
可选地,所述资产知识图谱中的实体包括设备实体、软件实体、网站实体、应用系统实体和网络服务实体中的至少之一。
可选地,所述根据接收的待执行指令读取资产知识图谱,并基于所述待执行指令在所述资产知识图谱中确定目标实体,以及确定与所述目标实体关联的属性集合,包括:根据接收的检索指令读取资产知识图谱;基于所述检索指令指示的至少一个检索元素,在所述资产知识图谱中确定与所述至少一个检索元素关联的实体关系组,其中,所述实体关系组包括实体、实体属性和实体关联关系;将所述实体关系组中的实体作为所述目标实体,将所述实体关系组中的实体属性作为与所述目标实体关联的属性集合。
可选地,所述根据接收的待执行指令读取资产知识图谱,并基于所述待执行指令在所述资产知识图谱中确定目标实体,以及确定与所述目标实体关联的属性集合,包括:根据接收的风险评估指令读取资产知识图谱,其中,所述风险评估指令是在检测到风险评估触发事件后生成的;基于所述风险评估指令指示的告警信息,在所述资产知识图谱中确定所述告警信息指示的攻击目标实体,以作为所述目标实体;确定针对所述攻击目标实体的属性集合,以作为与所述目标实体关联的属性集合。
可选地,所述在所述资产知识图谱中确定所述告警信息指示的攻击目标实体,包括:根据所述告警信息指示的攻击源信息,确定攻击源的攻击特征向量,其中,所述攻击特征向量是根据所述攻击源的攻击手段构建的;根据所述攻击特征向量,确定与所述攻击源关联的攻击链路;在所述资产知识图谱中确定与所述攻击链路关联的实体,以作为所述攻击目标实体。
可选地,在所述资产知识图谱中确定与所述目标实体具有关联关系的第一关联实体时,所述关联关系包括以下至少之一:媒介关系、组成关系、管理关系、业务上下游关系、服务对象关系和通信连接关系。
本公开的另一方面提供了一种资产知识图谱的构建方法,包括:获取资产数据;根据预设抽取规则,从所述资产数据中进行基于实体、实体属性和实体关联关系的实体要素抽取;根据抽取的所述实体要素,确定所述资产数据中具有关联关系的实体;基于具有关联关系的实体,构建所述资产知识图谱。
可选地,所述资产知识图谱中的实体包括设备实体、软件实体、网站实体、应用系统实体和网络服务实体中的至少之一。
可选地,所述资产数据包括结构化资产数据和非结构化资产数据,其中,所述根据抽取的所述实体要素,确定所述资产数据中具有关联关系的实体,包括:基于抽取的所述实体要素,确定所述结构化资产数据和所述非结构化资产数据之间以及确定所述非结构化资产数据内部具有关联关系的实体。
可选地,在基于具有关联关系的实体,构建所述资产知识图谱时,包括:在所述资产数据中,进行针对同一实体的聚合处理;进行针对不同实体的消歧处理;进行针对具有关联关系实体的链接处理。
可选地,所述进行针对同一实体的聚合处理,包括:基于实体属性和实体关联关系,确定所述结构化资产数据和所述非结构化资产数据中不同实体间的相似度;以及针对至少两个任意实体,当所述相似度高于预设阈值时,确定所述至少两个任意实体为同一实体;进行针对所述同一实体的聚合处理。
可选地,所述进行针对不同实体的消歧处理,包括:基于实体属性和实体关联关系,确定至少两个同名实体是否为同一实体;当所述至少两个同名实体不是同一实体时,对所述至少两个同名实体进行命名区分,以实现所述针对不同实体的消歧处理。
可选地,所述关联关系包括以下至少之一:媒介关系、组成关系、管理关系、业务上下游关系、服务对象关系和通信连接关系。
可选地,本方法还包括:将构建得到的所述资产知识图谱中的至少部分图谱与实际资产配置信息进行比对,以确定所述至少部分图谱的置信度;以及,当所述置信度低于预设阈值时,从所述资产知识图谱中剔除所述至少部分图谱。
本公开的另一方面提供了一种基于资产知识图谱的信息处理装置,包括:第一处理模块,用于根据接收的待执行指令读取资产知识图谱,并基于所述待执行指令在所述资产知识图谱中确定目标实体,以及确定与所述目标实体关联的属性集合;第一关联实体确定模块,用于基于确定出的所述目标实体,在所述资产知识图谱中确定与所述目标实体具有关联关系的第一关联实体;第二关联实体确定模块,用于基于所述属性集合的至少部分属性,在所述资产知识图谱中确定与所述至少部分属性具有关联关系的第二关联实体;实体集合输出模块,用于输出针对所述待执行指令的实体集合,所述实体集合包括所述目标实体、所述第一关联实体和所述第二关联实体,其中,所述资产知识图谱是基于资产数据中具有关联关系的实体构建而成的,所述具有关联关系的实体是根据从资产数据中抽取的实体要素确定的,所述实体要素包括实体、实体属性和实体关联关系。
可选地,所述资产知识图谱中的实体包括设备实体、软件实体、网站实体、应用系统实体和网络服务实体中的至少之一。
可选地,所述第一处理模块包括:第一处理子模块,用于根据接收的检索指令读取资产知识图谱;实体关系组确定模块,用于基于所述检索指令指示的至少一个检索元素,在所述资产知识图谱中确定与所述至少一个检索元素关联的实体关系组,其中,所述实体关系组包括实体、实体属性和实体关联关系;第二处理子模块,用于将所述实体关系组中的实体作为所述目标实体,将所述实体关系组中的实体属性作为与所述目标实体关联的属性集合。
可选地,所述第一处理模块包括:第三处理子模块,用于根据接收的风险评估指令读取资产知识图谱,其中,所述风险评估指令是在检测到风险评估触发事件后生成的;第四处理子模块,用于基于所述风险评估指令指示的告警信息,在所述资产知识图谱中确定所述告警信息指示的攻击目标实体,以作为所述目标实体,以及确定针对所述攻击目标实体的属性集合,以作为与所述目标实体关联的属性集合。
可选地,所述第四处理子模块包括:攻击特征向量确定单元,用于根据所述告警信息指示的攻击源信息,确定攻击源的攻击特征向量,其中,所述攻击特征向量是根据所述攻击源的攻击手段构建的;攻击链路确定单元,用于根据所述攻击特征向量,确定与所述攻击源关联的攻击链路;攻击目标实体确定单元,用于在所述资产知识图谱中确定与所述攻击链路关联的实体,以作为所述攻击目标实体。
可选地,在所述资产知识图谱中确定与所述目标实体具有关联关系的第一关联实体时,所述关联关系包括以下至少之一:媒介关系、组成关系、管理关系、业务上下游关系、服务对象关系和通信连接关系。
本公开另一方面提供了一种资产知识图谱的构建装置,包括:第一获取模块,用于获取资产数据;第一处理模块,用于根据预设抽取规则,从所述资产数据中进行基于实体、实体属性和实体关联关系的实体要素抽取;第二处理模块,用于根据抽取的所述实体要素,确定所述资产数据中具有关联关系的实体;第三处理模块,用于基于具有关联关系的实体,构建所述资产知识图谱。
可选地,所述资产知识图谱中的实体包括设备实体、软件实体、网站实体、应用系统实体和网络服务实体中的至少之一。
可选地,所述资产数据包括结构化资产数据和非结构化资产数据,其中,所述第二处理模块包括:第五处理子模块,用于基于抽取的所述实体要素,确定所述结构化资产数据和所述非结构化资产数据之间以及确定所述非结构化资产数据内部具有关联关系的实体。
可选地,所述第三处理模块包括:第六处理子模块,用于在所述资产数据中,进行针对同一实体的聚合处理;第七处理子模块,用于进行针对不同实体的消歧处理;第八处理子模块,用于进行针对具有关联关系实体的链接处理。
可选地,所述第六处理子模块包括:第一处理单元,用于基于实体属性和实体关联关系,确定所述结构化资产数据和所述非结构化资产数据中不同实体间的相似度;第二处理单元,用于以及针对至少两个任意实体,当所述相似度高于预设阈值时,确定所述至少两个任意实体为同一实体;进行针对所述同一实体的聚合处理。
可选地,所述第七处理子模块包括:第三处理单元,用于基于实体属性和实体关联关系,确定至少两个同名实体是否为同一实体;第四处理单元,用于当所述至少两个同名实体不是同一实体时,对所述至少两个同名实体进行命名区分,以实现所述针对不同实体的消歧处理。
可选地,所述关联关系包括以下至少之一:媒介关系、组成关系、管理关系、业务上下游关系、服务对象关系和通信连接关系。
可选地,本装置还包括:第四处理模块,用于将构建得到的所述资产知识图谱中的至少部分图谱与实际资产配置信息进行比对,以确定所述至少部分图谱的置信度;以及,当所述置信度低于预设阈值时,从所述资产知识图谱中剔除所述至少部分图谱。
本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本公开实施例的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现本公开实施例的的方法。
本公开的另一方面提供了一种计算机程序产品,包括计算机可读指令,其中,所述计算机可读指令被执行时用于执行本公开实施例的的方法。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性地,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种基于资产知识图谱的信息处理方法以及能够应用该方法的处理装置,该方法例如可以包括如下操作。根据接收的待执行指令读取资产知识图谱,并基于待执行指令在资产知识图谱中确定目标实体,以及确定与目标实体关联的属性集合;然后基于确定出的目标实体,在资产知识图谱中确定与目标实体具有关联关系的第一关联实体;和基于属性集合的至少部分属性,在资产知识图谱中确定与至少部分属性具有关联关系的第二关联实体;最后输出针对待执行指令的实体集合,实体集合包括目标实体、第一关联实体和第二关联实体。其中,资产知识图谱是基于资产数据中具有关联关系的实体构建而成的,具有关联关系的实体是根据从资产数据中抽取的实体要素确定的,实体要素包括实体、实体属性和实体关联关系。
图1示意性示出了根据本公开实施例的基于资产知识图谱的信息处理方法和装置的系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该系统架构100包括:至少一个终端(图中示出了多个,如终端101、102、103)和服务器104(也可以是服务器集群,图中未示出)。在该系统架构100中,终端(如终端101、102、103)向服务器发送待执行指令,服务器104根据接收的待执行指令读取资产知识图谱,并基于待执行指令在资产知识图谱中确定目标实体,以及确定与目标实体关联的属性集合,然后基于确定出的目标实体,在资产知识图谱中确定与目标实体具有关联关系的第一关联实体,和基于属性集合的至少部分属性,在资产知识图谱中确定与至少部分属性具有关联关系的第二关联实体,最后向终端(如终端101、102、103)输出针对待执行指令的实体集合,实体集合包括目标实体、第一关联实体和第二关联实体。其中,资产知识图谱是基于资产数据中具有关联关系的实体构建而成的,具有关联关系的实体是根据从资产数据中抽取的实体要素确定的,实体要素包括实体、实体属性和实体关联关系。
需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他系统架构。
以下将结合附图和具体实施例详细阐述本公开。
图2示意性示出了根据本公开实施例的一种基于资产知识图谱的信息处理方法的流程图。
如图2所示,该方法包括操作S210~S240。
在操作S210,根据接收的待执行指令读取资产知识图谱,并基于待执行指令在资产知识图谱中确定目标实体,以及确定与目标实体关联的属性集合。
在本公开实施例中,具体地,接收来自终端的待执行指令,待执行指令例如可以包括检索指令、风险评估指令等。根据接收的待执行指令读取资产知识图谱,资产知识图谱是基于资产数据中具有关联关系的实体构建而成的,具有关联关系的实体是根据从资产数据中抽取的实体要素确定的,实体要素包括实体、实体属性和实体关联关系,资产知识图谱通过结构化知识和可视化技术描述不同实体间的关联关系。可选地,资产知识图谱中的实体为网络资产实体,实体属性为网络资产实体属性,实体关联关系为不同网络资产实体间的关联关系。
具体地,资产知识图谱中的实体包括设备实体、软件实体、网站实体、应用系统实体、网络服务实体中的至少之一。设备实体例如可以是主机实体、服务器实体、硬盘实体等,软件实体具体可以是安装在设备实体中的各类软件,网站实体具体可以是设备实体中所使用或者由软件实体所实现的各类网站,应用系统实体具体可以是安装在设备实体中的应用系统,网络服务实体具体可以是由软件实体或网站实体实现的不同业务服务。本实施例对网络资产实体进行了更为细化的划分,通过扩展网络资产分类,有利于实现扩展网络资产关系,能够有效增强不同网络资产间的关联关系,有利于实现更高效且有效的网络资产管理。
不同类别实体具有不同属性,设备实体的属性例如可以包括设备实体名称、型号、设备ID、网关标识、IP地址、是否外联、生产厂商、责任人等属性。软件实体的属性例如可以包括软件名称、软件版本、安装路径、软件分类、软件标签、软件状态等属性。网站实体的属性例如可以包括网站名称、URL、页面框架、语言版本、备案单位、备案单位性质、审核日期、网站资产状态等属性。应用系统实体的属性例如可以包括操作系统名称、系统版本、组织架构分组、保密性、完整性等。网络服务实体的属性例如可以包括服务名称、开放端口、进程列表、服务状态、业务标签等属性。
实体间的关联关系包括媒介关系、组成关系、管理关系、业务上下游关系、服务对象关系和通信连接关系中的至少之一,实体种类不同,实体间建立关联的关系类别也可能不同。媒介关系例如可以包括安装媒介关系、运行媒介关系和实现媒介关系,例如,安装媒介关系例如可以包括软件实体A安装于设备实体B中,运行媒介关系例如可以包括网站C运行于设备实体B中,实现媒介关系例如可以包括网络服务A由软件实体A或网站C实现;组成关系例如可以包括某服务器是服务器集群的一部分,管理关系例如可以包括主控主机设备能够管理从控主机设备,业务上下游关系例如可以包括网络服务A是网络服务B的上游业务,服务对象关系例如可以包括网站C由服务器D提供服务,通信连接关系例如可以包括某计算机与其他计算机间通信连接。
图3示意性示出了根据本公开实施例的资产知识图谱的示意图,如图3所示,301-305为主机实体(其中,301为主控主机实体,302-305为从控主机实体),306、307为软件实体,308为应用系统实体,309为网络服务实体,310为网站实体,311为服务器实体。其中,主机实体301、304间为管理关系和通信连接关系,主机实体304、305间为通信连接关系,软件实体307与主机实体301、304间为安装媒介关系,网站实体310与主机实体304、软件实体307间为运行媒介关系,应用系统实体308与机实体301、304间为安装媒介关系,网络服务实体309与软件实体306、网站实体310间为实现媒介关系,网站实体310与服务器实体311间为服务对象关系。如图3所示,资产知识图谱通过结构化知识和可视化技术描述了网络资产中不同实体间的关联关系,相应地,当检测到针对某实体的点击操作或触控操作时,在与实体关联的预设区域中显示实体属性,图3中的各实体、各实体的实体属性以及各实体间的关联关系构成实体关系组。
基于接收到的待执行指令,在资产知识图谱中确定待执行指令指示的目标实体,以及确定与目标实体关联的属性集合。具体地,当接收到的待执行指令为检索指令时,确定检索指令指示的目标实体和与目标实体关联的属性集合;当接收到的待执行指令为风险评估指令时,确定风险评估指示的攻击目标实体,和确定与攻击目标实体关联的属性集合。
接下来,在操作S220,基于确定出的目标实体,在资产知识图谱中确定与目标实体具有关联关系的第一关联实体。
在本公开实施例中,具体地,在确定出待执行指令指示的目标实体后,确定与目标实体具有关联关系的第一关联实体,关联关系例如可以包括媒介关系、组成关系、管理关系、业务上下游关系、服务对象关系和通信连接关系。示例性地,在确定出针对风险评估指令指示的攻击目标实体为软件A时,与软件A具有服务对象关系的网络服务B为与目标实体具有关联关系的第一关联实体。
接下来,在操作S230,基于属性集合的至少部分属性,在资产知识图谱中确定与至少部分属性具有关联关系的第二关联实体。
在本公开实施例中,具体地,基于与目标实体关联的至少部分属性,在资产知识图谱中确定与至少部分属性具有关联关系的第二关联实体。具体地,与某一属性具有关联关系例如可以是包含该属性,或者包含与该属性相关的其他属性。因此,第二关联实体与目标实体可能具有部分相同的属性,例如第二关联实体与目标实体具有相同的设备提供商,或者第二关联实体与目标实体可能具有相关联的属性,例如第二关联实体的业务标签与目标实体的软件版本号相对应。
接下来,在操作S240,输出针对待执行指令的实体集合,实体集合包括目标实体、第一关联实体和第二关联实体。
在本公开实施例中,具体地,输出针对待执行指令的实体集合,即输出待执行指令直接指示的目标实体,和输出与目标实体具有关联关系的第一关联实体,和输出与目标实体的至少部分属性具有关联关系的第二关联实体。
通过本实施例,根据接收的待执行指令读取资产知识图谱,并基于待执行指令在资产知识图谱中确定目标实体,以及确定与目标实体关联的属性集合;基于确定出的目标实体,在资产知识图谱中确定与目标实体具有关联关系的第一关联实体;基于属性集合的至少部分属性,在资产知识图谱中确定与至少部分属性具有关联关系的第二关联实体;输出针对待执行指令的实体集合,实体集合包括目标实体、第一关联实体和第二关联实体,其中,资产知识图谱是基于资产数据中具有关联关系的实体构建而成的,具有关联关系的实体是根据从资产数据中抽取的实体要素确定的,实体要素包括实体、实体属性和实体关联关系。通过扩展网络资产的实体分类,有效实现了网络资产关系的增强,基于实体扩展后的资产数据构建的资产知识图谱能够提供更多维丰富的网络资产信息,基于实体扩展后的资产知识图谱进行的信息处理有利于实现更为高效和有效的网络资产管理。
图4示意性示出了根据本公开实施例的基于检索指令确定目标实体及属性集合的方法的流程图。
如图4所示,操作S210可以包括操作S410~S430。
在操作S410,根据接收的检索指令读取资产知识图谱。
在本公开实施例中,具体地,接收来自终端的检索指令,检索指令中包含至少一个检索元素,至少一个检索元素为在资产知识图谱中进行检索的基础,检索元素具体可以是实体属性或实体关联关系,通过动态组合检索条件,可实现在资产知识图谱中进行精确匹配,实现资产知识图谱的可视化展现。
图5为示意性示出了根据本公开实施例的检索指令的示意图,如图5所示,501中通过组合检索条件“[(资产类型:主机资产)and(IP:1.1.1.10)]and[(资产类型:软件资产)and(厂商:xxx)]”,组合后的检索条件被发送至后台进行翻译,生成502中用于检索的请求报文:(nodeType-‘主机资产’and IP-‘1.1.1.10’)and(nodeType-‘软件资产’and vendor-‘xxx’),该请求报文可用作检索指令,用于请求检索IP地址为1.1.1.10的主机中安装的厂商为xxx的软件。
接下来,在操作S420,基于检索指令指示的至少一个检索元素,在资产知识图谱中确定与至少一个检索元素关联的实体关系组,其中,实体关系组包括实体、实体属性和实体关联关系。
在本公开实施例中,具体地,资产知识图谱中包括多个实体关系组,实体关系组包括实体、实体属性和实体关联关系,示例性地,某实体关系组为IP地址为1.1.1.10的主机中安装的所有软件。基于检索指令指示的至少一个检索元素,在资产知识图谱中确定含有以上检索元素的实体关系组。具体地,检索指令可以以检索代码的形式存在,通过运行检索代码,实现在资产知识图谱中检索得到与检索代码中的检索元素关联的至少一个实体,以及各实体的实体属性和各实体间的关联关系。
接下来,在操作S430,将实体关系组中的实体作为目标实体,将实体关系组中的实体属性作为与目标实体关联的属性集合。
在本公开实施例中,具体地,将与检索元素直接关联的至少一个实体确定为目标实体,将前述至少一个实体的属性的集合确定为与目标实体关联的属性集合。通过初步确定针对检索指令的目标实体和目标实体属性集合,可以为后续确定与目标实体具有关联关系的第一关联实体,和确定与属性集合中的至少部分属性具有关联关系的第二关联实体打下基础。
在本实施例中,通过扩展网络资产的实体分类,强化网络资产的实体关系,有利于通过检索资产知识图谱进实现实体关系组与检索条件的精准匹配,为挖掘、分析、显示网络资产关系打下基础,有利于实现高效有效的网络资产管理。
图6示意性示出了根据本公开实施例的基于风险评估指令确定目标实体及属性集合的方法的流程图。
如图6所示,操作S210可以包括操作S610~S630。
在操作S610,根据接收的风险评估指令读取资产知识图谱,其中,风险评估指令是在检测到风险评估触发事件后生成的。
在本公开实施例中,具体地,接收来自终端的风险评估指令,风险评估指令是在检测到风险评估触发事件后生成的,风险评估触发事件例如可以是检测到黑客入侵的数据接口,或者检测到网络攻击所利用到的漏洞信息。客户端在检测到风险评估触发事件后,生成风险评估指令,并将风险评估指令发送给执行本方法的服务器或处理器。
接下来,在操作S620,基于风险评估指令指示的告警信息,在资产知识图谱中确定告警信息指示的攻击目标实体,以作为目标实体。
在本公开实施例中,具体地,根据告警信息指示的攻击源信息,确定攻击源的攻击特征向量,其中,攻击特征向量是根据攻击源的攻击手段构建的;根据攻击特征向量,确定与攻击源关联的攻击链路;在资产知识图谱中确定与攻击链路关联的实体,以作为攻击目标实体。
根据风险评估指令中告警信息指示的攻击源信息,确定攻击源的攻击特征向量,攻击特征向量描述攻击源的攻击手段的特征向量,例如可以包括攻击源在发起网络攻击时所利用的漏洞信息,或者攻击源在发起网络攻击时所攻击的数据接口。根据攻击源的攻击特征向量,确定与攻击源关联的攻击链路,攻击链路描述与攻击源关联的潜在攻击目标,潜在攻击目标与攻击源的攻击特征向量相对应。示例性地,攻击源在发起网络攻击时所攻击的虚拟端口为445端口,则设置有445端口的对象构成与攻击源关联的潜在攻击目标,设置有445端口的对象构成与攻击源关联的攻击链路。在资产知识图谱中确定与攻击链路关联的实体,以作为攻击目标实体,即在资产知识图谱中确定设置有445端口的网络资产实体,以作为攻击目标实体,以此得到针对风险评估指令的目标实体。
接下来,在操作S630,确定针对攻击目标实体的属性集合,以作为与目标实体关联的属性集合。
在本公开实施例中,具体地,在资产知识图谱中确定出攻击目标实体后,将针对各攻击目标实体的属性集合,作为与目标实体关联的属性集合。通过初步确定针对风险评估指令的目标实体和目标实体属性集合,可以为后续确定与目标实体具有关联关系的第一关联实体,和确定与属性集合中的每一属性具有关联关系的第二关联实体打下基础。
具体地,确定告警信息直接指示的攻击目标实体,以作为目标实体;确定与攻击目标实体关联的属性集合,以作为与目标实体关联的属性集合。在此之后,继续确定与攻击目标实体具有关联关系的第一关联实体,以及确定与攻击目标实体的每一属性具有关联关系的第二关联实体。告警信息直接指示的攻击目标实体、第一关联实体、第二关联实体构成针对告警信息的实体集合。通过确定与告警信息具有直接关联关系和间接关联关系的实体集合,有利于提高网络资产风险识别的识别粒度,有利于实现安全可靠的网络资产管理。
示例性地,由于插件A通过445端口进行数据传输,构成攻击源的直接攻击目标,插件A构成告警信息直接指示的攻击目标实体;与插件A具有安装媒介关系的软件B,以及与插件A具有服务对象关系的网站C构成与与攻击目标实体具有关联关系的第一关联实体;同样通过445端口进行数据传输的应用D构成与攻击目标实体的属性具有关联关系的第二关联实体,插件A、软件B、网站C和应用D构成针对告警信息的实体集合。
在本实施例中,通过对资产实体分类与资产实体关系进行扩展,有利于利用资产知识图谱进行有效的网络资产风险识别,有效提高了网络资产风险识别的识别效率和识别精度,有利于实现高效安全的网络资产管理。
图7示意性示出了根据本公开实施例的资产知识图谱的构建方法的流程图。
如图7所示,本方法可以包括操作S710~S740。
在操作S710,获取资产数据。
在本公开实施例中,具体地,资产数据的类型可以包括结构化资产数据、半结构化资产数据和非结构化资产数据。结构化资产数据是指可以利用关系型数据库进行表示和存储的资产数据,其本身具有完整的知识结构。半结构化资产数据不符合关系型数据库或其他数据表形式关联起来的数据模型结构,但包含用于分隔语义元素的特定标记。非结构化资产数据为没有固定结构的普通资产数据。可选地,可以将半结构化资产数据类比于非结构化资产数据进行处理。
接下来,在操作S720,通过预设抽取规则,从资产数据中进行基于实体、实体属性和实体关联关系的实体要素抽取。
在本公开实施例中,具体地,对非结构化资产数据的文本语料进行实体抽取,得到一系列的离散实体。为得到离散实体的语义信息,从资产数据的相关语料中提取各实体的属性信息和提取不同实体间的关联关系,以此实现对实体属性和实体关联关系的完整勾画。进行基于实体、实体属性、实体关联关系的实体元素的抽取方法可采用现有算法实现,本申请在此不做赘述。可选地,在得到不同实体的实体属性后,可以判断各实体的实体属性是否满足预设语法规则,当存在实体的实体属性不满足预设语法规则时,根据预设映射规则,对不符合预设语法规则的实体属性进行归一清洗处理,以实现具有相同语义的实体属性具有相同的描述。
对于结构化资产数据,可采用MMP(Massive Parallel Processing,大规模并行处理)采集模型进行数据采集,通过构建正则化表达式进行知识抽取,结构化资产数据的来源例如可以是企业或机构自身的关系数据库,具体可以是现有的资产知识图谱,也可以是物资数据、运检数据、营销数据等。当获取的资产数据还包括半结构化资产数据时,可以采用与非结构化资产数据相同的处理方式进行处理,例如通过构建正则化表达式和数据指标进行实体抽取。
接下来,在操作S730,根据抽取的实体要素,确定资产数据中具有关联关系的实体。
在本公开实施例中,具体地,基于抽取出的实体要素,确定非结构化资产数据内部具有关联关系的实体,以及确定非结构化资产数据与结构化资产数据之间具有关联关系的实体。当获取的资产数据还包括半结构化资产数据时,可以采用与非结构化资产数据相同的处理方式进行处理,即确定半结构化资产数据内部具有关联关系的实体,以及确定半结构化资产数据与其他类型资产数据之间具有关联关系的实体。
接下来,在操作S740,基于具有关联关系的实体,构建资产知识图谱。
在本公开实施例中,具体地,基于具有关联关系的实体,构建资产知识图谱,包括,在资产数据中,进行针对同一实体的聚合处理;进行针对不同实体的消歧处理;进行针对具有关联关系实体的链接处理。
进行针对同一实体的聚合处理,包括:基于实体属性和实体关联关系,确定结构化资产数据和非结构化资产数据中不同实体间的相似度;以及针对至少两个任意实体,当相似度高于预设阈值时,确定至少两个任意实体为同一实体;进行针对同一实体的聚合处理。
在完成针对资产数据的实体要素抽取后,确定资产数据中不同实体间的相似度;以及根据相似度进行针对同一实体的聚合处理,其中,实体间的相似度包括属性相似度和关联关系相似度,属性相似度例如可以包括字符语义相似度和实体所属分类树的结构相似度。确定实体间的相似度的方法例如可以将实体的属性信息和关联关系信息投射至同一空间,获得不同实体在同一空间中的特征向量。然后基于不同实体的特征向量的距离值,确定不同实体间的相似程度,距离值越小,实体的相似程度越高,当相似程度高于预设阈值时,确定关联的实体为同一实体,然后进行针对同一实体的聚合处理,以此实现针对相同实体的实体对齐。示例性地,对于设备实体“A1的手机”和“A2的手机”,当确定该两个设备实体具有相同的IMEI(国际移动设备识别码)、通信地址后,确定该两个设备实体为同一实体,进行针对该两个设备实体的聚合处理。
进行针对不同实体的消歧处理,包括:基于实体属性和实体关联关系,确定至少两个同名实体是否为同一实体;当至少两个同名实体不是同一实体时,对至少两个同名实体进行命名区分,以实现针对不同实体的消歧处理。示例性地,对于两个同名设备实体“A的手机”,当确定该两个设备实体的IMEI、MEID(移动设备识别码)、通信地址不同后,确定该两个设备实体不是同一实体,对该两个设备实体进行命名区分,例如命名为“A3的手机”和“A4的手机”,以此实现针对不同实体的消歧处理。
进行针对实体间相似度的判断,有利于实现共指消解和实体消歧,共指消解是针对同一实体但指称不同产生歧义的问题,共指消解能够将指称不同但实质相同的实体进行聚合。实体消歧是针对指称相同但实体不同产生歧义的问题,实体消歧能够将指称相同的不同实体进行区分。
在确定不同实体间的关联关系后,通过可视化方法链接具有关联关系的实体,例如将具有关联关系的多个实体进行连线,形成网状资产知识图谱。具体地,当获取的结构化资产数据构成初始资产知识图谱时,可以将非结构化资产数据中的实体链接到初始资产知识图谱中具有关联关系的实体,构建针对初始资产知识图谱的图谱外延层,得到资产知识图谱。
本实施例通过利用知识理解算法抽取资产数据中的实体要素,基于抽取的实体要素,确定资产数据中具有关联关系的不同实体,基于具有关联关系的不同实体构建资产知识图谱,这丰富了资产知识图谱的语义表达,有利于形成一个复合型的知识体系,有利于增强资产知识图谱对上层应用的支持。
可选地,在构建出资产知识图谱后,将构建得到的资产知识图谱中的至少部分图谱与实际资产配置信息进行比对,以确定至少部分图谱的置信度;以及,当置信度低于预设阈值时,从资产知识图谱中剔除至少部分图谱。具体地,确定资产知识图谱中的至少部分图谱与实际资产配置信息间的一致程度,以作为该至少部分图谱的置信度。示例性地,确定至少部分图谱中的实体关系组与参考资产数据的实体关系组是否一致,当二者的实体关系组的一致性比例达到预设阈值时,确定资产知识图谱的知识可信度可靠,当一致性比例低于预设阈值时,从资产知识图谱中剔除该至少部分图谱。或者,也可将资产知识图谱与实际业务系统进行比较,判断资产知识图谱中的实体关系组是否与实际业务系统中的实体关系组一致,当二者的实体关系组的一致性比例达到预设阈值时,确定资产知识图谱的知识可信度可靠。
图8A示意性示出了根据本公开实施例的基于资产知识图谱的信息处理装置的框图。
如图8A所示,该装置可以包括第一处理模块801、第一关联实体确定模块802、第二关联实体确定模块803和实体集合输出模块804。
具体地,第一处理模块801,用于根据接收的待执行指令读取资产知识图谱,并基于待执行指令在资产知识图谱中确定目标实体,以及确定与目标实体关联的属性集合;第一关联实体确定模块802,用于基于确定出的目标实体,在资产知识图谱中确定与目标实体具有关联关系的第一关联实体;第二关联实体确定模块803,用于基于属性集合的至少部分属性,在资产知识图谱中确定与至少部分属性具有关联关系的第二关联实体;实体集合输出模块804,用于输出针对待执行指令的实体集合,实体集合包括目标实体、第一关联实体和第二关联实体,其中,资产知识图谱是基于资产数据中具有关联关系的实体构建而成的,具有关联关系的实体是根据从资产数据中抽取的实体要素确定的,实体要素包括实体、实体属性和实体关联关系。
通过本实施例,根据接收的待执行指令读取资产知识图谱,并基于待执行指令在资产知识图谱中确定目标实体,以及确定与目标实体关联的属性集合;基于确定出的目标实体,在资产知识图谱中确定与目标实体具有关联关系的第一关联实体;基于属性集合的至少部分属性,在资产知识图谱中确定与至少部分属性具有关联关系的第二关联实体;输出针对待执行指令的实体集合,实体集合包括目标实体、第一关联实体和第二关联实体,其中,资产知识图谱是基于资产数据中具有关联关系的实体构建而成的,具有关联关系的实体是根据从资产数据中抽取的实体要素确定的,实体要素包括实体、实体属性和实体关联关系。通过扩展网络资产的实体分类,有效实现了网络资产关系的增强,基于实体扩展后的资产数据构建的资产知识图谱能够提供更多维丰富的网络资产信息,基于实体扩展后的资产知识图谱进行的信息处理有利于实现更为高效和有效的网络资产管理。
作为一种可选的实施例,资产知识图谱中的实体包括设备实体、软件实体、网站实体、应用系统实体和网络服务实体中的至少之一。
作为一种可选的实施例,第一处理模块包括:第一处理子模块,用于根据接收的检索指令读取资产知识图谱;实体关系组确定模块,用于基于检索指令指示的至少一个检索元素,在资产知识图谱中确定与至少一个检索元素关联的实体关系组,其中,实体关系组包括实体、实体属性和实体关联关系;第二处理子模块,用于将实体关系组中的实体作为目标实体,将实体关系组中的实体属性作为与目标实体关联的属性集合。
作为一种可选的实施例,第一处理模块包括:第三处理子模块,用于根据接收的风险评估指令读取资产知识图谱,其中,风险评估指令是在检测到风险评估触发事件后生成的;第四处理子模块,用于基于风险评估指令指示的告警信息,在资产知识图谱中确定告警信息指示的攻击目标实体,以作为目标实体,以及确定针对攻击目标实体的属性集合,以作为与目标实体关联的属性集合。
作为一种可选的实施例,第四处理子模块包括:攻击特征向量确定单元,用于根据告警信息指示的攻击源信息,确定攻击源的攻击特征向量,其中,攻击特征向量是根据攻击源的攻击手段构建的;攻击链路确定单元,用于根据攻击特征向量,确定与攻击源关联的攻击链路;攻击目标实体确定单元,用于在资产知识图谱中确定与攻击链路关联的实体,以作为攻击目标实体。
作为一种可选的实施例,在资产知识图谱中确定与目标实体具有关联关系的第一关联实体时,关联关系包括以下至少之一:媒介关系、组成关系、管理关系、业务上下游关系、服务对象关系和通信连接关系。
作为一种可选的实施例,资产知识图谱的构建方法,包括:获取模块,用于获取资产数据;实体要素抽取模块,用于通过预设抽取规则,从资产数据中进行基于实体、实体属性和实体关联关系的实体要素抽取;关联实体确定模块,用于基于抽取的实体要素和预设的初始资产知识图谱中的实体要素,确定资产数据和初始资产知识图谱中具有关联关系的实体;图谱外延层构建模块,用于针对具有关联关系的实体,构建初始资产知识图谱的图谱外延层,得到资产知识图谱。
作为一种可选的实施例,实体要素抽取模块中包括相似实体处理子模块,用于根据抽取的实体要素,确定资产数据中不同实体间的相似度;以及根据相似度进行针对同一实体的聚合处理,其中,针对至少两个任意实体,当相似度高于预设阈值时,确定至少两个任意实体为同一实体,相似度包括属性相似度和关联关系相似度。
图8B示意性示出了根据本公开实施例的构建资产知识图谱的装置的框图。
如图8B所示,该装置可以包括第一获取模块805、第一处理模块806、第二处理模块807和第三处理模块808。
具体地,第一获取模块805,用于获取资产数据;第一处理模块806,用于根据预设抽取规则,从资产数据中进行基于实体、实体属性和实体关联关系的实体要素抽取;第二处理模块807,用于根据抽取的实体要素,确定资产数据中具有关联关系的实体;第三处理模块808,用于基于具有关联关系的实体,构建资产知识图谱。
作为一种可选的实施例,资产知识图谱中的实体包括设备实体、软件实体、网站实体、应用系统实体和网络服务实体中的至少之一。
作为一种可选的实施例,资产数据包括结构化资产数据和非结构化资产数据,其中,第二处理模块包括:第五处理子模块,用于基于抽取的实体要素,确定结构化资产数据和非结构化资产数据之间以及确定非结构化资产数据内部具有关联关系的实体。
作为一种可选的实施例,第三处理模块包括:第六处理子模块,用于在资产数据中,进行针对同一实体的聚合处理;第七处理子模块,用于进行针对不同实体的消歧处理;第八处理子模块,用于进行针对具有关联关系实体的链接处理。
作为一种可选的实施例,第六处理子模块包括:第一处理单元,用于基于实体属性和实体关联关系,确定结构化资产数据和非结构化资产数据中不同实体间的相似度;第二处理单元,用于以及针对至少两个任意实体,当相似度高于预设阈值时,确定至少两个任意实体为同一实体;进行针对同一实体的聚合处理。
作为一种可选的实施例,第七处理子模块包括:第三处理单元,用于基于实体属性和实体关联关系,确定至少两个同名实体是否为同一实体;第四处理单元,用于当至少两个同名实体不是同一实体时,对至少两个同名实体进行命名区分,以实现针对不同实体的消歧处理。
作为一种可选的实施例,关联关系包括以下至少之一:媒介关系、组成关系、管理关系、业务上下游关系、服务对象关系和通信连接关系。
作为一种可选的实施例,本装置还包括:第四处理模块,用于将构建得到的资产知识图谱中的至少部分图谱与实际资产配置信息进行比对,以确定至少部分图谱的置信度;以及,当置信度低于预设阈值时,从资产知识图谱中剔除至少部分图谱。
需要说明的是,在本公开实施例中,装置部分的实施例方式与方法部分的实施例方式对应类似,并且所达到的技术效果也对应类似,在此不再赘述。
根据本公开的实施例的模块中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者根据本公开实施例的模块中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一处理模块801、第一关联实体确定模块802、第二关联实体确定模块803和实体集合输出模块804,或第一获取模块805、第一处理模块806、第二处理模块807和第三处理模块808中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一处理模块801、第一关联实体确定模块802、第二关联实体确定模块803和实体集合输出模块804,或第一获取模块805、第一处理模块806、第二处理模块807和第三处理模块808中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一处理模块801、第一关联实体确定模块802、第二关联实体确定模块803和实体集合输出模块804,或第一获取模块805、第一处理模块806、第二处理模块807和第三处理模块808中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图9示意性示出了根据本公开实施例的电子设备的框图。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900包括处理器910、计算机可读存储介质920。该电子设备900可以执行根据本公开实施例的方法。
具体地,处理器910例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器910还可以包括用于缓存用途的板载存储器。处理器910可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理模块或者是多个处理模块。
计算机可读存储介质920,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质920可以包括计算机程序921,该计算机程序921可以包括代码/计算机可执行指令,其在由处理器910执行时使得处理器910执行根据本公开实施例的方法或其任何变形。
计算机程序921可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序921中的代码可以包括一个或多个程序模块,例如包括921A、模块921B、......。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器910执行时,使得处理器910可以执行根据本公开实施例的方法或其任何变形。
根据本公开的实施例,第一处理模块801、第一关联实体确定模块802、第二关联实体确定模块803和实体集合输出模块804,或第一获取模块805、第一处理模块806、第二处理模块807和第三处理模块808中的至少一个可以实现为参考图9描述的计算机程序模块,其在被处理器910执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
本公开还提供了一种计算机程序产品,包括计算机可读指令,其中,计算机可读指令被执行时用于执行如上任一项的方法。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。