CN117499151A - 一种构建网络靶场的方法和装置 - Google Patents

一种构建网络靶场的方法和装置 Download PDF

Info

Publication number
CN117499151A
CN117499151A CN202311635104.5A CN202311635104A CN117499151A CN 117499151 A CN117499151 A CN 117499151A CN 202311635104 A CN202311635104 A CN 202311635104A CN 117499151 A CN117499151 A CN 117499151A
Authority
CN
China
Prior art keywords
network
information
attack
file
target
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
CN202311635104.5A
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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202311635104.5A priority Critical patent/CN117499151A/zh
Publication of CN117499151A publication Critical patent/CN117499151A/zh
Pending legal-status Critical Current

Links

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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开一种构建网络靶场的方法和装置,方法包括,安全运营中心平台检测到网络攻击行为时,获取网络攻击行为的受害信息和攻击行为信息;其中,受害信息包括:受害服务器的操作***信息、软件信息、依赖软件组件信息等,用于构建待测试的网络靶场;根据攻击行为信息生成攻击文件;根据攻击文件生成漏洞验证文件,根据受害信息生成镜像组成文件;镜像组成文件包括漏洞环境所需镜像,容器启动顺序和端口映射;漏洞验证文件用于验证漏洞环境是否复现成功;利用镜像组成文件构建用于复现漏洞环境的网络靶场镜像;基于漏洞验证文件对网络靶场镜像进行网络攻击,以验证网络靶场镜像是否构建成功;若确定网络靶场镜像构建成功,输出网络靶场镜像。

Description

