CN116405256A - 网络连接构建方法、装置、设备和存储介质 - Google Patents

网络连接构建方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN116405256A
CN116405256A CN202310239249.7A CN202310239249A CN116405256A CN 116405256 A CN116405256 A CN 116405256A CN 202310239249 A CN202310239249 A CN 202310239249A CN 116405256 A CN116405256 A CN 116405256A
Authority
CN
China
Prior art keywords
information
network
network connection
semi
virtual machine
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
CN202310239249.7A
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.)
Peng Cheng Laboratory
Original Assignee
Peng Cheng Laboratory
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 Peng Cheng Laboratory filed Critical Peng Cheng Laboratory
Priority to CN202310239249.7A priority Critical patent/CN116405256A/zh
Publication of CN116405256A publication Critical patent/CN116405256A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Machine Translation (AREA)

Abstract

本发明实施例提供网络连接构建方法、装置、设备和存储介质,涉及人工智能技术领域。该方法包括:通过获取的网络连接文本信息进行词法分析,生成文本词法分析结构,再基于文本词法分析结构和预设字段标识生成半结构化字段内容,根据半结构化字段内容生成半结构化网络数据,载根据半结构化网络数据构建网络连接。由于采用词法分析的方式自动提取文本信息中的词法结构,再基于词法结构提取半结构化字段内容,克服了半结构化网络数据的数据结构学习门槛较高,导致无法满足及时联动响应的需求的问题,同时根据半结构化字段内容构建网络连接,避免人工部署导致的构建效率较低的问题,进而达到了提高网络防御路线的构建效率和准确率的效果。

Description