一种构建网络靶场的方法和装置
技术领域
本申请网络技术领域,特别涉及一种构建网络靶场的方法和装置。
背景技术
在企业生产活动中经常会遇到网络攻击,在网络攻击成功时,网络安全运维人员需要在第一时间对网络攻击进行响应。为了满足对分析网络攻击的细节,提高相关人员的网络安全能力的需求,通常需要建立一些带有漏洞的软件应用环境供员工使用。
集成有多个软件应用缺陷环境的平台被称作网络靶场。现有的构建网络靶场的技术所构建的网络靶场还原度较低,构建出的网络靶场和真实的网络环境存在较大的差距,难以还原真实网络环境中存在的漏洞和这些漏洞的应用场景。而还原度低的网络靶场显然难以满足分析网络攻击的细节,提高人员网络安全能力的需求。
发明内容
为此,本申请公开一种构建网络靶场的方法和装置,以提高网络靶场的还原度。
本申请第一方面提供一种构建网络靶场的方法,包括:
安全运营中心平台检测到网络攻击行为时,获取所述网络攻击行为的攻击行为信息和受害信息;其中,所述受害信息包括基础镜像,操作***版本和补丁信息,软件信息,软件依赖组件信息,端口和服务信息,操作***配置信息,网络配置信息,操作***用户信息,操作***日志信息,所述攻击行为信息包括漏洞类型、攻击者的IP地址、攻击时间、攻击载荷、请求报文、协议类型和原始日志;
根据所述攻击行为信息生成攻击文件;其中,所述攻击文件包括漏洞利用信息和辅助信息;
根据所述攻击文件生成漏洞验证文件,根据所述受害信息生成镜像组成文件;其中,所述镜像组成文件包括漏洞环境所需镜像,容器启动顺序和端口映射;所述漏洞验证文件用于验证漏洞环境是否复现成功;
利用所述镜像组成文件构建用于复现漏洞环境的网络靶场镜像;
基于所述漏洞验证文件对所述网络靶场镜像进行网络攻击,以验证所述网络靶场镜像是否构建成功;
若确定所述网络靶场镜像构建成功,输出所述网络靶场镜像。
可选的,所述基于所述漏洞验证文件对所述网络靶场镜像进行网络攻击,以验证所述网络靶场镜像是否构建成功之后,还包括:
若确定所述网络靶场环境构建失败,根据所述攻击文件生成新的镜像组成文件,返回执行所述利用所述镜像组成文件构建用于复现漏洞环境的网络靶场镜像步骤,直至失败次数大于失败次数阈值或者网络靶场环境构建成功为止;
若所述失败次数大于所述失败次数阈值,输出报错信息并标记执行失败的功能点。
可选的,所述根据所述攻击文件生成漏洞验证文件,根据所述受害信息生成镜像组成文件,包括:
根据所述攻击文件确定目标软件和所述目标软件依赖的其他软件,所述目标软件是所述网络攻击行为针对的软件;
从目标***获得所述目标软件的容器化部署信息,以及所述其他软件的容器化部署信息,所述目标***是所述目标软件所属的***;
确定所述目标***中所述目标软件和所述其他软件的启动顺序;
将所述目标软件的容器化部署信息和所述其他软件的容器化部署信息按所述启动顺序组合得到镜像组成文件;
将所述攻击文件中记录的所述漏洞利用信息和同类漏洞信息组成漏洞验证文件。
可选的,所述基于所述漏洞验证文件对所述网络靶场镜像进行网络攻击,以验证所述网络靶场镜像是否构建成功,包括:
运行所述网络靶场镜像,得到所述网络靶场镜像对应的网络靶场容器;
基于所述漏洞验证文件对所述网络靶场容器进行网络攻击;
如果对所述网络靶场容器的网络攻击成功,确定所述网络靶场镜像构建成功;
如果对所述网络靶场容器的网络攻击失败,确定所述网络靶场镜像构建失败。
可选的,所述安全运营中心平台检测到网络攻击行为时,获取所述网络攻击行为的攻击行为信息,包括:
响应于安全运营中心检测到执行成功的网络攻击行为,向所述安全运营中心发送信息获取请求;
接收所述安全运营中心根据所述信息获取请求反馈的所述网络攻击行为的攻击行为信息。
本申请第二方面提供一种构建网络靶场的装置,包括:
获取单元,用于安全运营中心平台检测到网络攻击行为时,获取所述网络攻击行为的攻击行为信息和受害信息,所述受害信息包括基础镜像,操作***版本和补丁信息,软件信息,软件依赖组件信息,端口和服务信息,操作***配置信息,网络配置信息,操作***用户信息,操作***日志信息,所述攻击行为信息包括漏洞类型、攻击者的IP地址、攻击时间、攻击载荷、请求报文、协议类型和原始日志;
第一生成单元,用于根据所述攻击行为信息生成攻击文件;其中,所述攻击文件包括基础镜像,操作***版本和补丁信息,软件信息,软件依赖组件信息,端口和服务信息,操作***配置信息,网络配置信息,操作***用户信息,操作***日志信息,漏洞利用信息和辅助信息;
第二生成单元,用于根据所述攻击文件生成漏洞验证文件,根据所述受害信息生成镜像组成文件;其中,所述镜像组成文件包括漏洞环境所需镜像,容器启动顺序和端口映射;所述漏洞验证文件用于验证漏洞环境是否复现成功;
构建单元,用于利用所述镜像组成文件构建用于复现漏洞环境的网络靶场镜像;
验证单元,用于基于所述漏洞验证文件对所述网络靶场镜像进行网络攻击,以验证所述网络靶场镜像是否构建成功;
输出单元,用于若确定所述网络靶场镜像构建成功,输出所述网络靶场镜像。
可选的,所述第二生成单元还用于,若确定所述网络靶场环境构建失败,根据所述攻击文件生成新的镜像组成文件,返回执行所述利用所述镜像组成文件构建用于复现漏洞环境的网络靶场镜像步骤,直至失败次数大于失败次数阈值或者网络靶场环境构建成功为止;
所述输出单元还用于,若所述失败次数大于所述失败次数阈值,输出报错信息并标记执行失败的功能点。
可选的,所述第二生成单元根据所述攻击文件生成漏洞验证文件,根据所述受害信息生成镜像组成文件时,具体用于:
根据所述攻击文件确定目标软件和所述目标软件依赖的其他软件,所述目标软件是所述网络攻击行为针对的软件;
从目标***获得所述目标软件的容器化部署信息,以及所述其他软件的容器化部署信息,所述目标***是所述目标软件所属的***;
确定所述目标***中所述目标软件和所述其他软件的启动顺序;
将所述目标软件的容器化部署信息和所述其他软件的容器化部署信息按所述启动顺序组合得到镜像组成文件;
将所述攻击文件中记录的所述漏洞利用信息和同类漏洞信息组成漏洞验证文件。
可选的,所述验证单元基于所述漏洞验证文件对所述网络靶场镜像进行网络攻击,以验证所述网络靶场镜像是否构建成功时,具体用于:
运行所述网络靶场镜像,得到所述网络靶场镜像对应的网络靶场容器;
基于所述漏洞验证文件对所述网络靶场容器进行网络攻击;
如果对所述网络靶场容器的网络攻击成功,确定所述网络靶场镜像构建成功;
如果对所述网络靶场容器的网络攻击失败,确定所述网络靶场镜像构建失败。
可选的,所述获取单元安全运营中心平台检测到网络攻击行为时,获取所述网络攻击行为的攻击行为信息时,具体用于:
响应于安全运营中心检测到执行成功的网络攻击行为,向所述安全运营中心发送信息获取请求;
接收所述安全运营中心根据所述信息获取请求反馈的所述网络攻击行为的攻击行为信息。
本方案的有益效果在于:
本方案能够利用安全运营中心实际遭遇的网络攻击行为的信息生成并验证网络靶场镜像,从而确保生成的网络靶场镜像能够高度还原安全运营中心真实的网络环境和网络漏洞,达到构建高还原度的网络靶场的效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本申请实施例提供的一种构建网络靶场的方法的流程图;
图2是本申请实施例提供的一种生成镜像组成文件和漏洞验证文件的方法流程图;
图3是本申请实施例提供的一种构建网络靶场的装置的结构示意图;
图4是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对本申请可能涉及的部分术语进行解释说明。
网络靶场。网络靶场是一种用于网络安全培训和实践的虚拟或物理环境。网络靶场通常包括一系列虚拟机、操作***和应用程序,这些虚拟机和应用程序都预先设置了各种漏洞和安全隐患,所以,网络靶场能够模拟企业实际使用的计算机***受到网络攻击的场景,从而为网络安全培训和实践提供场景支持。
企业级网络信息安全运营中心(Security Operations Center,SOC),是一种企业级网络安全平台,集成有多种类型的网络安全设备、日志采集服务、大数据存储模块,保障生产***安全稳定运行。
为了解决现有技术构建的网络靶场还原度较低的问题,本申请实施例提供一种构建网络靶场的方法和装置,该方法可以由用于构建网络靶场的软件***(以下简称构建***)执行。当企业级网络信息安全运营中心检测到网络攻击成功时,构建***可以从网络攻击发生的服务器中提取所需的相关信息,用于自动构建反映漏洞环境的网络靶场镜像,供网络安全研究人员进行分析,并可以将构建好的镜像存储于SOC平台中,为企业员工网络安全能力训练提供基础环境,可以有效提高企业的网络安全防护能力,降低网络安全风险。
企业的安全运营中心能够检测企业的各个计算机***,当任一计算机***运行的任一软件受到网络攻击时,安全运营中心能够发现该网络攻击。对应的,本申请中,漏洞环境可以理解为任一受到网络攻击的软件受到攻击时的运行环境。换言之,本方案构建的网络靶场镜像,能够对受到攻击的软件的运行环境进行复刻,从而提供一个还原度较高的网络靶场。
请参见图1,为本申请实施例提供的构建网络靶场的方法的流程图,该方法可以包括如下步骤。
S101,安全运营中心平台检测到网络攻击行为时,获取网络攻击行为的攻击行为信息和受害信息。
其中,攻击行为信息包括漏洞类型、攻击者的IP地址、攻击时间、攻击载荷、请求报文、协议类型和原始日志。
本实施例提供的方法的执行主体,可以是前述构建***。
受害信息包括基础镜像,操作***版本和补丁信息,软件信息,软件依赖组件信息,端口和服务信息,操作***配置信息,网络配置信息,操作***用户信息,操作***日志信息。
S101中,获取攻击行为信息的方式可以是:
响应于安全运营中心检测到执行成功的网络攻击行为,向安全运营中心发送信息获取请求;
接收安全运营中心根据信息获取请求反馈的网络攻击行为的攻击行为信息。
其中,安全运营中心可以在检测到针对企业的计算机***中任一软件的网络攻击行为,并且确定该网络攻击行为成功执行后,向构建***发送通知事件,该通知事件用于指示对应的软件遭遇成功执行的网络攻击行为,随后,构建***就可以响应该通知事件,向安全运营中心发送获取网络攻击行为的关键信息的信息获取请求。安全运营中心收到信息获取请求后,将遭遇网络攻击行为期间检测到的攻击行为信息反馈给构建***。
攻击行为信息中,漏洞类型是指检测到的本次网络攻击行为所利用的漏洞的类型,攻击时间,是指遭遇本次网络攻击行为的时间点,攻击者的IP地址,是指发起本次网络攻击行为的设备的IP地址。
攻击载荷(payload)是指攻击者期望***被攻陷后执行的指令,协议类型是指攻击请求使用的网络协议类型,请求报文是指攻击者客服端向被攻击的受害服务器发送的报文。
可选的,攻击行为信息还可以包括网络攻击流量信息,该信息表征受到攻击时安全运行中心的数据流量大小。
受害信息的获取方式和上述攻击行为获取方式一致,不再赘述。
S102,根据攻击行为信息生成攻击文件;攻击文件包括漏洞利用信息和辅助信息。
攻击文件可以是任意格式的文件,本实施例对其格式不做限定。作为一种示例,攻击文件可以是json格式的文件。
下面对前述受害信息和攻击文件进行说明。
基础镜像(image),是指根据漏洞类型和复现需求选择相应的基础镜像,例如Ubuntu、Debian、CentOS等。该基础镜像,可以理解监控到对应的软件遭到本次网络攻击行为时,受到攻击的数字资产(包括软件和数据)的信息。
作为示例,基础镜像可以是"image":"ubuntu:latest"。
操作***版本(os_version)和补丁信息(patches),需要了解目标***的操作***版本和已安装的补丁信息,以便确定是否存在已知漏洞。操作***版本,是指安全运营中心中,遭遇本次网络攻击行为的软件所属的操作***的版本,补丁信息用于指示该版本的操作***是否安装了补丁以及具体安装了哪些补丁等。
作为示例,操作***版本可以是"os_version":"20.04"。
补丁信息可以是:
"patches":[{"name":"openssl","version":"1.1.1f-1ubuntu2.2"}]。
软件信息(software),是指遭遇本次网络攻击行为的软件的相关信息,例如,安全运营中心的软件A遭遇本次网络攻击行为,即本次网络攻击行为的目标是软件A,那么软件信息可以包括软件A的相关信息,包括但不限于软件A的名称,版本,功能等。
作为示例,软件信息可以是:"software":[{"name":"Weblogic","version":"12.2.1.3"}]。
软件依赖组件信息(dependencies),是指遭遇攻击的软件正常运行需要的其他组件信息。例如,安全运营中心的软件A遭遇本次网络攻击行为,即本次网络攻击行为的目标是软件A,而软件A的正常运行依赖于软件B和软件C,那么软件依赖组件信息中可以包括软件B和C的信息,包括但不限于软件B和C的名称,版本,功能等。
作为示例,软件依赖组件信息可以是:"dependencies":[{"name":"libssl-dev","version":"1.1.1f-1ubuntu2.2"},{"name":"mysql-client","version":"5.7"}]。
端口和服务信息(ports),是指目标***上开放的端口和运行的服务,以便进行漏洞扫描和攻击,需要将这些信息配置到镜像文件中。目标***,是指遭遇本次网络攻击行为的软件所属的操作***。
作为示例,端口和服务信息可以是:"ports":[{"port":80,"service":"http"},{"port":22,"service":"ssh"}]。
操作***配置信息(os_config),如果需要复现某些漏洞,需要了解目标***的特定配置信息,例如Web服务器的配置文件等。
作为示例,操作***配置信息可以是:"os_config":{"apache_config":"path/to/apache_config_file"}。
网络配置信息(network_config),需要配置容器内部和外部的网络连接方式,例如端口映射、桥接网络等。
作为示例,网络配置信息可以是:
操作***用户信息(users),需要创建并配置操作***用户,以便进行漏洞扫描、攻击等操作。
作为示例,操作***用户信息可以是"users":[{"name":"admin","password":"password"}]。
操作***日志信息(logs),需要将操作***日志信息输出到主机上,以便进行分析和监控。
作为示例,操作***日志信息可以是"logs":[{"path":"/var/log,"host_path":"/path/to/log"}]。
以上各项信息的示例中,信息的格式均为json格式。
漏洞利用信息(exploit_info),触发网络攻击成功时的攻击行为信息。例如下述实例中,target_ip和target_port表示攻击者的IP地址和端口号,payload表示漏洞类型,time表示攻击时间。
辅助信息(additional_info),根据实际需求,在构建失败超过阈值时,人工添加其他必要信息。
攻击行为信息生成攻击文件的方式可以是:
构建***收到攻击行为信息后,将收到的攻击行为信息确定为漏洞利用信息,接着检测执行S102前是否有人工输入的信息,如果有,将这些人工输入的信息确定为辅助信息,如果没有,确定辅助信息为空,最后将上述信息按照特定格式组合就得到攻击文件。
作为一个示例,S102中生成的json格式的攻击文件可以是如下的文件实例。
S103,根据攻击文件生成漏洞验证文件,根据受害信息生成镜像组成文件,镜像组成文件包括漏洞环境所需镜像,容器启动顺序和端口映射;漏洞验证文件用于验证漏洞环境是否复现成功。
镜像组成文件,也可以称为docker-compose文件。镜像组成文件用于定义漏洞环境的容器化部署方式。
漏洞验证文件用于对漏洞环境进行验证,确保漏洞环境能够成功复现。
本实施例对镜像组成文件的格式不做限定,在一些示例中镜像组成文件可以是YAML格式的模板文件。
作为一个示例,步骤S103中生成的镜像组成文件,可以是如下的YAML格式的模板文件实例。
上述实例中,image:ubuntu:20.04表示漏洞环境所需镜像,weblogic,db和networks的排列顺序,表示容器启动顺序,ports以及后续的端口号80:8080,22:22表示端口映射。
请参见图2,在步骤S103中,根据攻击文件生成漏洞验证文件,根据受害信息生成镜像组成文件的方式可以包括如下步骤。
S201,根据受害信息确定目标软件和目标软件依赖的其他软件。
构建***可以根据受害信息中的软件信息,确定本次网络攻击行为所针对的目标软件,依赖软件组件信息,确定该目标软件依赖的其他软件和组件,例如可以确定本次网络攻击行为针对的目标软件为Weblogic,目标软件依赖的其他软件包括libssl-dev和mysql-client。
S202,从目标***获得目标软件的容器化部署信息,以及其他软件的容器化部署信息。
目标软件和其他软件的容器化部署信息,可以从目标软件所属的目标***的***日志中读取。该步骤中,构建***可以从受害信息的操作***信息提取出目标***的***日志的访问路径,然后按照该访问路径访问目标***的***日志,从***日志中获取目标软件和其他软件的容器化部署方式。
S203,确定目标***中目标软件和其他软件的启动顺序。
启动顺序也可以从目标***的***日志中获取。构建***可以在目标***的***日志中查询在攻击时间之前,目标***都启动了哪些软件,以及这些软件的时间戳,根据其中目标软件和其他软件被启动的时间戳的先后,确定目标软件和其他软件的启动顺序。
S204,将目标软件的容器化部署信息和其他软件的容器化部署信息按启动顺序组合得到镜像组成文件。
在组合镜像组成文件时,启动顺序靠前的软件,对应的容器化部署信息排在镜像组成文件的前面,启动顺序靠后的软件,对应的容器化部署信息排在镜像组成文件的后面,由此可以通过容器化部署信息反映容器启动顺序。
示例性的,若启动顺序是,先启动其他软件B,再启动目标软件A,再启动目标软件C,那么镜像组成文件中,其他软件B的容器化部署信息排在文件开头,其他软件B的容器化部署信息结束后,是目标软件A的容器化部署信息,目标软件A的容器化部署信息结束后是其他软件C的容器化部署信息。
S205,将攻击文件中记录的漏洞利用信息和同类漏洞信息组成漏洞验证文件。
同类漏洞信息,是指对应的漏洞类型和本次攻击行为对应的攻击文件中记录的漏洞类型相同的其他漏洞利用信息。示例性的,本次攻击行为对应的攻击文件中记录的漏洞利用信息记为漏洞利用信息1,其中的漏洞类型为类型X,在本次攻击行为之前还发生过两次利用X类型的漏洞的网络攻击行为,这两次网络攻击行为对应的漏洞利用信息,就是S205中的同类漏洞利用信息。
S104,利用镜像组成文件构建用于复现漏洞环境的网络靶场镜像。
在步骤S104中,构建***可以利用现有的封装镜像文件的技术,将镜像组成文件封装成一个镜像文件,该文件就是网络靶场镜像。具体封装过程可以参见相关的现有技术,不再赘述。
可选的,在构建网络靶场镜像时,考虑到多个漏洞集成在同一环境中可能存在相互影响或冲突,可以针对目标***中存在的每一个漏洞对应的封装成一个独立的容器文件,这样网络靶场镜像在运行时,就会产生多个相互独立的容器,每一容器有且仅有一个漏洞,从而实现漏洞隔离和分离,防止不同漏洞相互影响或冲突。
S105,基于漏洞验证文件对网络靶场镜像进行网络攻击,以验证网络靶场镜像是否构建成功。
若确定网络靶场镜像构建成功,执行步骤S106,若确定网络靶场镜像构建失败,执行步骤S107。
其中,验证网络靶场镜像是否构建成功的方式可以包括:
A1,运行网络靶场镜像,得到网络靶场镜像对应的网络靶场容器。
步骤A1中,网络靶场容器,可以基于云原生技术生成。
A2,基于漏洞验证文件对网络靶场容器进行网络攻击。
步骤A2中,对网络靶场容器进行网络攻击时,可以从漏洞验证文件获得文件中记录的若干条漏洞利用信息,然后根据漏洞利用信息中记录的攻击载荷,并利用其中的漏洞类型对应的漏洞,对网络靶场容器进行网络攻击。
可选的,当网络靶场容器包括多个相互独立的容器,每一容器有且仅有一个漏洞时,每次网络攻击可以根据利用的漏洞类型,在多个容器中找到存在该类型漏洞的容器,对该容器进行攻击。
A3,如果对网络靶场容器的网络攻击成功,确定网络靶场镜像构建成功。
A4,如果对网络靶场容器的网络攻击失败,确定网络靶场镜像构建失败。
步骤A3和A4中,如果网络攻击成功,说明对应的漏洞存在,进而可以确定网络靶场镜像构建成功,如果网络攻击失败,说明对应的漏洞不存在,进而可以确定网络靶场镜像构建失败。
如果漏洞验证文件记录有多条漏洞利用信息,那么在基于每一条漏洞利用信息发起的网络攻击均成功的情况下,可以确定网络靶场镜像构建成功,如果有至少一条漏洞利用信息对应的网络攻击失败,则确定网络靶场镜像构建失败。
S106,输出网络靶场镜像。
可选的,输出的网络靶场镜像可以上传到镜像仓库存储。
S107,根据攻击文件生成新的镜像组成文件。
在步骤S107中,构建***可以根据攻击文件确定出目标软件依赖的更多其他软件,将进一步确定出的其他软件的容器化部署信息也按照对应的启动顺序组合到镜像组成文件中,获得新的镜像组成文件。
示例性的,假设生成的第一版镜像组成文件包括目标软件A以及目标软件直接依赖的其他软件B和C的容器化部署信息,那么生成新的镜像组成文件时,构建***可以进一步获取其他软件B和C依赖的其他软件D和E的容器化部署信息,将其他软件D和E的容器化部署信息也添加到镜像组成文件,得到新的镜像组成文件。其中,其他软件D和E相当于目标软件A间接依赖的软件。
可选的,在生成新的镜像组成文件之前,也可以输出提示信息,提示相关技术人员手动输入用于辅助生成镜像组成文件的信息,这些信息会被记录到攻击文件的辅助信息中,然后在生成新的镜像组成文件时,构建***可以利用这些辅助信息生成新的镜像组成文件。
可选的,构建***还可以更新旧的镜像组成文件的容器化部署信息,将其中低版本的容器化部署信息更新成高版本的容器化部署信息,或者将其中高版本的容器化部署信息更新成低版本的容器化部署信息,由此获得新的镜像组成文件。
S108,判断失败次数是否大于失败次数阈值。
如果失败次数大于失败次数阈值,执行步骤S109,如果失败次数不大于失败次数阈值,返回执行步骤S104。
失败次数阈值可以按需设置,不做限定。示例性的,失败次数阈值可以设置为3。
失败次数,可以理解为累计执行步骤S105且验证结果为构建失败的次数,例如,首次执行S105且确定构建失败时,失败次数为1,第二次执行S105且确定构建失败时,失败次数为2,第三次执行S105且确定构建失败时,失败次数为3,以此类推。
在一些可选的实施例中,步骤S108也可以在生成了镜像组成文件后执行,此时,失败次数可以改为生成镜像组成文件的次数,失败次数阈值可以改为生成次数阈值。也就是说,S108可以改为,判断生成镜像组成文件的次数是否小于生成次数阈值。
这种情况下,如果生成镜像组成文件的次数小于生成次数阈值,则可以执行S105以验证是否构建成功,如果生成镜像组成文件的次数大于或等于生成次数阈值,则可以执行S109,以提示相关技术人员手动修改攻击文件后,重新生成镜像组成文件。
对应的,在先执行S108后执行S105的情况下,如果S105验证发现网络靶场镜像构建失败,可以直接执行S107,通过S107生成新的镜像组成文件后,执行S108以判断生成镜像组成文件的次数是否小于生成次数阈值,如果小于,则再次执行S105。
需要说明,每次攻击文件被手动修改后,失败次数或者生成镜像组成文件的次数清零,重新开始累计。
S109,输出报错信息并标记执行失败的功能点。
执行失败的功能点,是指网络靶场镜像中,导致网络攻击行为失败的功能点。
报错信息可以包括执行失败的功能点的标记信息,失败次数,每次失败时的网络靶场镜像,攻击文件和镜像组成文件,另外,报错信息还可以提示需要相关的技术人员人工介入。
标记执行失败的功能点的作用在于,辅助人工完成攻击文件的修改。人工修改完攻击文件后,可以重复上述步骤S103到S109,直到成功构建网络靶场镜像为止。
可选的,攻击文件的人工修改次数也可以有对应的修改次数阈值,如果累计人工修改攻击文件的次数达到修改次数阈值,可以不再修改攻击文件,且不再尝试构建网络靶场镜像。这种情况下,构建***可以输出详细构建报告和出错日志。
本实施例的有益效果在于:
本实施例提供的构建方法能够在网络攻击成功时快速构建网络靶场镜像,供网络安全运维、研究人员分析,避免了无关操作对后续网络攻击分析影响,并且能提供稳定、真实、可复现的漏洞环境供企业员工使用,解决了现有网络靶场无法针对企业的特点进行训练、训练效果不佳、提供的漏洞复现环境不真实的问题,具有一定的实用性和推广价值。并且本方案能够利用安全运营中心实际遭遇的网络攻击行为的信息生成并验证网络靶场镜像,从而确保生成的网络靶场镜像能够高度还原安全运营中心真实的网络环境和网络漏洞,达到构建高还原度的网络靶场的效果。
进一步的,本实施例还具有如下有益效果:
本技术方案基于企业的日常遭遇的网络攻击,这些数据往往是敏感数据,因此传统靶场无法提供更具有针对性的网络靶场进行训练,本专利可以利用企业完整信息,设计了一种json、docker-compose.yml文件格式,在网络攻击成功时即获取漏洞复现环境构建信息,可以高效、稳定对漏洞进行复现,让网络安全人员将更多精力投入到网络安全分析中,并且提供更加符合企业特点的训练环境。
本技术方案通过与SOC平台进行联动,充分发挥企业安全设备能力,实现对安全事件的快速响应并且可对漏洞环境进行高效、准确的复刻,为安全研究人员对漏洞研究提供便利,尤其对于0day漏洞,解决了由于漏洞信息缺失、漏洞信息不准确,导致漏洞环境复现成功率低、构建成本高的问题,帮助企业及时对应用存在的安全漏洞进行处理。
本申请实施例还提供一种构建网络靶场的装置,请参见图3,为该装置的结构示意图,该装置可以包括如下单元。
获取单元301,用于安全运营中心平台检测到网络攻击行为时,获取网络攻击行为的攻击行为信息和受害信息,攻击行为信息包括漏洞类型、攻击者的IP地址和攻击时间;
其中,攻击行为信息包括漏洞类型、攻击者的IP地址、攻击时间、攻击载荷、请求报文、协议类型和原始日志;
受害信息包括基础镜像,操作***版本和补丁信息,软件信息,软件依赖组件信息,端口和服务信息,操作***配置信息,网络配置信息,操作***用户信息,操作***日志信息。
第一生成单元302,用于根据攻击行为信息生成攻击文件;其中,攻击文件包括漏洞利用信息和辅助信息;
第二生成单元303,用于根据攻击文件生成漏洞验证文件,根据受害信息生成镜像组成文件;其中,镜像组成文件包括漏洞环境所需镜像,容器启动顺序和端口映射;漏洞验证文件用于验证漏洞环境是否复现成功;
构建单元304,用于利用镜像组成文件构建用于复现漏洞环境的网络靶场镜像;
验证单元305,用于基于漏洞验证文件对网络靶场镜像进行网络攻击,以验证网络靶场镜像是否构建成功;
输出单元306,用于若确定网络靶场镜像构建成功,输出网络靶场镜像。
可选的,第二生成单元303还用于,若确定网络靶场环境构建失败,根据攻击文件生成新的镜像组成文件,返回执行利用镜像组成文件构建用于复现漏洞环境的网络靶场镜像步骤,直至失败次数大于失败次数阈值或者网络靶场环境构建成功为止;
输出单元306还用于,若失败次数大于失败次数阈值,输出报错信息并标记执行失败的功能点。
可选的,第二生成单元303根据攻击文件生成漏洞验证文件,根据受害信息生成镜像组成文件时,具体用于:
根据受害信息确定目标软件和目标软件依赖的其他软件,目标软件是网络攻击行为针对的软件;
从目标***获得目标软件的容器化部署信息,以及其他软件的容器化部署信息,目标***是目标软件所属的***;
确定目标***中目标软件和其他软件的启动顺序;
将目标软件的容器化部署信息和其他软件的容器化部署信息按启动顺序组合得到镜像组成文件;
将攻击文件中记录的漏洞利用信息和同类漏洞信息组成漏洞验证文件。
可选的,验证单元305基于漏洞验证文件对网络靶场镜像进行网络攻击,以验证网络靶场镜像是否构建成功时,具体用于:
运行网络靶场镜像,得到网络靶场镜像对应的网络靶场容器;
基于漏洞验证文件对网络靶场容器进行网络攻击;
如果对网络靶场容器的网络攻击成功,确定网络靶场镜像构建成功;
如果对网络靶场容器的网络攻击失败,确定网络靶场镜像构建失败。
可选的,获取单元301安全运营中心平台检测到网络攻击行为时,获取网络攻击行为的攻击行为信息时,具体用于:
响应于安全运营中心检测到执行成功的网络攻击行为,向安全运营中心发送信息获取请求;
接收安全运营中心根据信息获取请求反馈的网络攻击行为的攻击行为信息。
本实施例提供的构建网络靶场的装置,其具体工作原理和有益效果可以参见本申请任一实施例提供的构建网络靶场的方法的相关步骤和有益效果,不再赘述。
本申请实施例还提供一种电子设备,请参见图4,为该电子设备的结构示意图,该电子设备可以包括存储器401和处理器402。
其中,存储器401用于存储计算机程序;
处理器402用于执行上述计算机程序,具体用于实现本申请任一实施例提供的构建网络靶场的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
为了描述的方便,描述以上***或装置时以功能分为各种模块或单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种构建网络靶场的方法,其特征在于,包括:
安全运营中心平台检测到网络攻击行为时,获取所述网络攻击行为的攻击行为信息和受害信息;其中,所述受害信息包括基础镜像,操作***版本和补丁信息,软件信息,软件依赖组件信息,端口和服务信息,操作***配置信息,网络配置信息,操作***用户信息,操作***日志信息,所述攻击行为信息包括漏洞类型、攻击者的IP地址、攻击时间、攻击载荷、请求报文、协议类型和原始日志;
根据所述攻击行为信息生成攻击文件;其中,所述攻击文件包括漏洞利用信息和辅助信息;
根据所述攻击文件生成漏洞验证文件,根据所述受害信息生成镜像组成文件;其中,所述镜像组成文件包括漏洞环境所需镜像,容器启动顺序和端口映射;所述漏洞验证文件用于验证漏洞环境是否复现成功;
利用所述镜像组成文件构建用于复现漏洞环境的网络靶场镜像;
基于所述漏洞验证文件对所述网络靶场镜像进行网络攻击,以验证所述网络靶场镜像是否构建成功;
若确定所述网络靶场镜像构建成功,输出所述网络靶场镜像。
2.根据权利要求1所述的方法,其特征在于,所述基于所述漏洞验证文件对所述网络靶场镜像进行网络攻击,以验证所述网络靶场镜像是否构建成功之后,还包括:
若确定所述网络靶场环境构建失败,根据所述攻击文件生成新的镜像组成文件,返回执行所述利用所述镜像组成文件构建用于复现漏洞环境的网络靶场镜像步骤,直至失败次数大于失败次数阈值或者网络靶场环境构建成功为止;
若所述失败次数大于所述失败次数阈值,输出报错信息并标记执行失败的功能点。
3.根据权利要求1所述的方法,其特征在于,所述根据所述攻击文件生成漏洞验证文件,根据所述受害信息生成镜像组成文件,包括:
根据所述受害信息确定目标软件和所述目标软件依赖的其他软件,所述目标软件是所述网络攻击行为针对的软件;
从目标***获得所述目标软件的容器化部署信息,以及所述其他软件的容器化部署信息,所述目标***是所述目标软件所属的***;
确定所述目标***中所述目标软件和所述其他软件的启动顺序;
将所述目标软件的容器化部署信息和所述其他软件的容器化部署信息按所述启动顺序组合得到镜像组成文件;
将所述攻击文件中记录的所述漏洞利用信息和同类漏洞信息组成漏洞验证文件。
4.根据权利要求1所述的方法,其特征在于,所述基于所述漏洞验证文件对所述网络靶场镜像进行网络攻击,以验证所述网络靶场镜像是否构建成功,包括:
运行所述网络靶场镜像,得到所述网络靶场镜像对应的网络靶场容器;
基于所述漏洞验证文件对所述网络靶场容器进行网络攻击;
如果对所述网络靶场容器的网络攻击成功,确定所述网络靶场镜像构建成功;
如果对所述网络靶场容器的网络攻击失败,确定所述网络靶场镜像构建失败。
5.根据权利要求1所述的方法,其特征在于,所述安全运营中心平台检测到网络攻击行为时,获取所述网络攻击行为的攻击行为信息,包括:
响应于安全运营中心检测到执行成功的网络攻击行为,向所述安全运营中心发送信息获取请求;
接收所述安全运营中心根据所述信息获取请求反馈的所述网络攻击行为的攻击行为信息。
6.一种构建网络靶场的装置,其特征在于,包括:
获取单元,用于安全运营中心平台检测到网络攻击行为时,获取所述网络攻击行为的攻击行为信息和受害信息,所述受害信息包括基础镜像,操作***版本和补丁信息,软件信息,软件依赖组件信息,端口和服务信息,操作***配置信息,网络配置信息,操作***用户信息,操作***日志信息,所述攻击行为信息包括漏洞类型、攻击者的IP地址、攻击时间、攻击载荷、请求报文、协议类型和原始日志;
第一生成单元,用于根据所述攻击行为信息生成攻击文件;其中,所述攻击文件包括漏洞利用信息和辅助信息;
第二生成单元,用于根据所述攻击文件生成漏洞验证文件,根据所述受害信息生成镜像组成文件;其中,所述镜像组成文件包括漏洞环境所需镜像,容器启动顺序和端口映射;所述漏洞验证文件用于验证漏洞环境是否复现成功;
构建单元,用于利用所述镜像组成文件构建用于复现漏洞环境的网络靶场镜像;
验证单元,用于基于所述漏洞验证文件对所述网络靶场镜像进行网络攻击,以验证所述网络靶场镜像是否构建成功;
输出单元,用于若确定所述网络靶场镜像构建成功,输出所述网络靶场镜像。
7.根据权利要求6所述的装置,其特征在于,所述第二生成单元还用于,若确定所述网络靶场环境构建失败,根据所述攻击文件生成新的镜像组成文件,返回执行所述利用所述镜像组成文件构建用于复现漏洞环境的网络靶场镜像步骤,直至失败次数大于失败次数阈值或者网络靶场环境构建成功为止;
所述输出单元还用于,若所述失败次数大于所述失败次数阈值,输出报错信息并标记执行失败的功能点。
8.根据权利要求6所述的装置,其特征在于,所述第二生成单元根据所述攻击文件生成漏洞验证文件,根据所述受害信息生成镜像组成文件时,具体用于:
根据所述受害信息确定目标软件和所述目标软件依赖的其他软件,所述目标软件是所述网络攻击行为针对的软件;
从目标***获得所述目标软件的容器化部署信息,以及所述其他软件的容器化部署信息,所述目标***是所述目标软件所属的***;
确定所述目标***中所述目标软件和所述其他软件的启动顺序;
将所述目标软件的容器化部署信息和所述其他软件的容器化部署信息按所述启动顺序组合得到镜像组成文件;
将所述攻击文件中记录的所述漏洞利用信息和同类漏洞信息组成漏洞验证文件。
9.根据权利要求6所述的装置,其特征在于,所述验证单元基于所述漏洞验证文件对所述网络靶场镜像进行网络攻击,以验证所述网络靶场镜像是否构建成功时,具体用于:
运行所述网络靶场镜像,得到所述网络靶场镜像对应的网络靶场容器;
基于所述漏洞验证文件对所述网络靶场容器进行网络攻击;
如果对所述网络靶场容器的网络攻击成功,确定所述网络靶场镜像构建成功;
如果对所述网络靶场容器的网络攻击失败,确定所述网络靶场镜像构建失败。
10.根据权利要求6所述的装置,其特征在于,所述获取单元安全运营中心平台检测到网络攻击行为时,获取所述网络攻击行为的攻击行为信息时,具体用于:
响应于安全运营中心检测到执行成功的网络攻击行为,向所述安全运营中心发送信息获取请求;
接收所述安全运营中心根据所述信息获取请求反馈的所述网络攻击行为的攻击行为信息。
CN202311635104.5A 2023-12-01 2023-12-01 一种构建网络靶场的方法和装置 Pending CN117499151A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311635104.5A CN117499151A (zh) 2023-12-01 2023-12-01 一种构建网络靶场的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311635104.5A CN117499151A (zh) 2023-12-01 2023-12-01 一种构建网络靶场的方法和装置

Publications (1)

Publication Number Publication Date
CN117499151A true CN117499151A (zh) 2024-02-02

Family

ID=89678245

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311635104.5A Pending CN117499151A (zh) 2023-12-01 2023-12-01 一种构建网络靶场的方法和装置

Country Status (1)

Country Link
CN (1) CN117499151A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117852048A (zh) * 2024-03-08 2024-04-09 华中科技大学 一种基于多维度攻击向量的软硬结合车联网靶场构建方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117852048A (zh) * 2024-03-08 2024-04-09 华中科技大学 一种基于多维度攻击向量的软硬结合车联网靶场构建方法
CN117852048B (zh) * 2024-03-08 2024-06-07 华中科技大学 一种基于多维度攻击向量的软硬结合车联网靶场构建方法

Similar Documents

Publication Publication Date Title
US9658914B2 (en) Troubleshooting system using device snapshots
US8302196B2 (en) Combining assessment models and client targeting to identify network security vulnerabilities
CN110597918B (zh) 一种账户管理方法、装置及计算机可读存储介质
TW201407341A (zh) 修復軟體運行錯誤的方法、裝置及系統
CN117499151A (zh) 一种构建网络靶场的方法和装置
CN109684155B (zh) 监控配置方法、装置、设备及可读存储介质
CN110990335B (zh) 日志归档方法、装置、设备及计算机可读存储介质
CN112818307B (zh) 用户操作处理方法、***、设备及计算机可读存储介质
US12013972B2 (en) System and method for certifying integrity of data assets
CN111901147B (zh) 一种网络访问的控制方法和装置
CN110365714B (zh) 主机入侵检测方法、装置、设备及计算机存储介质
CN112422527B (zh) 变电站电力监控***的威胁评估***、方法和装置
CN113922975A (zh) 一种安全控制方法、服务器、终端、***和存储介质
CN110798356B (zh) 固件监控方法、装置、存储介质和计算机设备
CN110677483B (zh) 信息处理***和可信安全管理***
CN114499880A (zh) 燃气轮机的运维数据的传输方法及装置
CN114386047A (zh) 应用漏洞检测方法、装置、电子设备及存储介质
CN117033086B (zh) 操作***的恢复方法、装置、存储介质和服务器管理芯片
CN114584328B (zh) Api接口的访问方法、计算机设备及计算机存储介质
CN110941838B (zh) 一种数据库访问的方法、装置以及电子设备
CN118118189A (zh) 数据判别方法、装置、设备及可读存储介质
CN117667646A (zh) 镜像校验方法和装置、电子设备和存储介质
CN114861188A (zh) 执行对象的切换方法及装置、终端、服务端、***
CN117375888A (zh) 一种密码管理方法及装置
CN117632671A (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