网络连接构建方法、装置、设备和存储介质
技术领域
本发明涉及网络安全技术领域,尤其涉及网络连接构建方法、装置、设备和存储介质。
背景技术
网络靶场是一种多角色协同的网络系统仿真平台,用于支撑网络安全人才培养、网络攻防训练、安全产品评测和网络新技术验证。近年来,靶场攻防演练行动正不断推进,并向常态化、规模化发展。在网络靶场中进行网络安全活动,不仅可以避免对现实资源的占用和消耗,还可以做到对资源的反复利用。由于每一次安全试验造成的伤害程度都是可控的、可检测的,试验结束后还能够对收集的试验数据进行分析和研究。网络靶场在不影响真实环境的情况下可以提高网络安全从业人员的技术,也可以发现安全产品的漏洞从而提升安全产品的性能与安全性。
相关技术中,网络连接构建多是采用人工部署方式,部署效率低且准确率不高。例如,网络靶场中用红方指代进攻方,蓝方指代防御方,蓝方角色的职责是尽可能的快速地构建网络防御路线,制定防御策略收敛暴露面,及时联动响应封堵攻击途径,而当前蓝方角色在防御路线构建中主要存在两个问题:1)在利用防御工具部署防御路线时,多是采用人工部署方式,效率低准确率不高;2)蓝方成员多是使用即时通讯工具沟通防御路线,而具体部署时防御路线的描述所采用的是半结构化JSON数据,这种数据结构存在一定的学习门槛,无法满足及时联动响应的需求。
发明内容
本申请实施例的主要目的在于提出网络连接构建方法、装置、设备和存储介质,能够提高网络连接的构建效率和准确率。
为实现上述目的,本申请实施例的第一方面提出了一种网络连接构建方法,包括:
获取网络连接文本信息;
对所述网络连接文本信息进行词法分析,生成文本词法分析结构;
基于所述文本词法分析结构和预设字段生成半结构化字段内容;
根据所述半结构化字段内容生成半结构化网络数据;
根据所述半结构化网络数据构建网络连接。
在一些实施例,所述对所述网络连接文本信息进行词法分析,生成文本词法分析结构,包括:
对所述网络连接文本信息进行分词操作,得到多个文本词语;
对所述多个文本词语进行句子词性分析,得到所述文本词语的词性;
基于所述文本词语和所述文本词语的词性生成所述文本词法分析结构。
在一些实施例,所述预设字段包括:第一预设字段和第二预设字段;所述基于所述文本词法分析结构生成半结构化字段内容,包括:
基于预设关键词从所述文本词法分析结构中进行信息提取,得到第一预设字段的第一网络连接信息;
基于所述第一网络连接信息在预设网络信息数据库查询得到所述第二预设字段的第二网络连接信息;
根据第一预设字段和第一网络连接信息生成第一字段内容,以及根据第二预设字段和所述第二网络连接信息生成第二字段内容;
根据所述第一字段内容和所述第二字段内容生成所述半结构化字段内容。
在一些实施例,所述词性包括:主语代词;所述预设关键词包括:介词关键词和动词关键词;所述基于预设关键词从所述文本词法分析结构中进行信息提取,得到第一预设字段的第一网络连接信息,包括:
基于所述介词关键词在所述文本词法分析结构中提取得到初始虚拟机信息;
基于所述动词关键词在所述文本词法分析结构中提取得到初始工具信息;
根据所述文本词法分析结构的所述主语代词得到创建者信息;
根据所述创建者信息、所述初始虚拟机信息和所述初始工具信息得到所述第一网络连接信息。
在一些实施例,所述根据所述创建者信息、所述初始虚拟机信息和所述初始工具信息得到所述第一网络连接信息,包括:
查询所述预设网络信息数据库判断所述初始虚拟机信息的第一状态,所述第一状态为正状态时,表征所述初始虚拟机信息是真实信息;
查询所述预设网络信息数据库判断所述初始工具信息的第二状态,所述第二状态为正状态时,表征所述初始工具信息是真实信息;
当所述第一状态和所述第二状态都是正状态时,根据所述创建者信息、所述初始虚拟机信息和所述初始工具信息得到所述第一网络连接信息。
在一些实施例,所述第一预设字段包括:创建者、虚拟机名称和工具名称;所述根据第一预设字段和第一网络连接信息生成第一字段内容,包括:
根据所述创建者信息生成所述创建者的创建者字段信息;
根据所述初始虚拟机信息生成所述虚拟机名称的虚拟机名称字段信息;
根据所述初始工具信息生成所述工具名称的工具名称字段信息;
根据所述创建者字段信息、所述虚拟机名称字段信息和所述工具名称字段信息生成第一字段内容。
在一些实施例,所述预设网络信息数据库包括:用户信息数据表、虚拟机信息数据表和网络工具数据表;所述基于所述第一网络连接信息在预设网络信息数据库查询得到所述第二预设字段标识的第二网络连接信息,包括:
基于所述创建者信息在所述用户信息数据表查询得到网络方案信息;
基于所述初始虚拟机信息在所述虚拟机信息数据表查询得到虚拟机属性信息;
基于所述初始工具信息在所述网络工具数据表查询得到工具属性信息;
根据所述网络方案信息、所述虚拟机属性信息和所述工具属性信息得到所述第二网络连接信息。
在一些实施例,所述第二预设字段包括:网络方案、虚拟机属性和工具属性;所述根据第二预设字段和所述第二网络连接信息生成第二字段内容,包括:
根据所述网络方案信息生成所述网络方案的网络方案字段信息;
根据所述初始虚拟机信息生成所述虚拟机属性的虚拟机属性字段信息;
根据所述初始工具信息生成所述工具属性的工具属性字段信息;
根据所述网络方案字段信息、所述虚拟机属性字段信息和所述工具属性字段信息生成第二字段内容。
在一些实施例,所述根据所述半结构化字段内容生成半结构化网络数据,包括:
获取预设的半结构化网络数据结构;
利用所述第一字段内容和所述第二字段内容填充所述预设半结构化网络数据结构,得到所述半结构化网络数据。
在一些实施例,所述根据所述半结构化网络数据构建网络连接,包括:
基于分布式消息订阅系统将所述半结构化网络数据发送至第一目标主题进行消息持久化,得到第一主题消息;
将所述第一主题消息发送至虚拟机,以使得所述虚拟机能够根据所述第一主题消息获取网络工具信息;
接收所述虚拟机对所述网络工具信息进行校验生成的校验结果;
根据所述校验结果、所述半结构化网络数据以及第一判断条件,构建所述网络连接;所述第一判断条件包括所述校验结果为校验通过。
在一些实施例,所述分布式消息订阅系统为kafka系统,多个所述虚拟机构成kafka集群;所述基于分布式消息订阅系统将所述半结构化网络数据发送至第一目标主题进行消息持久化,得到第一主题消息,包括:
从所述kafka集群中选择一个所述虚拟机;
向所述虚拟机发送寻址请求,以向kafka事务管理器申请得到生产者编号;
基于所述生产者编号将所述半结构化网络数据发送到所述第一目标主题,并向所述kafka事务管理器发送持久化请求;
接收所述持久化请求的响应信息后得到所述第一主题消息。
在一些实施例,所述将所述第一主题消息发送至虚拟机,以使得所述虚拟机能够根据所述第一主题消息获取网络连接信息,包括:
将所述第一主题消息发送至每个所述虚拟机,以使所述虚拟机收到所述第一主题消息时,在所述第一主题消息中查询本机名称,若所述第一主题消息的所述虚拟机名称字段信息中包含所述本机名称,则从所述第一主题消息的所述工具名称字段信息中读取本机部署工具内容,并根据所述本机部署工具内容下载对应的网络工具。
在一些实施例,所述接收所述虚拟机对所述网络工具信息进行校验生成的校验结果,所述校验结果为所述虚拟机执行以下步骤生成的:
将所述网络工具下载到本地文件系统;
计算每个所述网络工具的验证值,并将所述验证值和所述工具属性字段信息进行匹配,判断所述网络工具是否已完整下载,如果完整下载,则生成校验通过的所述校验结果,否则生成校验未通过的所述校验结果。
在一些实施例,所述根据所述校验结果和所述半结构化网络数据构建所述网络连接,包括:
根据所述半结构化网络数据确定一个或一个以上目标虚拟机;
获取所有所述目标虚拟机的所述校验结果;
若所述校验结果都是校验通过,则根据所述半结构化网络数据构建所述网络连接。
为实现上述目的,本申请实施例的第二方面提出了一种防御路线构建方法,应用于网络靶场的防御方,包括:
获取防御路线文本信息;
对所述防御路线文本信息进行词法分析,生成防御文本词法分析结构;
基于所述防御文本词法分析结构和预设防御字段生成半结构化防御字段内容;
根据所述半结构化防御字段内容生成半结构化防御路线数据;
根据所述半结构化防御路线数据构建防御路线。
为实现上述目的,本申请实施例的第三方面提出了一种网络连接构建装置,包括:
文本信息获取模块,用于获取网络连接文本信息;
词法分析模块,用于对所述网络连接文本信息进行词法分析,生成文本词法分析结构;
字段内容生成模块,用于基于所述文本词法分析结构和预设字段标识生成半结构化字段内容;
网络连接数据生成模块,用于根据所述半结构化字段内容生成半结构化网络数据;
网络连接构建模块,用于根据所述半结构化网络数据构建网络连接。
为实现上述目的,本申请实施例的第四方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面或第二方面所述的方法。
为实现上述目的,本申请实施例的第五方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面或第二方面所述的方法。
本申请实施例提出的网络连接构建方法、装置、设备和存储介质,通过获取网络连接文本信息,对网络连接文本信息进行词法分析,生成文本词法分析结构,再基于文本词法分析结构和预设字段标识生成半结构化字段内容,接着根据半结构化字段内容生成半结构化网络数据,最后根据半结构化网络数据构建网络连接。本申请实施例采用词法分析的方式自动提取文本信息中的词法结构,再基于词法结构提取半结构化字段内容,克服了半结构化网络数据的数据结构学习门槛较高,导致无法满足及时联动响应的需求的问题,同时根据半结构化字段内容构建网络连接,避免人工部署导致的构建效率较低的问题,进而达到了提高网络防御路线的构建效率和准确率的效果。
附图说明
图1是本发明实施例提供的网络连接构建方法的流程图。
图2是图1中的步骤S120的流程图。
图3是本发明又一实施例提供的网络连接构建方法的文本词法分析结构的示意图。
图4是本发明又一实施例提供的网络连接构建方法的文本词法分析结构的示意图。
图5是本发明又一实施例提供的网络连接构建方法的半结构化网络数据结构的示意图。
图6是图1中的步骤S130的流程图。
图7是图6中的步骤S131的流程图。
图8是图7中的步骤S1314的流程图。
图9是图6中的步骤S132的流程图。
图10是图6中的步骤S133的流程图。
图11是本发明又一实施例提供的网络连接构建方法的半结构化网络数据结构的示意图。
图12是本发明又一实施例提供的图6中的步骤S133的流程图。
图13是图1中的步骤S140的流程图。
图14是图1中的步骤S150的流程图。
图15是图14中的步骤S151的流程图。
图16是图14中的步骤S154的流程图。
图17是本发明又一实施例提供的网络连接构建装置结构框图。
图18是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
首先,对本发明中涉及的若干名词进行解析:
JSON(JacaScriptObjectNatation):是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯,这些特性使得JSON成为理想的数据交换语言。
结构化数据:也称为关系数据,是遵循某种严格架构的数据,所有数据都具有相同的字段或属性。结构化数据通常存储在具有行和列的数据库表中,其中键列指示表中的一行与另一个表的另一行中的数据之间的关系。共享架构允许使用结构化查询语言(Structured Query Language,SQL)等查询语言轻松搜索此类数据。此功能使此数据样式非常适合CRM系统、预留和库存管理等应用程序。
半结构化网络数据:半结构化网络数据的组织条理性与结构化数据相比要弱,且由于字段并不完全符合表、行和列的结构,不会以关系格式存储。半结构化网络数据包含突显数据的组织和层次结构的标记,例如键/值对。半结构化网络数据也称为非关系数据或NoSQL数据,此样式的数据的表达式和结构由序列化语言定义。半结构化网络数据常见格式有三种:XML、JSON、YMAL。
非结构化数据:非结构化数据的组织结构难以发现,非结构化数据通常以文件形式提供,例如照片或视频。视频文件本身可具有整体结构并且具有半结构化元数据,但是包括视频文件本身在内的数据是非结构化数据。因此,将照片、视频和其他类似文件归类为非结构化数据。
PurpleSharp:是一款用C#编写的用于Windows环境的对手模拟工具,引入了针对Active Directory环境执行灵活且可定制的自动化对手模拟剧本的能力,允许防御者在不同场景和相同技术的变体中测量检测覆盖率。在整个攻击生命周期中按照MITRE ATT&CK框架的策略执行不同的行为,行为包括:执行、持久性、权限提升、凭证访问、横向移动等。
Cuckoo Sandbox:是一个用于自动检测恶意软件的开源工具,在一个孤立的现实环境中启动,并欺骗恶意软件,让恶意软件认为自己已经感染了主机,然后它会记录恶意软件的活动并生成详细报告。Cuckoo不仅可以帮助用户识别和删除恶意软件,还可以帮助用户了解恶意软件攻击步骤、攻击目标是什么,可自动执行在Windows、Linux、Android和macOS下评估恶意文件的任务。并且Cuckoo允许用户利用其设计和开源特性来自定义分析环境、结果处理和报告阶段的属性。
W3af:是一个Web应用程序攻击和检查框架。该项目已超过130个插件,例如:检查SQL注入、跨站点脚本(XSS)、本地和远程文件等。该框架用于寻找和开发Web应用安全漏洞。
kafka:是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。kafka是一种高吞吐量的分布式发布订阅消息系统,可以处理消费者在网站中的所有动作流数据。kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
网络靶场是一种多角色协同的网络系统仿真平台,用于支撑网络安全人才培养、网络攻防训练、安全产品评测和网络新技术验证。近年来,靶场攻防演练行动正不断推进,并向常态化、规模化发展。在网络靶场中进行网络安全活动,不仅可以避免对现实资源的占用和消耗,还可以做到对资源的反复利用。由于每一次安全试验造成的伤害程度都是可控的、可检测的,试验结束后还能够对收集的试验数据进行分析和研究。网络靶场在不影响真实环境的情况下可以提高网络安全从业人员的技术,也可以发现安全产品的漏洞从而提升安全产品的性能与安全性。
相关技术中,网络靶场中用红方指代进攻方,蓝方指代防御方,蓝方角色的职责是尽可能的快速地构建网络防御路线,制定防御策略收敛暴露面,及时联动响应封堵攻击途径,而当前蓝方角色在防御路线构建中主要存在两个问题:1)靶场中防御路线构建需涉及到大量防御工具的部署,目前较多的还是采用人工部署的方式,蓝方角色需耗费大量的时间和精力在多台虚机上执行重复性的防御工具安装部署工作,由此极大的影响了防御路线的构建速度;2)防御路线的描述所采用的是半结构化JSON数据,在安全防御领域,半结构化的JSON数据是一种人与计算机沟通的媒介,具有严谨的语法规则,但不利于阅读和理解,存在一定的学习门槛。蓝方队伍成员多是使用即时通讯工具沟通防御路线,因此如果进行部署时需要具备机器思维能力,才能将沟通信息中的防御路线转化为半结构化的JSON数据才能进行部署,这种方式无法满足及时联动响应的需求。
基于此,本发明实施例提供一种网络连接构建方法、装置、设备和存储介质,采用词法分析的方式自动提取文本信息中的词法结构,再基于词法结构提取半结构化字段内容,克服了半结构化网络数据的数据结构学习门槛较高,导致无法满足及时联动响应的需求的问题,同时根据半结构化字段内容构建网络连接,避免人工部署导致的构建效率较低的问题,进而达到了提高网络防御路线的构建效率和准确率的效果。
本发明实施例提供网络连接构建方法、装置、设备和存储介质,具体通过如下实施例进行说明,首先描述本发明实施例中的网络连接构建方法。
下面描述本发明实施例中的网络连接构建方法。
图1是本发明实施例提供的网络连接构建方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤S110至步骤S130。同时可以理解的是,本实施例对图1中步骤S110至步骤S130的顺序不做具体限定,可以根据实际需求调整步骤顺序或者减少、增加某些步骤。
步骤S110:获取网络连接文本信息。
在一实施例中,网络连接文本信息中包含关于网络连接的相关内容。例如可以是用户在聊天对话框内输入的文本信息,也可以是对用户口述内容进行文本识别之后得到的文本信息。
例如在红蓝网络靶场的虚拟攻防中,蓝方用户在终端的操作界面上的前端聊天输入框中输入关于防御的网络连接文本信息,此时网络连接文本信息为防御路线文本信息,点击“发送”标识,将其发送至服务端,前端将对话过程中产生的网络连接文本信息进行编码,例如是base64编码方式进行编码,然后将编码后的文本封装成消息体,发送至服务端。服务端从接收到的消息体中进行对应的解码,得到信息的发送者、信息的接收者以及关于防御的网络连接文本信息,这里的信息的发送者和信息的接收者可以通过聊天对话框的ID或者聊天双方的用户编号得到。然后服务端执行两个动作,第一个是通过websocket协议将关于防御的网络连接文本信息发送至接收者,另一个是执行下述步骤进行网络连接文本信息的解析过程。
在一实施例中,服务器后端通过websocket协议通知发送者对话内容中发现防御路线信息,并在前端弹框提示确认是否需要对该路线执行部署任务,如果用户点击确认则进入下述步骤进行文本解析过程,否则结束整个过程。
步骤S120:对网络连接文本信息进行词法分析,生成文本词法分析结构。
在一实施例中,由于不同的词性表示不同的涵义,因此词法分析的目的是得到网络连接文本信息中词语的词性,进而分析网络连接文本信息的含义。
在一实施例中,在红蓝网络靶场的虚拟攻防中,文本词法分析结构为防御文本词法分析结构。
在一实施例中,利用自然语言处理技术生成文本词法分析结构。参照图2,是一实施例示出的步骤S120的一种具体实现流程图,在本实施例中对网络连接文本信息进行词法分析,生成文本词法分析结构的步骤包括:
步骤S121:对网络连接文本信息进行分词操作,得到多个文本词语。
在一实施例中,可以采用基于词典的分词方法对文本信息进行分词,得到多个文本词语构成的分词序列,该方法按照预设策略将文本信息中待匹配的字符串与预先建立的词典中的词进行匹配。其中,预设策略包括:正向最大匹配法、逆向最大匹配法和双向匹配分词法等。
在一实施例中,利用相关技术中的自然语言处理工具包进行分词操作,例如采用Stanford NLP工具包进行文本分割操作,得到多个文本词语。可以理解的是这里的文本词语可以是单个的词也可以是词组。
例如输入的网络连接文本信息为“我要在虚拟机1、虚拟机2上部署防御工具1、防御工具2、防御工具3和防御工具4”,对其进行分词操作后,得到:“我”、“要”、“在”、“虚拟机1、虚拟机2”、“上”、“部署”、“防御工具1、防御工具2、防御工具3和防御工具4”。
步骤S122:对多个文本词语进行句子词性分析,得到文本词语的词性。
在一实施例中,不同的词语在句子中的成分不同,句子成分包括:主语、主语、谓语、宾语、定语、状语、补语等,而不同的成分对应不同的词性,例如主语多是名词或代词;谓语为动词,宾语和主语一样,定语是形容词、名词或副词;状语是形容词、副词或介词短语;补语为名词、形容词或副词等。因此本实施例中对多个文本词语进行句子词性分析,得到文本词语的词性以及其在句子中的成分。
步骤S123:基于文本词语和文本词语的词性生成文本词法分析结构。
在一实施例中,根据文本词语和对应的词性生成文本词法分析结构。参照图3,网络连接文本信息为“我要在虚拟机1、虚拟机2上部署防御工具1、防御工具2、防御工具3和防御工具4”,文本词语表示为:“我”、“要”、“在”、“虚拟机1、虚拟机2”、“上”、“部署”、“防御工具1、防御工具2、防御工具3”,其中,“我”是代词,“要”是副词,“在”是介词,“虚拟机1、虚拟机2”是名词组,“上”是介词,“部署”是动词,“防御工具1、防御工具2、防御工具3”是名词组。可以理解的是,名词组中采用顿号进行信息分割。其中,“我”、“虚拟机1、虚拟机2”和“防御工具1、防御工具2、防御工具3”是防御路线相关信息。
在一实施例中,利用Stanford NLP工具包中“lexparser”目录下的中文模型文件“chinesePCFG.ser.gz”,使用StanfordParser模块对对多个文本词语进行句子词性分析,即可得到文本词语的词性以及其在句子中的成分,以词或词组作为划分成分的基本单位,标注每个词语的词性,根据上述六个成分的搭配排列按层次顺序生成文本词法分析结构。
在一实施例中,参照图4,例如“我要在虚拟机1、虚拟机2上部署PurpleSharp,Cukoo Sandbox,W3af”,文本词法分析结构中,S表示文本句子,NP表示相关成分包含名词,VP表示相关成分包含动词,NN表示名词或代词,AP表示副词,PP表示介词,VV表示动词。因此,图中对应关系为:NN:我;AD:要;PP:在…上;NN:虚拟机1、虚拟机2;VV:部署;NN:PurpleSharp、Cukoo Sandbox、W3af”。图中用五角星示出了预设关键词。
在一实施例中,参照图5,针对蓝方防御的场景中,半结构化网络数据结构是一种JSON数据结构,具体构建的半结构化JSON数据结构中包含两部分:分别是预设字段和对应的字段内容,该实施例中,半结构化网络数据结构的预设字段包括:第一预设字段和第二预设字段。
参照图5,第一预设字段包括:创建者(created_by)、虚拟机名称(instance_id)和工具名称(tool_name),第二预设字段包括:网络方案、虚拟机属性和工具属性,其中,网络方案包括:方案名称(scheme_name)、更新者(updated_by)和工程编号(project_id),虚拟机属性包括:虚拟系统类型(os_type1)和虚拟机编号(vm_name),工具属性包括:工具系统类型(os_type2)、工具校验值(check_num)、文件后缀名(file_ext)和工具编号(tool_id),其中,虚拟系统类型指的是虚拟机的运行系统,如windows、Linux等,工具系统类型指支持工具运行的系统类型,工具校验值可以是MD5校验值。
参照图5,第一预设字段的创建者相关字段和第二预设字段的网络方案相关字段构成根节点。从根节点10出发得到第一子节点20,该第一子节点20是用于表征虚拟机列表,根据用到的虚拟机的数量生成对应数量的第二子节点21,每个第二子节点21都用来表征虚拟机的信息,这里虚拟机的信息由第一预设字段的虚拟机名称相关字段和第二预设字段的虚拟机属性相关字段构成。对于每个虚拟机来说,需要部署相关的网络工具才能实现防御功能,因此从每个第二子节点21出发得到第三子节点30,该第三子节点30是用于表征工具列表,根据用到的网络工具的数量生成对应数量的第四子节点31,每个第四子节点31都用来表征网络工具的信息,这里网络工具的信息由第一预设字段的工具名称相关字段和第二预设字段的工具属性相关字段构成。可以理解的是,防御工具可以是PurpleSharp、CukooSandbox、W3af等工具。
由上述可知,在执行下述步骤之前,可以预先构建半结构化网络数据的数据结构,得到文本词法分析结构后即可生成半结构化网络数据。
步骤S130:基于文本词法分析结构和预设字段标识生成半结构化字段内容。
在一实施例中,参照图6,是一实施例示出的步骤S130的一种具体实现流程图,在本实施例中基于文本词法分析结构和预设字段标识生成半结构化字段内容的步骤包括:
步骤S131:基于预设关键词从文本词法分析结构中进行信息提取,得到第一预设字段的第一网络连接信息。
在一实施例中,预设关键词包括:介词关键词和动词关键词,例如介词关键词可以是“在…上/之上”,动词关键词可以是:“部署”、“配置”或“设置”等。可以理解的是,可以通过预先约定的方式使得网络连接文本信息中包含对应的预设关键词或者预设关键词的相似词,以提升信息提取的效率的准确率,其中,预设关键词可以通过实际情况进行设定。
在一实施例中,文本词法分析结构中词性还包括主语代词,第一预设字段包括:创建者、虚拟机名称和工具名称,因此步骤S131需要从文本词法分析结构中提取得到关于创建者、虚拟机名称和工具名称的内容。参照图7,是一实施例示出的步骤S131的一种具体实现流程图,在本实施例中基于预设关键词从文本词法分析结构中进行信息提取,得到第一预设字段的第一网络连接信息的步骤包括:
步骤S1311:基于介词关键词在文本词法分析结构中提取得到初始虚拟机信息。
在一实施例中,介词关键词可以是“在…上”,参照图3,文本词法分析结构中包括:“在/虚拟机1、虚拟机2/上”,因此根据介词关键词“在…上”,提取位于介词关键词之间的内容,得到的初始虚拟机信息为:虚拟机1、虚拟机2,其中顿号用于分隔,即初始虚拟机信息包括两个虚拟机。
步骤S1312:基于动词关键词在文本词法分析结构中提取得到初始工具信息。
在一实施例中,动词关键词可以是“部署”,参照图3,文本词法分析结构中包括:“部署/防御工具1、防御工具2、防御工具3”,因此根据动词关键词“部署”提取位于动词关键词之后的内容,得到的初始工具信息为:防御工具1、防御工具2、防御工具3,其中顿号用于分隔,即初始工具信息包括三个防御工具。
步骤S1313:根据文本词法分析结构的主语代词得到创建者信息。
在一实施例中,参照图3,主语代词为“我”,因此将消息的发送者作为“我”的实际人员,根据聊天对话框的ID或者聊天双方的用户编号得到消息发送者的信息,进而根据消息发送者得到创建者信息,这里的创建者信息即防御网络的创建者。可以理解的是主语代词也可以是“你”、“他”或者具体的某一个人,根据主语代词对应的用户编号等信息确定创建者信息。
步骤S1314:根据创建者信息、初始虚拟机信息和初始工具信息得到第一网络连接信息。
在一实施例中,获取道初始虚拟机信息和初始工具信息后,需要进行信息真实性校验,确保虚拟机信息和对应的工具信息都是真实可靠的。参照图8,是一实施例示出的步骤S1314的一种具体实现流程图,在本实施例中根据创建者信息、初始虚拟机信息和初始工具信息得到第一网络连接信息的步骤包括:
步骤S810:查询预设网络信息数据库判断初始虚拟机信息的第一状态。
在一实施例中,预设网络信息数据库中存储可用的虚拟机的相关信息,可以通过虚拟机的名称查询到对应的信息,因此本实施例在预设网络信息数据库查询上述获得的初始虚拟机信息,查询结果为第一状态,这里的第一状态包括两个,一个是正状态,一个是负状态,正状态表示初始虚拟机信息能够在查询预设网络信息数据库中查询到,属于真实信息,负状态表示初始虚拟机信息不能在查询预设网络信息数据库中查询到,属于虚假信息。
步骤S820:查询预设网络信息数据库判断初始工具信息的第二状态。
在一实施例中,预设网络信息数据库中还存储可用的防御工具的相关信息,可以通过防御工具的名称查询到对应的信息,因此本实施例在预设网络信息数据库查询上述获得的初始工具信息,查询结果为第二状态,这里的第二状态包括两个,一个是正状态,一个是负状态,正状态表示初始工具信息能够在查询预设网络信息数据库中查询到,属于真实信息,负状态表示初始工具信息不能在查询预设网络信息数据库中查询到,属于虚假信息。
步骤S830:当第一状态和第二状态都是正状态时,根据创建者信息、初始虚拟机信息和初始工具信息得到第一网络连接信息。
在一实施例中,只有当初始虚拟机信息和初始工具信息都是真实信息,才据此生成第一网络连接信息,第一网络连接信息包括:创建者信息、初始虚拟机信息和初始工具信息。
步骤S132:基于第一网络连接信息在预设网络信息数据库查询得到第二预设字段的第二网络连接信息。
在一实施例中,预设网络信息数据库包括:用户信息数据表、虚拟机信息数据表和网络工具数据表,其中,用户信息数据表中存储网络方案的相关信息,例如方案名称、更新者和工程编号等;虚拟机信息数据表中存储有虚拟机属性的相关信息,例如虚拟系统类型和虚拟机编号等。网络工具数据表中还存储防御工具的工具属性相关信息,例如工具系统类型、工具校验值、文件后缀名和工具编号等。
在一实施例中,参照图9,是一实施例示出的步骤S132的一种具体实现流程图,在本实施例中基于第一网络连接信息在预设网络信息数据库查询得到第二预设字段的第二网络连接信息的步骤包括:
步骤S1321:基于创建者信息在用户信息数据表查询得到网络方案信息。
步骤S1322:基于初始虚拟机信息在虚拟机信息数据表查询得到虚拟机属性信息。
步骤S1323:基于初始工具信息在网络工具数据表查询得到工具属性信息。
步骤S1324:根据网络方案信息、虚拟机属性信息和工具属性信息得到第二网络连接信息。
在一实施例中,基于得到的创建者信息、初始虚拟机信息和初始工具信息进行第二网络连接信息的补全,具体是:基于创建者信息在用户信息数据表查询得到方案名称、更新者和工程编号。基于初始虚拟机信息在虚拟机信息数据表查询得到虚拟系统类型和虚拟机编号。基于初始工具信息在网络工具数据表查询得到工具系统类型、工具校验值、文件后缀名和工具编号。最后将得到的信息汇总成第二网络连接信息。可以理解的是,在构建预设网络信息数据库即可根据需求设定上述对应的字段用以存储相关的信息。
步骤S133:根据第一预设字段和第一网络连接信息生成第一字段内容,以及根据第二预设字段和第二网络连接信息生成第二字段内容。
在一实施例中,基于如图5所示的半结构化网络数据的数据结构,参照图10,根据第一网络连接信息填充半结构化网络数据中的第一预设字段得到第一字段内容的步骤包括:
步骤S1331:根据创建者信息生成创建者的创建者字段信息。
步骤S1332:根据初始虚拟机信息生成虚拟机名称的虚拟机名称字段信息。
步骤S1333:根据初始工具信息生成工具名称的工具名称字段信息。
步骤S1334:根据创建者字段信息、虚拟机名称字段信息和工具名称字段信息生成第一字段内容。
在一实施例中,假设网络连接文本信息为:“我要在虚拟机3上部署PurpleSharp”,并且消息的发送者“我”的用户编号为:创建者1,则创建者字段信息表示为:{创建者:创建者1};虚拟机名称字段信息表示为:{虚拟机名称:虚拟机3};工具名称字段信息表示为:{工具名称:PurpleSharp}。
参照图11,第一字段内容表示为:
创建者:创建者1;
虚拟机名称:虚拟机1;
工具名称:PurpleSharp;
在一实施例中,参照图12,根据第二网络连接信息填充第二预设字段得到第二字段内容的步骤包括:
步骤S1335:根据网络方案信息生成网络方案的网络方案字段信息。
步骤S1336:根据初始虚拟机信息生成虚拟机属性的虚拟机属性字段信息。
步骤S1337:根据初始工具信息生成工具属性的工具属性字段信息。
步骤S1338:根据网络方案字段信息、虚拟机属性字段信息和工具属性字段信息生成第二字段内容。
在一实施例中,假设方案名称为方案1,更新者为更新者1,工程编号为工程1,则网络方案字段信息表示为:{网络方案:方案1,更新者1,工程1};可以进一步细化为:{方案名称:方案1}、{更新者:更新者1}和{工程编号:工程1}。
假设虚拟系统类型为虚拟机类型3,虚拟机编号为虚拟机编号3,则虚拟机属性字段信息表示为:{虚拟机属性:[虚拟机类型3,虚拟机编号3]},可进一步细化为:{[虚拟机类型:虚拟机类型1],[虚拟机编号:虚拟机编号1]}。
假设工具系统类型为工具系统类型3,工具校验值为校验值3,文件后缀名为后缀名3,工具编号为工具编号3,则工具属性字段信息表示为:{工具属性:[工具系统类型3,校验值3,后缀名3,工具编号3]},可进一步细化为:{[工具系统类型:工具系统类型3],[校验值:校验值3],[后缀名:后缀名3],[工具编号:工具编号3]}。
参照图11,第二字段内容表示为:
方案名称:方案1;
更新者:更新者1;
工程编号:工程1;
虚拟机类型:虚拟机类型1;
虚拟机编号:虚拟机编号1;
工具系统类型:工具系统类型3;
校验值:校验值3;
后缀名:后缀名3;
工具编号:工具编号3;
在一实施例中,得到上述第一字段内容和第二字段内容后,可以进一步执行下述步骤得到半结构化网络数据。
步骤S134:根据第一字段内容和第二字段内容生成半结构化字段内容。
在一实施例中,综合第一字段内容和第二字段内容即可得到半结构化字段内容。
步骤S140:根据半结构化字段内容生成半结构化网络数据。
在一实施例中,参照图13,步骤S140中根据半结构化字段内容生成半结构化网络数据的步骤包括:
步骤S141:获取预设的半结构化网络数据结构。
步骤S142:利用第一字段内容和第二字段内容填充预设半结构化网络数据结构,得到半结构化网络数据。
在一实施例中,预设的半结构化网络数据结构可以是图5中示出的数据结构,如上述实施例中,利用第一字段内容和第二字段内容填充预设半结构化网络数据结构,得到半结构化网络数据,参照图11,半结构化网络数据表示为:
创建者:创建者1;
方案名称:方案1;
更新者:更新者1;
工程编号:工程1;
虚拟机名称:虚拟机1;
虚拟机类型:虚拟机类型1;
虚拟机编号:虚拟机编号1;
工具名称:PurpleSharp;
工具系统类型:工具系统类型3;
校验值:校验值3;
后缀名:后缀名3;
工具编号:工具编号3。
在一实施例中,服务器后端接收到确认执行部署任务信息后,将文本词法分析结构中的词语信息与预先定义的半结构化网络数据结构的预设字段一一对应,第一预设字段的第一字段内容可以根据文本词法分析结构中的词语信息直接得到,第二预设字段的第二字段内容将由服务器后端根据创建者、虚拟机名称和工具名称这三个字段对应的信息到预设网络信息数据库包括:用户信息数据表、虚拟机信息数据表和网络工具数据表中查询补全,生成JSON格式的半结构化数据,即得到半结构化网络数据。该数据类型相较于非结构化文本在跨平台数据传输过程中具备易扩展、高度兼容的特性,运行于不同靶场虚机上的虚机在接收到数据后可直接应用,无需做二次解析工作。
在一实施例中,其中文本词法分析结构与半结构化网络数据的部分字段的对应关系如下标所示。
Figure BDA0004123521400000171
由上述可知,本申请实施例将获取的网络连接文本信息进行词法分析,生成文本词法分析结构,再基于文本词法分析结构和预设字段标识生成半结构化字段内容,接着根据半结构化字段内容生成半结构化网络数据,这里的半结构化网络数据用于描述防御路线,是一种半结构化JSON数据,具有对应的语法规则,能够被计算机识别。
接着描述本申请实施例得到防御路线的半结构化网络数据之后,如何实现防御路线的部署。
步骤S150:根据半结构化网络数据构建网络连接。
在一实施例中,网络靶场利用kafka分布式发布订阅消息系统进行网络部署。参照图14,是一实施例示出的步骤S150的一种具体实现流程图,在本实施例中根据半结构化网络数据构建网络连接的步骤包括:
步骤S151:基于分布式消息订阅系统将半结构化网络数据发送至第一目标主题进行消息持久化,得到第一主题消息。
在一实施例中,多个虚拟机构成kafka集群,每个虚拟机都能通过kafka的分布式消息订阅系统接收到相关的信息。在kafka中主题是一个存储消息的逻辑概念,可以认为是一个消息集合。每条发送到kafka集群的消息都有一个类别。物理上来说,不同的主题的消息是分开存储的,每个主题可以划分一个或多个分区,同一主题下的不同分区包含的消息是不同的。消息是kafka中最基本的数据单元,在kafka中,一条消息由key和value两部分构成,在发送一条消息时,可以指定key,那么生产者会根据key来判断当前这条消息应该发送并存储到哪个分区中。每个消息在被添加到分区时,都会被分配一个偏移量offset,它是消息在此分区中的唯一编号,kafka通过offset保证消息在分区内的顺序,offset的顺序不跨分区,即kafka只保证在同一个分区内的消息是有序的。每个主题可以有多个生产者向它发送消息,也可以有多个消费者去消费其中的消息。
在一实施例中,参照图15,是一实施例示出的步骤S151的一种具体实现流程图,在本实施例中基于分布式消息订阅系统将半结构化网络数据发送至第一目标主题进行消息持久化,得到第一主题消息的步骤包括:
步骤S1511:从kafka集群中选择一个虚拟机。
在一实施例中,基于kafka的防御路线下发事务实现机制中,服务器后端从kafka集群中选择一台机器,这里可以是预先设定某一台虚拟机也可以是随机选取的方式进行选择。
步骤S1512:向虚拟机发送寻址请求,以向kafka事务管理器申请得到生产者编号。
在一实施例中,对上述选择的虚拟机发送一条用于寻址的消息请求,目的是向kafka事务管理器(Transaction Coordinator,TC)申请生产者编号,表示为生产者ID,生产者能够直接发送数据到主分区,不同的生产者通过生产者ID进行区分。
步骤S1513:基于生产者编号将半结构化网络数据发送到第一目标主题,并向kafka事务管理器发送持久化请求。
步骤S1514:接收持久化请求的响应信息后得到第一主题消息。
在一实施例中,接收到kafka事务管理器分配到生产者ID后,服务器后端以生产者身份将描述防御路线信息的半结构化网络数据发送给第一目标主题,这里的第一目标主题的名称可以是“DP_TASK”,同时向kafka事务管理器发送持久化请求,用于将半结构化网络数据持久化到“DP_TASK”主题中。kafka事务管理器在收到持久化请求后将结构化数据持久化到第一目标主题,如果持久化成功则立即发送持久化成功的响应信息给服务器后端,同时第一目标主题中包含半结构化网络数据的消息。
步骤S152:将第一主题消息发送至虚拟机,以使得虚拟机能够根据第一主题消息获取网络工具信息。
在一实施例中,kafka事务管理器的后台线程不间断地的从队列里拉取第一主题消息,并将第一主题消息发送到各个kafka分区,虚拟机作为消费者部署在分区中,因此当虚拟机以消费者身份接收到“DP_TASK”主题下的第一主题消息后,首先会已读取标识保存到其对应的分区里,并且返回接收消息成功的响应消息到kafka事务管理器,当kafka事务管理器收到所有分区都成功响应的消息后,持久化一条事务完成的消息到名为“__transaction_state”的负责持久化事务消息的主题中。同时,各虚拟机从接收到的第一主题消息中查询本机名称,这里的本机名称为该虚拟机的虚拟机名称,若第一主题消息的虚拟机名称字段信息中包含本机名称,则从第一主题消息的工具名称字段信息中读取本机部署工具内容,这里的本机部署工具内容指需要在该虚拟机上部署的工具是什么,并根据本机部署工具内容minio分布式文件存储系统上下载对应的网络工具到本地文件系统中。
步骤S153:接收虚拟机对网络工具信息进行校验生成的校验结果。
在一实施例中,校验结果是虚拟机生成的,具体的生成过程是:虚拟机将网络工具下载到本地文件系统后,计算每个网络工具的验证值,并将验证值和工具属性字段信息中的工具校验值进行匹配,判断网络工具是否已完整下载,如果完整下载,则生成校验通过的校验结果,否则生成校验未通过的校验结果。
在一实施例中,虚拟机将防御工具的相关文件包下载到本地文件系统后,分别计算每个防御工具的MD5值,并与半结构化网络数据中的工具校验值进行匹配,用以判断防御工具是否已被完整下载,并将校验结果发送给服务器后端。
步骤S154:根据校验结果、半结构化网络数据以及第一判断条件,构建网络连接。
在一实施例中,第一判断条件指的是:服务器后端收集到的半结构化网络数据中所有需要部署防御工具的虚拟机返回的校验结果均为校验通过。参照图16,在本实施例中根据校验结果、半结构化网络数据以及第一判断条件,构建网络连接的步骤包括:
步骤S1541:根据半结构化网络数据确定一个或一个以上目标虚拟机。
步骤S1542:获取所有目标虚拟机的校验结果。
步骤S1543:若校验结果都是校验通过,则根据半结构化网络数据构建网络连接。
在一实施例中,首先根据半结构化网络数据确定需要部署防御工具的一个或一个以上虚拟机作为目标虚拟机,统计所有的目标虚拟机的校验结果是否都是校验通过,即每个目标虚拟机都完整下载了需要部署的防御工具,若校验结果都是校验通过,则根据半结构化网络数据构建网络连接。若是存在校验失败的信息,则通过websocket协议,以弹窗或者消息通知的方式通知前端防御路线部署失败。
由上述可知,本申请实施例提出的基于文本语义处理的网络连接构建方法具有普适性,可以普遍适用网络于靶场蓝方防御路线生成和部署。对非结构化防御路线文本结构采用词法分析的方式自动提取文本信息中的词法结构,再基于词法结构提取半结构化字段内容,实现对其进行属性信息提取、字段关联以及信息补全的操作,将网络连接文本信息转化为预先设定的基于半结构化语法的防御路线的半结构化网络数据,再通过发布/订阅模式通知虚拟机执行防御部署任务。兼顾了面向机器的数据易用性与面向用户的数据可读性,有效降低了蓝方用户在靶场中执行防御路线部署的学习门槛,避免因为半结构化网络数据的数据结构学习门槛较高导致无法满足及时联动响应的需求的问题。同时根据半结构化字段内容构建网络连接,避免人工部署导致的构建效率较低以及容易出现的部署失误问题,进而达到了提高网络防御路线的构建效率和准确率的效果。
针对网络靶场的虚拟攻防,本发明实施例还提供一种在防御方(蓝方)防御过程中防御路线构建方法,具体包括以下步骤:获取防御路线文本信息,对防御路线文本信息进行词法分析,生成防御文本词法分析结构,基于防御文本词法分析结构和预设防御字段生成半结构化防御字段内容,根据半结构化防御字段内容生成半结构化防御路线数据,根据半结构化防御路线数据构建防御路线。
本实施例的防御路线构建方法的具体实施方式与上述网络连接构建方法的具体实施方式基本一致,其中,防御路线文本信息为网络连接构建方法的网络连接文本信息,防御文本词法分析结构为网络连接构建方法的文本词法分析结构,预设防御字段为网络连接构建方法的预设字段,半结构化防御字段内容为网络连接构建方法的半结构化字段内容,半结构化防御路线数据为网络连接构建方法的半结构化网络数据,防御路线网络连接构建方法的网络连接,具体的执行流程在此不再赘述。
本发明实施例还提供一种网络连接构建装置,可以实现上述网络连接构建方法,参照图17,该装置包括:
文本信息获取模块1710,用于获取网络连接文本信息。
词法分析模块1720,用于对网络连接文本信息进行词法分析,生成文本词法分析结构。
字段内容生成模块1730,用于基于文本词法分析结构和预设字段标识生成半结构化字段内容。
网络连接数据生成模块1740,用于根据半结构化字段内容生成半结构化网络数据。
网络连接构建模块1750,用于根据半结构化网络数据构建网络连接。
本实施例的网络连接构建装置的具体实施方式与上述网络连接构建方法的具体实施方式基本一致,在此不再赘述。
本发明实施例还提供了一种电子设备,包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
所述程序被存储在存储器中,处理器执行所述至少一个程序以实现本发明实施上述的网络连接构建方法。该电子设备可以为包括手机、平板电脑、个人数字助理(PersonalDigital Assistant,简称PDA)、车载电脑等任意智能终端。
请参阅图18,图18示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器1801,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本发明实施例所提供的技术方案;
存储器1802,可以采用ROM(ReadOnlyMemory,只读存储器)、静态存储设备、动态存储设备或者RAM(RandomAccessMemory,随机存取存储器)等形式实现。存储器1802可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1802中,并由处理器1801来调用执行本发明实施例的网络连接构建方法;
输入/输出接口1803,用于实现信息输入及输出;
通信接口1804,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;和
总线1805,在设备的各个组件(例如处理器1801、存储器1802、输入/输出接口1803和通信接口1804)之间传输信息;
其中处理器1801、存储器1802、输入/输出接口1803和通信接口1804通过总线1805实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种存储介质,存储介质为计算机可读存储介质,该存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述网络连接构建方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例提出的网络连接构建方法、网络连接构建装置、电子设备、存储介质,通过获取网络连接文本信息,对网络连接文本信息进行词法分析,生成文本词法分析结构,再基于文本词法分析结构和预设字段标识生成半结构化字段内容,接着根据半结构化字段内容生成半结构化网络数据,最后根据半结构化网络数据构建网络连接。本申请实施例采用词法分析的方式自动提取文本信息中的词法结构,再基于词法结构提取半结构化字段内容,克服了半结构化网络数据的数据结构学习门槛较高,导致无法满足及时联动响应的需求的问题,同时根据半结构化字段内容构建网络连接,避免人工部署导致的构建效率较低的问题,进而达到了提高网络防御路线的构建效率和准确率的效果。。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。

Claims (18)

1.一种网络连接构建方法,其特征在于,包括:
获取网络连接文本信息;
对所述网络连接文本信息进行词法分析,生成文本词法分析结构;
基于所述文本词法分析结构和预设字段生成半结构化字段内容;
根据所述半结构化字段内容生成半结构化网络数据;
根据所述半结构化网络数据构建网络连接。
2.根据权利要求1所述的网络连接构建方法,其特征在于,所述对所述网络连接文本信息进行词法分析,生成文本词法分析结构,包括:
对所述网络连接文本信息进行分词操作,得到多个文本词语;
对所述多个文本词语进行句子词性分析,得到所述文本词语的词性;
基于所述文本词语和所述文本词语的词性生成所述文本词法分析结构。
3.根据权利要求2所述的网络连接构建方法,其特征在于,所述预设字段包括:第一预设字段和第二预设字段;所述基于所述文本词法分析结构生成半结构化字段内容,包括:
基于预设关键词从所述文本词法分析结构中进行信息提取,得到第一预设字段的第一网络连接信息;
基于所述第一网络连接信息在预设网络信息数据库查询得到所述第二预设字段的第二网络连接信息;
根据第一预设字段和第一网络连接信息生成第一字段内容,以及根据第二预设字段和所述第二网络连接信息生成第二字段内容;
根据所述第一字段内容和所述第二字段内容生成所述半结构化字段内容。
4.根据权利要求3所述的网络连接构建方法,其特征在于,所述词性包括:主语代词;所述预设关键词包括:介词关键词和动词关键词;所述基于预设关键词从所述文本词法分析结构中进行信息提取,得到第一预设字段的第一网络连接信息,包括:
基于所述介词关键词在所述文本词法分析结构中提取得到初始虚拟机信息;
基于所述动词关键词在所述文本词法分析结构中提取得到初始工具信息;
根据所述文本词法分析结构的所述主语代词得到创建者信息;
根据所述创建者信息、所述初始虚拟机信息和所述初始工具信息得到所述第一网络连接信息。
5.根据权利要求4所述的网络连接构建方法,其特征在于,所述根据所述创建者信息、所述初始虚拟机信息和所述初始工具信息得到所述第一网络连接信息,包括:
查询所述预设网络信息数据库判断所述初始虚拟机信息的第一状态,所述第一状态为正状态时,表征所述初始虚拟机信息是真实信息;
查询所述预设网络信息数据库判断所述初始工具信息的第二状态,所述第二状态为正状态时,表征所述初始工具信息是真实信息;
当所述第一状态和所述第二状态都是正状态时,根据所述创建者信息、所述初始虚拟机信息和所述初始工具信息得到所述第一网络连接信息。
6.根据权利要求4所述的网络连接构建方法,其特征在于,所述第一预设字段包括:创建者、虚拟机名称和工具名称;所述根据第一预设字段和第一网络连接信息生成第一字段内容,包括:
根据所述创建者信息生成所述创建者的创建者字段信息;
根据所述初始虚拟机信息生成所述虚拟机名称的虚拟机名称字段信息;
根据所述初始工具信息生成所述工具名称的工具名称字段信息;
根据所述创建者字段信息、所述虚拟机名称字段信息和所述工具名称字段信息生成第一字段内容。
7.根据权利要求4所述的网络连接构建方法,其特征在于,所述预设网络信息数据库包括:用户信息数据表、虚拟机信息数据表和网络工具数据表;所述基于所述第一网络连接信息在预设网络信息数据库查询得到所述第二预设字段标识的第二网络连接信息,包括:
基于所述创建者信息在所述用户信息数据表查询得到网络方案信息;
基于所述初始虚拟机信息在所述虚拟机信息数据表查询得到虚拟机属性信息;
基于所述初始工具信息在所述网络工具数据表查询得到工具属性信息;
根据所述网络方案信息、所述虚拟机属性信息和所述工具属性信息得到所述第二网络连接信息。
8.根据权利要求7所述的网络连接构建方法,其特征在于,所述第二预设字段包括:网络方案、虚拟机属性和工具属性;所述根据第二预设字段和所述第二网络连接信息生成第二字段内容,包括:
根据所述网络方案信息生成所述网络方案的网络方案字段信息;
根据所述初始虚拟机信息生成所述虚拟机属性的虚拟机属性字段信息;
根据所述初始工具信息生成所述工具属性的工具属性字段信息;
根据所述网络方案字段信息、所述虚拟机属性字段信息和所述工具属性字段信息生成第二字段内容。
9.根据权利要求3所述的网络连接构建方法,其特征在于,所述根据所述半结构化字段内容生成半结构化网络数据,包括:
获取预设的半结构化网络数据结构;
利用所述第一字段内容和所述第二字段内容填充所述预设半结构化网络数据结构,得到所述半结构化网络数据。
10.根据权利要求1至9任一项所述的网络连接构建方法,其特征在于,所述根据所述半结构化网络数据构建网络连接,包括:
基于分布式消息订阅系统将所述半结构化网络数据发送至第一目标主题进行消息持久化,得到第一主题消息;
将所述第一主题消息发送至虚拟机,以使得所述虚拟机能够根据所述第一主题消息获取网络工具信息;
接收所述虚拟机对所述网络工具信息进行校验生成的校验结果;
根据所述校验结果、所述半结构化网络数据以及第一判断条件,构建所述网络连接;所述第一判断条件包括所述校验结果为校验通过。
11.根据权利要求10所述的网络连接构建方法,其特征在于,所述分布式消息订阅系统为kafka系统,多个所述虚拟机构成kafka集群;所述基于分布式消息订阅系统将所述半结构化网络数据发送至第一目标主题进行消息持久化,得到第一主题消息,包括:
从所述kafka集群中选择一个所述虚拟机;
向所述虚拟机发送寻址请求,以向kafka事务管理器申请得到生产者编号;
基于所述生产者编号将所述半结构化网络数据发送到所述第一目标主题,并向所述kafka事务管理器发送持久化请求;
接收所述持久化请求的响应信息后得到所述第一主题消息。
12.根据权利要求11所述的网络连接构建方法,其特征在于,所述将所述第一主题消息发送至虚拟机,以使得所述虚拟机能够根据所述第一主题消息获取网络连接信息,包括:
将所述第一主题消息发送至每个所述虚拟机,以使所述虚拟机收到所述第一主题消息时,在所述第一主题消息中查询本机名称,若所述第一主题消息的所述虚拟机名称字段信息中包含所述本机名称,则从所述第一主题消息的所述工具名称字段信息中读取本机部署工具内容,并根据所述本机部署工具内容下载对应的网络工具。
13.根据权利要求12所述的网络连接构建方法,其特征在于,所述接收所述虚拟机对所述网络工具信息进行校验生成的校验结果,所述校验结果为所述虚拟机执行以下步骤生成的:
将所述网络工具下载到本地文件系统;
计算每个所述网络工具的验证值,并将所述验证值和所述工具属性字段信息进行匹配,判断所述网络工具是否已完整下载,如果完整下载,则生成校验通过的所述校验结果,否则生成校验未通过的所述校验结果。
14.根据权利要求13所述的网络连接构建方法,其特征在于,所述根据所述校验结果和所述半结构化网络数据构建所述网络连接,包括:
根据所述半结构化网络数据确定一个或一个以上目标虚拟机;
获取所有所述目标虚拟机的所述校验结果;
若所述校验结果都是校验通过,则根据所述半结构化网络数据构建所述网络连接。
15.一种防御路线构建方法,应用于网络靶场的防御方,其特征在于,包括:
获取防御路线文本信息;
对所述防御路线文本信息进行词法分析,生成防御文本词法分析结构;
基于所述防御文本词法分析结构和预设防御字段生成半结构化防御字段内容;
根据所述半结构化防御字段内容生成半结构化防御路线数据;
根据所述半结构化防御路线数据构建防御路线。
16.一种网络连接构建装置,其特征在于,包括:
文本信息获取模块,用于获取网络连接文本信息;
词法分析模块,用于对所述网络连接文本信息进行词法分析,生成文本词法分析结构;
字段内容生成模块,用于基于所述文本词法分析结构和预设字段标识生成半结构化字段内容;
网络连接数据生成模块,用于根据所述半结构化字段内容生成半结构化网络数据;
网络连接构建模块,用于根据所述半结构化网络数据构建网络连接。
17.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至14任一项所述的网络连接构建方法,或如权利要求15所述的防御路线构建方法。
18.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至14中任一项所述的网络连接构建方法,或如权利要求15所述的防御路线构建方法。
CN202310239249.7A 2023-03-06 2023-03-06 网络连接构建方法、装置、设备和存储介质 Pending CN116405256A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310239249.7A CN116405256A (zh) 2023-03-06 2023-03-06 网络连接构建方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310239249.7A CN116405256A (zh) 2023-03-06 2023-03-06 网络连接构建方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN116405256A true CN116405256A (zh) 2023-07-07

Family

ID=87016968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310239249.7A Pending CN116405256A (zh) 2023-03-06 2023-03-06 网络连接构建方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN116405256A (zh)

Similar Documents

Publication Publication Date Title
Chisholm et al. Entity disambiguation with web links
CN107526800B (zh) 信息推荐的装置、方法及计算机可读存储介质
US9235653B2 (en) Discovering entity actions for an entity graph
Rasool et al. Multi-label fake news detection using multi-layered supervised learning
US8006180B2 (en) Spell checking in network browser based applications
US9672251B1 (en) Extracting facts from documents
US10303689B2 (en) Answering natural language table queries through semantic table representation
US10242320B1 (en) Machine assisted learning of entities
CN104360994A (zh) 自然语言理解方法及系统
CN103902535A (zh) 获取联想词的方法、装置及系统
CN109614401A (zh) 基于ElasticSearch和Hbase技术的网络传输数据存储系统
CN105279159B (zh) 联系人的提示方法和装置
CN102982095A (zh) 一种基于叙词表的本体自动生成系统及其方法
CN104462326A (zh) 人物关系分析方法、提供人物信息的方法及装置
US11677703B2 (en) Systems and methods for automatically identifying spam in social media comments based on context
US20130151519A1 (en) Ranking Programs in a Marketplace System
Nastase et al. Hits’ graph-based system at the ntcir-9 cross-lingual link discovery task
US11258741B2 (en) Systems and methods for automatically identifying spam in social media comments
CN109361591B (zh) 一种基于插件化的个人消息聚合系统
CN116405256A (zh) 网络连接构建方法、装置、设备和存储介质
CN109684351A (zh) 一种执行计划查看方法、装置、服务器及存储介质
CN115563296A (zh) 基于内容语义的融合检测方法和系统
Jiang et al. A semantic-based approach to service clustering from service documents
Huang et al. KIEM: a knowledge graph based method to identify entity morphs
CN111984761A (zh) 一种信息应答处理方法、设备及存储介质

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