CN115277091A - 网络安全比赛中的攻防方法及装置 - Google Patents
网络安全比赛中的攻防方法及装置 Download PDFInfo
- Publication number
- CN115277091A CN115277091A CN202210724160.5A CN202210724160A CN115277091A CN 115277091 A CN115277091 A CN 115277091A CN 202210724160 A CN202210724160 A CN 202210724160A CN 115277091 A CN115277091 A CN 115277091A
- Authority
- CN
- China
- Prior art keywords
- user
- attack
- script
- environment
- question
- 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
Links
- 230000007123 defense Effects 0.000 title claims abstract description 195
- 238000000034 method Methods 0.000 title claims abstract description 135
- 238000013515 script Methods 0.000 claims abstract description 497
- 238000012360 testing method Methods 0.000 claims description 27
- 230000002159 abnormal effect Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 16
- 238000011084 recovery Methods 0.000 claims description 15
- 230000007613 environmental effect Effects 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008439 repair process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- NTMYVTSWQJFCPA-UHFFFAOYSA-N (2-tert-butylpyrimidin-5-yl)oxy-ethoxy-propan-2-yloxy-sulfanylidene-$l^{5}-phosphane;[cyano-(4-fluoro-3-phenoxyphenyl)methyl] 3-(2,2-dichloroethenyl)-2,2-dimethylcyclopropane-1-carboxylate Chemical compound CCOP(=S)(OC(C)C)OC1=CN=C(C(C)(C)C)N=C1.CC1(C)C(C=C(Cl)Cl)C1C(=O)OC(C#N)C1=CC=C(F)C(OC=2C=CC=CC=2)=C1 NTMYVTSWQJFCPA-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
- A63F13/46—Computing the game score
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (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
技术领域
本发明涉及网络安全技术领域,尤其涉及一种网络安全比赛中的攻防方法及装置。
背景技术
夺旗赛(Capture The Flag,CTF)起源于1996年DEFCON极客大会,是网络安全爱好者之间的竞技游戏。解题模式(Jeopardy)常见于线上选拔比赛。在解题模式CTF赛制中,参赛队伍可以通过互联网或者现场网络参与,参赛队伍通过与在线环境交互或文件离线分析,解决网络安全技术挑战获取相应分值,最后根据分值总分和时间来进行排名。
现有技术中,主流的网络安全比赛中的攻防方法为:所有参赛队伍拥有相同的系统环境,每个参赛队伍挖掘系统环境漏洞并直接攻击对手的系统环境,以此获取flag来得分;另外,参赛队伍也可以修补自身服务漏洞进行防御从而防止扣分。
但上述现有技术中,参赛队伍之间直接进行攻防较量,这样,攻防能力较强的参赛队伍一旦攻下了某一目标参赛队伍的系统环境,就可能对该目标参赛队伍的系统环境进行恶意操作,例如进行恶意删除、后门和阻塞连接等,导致其他参赛队伍无法对该目标参赛队伍展开攻击,从而造成了攻防的不公平。
发明内容
针对现有技术中的问题,本发明实施例提供一种网络安全比赛中的攻防方法及装置。
具体地,本发明实施例提供了以下技术方案:
第一方面,本发明实施例提供了一种网络安全比赛中的攻防方法,应用于服务器,包括:
接收第一用户对应的终端发送的第一脚本提交请求;
基于所述第一脚本提交请求获取第一攻击脚本;所述第一攻击脚本为所述第一用户基于赛题环境确定的攻击脚本;
镜像每个第二用户的赛题环境,得到每个第二用户对应的赛题镜像环境;
针对每个第二用户对应的赛题镜像环境,基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果。
进一步地,所述基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果,包括:
基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,获取攻击得到的目标数据;
确定所述目标数据是否与预设数据匹配;所述预设数据为所述第二用户对应的赛题镜像环境中存储的数据;
在确定所述目标数据与所述预设数据匹配时,确定所述第一攻击结果为攻击成功;
在确定所述目标数据与所述预设数据不匹配时,确定所述第一攻击结果为攻击失败。
进一步地,所述基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,包括:
创建脚本运行环境;
基于所述脚本运行环境运行所述第一攻击脚本;
基于运行的所述第一攻击脚本攻击第二用户对应的赛题镜像环境。
进一步地,所述基于所述脚本运行环境运行所述第一攻击脚本,包括:
确定第二用户对应的赛题镜像环境是否能够正常运行目标服务;
在确定第二用户对应的赛题镜像环境能够正常运行所述目标服务时,基于所述脚本运行环境运行所述第一攻击脚本。
进一步地,所述第一脚本提交请求中携带第一用户对应的终端的标识;
所述基于所述第一脚本提交请求获取第一攻击脚本,包括:
基于第一用户对应的终端的标识在云端数据库获取所述第一攻击脚本;所述云端数据库存储有终端的标识和攻击脚本的对应关系;所述攻击脚本为所述云端数据库从每个用户对应的操作机的第一预设目录中获取到的。
进一步地,所述方法还包括:
接收所述第一用户对应的终端发送的第二脚本提交请求;
基于所述第二脚本提交请求获取补丁脚本;所述补丁脚本为所述第一用户基于所述赛题环境确定的补丁脚本;
访问所述第一用户的赛题环境,在所述第一用户的赛题环境中运行所述补丁脚本,得到所述第一用户的新赛题环境。
进一步地,在所述访问所述第一用户的赛题环境,在所述第一用户的赛题环境中运行所述补丁脚本,得到所述第一用户的新赛题环境之后,所述方法还包括:
基于所述第一用户对应的新赛题环境确定环境服务结果。
进一步地,所述基于所述第一用户对应的新赛题环境确定环境服务结果,包括:
确定所述第一用户对应的新赛题环境是否能够正常运行目标服务;
在确定所述第一用户对应的新赛题环境能够正常运行所述目标服务时,确定所述环境服务结果为服务正常;
在确定所述第一用户对应的新赛题环境不能够正常运行所述目标服务时,确定所述环境服务结果为服务异常。
进一步地,在所述访问所述第一用户的赛题环境,在所述第一用户的赛题环境中运行所述补丁脚本,得到所述第一用户的新赛题环境之后,所述方法还包括:
在接收到第二用户对应的终端发送的第三脚本提交请求时,基于所述第三脚本提交请求获取第二攻击脚本;
镜像所述第一用户的新赛题环境,得到所述第一用户对应的新赛题镜像环境;
基于所述第二攻击脚本攻击所述第一用户的新赛题镜像环境,得到第二攻击结果。
进一步地,所述第二脚本提交请求中携带第一用户对应的终端的标识;
所述基于所述第二脚本提交请求获取补丁脚本,包括:
基于第一用户对应的终端的标识在云端数据库获取所述补丁脚本;所述云端数据库存储有终端的标识和补丁脚本的对应关系;所述补丁脚本为所述云端数据库从每个用户对应的操作机的第二预设目录中获取到的。
进一步地,所述方法还包括:
基于所述第一用户的所述第一攻击结果和所述第二用户的所述第二攻击结果确定所述第一用户的攻防得分和所述第二用户的攻防得分;
基于所述第一用户的环境服务结果和每个所述第二用户的环境服务结果确定所述第一用户的服务得分和每个所述第二用户的服务得分;
基于所述第一用户的攻防得分和所述第一用户的服务得分确定所述第一用户的比赛总分;
基于所述第二用户的攻防得分和所述第二用户的服务得分确定所述第二用户的比赛总分;
将所述第一用户的比赛总分和每个所述第二用户的比赛总分排序后进行存储和/或显示。
进一步地,所述基于所述第一用户的所述第一攻击结果和所述第二用户的所述第二攻击结果确定所述第一用户的攻防得分和所述第二用户的攻防得分,包括:
在所述第一攻击结果为攻击成功时,所述第一用户的攻防得分增加预设攻防分,所述第二用户的攻防得分扣除所述预设攻防分;
在所述第一攻击结果为攻击失败时,所述第一用户的攻防得分和所述第二用户的攻防得分均不变;
在所述第二攻击结果为攻击成功时,所述第一用户的攻防得分扣除所述预设攻防分,所述第二用户的攻防得分增加所述预设攻防分;
在所述第二攻击结果为攻击失败时,所述第一用户的攻防得分和所述第二用户的攻防得分均不变。
进一步地,所述基于所述第一用户的环境服务结果和每个所述第二用户的环境服务结果确定所述第一用户的服务得分和每个所述第二用户的服务得分,包括:
在所述第一用户的环境服务结果和每个所述第二用户的环境服务结果中确定出环境服务结果为服务成功对应的目标用户;
除所述目标用户之外的其他用户的服务得分扣除第一预设服务分;所述第一预设服务分为预设服务总分与其他用户的数量的平均值;
所述目标用户的服务得分增加第二预设服务分;所述第二预设服务分为所述预设服务总分与目标用户的数量的平均值。
进一步地,将每个用户对应的当前赛题镜像环境存储在公共镜像区。
进一步地,在所述将每个用户对应的当前赛题镜像环境存储在公共镜像区之后,所述方法还包括:
接收举报用户对应的终端发送的举报请求;所述举报请求中携带被举报用户的证据信息;
基于所述被举报用户的证据信息确定所述被举报用户对应的当前赛题镜像环境是否合法;
在确定所述被举报用户对应的当前赛题镜像环境不合法时,更新所述举报用户的攻防得分和所述被举报用户的攻防得分。
进一步地,所述更新所述举报用户的攻防得分和所述被举报用户的攻防得分,包括:
对所述举报用户的攻防得分增加预设举报分;
对所述被举报用户的攻防得分扣除所述预设举报分。
第二方面,本发明实施例还提供了一种网络安全比赛中的攻防方法,应用于终端,包括:
基于赛题环境确定第一用户的第一攻击脚本;
基于所述第一攻击脚本向服务器发送第一脚本提交请求;所述第一脚本提交请求用于指示所述服务器获取第一攻击脚本,并基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果。
进一步地,所述基于所述第一攻击脚本向服务器发送第一脚本提交请求,包括:
基于所述第一攻击脚本对初始赛题环境或者目标赛题环境进行测试,得到测试结果;所述初始赛题环境为未运行补丁脚本的赛题环境;所述目标赛题环境为运行补丁脚本后的赛题环境;
在确定测试结果为测试成功时,基于所述第一攻击脚本向所述服务器发送所述第一脚本提交请求。
进一步地,在所述基于赛题环境确定第一攻击脚本之前,所述方法还包括:
通过第一用户对应的操作机获取所述赛题环境;所述第一用户对应的操作机不允许除所述服务器和所述第一用户对应的终端之外的设备访问。
进一步地,在所述基于所述第一攻击脚本向服务器发送所述第一脚本提交请求之前,所述方法还包括:
将所述第一攻击脚本存储在所述第一用户对应的操作机的第一预设目录中。
进一步地,所述方法还包括:
基于所述赛题环境确定第一用户的补丁脚本;
基于所述补丁脚本向所述服务器发送第二脚本提交请求;所述第二脚本提交请求用于指示所述服务器获取所述补丁脚本,并在所述第一用户的赛题环境中运行所述补丁脚本,得到所述第一用户的新赛题环境。
进一步地,所述方法还包括:
在基于所述第一用户的新赛题环境确定环境服务结果为服务异常时,将所述第一用户的新赛题环境恢复至上一次处于正常状态的赛题环境,或者将所述第一用户的新赛题环境恢复至初始赛题环境,并将预设恢复次数减一次;所述预设恢复次数为允许第一用户恢复赛题环境的次数。
进一步地,在所述基于所述补丁脚本向所述服务器发送第二脚本提交请求之前,所述方法还包括:
将所述补丁脚本存储在所述第一用户对应的操作机的第二预设目录中。
进一步地,所述方法还包括:
从公共镜像区获取每个第二用户对应的当前赛题镜像环境;
在确定有异常的当前赛题镜像环境时,将所述异常的当前赛题镜像环境对应的第二用户确定为被举报用户;
向所述服务器发送举报请求;所述举报请求中携带所述被举报用户的证据信息。
第三方面,本发明实施例还提供了一种网络安全比赛中的攻防装置,包括:
第一接收单元,用于接收第一用户对应的终端发送的第一脚本提交请求;
第一获取单元,用于基于所述第一脚本提交请求获取第一攻击脚本;所述第一攻击脚本为所述第一用户基于赛题环境确定的攻击脚本;
第一镜像单元,用于镜像每个第二用户的赛题环境,得到每个第二用户对应的赛题镜像环境;
攻击单元,用于针对每个第二用户对应的赛题镜像环境,基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果。
第四方面,本发明实施例还提供了一种网络安全比赛中的攻防装置,包括:
第一确定单元,用于基于赛题环境确定第一用户的第一攻击脚本;
第一发送单元,用于基于所述第一攻击脚本向服务器发送第一脚本提交请求;所述第一脚本提交请求用于指示所述服务器获取第一攻击脚本,并基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果。
第五方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述网络安全比赛中的攻防方法的步骤,或者实现如第二方面所述网络安全比赛中的攻防方法的步骤。
第六方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述网络安全比赛中的攻防方法的步骤,或者实现如第二方面所述网络安全比赛中的攻防方法的步骤。
第七方面,本发明实施例还提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现如第一方面所述网络安全比赛中的攻防方法的步骤,或者实现如第二方面所述网络安全比赛中的攻防方法的步骤。
本发明实施例提供的网络安全比赛中的攻防方法及装置,服务器基于接收到的第一脚本提交请求获取第一用户的第一攻击脚本,然后镜像每个第二用户的赛题环境,最后基于第一攻击脚本攻击每个第二用户对应的赛题镜像环境。可知,本发明通过服务器的参与实现了多方之间的网络安全比赛中的攻防,在此基础上,服务器基于第一用户的第一攻击脚本攻击镜像得到的每个第二用户的赛题镜像环境,并没有直接攻击第二用户的赛题环境,能够防止第二用户的赛题环境被恶意操作,体现了网络安全比赛中的攻防的公平性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之一;
图2是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之二;
图3是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之三;
图4是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之四;
图5是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之五;
图6是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之六;
图7是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之七;
图8是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之八;
图9是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之九;
图10是本发明实施例提供的网络安全比赛中的攻防系统的结构示意图;
图11是本发明实施例提供的网络安全比赛中的攻防装置的结构示意图之一;
图12是本发明实施例提供的网络安全比赛中的攻防装置的结构示意图之二;
图13是本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之一,应用于服务器,该服务器可以为裁判服务器,如图1所示,该网络安全比赛中的攻防方法包括以下步骤:
步骤101、接收第一用户对应的终端发送的第一脚本提交请求。
示例地,在进行网络安全比赛中的攻防比赛时,参赛的每个战队的每个选手(用户)都可以在自己的终端上登陆竞赛平台,在竞赛平台的战队资源区获取赛题环境的网际互联协议(Internet Protocol,IP)地址和赛题环境对应的部分或者全部代码等;基于赛题环境的IP地址访问对应的赛题环境,挖掘赛题环境的漏洞,并基于挖掘的漏洞编写对应的攻击脚本,在编写好攻击脚本exp时,将攻击脚本打包成zip等格式的压缩包,得到exp.zip压缩包,在竞赛平台的相关界面上点击“提交exp”控件,其中exp表示攻击脚本;这样就实现了每个用户对应的终端向服务器发送第一脚本提交请求,使得服务器接收到每个用户对应的终端发送的第一脚本提交请求;这里采用第一用户表示参赛的每个战队中的任一用户。
步骤102、基于所述第一脚本提交请求获取第一攻击脚本;所述第一攻击脚本为所述第一用户基于赛题环境确定的攻击脚本。
其中,赛题环境可以部署在容器或者虚拟机中。
示例地,在第一脚本提交请求中携带第一攻击脚本时,服务器直接获取第一攻击脚本;在第一脚本提交请求中携带操作机的标识和第一预设目录时,服务器基于操作机的标识确定对应的操作机,并基于第一预设目录在对应的操作机中获取第一攻击脚本;在第一脚本提交请求中携带第一用户对应的终端的标识时,服务器基于第一用户对应的终端的标识在云端数据库中获取对应的第一攻击脚本。
步骤103、镜像每个第二用户的赛题环境,得到每个第二用户对应的赛题镜像环境。
示例地,服务器在获取到第一用户的第一攻击脚本时,镜像本轮参赛的每个第二用户的赛题环境,镜像可以理解为复制,得到每个第二用户对应的赛题镜像环境,该赛题镜像环境与对应的赛题环境相同。
步骤104、针对每个第二用户对应的赛题镜像环境,基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果。
示例地,服务器在得到本轮参赛的每个第二用户对应的赛题镜像环境时,可以基于第一攻击脚本攻击每个第二用户对应的赛题镜像环境,并基于是否获取到正确的flag来确定针对每个第二用户的第一攻击结果;其中,flag可以为赛题镜像环境中存储的一串复杂的字符串。
需要说明的是,由于攻击流量中包括每个选手之间进行攻防的攻击脚本,为了让每个选手(用户)能够分析攻击流量进而调整自己的攻击脚本或者补丁脚本,但又不大量参考其他选手的攻击脚本,本发明可以在做一定限制的情况下提供攻击流量供选手分析。例如:上半场不允许选手在竞赛平台上申请攻击流量,下半场允许选手在竞赛平台上申请攻击流量,具体申请次数可以基于比赛需求进行设定,例如仅允许申请一次。
本发明实施例提供的网络安全比赛中的攻防方法,服务器基于接收到的第一脚本提交请求获取第一用户的第一攻击脚本,然后镜像每个第二用户的赛题环境,最后基于第一攻击脚本攻击每个第二用户对应的赛题镜像环境。可知,本发明通过服务器的参与实现了多方之间的网络安全比赛中的攻防,在此基础上,服务器基于第一用户的第一攻击脚本攻击镜像得到的每个第二用户的赛题镜像环境,并没有直接攻击第二用户的赛题环境,能够防止第二用户的赛题环境被恶意操作,体现了网络安全比赛中攻防的公平性。
可选地,图2是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之二,如图2所示,上述步骤104具体可通过以下步骤实现:
步骤1041、基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,获取攻击得到的目标数据。
示例地,针对每个第二用户对应的赛题镜像环境,服务器基于第一用户的第一攻击脚本攻击第二用户对应的赛题镜像环境,获取攻击得到的目标数据。
步骤1042、确定所述目标数据是否与预设数据匹配;所述预设数据为所述第二用户对应的赛题镜像环境中存储的数据。
示例地,服务器基于攻击得到的目标数据与第二用户对应的赛题镜像环境中存储的预设数据进行匹配。
步骤1043、在确定所述目标数据与所述预设数据匹配时,确定所述第一攻击结果为攻击成功。
示例地,在确定攻击得到的目标数据与第二用户对应的赛题镜像环境中存储的预设数据匹配(相同)时,说明第一用户的第一攻击脚本成功进入第二用户对应的赛题镜像环境,并获取到了第二用户对应的赛题镜像环境中存储的预设数据,此时确定第一攻击结果为攻击成功。
步骤1044、在确定所述目标数据与所述预设数据不匹配时,确定所述第一攻击结果为攻击失败。
示例地,在确定攻击得到的目标数据与第二用户对应的赛题镜像环境中存储的预设数据不匹配(不相同)时,说明第一用户的第一攻击脚本没有成功进入第二用户对应的赛题镜像环境,此时确定第一攻击结果为攻击失败。
需要说明的是,服务器在基于第一攻击脚本攻击第二用户对应的赛题镜像环境时,还可以基于预设攻击时间来确定第一攻击结果,在确定第一攻击脚本攻击第二用户对应的赛题镜像环境的攻击时间大于预设攻击时间时,确定第一攻击结果为攻击失败;在确定第一攻击脚本攻击第二用户对应的赛题镜像环境的攻击时间小于或等于预设攻击时间时,确定第一攻击结果为攻击成功。
本发明实施例提供的网络安全比赛中的攻防方法,基于攻击得到的目标数据和预设数据是否匹配来确定第一用户是否攻击成功,其中预设数据为第二用户对应的赛题镜像环境中存储的数据,将攻击得到的目标数据与预设数据匹配能够提高攻击结果判定的准确性。
可选地,上述基于第一攻击脚本攻击第二用户对应的赛题镜像环境,具体可通过以下方式实现:
创建脚本运行环境;基于所述脚本运行环境运行所述第一攻击脚本;基于运行的所述第一攻击脚本攻击第二用户对应的赛题镜像环境。
其中,脚本运行环境为部署在容器或者虚拟机中的操作系统,用于运行攻击脚本和补丁脚本。
示例地,服务器在获取到第一用户的第一攻击脚本时,可以先创建用于运行攻击脚本的脚本运行环境,并镜像每个第二用户的赛题环境,完全模拟每个第二用户的赛题环境,得到每个第二用户的赛题镜像环境;然后通过脚本运行环境运行第一攻击脚本,基于运行的第一攻击脚本攻击第二用户对应的赛题镜像环境。
本发明实施例提供的网络安全比赛中的攻防方法,服务器通过创建的脚本运行环境来运行第一攻击脚本,进而基于运行的第一攻击脚本来攻击第二用户对应的赛题镜像环境,实现了攻击第二用户对应的赛题镜像环境的可行性。
可选地,上述基于脚本运行环境运行第一攻击脚本,具体可通过以下方式实现:
确定第二用户对应的赛题镜像环境是否能够正常运行目标服务;在确定第二用户对应的赛题镜像环境能够正常运行所述目标服务时,基于所述脚本运行环境运行所述第一攻击脚本。
其中,目标服务可以为赛题环境支持的任意一个服务或者多个服务;例如,目标服务可以为赛题环境支持的拨打电话的服务和连接无线网络的服务等。
示例地,服务器在基于脚本运行环境运行第一攻击脚本之前,需要确定第二用户对应的赛题镜像环境是否能够正常运行目标服务,在确定第二用户对应的赛题镜像环境能够正常运行目标服务时,说明攻击之前的第二用户对应的赛题镜像环境的状态正常,此时可以基于脚本运行环境运行第一攻击脚本,并基于运行的第一攻击脚本攻击第二用户对应的赛题镜像环境;在确定第二用户对应的赛题镜像环境不能够正常运行目标服务时,说明攻击之前的第二用户对应的赛题镜像环境的状态异常,可能因修补失败等原因造成第二用户对应的赛题镜像环境状态异常,为了体现网络安全比赛中的攻防的公平竞争,此时无需基于脚本运行环境运行第一攻击脚本,也就不对第二用户对应的赛题镜像环境进行攻击。
本发明实施例提供的网络安全比赛中的攻防方法,在基于脚本运行环境运行第一攻击脚本之前,先对第二用户对应的赛题镜像环境是否能够运行目标服务进行验证,只有在第二用户对应的赛题镜像环境能够运行目标服务时,才基于脚本运行环境运行第一攻击脚本,进而攻击第二用户对应的赛题镜像环境;这样能够避免第二用户对应的赛题镜像环境因修补等方式造成的服务异常时,再去攻击第二用户对应的赛题镜像环境造成的攻击失败,进一步提高了网络安全比赛中的攻防的公平性。
可选地,所述第一脚本提交请求中携带第一用户对应的终端的标识;上述步骤102具体可通过以下方式实现:
基于第一用户对应的终端的标识在云端数据库获取所述第一攻击脚本;所述云端数据库存储有终端的标识和攻击脚本的对应关系;所述攻击脚本为所述云端数据库从每个用户对应的操作机的第一预设目录中获取到的。
示例地,第一用户在编写好第一攻击脚本时,可以将第一攻击脚本上传至分配给第一用户的操作机的第一预设目录中,这样,云端数据库就可以基于终端的标识、操作机的标识和预设目录的对应关系,在第一用户对应的操作机的第一预设目录中获取第一用户的第一攻击脚本,并将第一用户的第一攻击脚本和第一用户对应的终端的标识进行对应存储;在第一脚本提交请求中携带第一用户对应的终端的标识时,服务器就可以基于第一用户对应的终端的标识在云端数据库获取第一用户的第一攻击脚本。
需要说明的是,为了便于区分每个用户的exp.zip压缩包,可以将exp.zip压缩包同步至赛题环境所在的宿主机,由宿主机将用户提交的exp.zip压缩包的命名以约定的命名方式进行更改,并将更改命名后的exp.zip压缩包上传至云端数据库,便于云端数据库对每个用户的exp.zip压缩包进行区分;以同样的方式可以更改patch.zip压缩包的命名,本发明在此不再赘述。
本发明实施例提供的网络安全比赛中的攻防方法,服务器在接收到第一脚本提交请求时,从云端数据库获取对应的第一攻击脚本,实现了所有攻击脚本的统一管理。
可选地,图3是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之三,如图3所示,该网络安全比赛中的攻防方法还包括以下步骤:
步骤105、接收所述第一用户对应的终端发送的第二脚本提交请求。
示例地,在进行网络安全攻防比赛时,参赛的每个战队的每个选手(用户)还可以挖掘赛题环境的漏洞,并基于挖掘的漏洞编写对应的补丁脚本,在编写好补丁脚本时,将攻击脚本打包成zip等格式的压缩包,得到patch.zip压缩包,在竞赛平台的相关界面上点击“提交patch”控件,其中patch表示补丁脚本;这样就实现了每个用户对应的终端向服务器发送第二脚本提交请求,使得服务器接收到每个用户对应的终端发送的第二脚本提交请求;这里采用第一用户表示参赛的每个战队中的任一用户。
需要说明的是,每个比赛可以对打补丁次数进行设定,在用户提交一次补丁脚本时,打补丁次数自动减1,具体打补丁次数可基于比赛需求进行设定,本发明对此不作限定。
步骤106、基于所述第二脚本提交请求获取补丁脚本;所述补丁脚本为所述第一用户基于所述赛题环境确定的补丁脚本。
示例地,在第二脚本提交请求中携带补丁脚本时,服务器直接获取补丁脚本;在第二脚本提交请求中携带操作机的标识和第二预设目录时,服务器基于操作机的标识确定对应的操作机,并基于第二预设目录在对应的操作机中获取补丁脚本;在第二脚本提交请求中携带第一用户对应的终端的标识时,服务器基于第一用户对应的终端的标识在云端数据库中获取对应的补丁脚本。
步骤107、访问所述第一用户的赛题环境,在所述第一用户的赛题环境中运行所述补丁脚本,得到所述第一用户的新赛题环境。
示例地,服务器在获取到第一用户的补丁脚本时,直接访问第一用户的赛题环境,在第一用户的赛题环境中运行补丁脚本,得到第一用户的新赛题环境。
需要说明的是,本发明对上述步骤105至步骤107与上述步骤101至步骤104的执行顺序不做限定,具体可基于需求进行设定。
本发明实施例提供的网络安全比赛中的攻防方法,服务器基于接收到的第二脚本提交请求获取第一用户的补丁脚本,然后访问第一用户的赛题环境,在第一用户的赛题环境中运行补丁脚本,得到第一用户的新赛题环境,实现了第一用户对自身赛题环境的修补。
可选地,图4是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之四,如图4所示,在上述步骤107之后,该网络安全比赛中的攻防方法还包括以下步骤:
步骤108、基于所述第一用户对应的新赛题环境确定环境服务结果。
具体地,确定所述第一用户对应的新赛题环境是否能够正常运行目标服务;在确定所述第一用户对应的新赛题环境能够正常运行所述目标服务时,确定所述环境服务结果为服务正常;在确定所述第一用户对应的新赛题环境不能够正常运行所述目标服务时,确定所述环境服务结果为服务异常。
示例地,在得到第一用户的新赛题环境时,可以执行预先配置的check脚本,通过执行check脚本来确定第一用户对应的新赛题环境是否能够正常运行目标服务,在确定第一用户对应的新赛题环境能够正常运行目标服务时,说明第一用户基于补丁脚本对自身的赛题环境进行修补之后服务正常,此时确定环境服务结果为服务正常;在确定第一用户对应的新赛题环境不能够正常运行目标服务时,说明第一用户基于补丁脚本对自身的赛题环境进行修补之后服务异常,此时确定环境服务结果为服务异常。
本发明实施例提供的网络安全比赛中的攻防方法,基于第一用户对应的新赛题环境是否能够正常运行目标服务来确定第一用户是否服务正常,提高了比赛总分判断的准确性。
可选地,图5是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之五,如图5所示,在上述步骤107之后,该网络安全比赛中的攻防方法还包括以下步骤:
步骤109、在接收到第二用户对应的终端发送的第三脚本提交请求时,基于所述第三脚本提交请求获取第二攻击脚本。
示例地,服务器在接收到第二用户对应的终端发送的第三脚本提交请求时,可以基于第三脚本提交请求获取第二用户的第二攻击脚本,其中,基于第三脚本提交请求获取第二用户的第二攻击脚本的方法与基于第一脚本提交请求获取第一用户的第一攻击脚本的方法类似,本发明在此不再赘述。
步骤110、镜像所述第一用户的新赛题环境,得到所述第一用户对应的新赛题镜像环境。
示例地,服务器在获取到每个第二用户的第二攻击脚本时,镜像第一用户的新赛题环境,得到第一用户对应的新赛题镜像环境。
步骤111、基于所述第二攻击脚本攻击所述第一用户的新赛题镜像环境,得到第二攻击结果。
示例地,服务器在得到第一用户对应的新赛题镜像环境时,基于脚本运行环境运行每个第二攻击脚本,基于运行的每个第二攻击脚本分别攻击第一用户的新赛题镜像环境,,并基于是否获取到正确的flag来确定针对每个第二用户对第一用户的第二攻击结果。
本发明实施例提供的网络安全比赛中的攻防方法,服务器在接收到第二用户对应的终端发送的第三脚本提交请求时,基于第三脚本提交请求获取第二用户的第二攻击脚本,并基于第二攻击脚本攻击镜像得到的第一用户的新赛题镜像环境,以实现攻击对象始终为最新的新赛题镜像环境,进一步体现了网络安全比赛中的攻防的公平竞争。
可选地,所述第二脚本提交请求中携带第一用户对应的终端的标识;上述步骤106具体可通过以下方式实现:
基于第一用户对应的终端的标识在云端数据库获取所述补丁脚本;所述云端数据库存储有终端的标识和补丁脚本的对应关系;所述补丁脚本为所述云端数据库从每个用户对应的操作机的第二预设目录中获取到的。
示例地,第一用户在编写好补丁脚本时,可以将补丁脚本上传至分配给第一用户的操作机的第二预设目录中,这样,云端数据库就可以基于终端的标识、操作机的标识和预设目录的对应关系,在第一用户对应的操作机的第二预设目录中获取第一用户的补丁脚本,并将第一用户的补丁脚本和第一用户对应的终端的标识进行对应存储;在第二脚本提交请求中携带第一用户对应的终端的标识时,服务器就可以基于第一用户对应的终端的标识在云端数据库获取第一用户的补丁脚本。
需要说明的是,在将每个用户的攻击脚本和补丁脚本上传至云端数据库时,每个用户也可以在云端数据库中下载历史提交的攻击脚本和补丁脚本,本发明对此不作限定。
本发明实施例提供的网络安全比赛中的攻防方法,服务器在接收到第二脚本提交请求时,从云端数据库获取对应的补丁脚本,实现了所有补丁脚本的统一管理。
可选地,图6是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之六,如图6所示,在每个回合结束后,该网络安全比赛中的攻防方法还包括以下步骤:
步骤112、基于所述第一用户的所述第一攻击结果和所述第二用户的所述第二攻击结果确定所述第一用户的攻防得分和所述第二用户的攻防得分。
示例地,在所述第一攻击结果为攻击成功时,所述第一用户的攻防得分增加预设攻防分,所述第二用户的攻防得分扣除所述预设攻防分;
在所述第一攻击结果为攻击失败时,所述第一用户的攻防得分和所述第二用户的攻防得分均不变;
在所述第二攻击结果为攻击成功时,所述第一用户的攻防得分扣除所述预设攻防分,所述第二用户的攻防得分增加所述预设攻防分;
在所述第二攻击结果为攻击失败时,所述第一用户的攻防得分和所述第二用户的攻防得分均不变。
例如,有四个用户参赛,分别为用户1、用户2、用户3和用户4,若用户1对用户2的攻击结果为攻击成功,用户1对用户3的攻击结果为攻击失败,用户1对用户4的攻击结果为攻击成功,用户2对用户1的攻击结果为攻击成功,预设攻防分为100分,则用户1的攻防得分增加100分+100分-100分=100分。
步骤113、基于所述第一用户的环境服务结果和每个所述第二用户的环境服务结果确定所述第一用户的服务得分和每个所述第二用户的服务得分。
示例地,在所述第一用户的环境服务结果和每个所述第二用户的环境服务结果中确定出环境服务结果为服务成功对应的目标用户;
除所述目标用户之外的其他用户的服务得分扣除第一预设服务分;所述第一预设服务分为预设服务总分与其他用户的数量的平均值;
所述目标用户的服务得分增加第二预设服务分;所述第二预设服务分为所述预设服务总分与目标用户的数量的平均值。
例如,有四个用户参赛,分别为用户1、用户2、用户3和用户4,若用户1和用户2对应的环境服务结果均为服务成功,用户3和用户4对应的环境服务结果均为服务异常,假设预设服务总分为400分,则用户1和用户2的服务得分均增加200分,用户3和用户4的服务得分均扣除200分。
步骤114、基于所述第一用户的攻防得分和所述第一用户的服务得分确定所述第一用户的比赛总分。
示例地,将第一用户的攻防得分和第一用户的服务得分相加得到第一用户的比赛总分。
步骤115、基于所述第二用户的攻防得分和所述第二用户的服务得分确定所述第二用户的比赛总分。
示例地,将第二用户的攻防得分和第二用户的服务得分相加得到第二用户的比赛总分。
步骤116、将所述第一用户的比赛总分和每个所述第二用户的比赛总分排序后进行存储和/或显示。
示例地,在得到该回合中每个用户的比赛总分时,可以将该回合中每个用户的比赛总分进行排序后存储在云端数据库中,也可以将该回合中每个用户的比赛总分进行排序后显示在显示屏上或者进行语音播报,便于参赛的每个用户基于比赛总分来调整下一回合的攻击脚本和补丁脚本等;具体排序方法可以为按照比赛总分从大到小排序,也可以按照比赛总分从小到大进行排序。
需要说明的是,在每个回合结束后,服务器还可以基于每个用户的攻击结果和环境服务结果、以及预设的计分规则确定每个用户的比赛总分;其中,预设的计分规则可以基于实际需求进行设定,本发明对此不作限定。
本发明实施例提供的网络安全比赛中的攻防方法,在每个回合结束后,可将每个用户的比赛总分进行存储或显示,便于用户查看比赛总分来调整下一回合的攻击脚本和补丁脚本。
可选地,该网络安全比赛中的攻防方法还包括以下步骤:
将每个用户对应的当前赛题镜像环境存储在公共镜像区。
其中,所有战队均可在公共镜像区申请将其他战队的当前赛题镜像到战队资源区中。
示例地,在每个回合结束时,服务器可以将每个用户对应的当前赛题镜像环境都存储在公共镜像区。
本发明实施例提供的网络安全比赛中的攻防方法,在每个回合结束时,将每个用户对应的当前赛题镜像环境存储在公共镜像区,实现了每个用户对应的当前赛题镜像环境的统一管理,同时便于用户访问其他用户对应的当前赛题镜像环境。
进一步地,该网络安全比赛中的攻防方法还包括以下步骤:
接收举报用户对应的终端发送的举报请求;所述举报请求中携带被举报用户的证据信息;基于所述被举报用户的证据信息确定所述被举报用户对应的当前赛题镜像环境是否合法;在确定所述被举报用户对应的当前赛题镜像环境不合法时,更新所述举报用户的攻防得分和所述被举报用户的攻防得分。
示例地,参赛的每个用户都可以从公共镜像区中申请获取其他用户的当前赛题镜像环境,并将获取的其他用户的当前赛题镜像环境添加至战队资源区中进行分析,若举报用户认为某个用户的当前赛题镜像环境删除了必要功能或者必要服务等时,则确定该用户的当前赛题镜像环境不合法,此时可以在竞赛平台上点击“举报”控件,并添加不合法的证据信息(删除了必要功能或者必要服务),这样就实现了用户对应的终端向服务器发送携带被举报用户的证据信息的举报请求,使得服务器接收到举报用户对应的终端发送的举报请求。
服务器在接收到举报请求时,基于举报请求中携带的被举报用户的证据信息对被举报用户的当前赛题镜像环境的合法性进行判定,若判定被举报用户的当前赛题镜像环境不合法,则确定举报有效,此时更新举报用户的攻防得分和被举报用户的攻防得分,并将更新后的攻防得分上传至云端数据库;若判定举报用户的当前赛题镜像环境合法,则确定举报无效,此时可以向举报用户的终端返回举报无效的提醒消息。
具体地,更新举报用户的攻防得分和被举报用户的攻防得分可通过以下方式实现:
对所述举报用户的攻防得分增加预设举报分;对所述被举报用户的攻防得分扣除所述预设举报分。
本发明实施例提供的网络安全比赛中的攻防方法,在对其他用户的攻防得分存在异议时,可以向服务器发送举报请求,便于服务器基于举报请求中携带的被举报用户的证据信息确定被举报用户对应的当前赛题镜像环境的合法性,在确定被举报用户对应的当前赛题镜像环境不合法时,更新被举报用户的攻防得分,进一步体现网络安全比赛中的攻防的公平性。
图7是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之七,应用于终端,如图7所示,该网络安全比赛中的攻防方法包括以下步骤:
步骤701、基于赛题环境确定第一用户的第一攻击脚本。
示例地,在进行网络安全比赛中的攻防比赛时,参赛的每个战队的每个选手(用户)都可以在自己的终端上登陆竞赛平台,在竞赛平台的战队资源区获取赛题环境的IP地址和赛题环境对应的部分或者全部代码等;基于赛题环境的IP地址访问对应的赛题环境,挖掘赛题环境的漏洞,并基于挖掘的漏洞编写对应的攻击脚本;这里采用第一用户表示参赛的每个战队中的任一用户。
步骤702、基于所述第一攻击脚本向服务器发送第一脚本提交请求;所述第一脚本提交请求用于指示所述服务器获取第一攻击脚本,并基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果。
示例地,第一用户在编写好第一攻击脚本时,在竞赛平台的相关界面上点击“提交exp”控件,其中exp表示攻击脚本;这样就实现了第一用户对应的终端向服务器发送第一脚本提交请求,使得服务器接收到第一用户对应的终端发送的第一脚本提交请求。
需要说明的是,本轮参赛的每个用户都需要基于赛题环境编写对应的第一攻击脚本,并向服务器发送第一脚本提交请求,使得服务器获取到本轮参赛的每个用户的第一攻击脚本,若本轮参赛的每个用户只编写了对应的第一攻击脚本,而没有编写对应的补丁脚本时,则在服务器获取到本轮参赛的每个用户的第一攻击脚本时,就说明战队之间的本次回合结束,也就是本轮比赛结束;服务器在获取到每个用户对应的第一攻击脚本时,就可以基于每个用户对应的第一攻击脚本来攻击每个参赛的其他用户的赛题环境。
本发明实施例提供的网络安全比赛中的攻防方法,终端基于赛题环境确定第一用户的第一攻击脚本,并基于第一攻击脚本向服务器发送第一脚本提交请求,使得服务器在接收到第一脚本提交请求时,基于第一脚本提交请求获取第一攻击脚本,然后镜像每个第二用户的赛题环境,最后基于第一攻击脚本攻击每个第二用户对应的赛题镜像环境。可知,本发明通过服务器的参与实现了多方之间的网络安全比赛中的攻防,在此基础上,服务器基于第一用户的第一攻击脚本攻击镜像得到的每个第二用户的赛题镜像环境,并没有直接攻击第二用户的赛题环境,能够防止第二用户的赛题环境被恶意操作,体现了网络安全比赛中的攻防的公平性。
可选地,图8是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之八,如图8所示,上述步骤702具体可通过以下步骤实现:
步骤7021、基于所述第一攻击脚本对初始赛题环境或者目标赛题环境进行测试,得到测试结果;所述初始赛题环境为未运行补丁脚本的赛题环境;所述目标赛题环境为运行补丁脚本后的赛题环境。
示例地,第一用户在编写好第一攻击脚本时,可以基于第一攻击脚本对初始赛题环境或者目标赛题环境进行测试,得到测试结果。
步骤7022、在确定测试结果为测试成功时,基于所述第一攻击脚本向所述服务器发送所述第一脚本提交请求。
示例地,在确定测试结果为测试成功时,说明第一攻击脚本可以在赛题环境中成功运行,此时基于第一攻击脚本向服务器发送第一脚本提交请求,确保服务器在基于第一脚本提交请求获取到第一攻击脚本时,能够成功运行第一攻击脚本;在确定测试结果为测试失败时,说明第一攻击脚本无法在赛题环境中成功运行,此时第一用户可以重新编写新的第一攻击脚本,再基于新的第一攻击脚本对初始赛题环境或者目标赛题环境进行测试,在测试结果为测试成功时,基于新的第一攻击脚本向服务器发送第一脚本提交请求,便于服务器基于第一脚本提交请求获取到第一用户的最新的第一攻击脚本。
本发明实施例提供的网络安全比赛中的攻防方法,在向服务器发送第一脚本提交请求之前,先通过初始赛题环境或者目标赛题环境对第一攻击脚本进行测试,确定第一攻击脚本是否能够在初始赛题环境或者目标赛题环境上正常运行,在确定第一攻击脚本能够在初始赛题环境或者目标赛题环境上正常运行时,向服务器发送第一脚本提交请求,以确保服务器能够正常运行第一攻击脚本。
可选地,在步骤701之前,该网络安全比赛中的攻防方法还包括以下步骤:
通过第一用户对应的操作机获取所述赛题环境;所述第一用户对应的操作机不允许除所述服务器和所述第一用户对应的终端之外的设备访问。
示例地,在竞赛平台的战队资源区还可以获取分配给各自战队的操作机的IP地址和登录信息,用户可以基于自己战队对应的操作机的IP地址和登录信息登录对应的操作机,再通过对应的操作机访问赛题环境,这里采用第一用户表示参赛的每个战队中的任一用户,即通过第一用户对应的操作机获取第一用户的赛题环境,第一用户对应的操作机不允许除第一用户之外的用户访问,所有实现了每个战队之间赛题环境的相互隔离。
需要说明的是,针对每个用户对应的操作机,均是不允许除服务器和自身对应的终端之外的设备访问。
本发明实施例提供的网络安全比赛中的攻防方法,每个用户的终端只能通过对应的操作机获取赛题环境,无法直接获取赛题环境,从而实现了每个用户的赛题环境的相互隔离,避免用户之间恶意操作对方的赛题环境,从而造成网络安全比赛中的攻防的不公平性。
可选地,在步骤702之前,该网络安全比赛中的攻防方法还包括以下步骤:
将所述第一攻击脚本存储在所述第一用户对应的操作机的第一预设目录中。
示例地,第一用户在编写好第一攻击脚本时,可以将第一攻击脚本上传至分配给第一用户的操作机的第一预设目录中,这样,云端数据库就可以基于终端的标识、操作机的标识和预设目录的对应关系,在第一用户对应的操作机的第一预设目录中获取第一用户的第一攻击脚本,并将第一用户的第一攻击脚本和第一用户对应的终端的标识进行对应存储。
可选地,图9是本发明实施例提供的网络安全比赛中的攻防方法的流程示意图之九,如图9所示,该网络安全比赛中的攻防方法还包括以下步骤:
步骤703、基于所述赛题环境确定第一用户的补丁脚本。
示例地,在进行网络安全比赛中的攻防比赛时,参赛的每个战队的每个选手(用户)还可以挖掘赛题环境的漏洞,并基于挖掘的漏洞编写对应的补丁脚本;这里采用第一用户表示参赛的每个战队中的任一用户。
步骤704、基于所述补丁脚本向所述服务器发送第二脚本提交请求;所述第二脚本提交请求用于指示所述服务器获取所述补丁脚本,并在所述第一用户的赛题环境中运行所述补丁脚本,得到所述第一用户的新赛题环境。
示例地,第一用户在编写好补丁脚本时,在竞赛平台的相关界面上点击“提交patch”控件,这样就实现了第一用户对应的终端向服务器发送第二脚本提交请求,使得服务器接收到第一用户对应的终端发送的第二脚本提交请求。
需要说明的是,本发明对上述步骤701至步骤702,和上述步骤703至步骤704的执行顺序不作限定,具体可基于需求进行设定。
需要说明的是,本轮参赛的每个用户都需要基于赛题环境编写对应的第一攻击脚本,并向服务器发送第一脚本提交请求,使得服务器获取到本轮参赛的每个用户的第一攻击脚本,若本轮参赛中,有的用户还编写了对应的补丁脚本,则在服务器获取到本轮参赛的每个用户的第一攻击脚本时和有的用户的补丁脚本时,就说明战队之间的本次回合结束,也就是本轮比赛结束;服务器在获取到每个用户对应的第一攻击脚本和有的用户的补丁脚本时,就可以基于每个用户对应的第一攻击脚本来攻击每个参赛的其他用户的赛题环境,并基于补丁脚本对对应用户的赛题环境进行修补。
例如,战队ABCD四个队伍进行比赛,赛题为test,比赛第一回合结束前,ABCD都通过自己的操作机(manipulator)提交了自己队伍的攻击脚本exp.zip。并且,战队A对自己的赛题环境进行漏洞修补,提交了补丁脚本patch.zip,提交patch.zip后,服务器在战队A的赛题环境中成功执行了patch.zip,此时战队A的赛题test因为漏洞修补,与其他战队的赛题环境不同,可以命名为test_A_patch。第一回合结束后,裁判服务器Judge,从云端数据库获取ABCD四个战队的exp.zip,开始攻防执行。以A战队分别攻击B战队、C战队和D战队为例:Judge创建脚本运行环境,并镜像B战队、C战队和D战队的赛题环境test,然后使用脚本运行环境执行A战队的exp.zip,执行exp.zip之前,先依次check战队B、战队C和战队D的赛题环境,如果有战队的赛题环境异常,直接扣除服务分,不再基于A战队的exp.zip对异常的战队的赛题环境进行攻击。如果没有战队的赛题环境异常,则基于运行的A战队的exp.zip依次攻击战队B、战队C和战队D的赛题环境,分别得到战队B、战队C和战队D的第一攻击结果。而战队B、战队C和战队D在攻击战队A时,攻击的是战队A的新赛题环境test_A_patch。
需要说明的是,在每个回合结束后,服务器都会拉取最新的exp.zip和战队最后一次修补漏洞的新赛题环境,依次进行攻防。
可选地,该网络安全比赛中的攻防方法还包括以下步骤:
在基于所述第一用户的新赛题环境确定环境服务结果为服务异常时,将所述第一用户的新赛题环境恢复至上一次处于正常状态的赛题环境,或者将所述第一用户的新赛题环境恢复至初始赛题环境,并将预设恢复次数减一次;所述预设恢复次数为允许第一用户恢复赛题环境的次数。
示例地,第一用户在确定基于编写的补丁脚本对自身的赛题环境服务异常时,可以在竞赛平台上点击“一键恢复异常”控件,将第一用户的新赛题环境恢复至上一次处于正常状态的赛题环境,具体恢复方法可以为将每个回合的赛题环境打快照,并设置每个快照的状态,恢复至最近一次处于正常状态的快照;或者点击“重置为初始状态”的控件,将所述第一用户的新赛题环境恢复至初始赛题环境,例如,恢复至初始状态的快照;在点击“一键恢复异常”控件或者“重置为初始状态”之后,自动将第一用户恢复赛题环境的预设恢复次数减1;其中,预设恢复次可基于比赛需求进行设定,本发明对此不作限定。
可选地,在步骤704之前,该网络安全比赛中的攻防方法还包括以下步骤:
将所述补丁脚本存储在所述第一用户对应的操作机的第二预设目录中。
示例地,第一用户在编写好补丁脚本时,可以将补丁脚本上传至分配给第一用户的操作机的第二预设目录中,这样,云端数据库就可以基于终端的标识、操作机的标识和预设目录的对应关系,在第一用户对应的操作机的第二预设目录中获取第一用户的补丁脚本,并将第一用户的补丁脚本和第一用户对应的终端的标识进行对应存储。
可选地,该网络安全比赛中的攻防方法还包括以下步骤:
从公共镜像区获取每个第二用户对应的当前赛题镜像环境;在确定有异常的当前赛题镜像环境时,将所述异常的当前赛题镜像环境对应的第二用户确定为被举报用户;向所述服务器发送举报请求;所述举报请求中携带所述被举报用户的证据信息。
示例地,参赛的每个用户都可以从公共镜像区中申请获取其他用户的当前赛题镜像环境,并将获取的其他用户的当前赛题镜像环境添加至战队资源区中进行分析,若举报用户认为某个用户的当前赛题镜像环境删除了必要功能或者必要服务等时,则确定该用户的当前赛题镜像环境不合法,此时可以在竞赛平台上点击“举报”控件,并添加不合法的证据信息(删除了必要功能或者必要服务),这样就实现了用户对应的终端向服务器发送携带被举报用户的证据信息的举报请求,使得服务器接收到举报用户对应的终端发送的举报请求。
可选地,图10是本发明实施例提供的网络安全比赛中的攻防系统的结构示意图,如图10所示,该网络安全比赛中的攻防系统包括多个战队服务器、网站服务器、云端数据库和多个服务器,其中,多个服务器组成裁判服务器集群,每个战队服务器中包括一个操作机和多个赛题环境,且赛题环境分为初始赛题环境和赛题环境,其中初始赛题环境用于测试攻击脚本,赛题环境用于执行补丁脚本;每个服务器创建脚本运行环境和每个用户的赛题环境(赛题镜像环境),通过脚本运行环境运行第一用户的第一攻击脚本,基于运行的第一攻击脚本攻击每个第二用户的赛题镜像环境;网站服务器用于在每个战队服务器与裁判服务器集群之间的起到调用作用;云端数据库用于存储每个战队的攻击脚本、补丁脚本以及每个回合每个战队或者每个用户的攻防得分等。
需要说明的是,战队服务器和裁判服务器均可以基于参赛的战队数量进行灵活部署,整个网络安全比赛中的攻防系统的部署分为赛前部署、赛中部署和赛后部署。
其中,赛前部署包括赛事系统和裁判服务器的部署;赛事系统需要配置赛题信息,赛事系统的配置和战队服务器的分配,可以根据不同赛事要求,进行灵活配置。裁判服务器可以一键部署,通过云端数据库来同步赛事判分设置,判分设置可以通过赛事系统的配置来灵活控制。
赛中部署包括拥有参赛权限的选手,通过竞赛平台的网站登录赛事系统后,可以查看赛题和战队资源,根据赛题信息进行解题,通过对应的操作机提交战队的exp和patch进行攻防。在每个回合结束后,等待攻防得分的结果,根据上一回合攻防判定调整答题。同时,可以通过获取其他战队的赛题环境,分析其他战队的赛题环境调整自己的答案(攻击脚本或者补丁脚本)。通过战队各自的操作机实现了赛题环境的网络隔离,选手只能直接访问自己的操作机,无法直接访问赛题环境和其他战队的赛题环境,另外还可以通过各自的操作机进行赛题调试。
赛后部署包括各个战队的攻防得分排行榜的显示,如果赛中存在作弊行为,赛后会被调整成绩。比赛结束后,赛事系统关闭一切答题窗口,只可查看攻防得分。
本发明实施例提供的网络安全比赛中的攻防系统,每一回合提供每个战队彼此隔离的初始赛题环境作为测试靶机,所有战队测试攻击相互不影响;每一回合每个战队可以获取其他战队这个回合的赛题镜像环境,让选手了解对手的赛题环境又不至于让对手因被攻击无法操作,攻击防御完全独立,既考验了选手推演对手的赛题环境的场景,又能够让所有战队可以最大限度的提升自己的防御能力,实现了每个战队攻击防御过程完全独立的公平性,同时做到了战队之间实际的相互攻击;所有战队每个回合提交最好的exp由裁判服务器在回合结束时逐一安排战队exp攻击除自己以外的所有战队,避免比赛过程中战队直接相互攻击造成的资源承受风险和某些不合规操作导致的战队之间恶意攻击的风险。
图11是本发明实施例提供的网络安全比赛中的攻防装置的结构示意图之一,应用于服务器,如图11所示,该网络安全比赛中的攻防装置包括第一接收单元1101、第一获取单元1102、第一镜像单元1103和攻击单元1104;其中:
第一接收单元1101,用于接收第一用户对应的终端发送的第一脚本提交请求;
第一获取单元1102,用于基于所述第一脚本提交请求获取第一攻击脚本;所述第一攻击脚本为所述第一用户基于赛题环境确定的攻击脚本;
第一镜像单元1103,用于镜像每个第二用户的赛题环境,得到每个第二用户对应的赛题镜像环境;
攻击单元1104,用于针对每个第二用户对应的赛题镜像环境,基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果。
本发明实施例提供的网络安全比赛中的攻防装置,服务器基于接收到的第一脚本提交请求获取第一用户的第一攻击脚本,然后镜像每个第二用户的赛题环境,最后基于第一攻击脚本攻击每个第二用户对应的赛题镜像环境。可知,本发明通过服务器的参与实现了多方之间的网络安全比赛攻防,在此基础上,服务器基于第一用户的第一攻击脚本攻击镜像得到的每个第二用户的赛题镜像环境,并没有直接攻击第二用户的赛题环境,能够防止第二用户的赛题环境被恶意操作,体现了网络安全比赛攻防的公平性。
基于上述任一实施例,所述攻击单元1104具体用于:
基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,获取攻击得到的目标数据;
确定所述目标数据是否与预设数据匹配;所述预设数据为所述第二用户对应的赛题镜像环境中存储的数据;
在确定所述目标数据与所述预设数据匹配时,确定所述第一攻击结果为攻击成功;
在确定所述目标数据与所述预设数据不匹配时,确定所述第一攻击结果为攻击失败。
基于上述任一实施例,所述攻击单元1104具体用于:
创建脚本运行环境;
基于所述脚本运行环境运行所述第一攻击脚本;
基于运行的所述第一攻击脚本攻击第二用户对应的赛题镜像环境。
基于上述任一实施例,所述攻击单元1104具体用于:
确定第二用户对应的赛题镜像环境是否能够正常运行目标服务;
在确定第二用户对应的赛题镜像环境能够正常运行所述目标服务时,基于所述脚本运行环境运行所述第一攻击脚本。
基于上述任一实施例,所述第一脚本提交请求中携带第一用户对应的终端的标识;所述第一获取单元1102具体用于:
基于第一用户对应的终端的标识在云端数据库获取所述第一攻击脚本;所述云端数据库存储有终端的标识和攻击脚本的对应关系;所述攻击脚本为所述云端数据库从每个用户对应的操作机的第一预设目录中获取到的。
基于上述任一实施例,所述装置还包括:
第二接收单元,用于接收所述第一用户对应的终端发送的第二脚本提交请求;
第二获取单元,用于基于所述第二脚本提交请求获取补丁脚本;所述补丁脚本为所述第一用户基于所述赛题环境确定的补丁脚本;
访问单元,用于访问所述第一用户的赛题环境,在所述第一用户的赛题环境中运行所述补丁脚本,得到所述第一用户的新赛题环境。
基于上述任一实施例,所述装置还包括:
第二确定单元,用于基于所述第一用户对应的新赛题环境确定环境服务结果。
基于上述任一实施例,所述第二确定单元具体用于:
确定所述第一用户对应的新赛题环境是否能够正常运行目标服务;
在确定所述第一用户对应的新赛题环境能够正常运行所述目标服务时,确定所述环境服务结果为服务正常;
在确定所述第一用户对应的新赛题环境不能够正常运行所述目标服务时,确定所述环境服务结果为服务异常。
基于上述任一实施例,所述装置还包括:
第三获取单元,用于在接收到第二用户对应的终端发送的第三脚本提交请求时,基于所述第三脚本提交请求获取第二攻击脚本;
第二镜像单元,用于镜像所述第一用户的新赛题环境,得到所述第一用户对应的新赛题镜像环境;
第二攻击单元,用于基于所述第二攻击脚本攻击所述第一用户的新赛题镜像环境,得到第二攻击结果。
基于上述任一实施例,所述第二脚本提交请求中携带第一用户对应的终端的标识;所述第二获取单元具体用于:
基于第一用户对应的终端的标识在云端数据库获取所述补丁脚本;所述云端数据库存储有终端的标识和补丁脚本的对应关系;所述补丁脚本为所述云端数据库从每个用户对应的操作机的第二预设目录中获取到的。
基于上述任一实施例,所述装置还包括:
第三确定单元,用于基于所述第一用户的所述第一攻击结果和所述第二用户的所述第二攻击结果确定所述第一用户的攻防得分和所述第二用户的攻防得分;
基于所述第一用户的环境服务结果和每个所述第二用户的环境服务结果确定所述第一用户的服务得分和每个所述第二用户的服务得分;
基于所述第一用户的攻防得分和所述第一用户的服务得分确定所述第一用户的比赛总分;
基于所述第二用户的攻防得分和所述第二用户的服务得分确定所述第二用户的比赛总分;
存储显示单元,将所述第一用户的比赛总分和每个所述第二用户的比赛总分排序后进行存储和/或显示。
基于上述任一实施例,所述第三确定单元具体用于:
在所述第一攻击结果为攻击成功时,所述第一用户的攻防得分增加预设攻防分,所述第二用户的攻防得分扣除所述预设攻防分;
在所述第一攻击结果为攻击失败时,所述第一用户的攻防得分和所述第二用户的攻防得分均不变;
在所述第二攻击结果为攻击成功时,所述第一用户的攻防得分扣除所述预设攻防分,所述第二用户的攻防得分增加所述预设攻防分;
在所述第二攻击结果为攻击失败时,所述第一用户的攻防得分和所述第二用户的攻防得分均不变。
基于上述任一实施例,所述第三确定单元具体用于:
在所述第一用户的环境服务结果和每个所述第二用户的环境服务结果中确定出环境服务结果为服务成功对应的目标用户;
除所述目标用户之外的其他用户的服务得分扣除第一预设服务分;所述第一预设服务分为预设服务总分与其他用户的数量的平均值;
所述目标用户的服务得分增加第二预设服务分;所述第二预设服务分为所述预设服务总分与目标用户的数量的平均值。
基于上述任一实施例,所述装置还包括:
第一存储单元,用于将每个用户对应的当前赛题镜像环境存储在公共镜像区。
基于上述任一实施例,所述装置还包括:
第三接收单元,用于接收举报用户对应的终端发送的举报请求;所述举报请求中携带被举报用户的证据信息;
第四确定单元,用于基于所述被举报用户的证据信息确定所述被举报用户对应的当前赛题镜像环境是否合法;
更新单元,用于在确定所述被举报用户对应的当前赛题镜像环境不合法时,更新所述举报用户的攻防得分和所述被举报用户的攻防得分。
基于上述任一实施例,所述更新单元具体用于:
对所述举报用户的攻防得分增加预设举报分;
对所述被举报用户的攻防得分扣除所述预设举报分。
图12是本发明实施例提供的网络安全比赛中的攻防装置的结构示意图之二,应用于服务器,如图12所示,该网络安全比赛中的攻防装置包括第一确定单元1201和第一发送单元1202;其中:
第一确定单元1201,用于基于赛题环境确定第一用户的第一攻击脚本;
第一发送单元1202,用于基于所述第一攻击脚本向服务器发送第一脚本提交请求;所述第一脚本提交请求用于指示所述服务器获取第一攻击脚本,并基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果。
本发明实施例提供的网络安全比赛中的攻防装置,终端基于赛题环境确定第一用户的第一攻击脚本,并基于第一攻击脚本向服务器发送第一脚本提交请求,使得服务器在接收到第一脚本提交请求时,基于第一脚本提交请求获取第一攻击脚本,然后镜像每个第二用户的赛题环境,最后基于第一攻击脚本攻击每个第二用户对应的赛题镜像环境。可知,本发明通过服务器的参与实现了多方之间的网络安全比赛中的攻防,在此基础上,服务器基于第一用户的第一攻击脚本攻击镜像得到的每个第二用户的赛题镜像环境,并没有直接攻击第二用户的赛题环境,能够防止第二用户的赛题环境被恶意操作,体现了网络安全比赛中的攻防的公平性。
基于上述任一实施例,所述第一发送单元1202具体用于:
基于所述第一攻击脚本对初始赛题环境或者目标赛题环境进行测试,得到测试结果;所述初始赛题环境为未运行补丁脚本的赛题环境;所述目标赛题环境为运行补丁脚本后的赛题环境;
在确定测试结果为测试成功时,基于所述第一攻击脚本向所述服务器发送所述第一脚本提交请求。
基于上述任一实施例,所述装置还包括:
第四获取单元,用于通过第一用户对应的操作机获取所述赛题环境;所述第一用户对应的操作机不允许除所述服务器和所述第一用户对应的终端之外的设备访问。
基于上述任一实施例,所述装置还包括:
第二存储单元,用于将所述第一攻击脚本存储在所述第一用户对应的操作机的第一预设目录中。
基于上述任一实施例,所述装置还包括:
第五确定单元,用于基于所述赛题环境确定第一用户的补丁脚本;
第二发送单元,用于基于所述补丁脚本向所述服务器发送第二脚本提交请求;所述第二脚本提交请求用于指示所述服务器获取所述补丁脚本,并在所述第一用户的赛题环境中运行所述补丁脚本,得到所述第一用户的新赛题环境。
基于上述任一实施例,所述装置还包括:
恢复单元,用于在基于所述第一用户的新赛题环境确定环境服务结果为服务异常时,将所述第一用户的新赛题环境恢复至上一次处于正常状态的赛题环境,或者将所述第一用户的新赛题环境恢复至初始赛题环境,并将预设恢复次数减一次;所述预设恢复次数为允许第一用户恢复赛题环境的次数。
基于上述任一实施例,所述装置还包括:
第三存储单元,用于将所述补丁脚本存储在所述第一用户对应的操作机的第二预设目录中。
基于上述任一实施例,所述装置还包括:
第五获取单元,用于从公共镜像区获取每个第二用户对应的当前赛题镜像环境;
第七确定单元,用于在确定有异常的当前赛题镜像环境时,将所述异常的当前赛题镜像环境对应的第二用户确定为被举报用户;
第三发送单元,用于向所述服务器发送举报请求;所述举报请求中携带所述被举报用户的证据信息。
图13本发明实施例提供的电子设备的实体结构示意图,如图13所示,该电子设备可以包括:处理器(processor)1310、通信接口(Communications Interface)1320、存储器(memory)1330和通信总线1340,其中,处理器1310,通信接口1320,存储器1330通过通信总线1340完成相互间的通信。处理器1310可以调用存储器1330中的逻辑指令,以执行如下方法:接收第一用户对应的终端发送的第一脚本提交请求;
基于所述第一脚本提交请求获取第一攻击脚本;所述第一攻击脚本为所述第一用户基于赛题环境确定的攻击脚本;
镜像每个第二用户的赛题环境,得到每个第二用户对应的赛题镜像环境;
针对每个第二用户对应的赛题镜像环境,基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果;或者执行如下方法:
基于赛题环境确定第一用户的第一攻击脚本;
基于所述第一攻击脚本向服务器发送第一脚本提交请求;所述第一脚本提交请求用于指示所述服务器获取第一攻击脚本,并基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果。
此外,上述的存储器1330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的网络安全比赛中的攻防方法,该方法包括:接收第一用户对应的终端发送的第一脚本提交请求;
基于所述第一脚本提交请求获取第一攻击脚本;所述第一攻击脚本为所述第一用户基于赛题环境确定的攻击脚本;
镜像每个第二用户的赛题环境,得到每个第二用户对应的赛题镜像环境;
针对每个第二用户对应的赛题镜像环境,基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果;
或者,当所述程序指令被计算机执行时,计算机能够实现如下方法:
基于赛题环境确定第一用户的第一攻击脚本;
基于所述第一攻击脚本向服务器发送第一脚本提交请求;所述第一脚本提交请求用于指示所述服务器获取第一攻击脚本,并基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的网络安全比赛中的攻防方法,该方法包括:接收第一用户对应的终端发送的第一脚本提交请求;
基于所述第一脚本提交请求获取第一攻击脚本;所述第一攻击脚本为所述第一用户基于赛题环境确定的攻击脚本;
镜像每个第二用户的赛题环境,得到每个第二用户对应的赛题镜像环境;
针对每个第二用户对应的赛题镜像环境,基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果;
或者,该计算机程序被处理器执行时实现如下方法:
基于赛题环境确定第一用户的第一攻击脚本;
基于所述第一攻击脚本向服务器发送第一脚本提交请求;所述第一脚本提交请求用于指示所述服务器获取第一攻击脚本,并基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (29)
1.一种网络安全比赛中的攻防方法,其特征在于,应用于服务器,包括:
接收第一用户对应的终端发送的第一脚本提交请求;
基于所述第一脚本提交请求获取第一攻击脚本;所述第一攻击脚本为所述第一用户基于赛题环境确定的攻击脚本;
镜像每个第二用户的赛题环境,得到每个第二用户对应的赛题镜像环境;
针对每个第二用户对应的赛题镜像环境,基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果。
2.根据权利要求1所述的网络安全比赛中的攻防方法,其特征在于,所述基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果,包括:
基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,获取攻击得到的目标数据;
确定所述目标数据是否与预设数据匹配;所述预设数据为所述第二用户对应的赛题镜像环境中存储的数据;
在确定所述目标数据与所述预设数据匹配时,确定所述第一攻击结果为攻击成功;
在确定所述目标数据与所述预设数据不匹配时,确定所述第一攻击结果为攻击失败。
3.根据权利要求1所述的网络安全比赛中的攻防方法,其特征在于,所述基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,包括:
创建脚本运行环境;
基于所述脚本运行环境运行所述第一攻击脚本;
基于运行的所述第一攻击脚本攻击第二用户对应的赛题镜像环境。
4.根据权利要求3所述的网络安全比赛中的攻防方法,其特征在于,所述基于所述脚本运行环境运行所述第一攻击脚本,包括:
确定第二用户对应的赛题镜像环境是否能够正常运行目标服务;
在确定第二用户对应的赛题镜像环境能够正常运行所述目标服务时,基于所述脚本运行环境运行所述第一攻击脚本。
5.根据权利要求1所述的网络安全比赛中的攻防方法,其特征在于,所述第一脚本提交请求中携带第一用户对应的终端的标识;
所述基于所述第一脚本提交请求获取第一攻击脚本,包括:
基于第一用户对应的终端的标识在云端数据库获取所述第一攻击脚本;所述云端数据库存储有终端的标识和攻击脚本的对应关系;所述攻击脚本为所述云端数据库从每个用户对应的操作机的第一预设目录中获取到的。
6.根据权利要求1所述的网络安全比赛中的攻防方法,其特征在于,所述方法还包括:
接收所述第一用户对应的终端发送的第二脚本提交请求;
基于所述第二脚本提交请求获取补丁脚本;所述补丁脚本为所述第一用户基于所述赛题环境确定的补丁脚本;
访问所述第一用户的赛题环境,在所述第一用户的赛题环境中运行所述补丁脚本,得到所述第一用户的新赛题环境。
7.根据权利要求6所述的网络安全比赛中的攻防方法,其特征在于,在所述访问所述第一用户的赛题环境,在所述第一用户的赛题环境中运行所述补丁脚本,得到所述第一用户的新赛题环境之后,所述方法还包括:
基于所述第一用户对应的新赛题环境确定环境服务结果。
8.根据权利要求7所述的网络安全比赛中的攻防方法,其特征在于,所述基于所述第一用户对应的新赛题环境确定环境服务结果,包括:
确定所述第一用户对应的新赛题环境是否能够正常运行目标服务;
在确定所述第一用户对应的新赛题环境能够正常运行所述目标服务时,确定所述环境服务结果为服务正常;
在确定所述第一用户对应的新赛题环境不能够正常运行所述目标服务时,确定所述环境服务结果为服务异常。
9.根据权利要求6所述的网络安全比赛中的攻防方法,其特征在于,在所述访问所述第一用户的赛题环境,在所述第一用户的赛题环境中运行所述补丁脚本,得到所述第一用户的新赛题环境之后,所述方法还包括:
在接收到第二用户对应的终端发送的第三脚本提交请求时,基于所述第三脚本提交请求获取第二攻击脚本;
镜像所述第一用户的新赛题环境,得到所述第一用户对应的新赛题镜像环境;
基于所述第二攻击脚本攻击所述第一用户的新赛题镜像环境,得到第二攻击结果。
10.根据权利要求6所述的网络安全比赛中的攻防方法,其特征在于,所述第二脚本提交请求中携带第一用户对应的终端的标识;
所述基于所述第二脚本提交请求获取补丁脚本,包括:
基于第一用户对应的终端的标识在云端数据库获取所述补丁脚本;所述云端数据库存储有终端的标识和补丁脚本的对应关系;所述补丁脚本为所述云端数据库从每个用户对应的操作机的第二预设目录中获取到的。
11.根据权利要求9所述的网络安全比赛中的攻防方法,其特征在于,所述方法还包括:
基于所述第一用户的所述第一攻击结果和所述第二用户的所述第二攻击结果确定所述第一用户的攻防得分和所述第二用户的攻防得分;
基于所述第一用户的环境服务结果和每个所述第二用户的环境服务结果确定所述第一用户的服务得分和每个所述第二用户的服务得分;
基于所述第一用户的攻防得分和所述第一用户的服务得分确定所述第一用户的比赛总分;
基于所述第二用户的攻防得分和所述第二用户的服务得分确定所述第二用户的比赛总分;
将所述第一用户的比赛总分和每个所述第二用户的比赛总分排序后进行存储和/或显示。
12.根据权利要求11所述的网络安全比赛中的攻防方法,其特征在于,所述基于所述第一用户的所述第一攻击结果和所述第二用户的所述第二攻击结果确定所述第一用户的攻防得分和所述第二用户的攻防得分,包括:
在所述第一攻击结果为攻击成功时,所述第一用户的攻防得分增加预设攻防分,所述第二用户的攻防得分扣除所述预设攻防分;
在所述第一攻击结果为攻击失败时,所述第一用户的攻防得分和所述第二用户的攻防得分均不变;
在所述第二攻击结果为攻击成功时,所述第一用户的攻防得分扣除所述预设攻防分,所述第二用户的攻防得分增加所述预设攻防分;
在所述第二攻击结果为攻击失败时,所述第一用户的攻防得分和所述第二用户的攻防得分均不变。
13.根据权利要求11所述的网络安全比赛中的攻防方法,其特征在于,所述基于所述第一用户的环境服务结果和每个所述第二用户的环境服务结果确定所述第一用户的服务得分和每个所述第二用户的服务得分,包括:
在所述第一用户的环境服务结果和每个所述第二用户的环境服务结果中确定出环境服务结果为服务成功对应的目标用户;
除所述目标用户之外的其他用户的服务得分扣除第一预设服务分;所述第一预设服务分为预设服务总分与其他用户的数量的平均值;
所述目标用户的服务得分增加第二预设服务分;所述第二预设服务分为所述预设服务总分与目标用户的数量的平均值。
14.根据权利要求1-13任一项所述的网络安全比赛中的攻防方法,其特征在于,所述方法还包括:
将每个用户对应的当前赛题镜像环境存储在公共镜像区。
15.根据权利要求14所述的网络安全比赛中的攻防方法,其特征在于,在所述将每个用户对应的当前赛题镜像环境存储在公共镜像区之后,所述方法还包括:
接收举报用户对应的终端发送的举报请求;所述举报请求中携带被举报用户的证据信息;
基于所述被举报用户的证据信息确定所述被举报用户对应的当前赛题镜像环境是否合法;
在确定所述被举报用户对应的当前赛题镜像环境不合法时,更新所述举报用户的攻防得分和所述被举报用户的攻防得分。
16.根据权利要求15所述的网络安全比赛中的攻防方法,其特征在于,所述更新所述举报用户的攻防得分和所述被举报用户的攻防得分,包括:
对所述举报用户的攻防得分增加预设举报分;
对所述被举报用户的攻防得分扣除所述预设举报分。
17.一种网络安全比赛中的攻防方法,其特征在于,应用于终端,包括:
基于赛题环境确定第一用户的第一攻击脚本;
基于所述第一攻击脚本向服务器发送第一脚本提交请求;所述第一脚本提交请求用于指示所述服务器获取第一攻击脚本,并基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果。
18.根据权利要求17所述的网络安全比赛中的攻防方法,其特征在于,所述基于所述第一攻击脚本向服务器发送第一脚本提交请求,包括:
基于所述第一攻击脚本对初始赛题环境或者目标赛题环境进行测试,得到测试结果;所述初始赛题环境为未运行补丁脚本的赛题环境;所述目标赛题环境为运行补丁脚本后的赛题环境;
在确定测试结果为测试成功时,基于所述第一攻击脚本向所述服务器发送所述第一脚本提交请求。
19.根据权利要求17所述的网络安全比赛中的攻防方法,其特征在于,在所述基于赛题环境确定第一攻击脚本之前,所述方法还包括:
通过第一用户对应的操作机获取所述赛题环境;所述第一用户对应的操作机不允许除所述服务器和所述第一用户对应的终端之外的设备访问。
20.根据权利要求19所述的网络安全比赛中的攻防方法,其特征在于,在所述基于所述第一攻击脚本向服务器发送所述第一脚本提交请求之前,所述方法还包括:
将所述第一攻击脚本存储在所述第一用户对应的操作机的第一预设目录中。
21.根据权利要求19所述的网络安全比赛中的攻防方法,其特征在于,所述方法还包括:
基于所述赛题环境确定第一用户的补丁脚本;
基于所述补丁脚本向所述服务器发送第二脚本提交请求;所述第二脚本提交请求用于指示所述服务器获取所述补丁脚本,并在所述第一用户的赛题环境中运行所述补丁脚本,得到所述第一用户的新赛题环境。
22.根据权利要求21所述的网络安全比赛中的攻防方法,其特征在于,所述方法还包括:
在基于所述第一用户的新赛题环境确定环境服务结果为服务异常时,将所述第一用户的新赛题环境恢复至上一次处于正常状态的赛题环境,或者将所述第一用户的新赛题环境恢复至初始赛题环境,并将预设恢复次数减一次;所述预设恢复次数为允许第一用户恢复赛题环境的次数。
23.根据权利要求21所述的网络安全比赛中的攻防方法,其特征在于,在所述基于所述补丁脚本向所述服务器发送第二脚本提交请求之前,所述方法还包括:
将所述补丁脚本存储在所述第一用户对应的操作机的第二预设目录中。
24.根据权利要求17-23任一项所述的网络安全比赛中的攻防方法,其特征在于,所述方法还包括:
从公共镜像区获取每个第二用户对应的当前赛题镜像环境;
在确定有异常的当前赛题镜像环境时,将所述异常的当前赛题镜像环境对应的第二用户确定为被举报用户;
向所述服务器发送举报请求;所述举报请求中携带所述被举报用户的证据信息。
25.一种网络安全比赛中的攻防装置,其特征在于,包括:
第一接收单元,用于接收第一用户对应的终端发送的第一脚本提交请求;
第一获取单元,用于基于所述第一脚本提交请求获取第一攻击脚本;所述第一攻击脚本为所述第一用户基于赛题环境确定的攻击脚本;
第一镜像单元,用于镜像每个第二用户的赛题环境,得到每个第二用户对应的赛题镜像环境;
攻击单元,用于针对每个第二用户对应的赛题镜像环境,基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果。
26.一种网络安全比赛中的攻防装置,其特征在于,包括:
第一确定单元,用于基于赛题环境确定第一用户的第一攻击脚本;
第一发送单元,用于基于所述第一攻击脚本向服务器发送第一脚本提交请求;所述第一脚本提交请求用于指示所述服务器获取第一攻击脚本,并基于所述第一攻击脚本攻击第二用户对应的赛题镜像环境,得到第一攻击结果。
27.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至16任一项所述网络安全比赛中的攻防方法,或者实现如权利要求17至24任一项所述网络安全比赛中的攻防方法。
28.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至16任一项所述网络安全比赛中的攻防方法,或者实现如权利要求17至24任一项所述网络安全比赛中的攻防方法。
29.一种计算机程序产品,其上存储有可执行指令,其特征在于,该指令被处理器执行时使处理器实现如权利要求1至16任一项所述网络安全比赛中的攻防方法,或者实现如权利要求17至24任一项所述网络安全比赛中的攻防方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210724160.5A CN115277091A (zh) | 2022-06-23 | 2022-06-23 | 网络安全比赛中的攻防方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210724160.5A CN115277091A (zh) | 2022-06-23 | 2022-06-23 | 网络安全比赛中的攻防方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115277091A true CN115277091A (zh) | 2022-11-01 |
Family
ID=83761193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210724160.5A Pending CN115277091A (zh) | 2022-06-23 | 2022-06-23 | 网络安全比赛中的攻防方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115277091A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116866085A (zh) * | 2023-09-01 | 2023-10-10 | 合肥天帷信息安全技术有限公司 | 一种网络安全演练管理分析方法、装置及介质 |
-
2022
- 2022-06-23 CN CN202210724160.5A patent/CN115277091A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116866085A (zh) * | 2023-09-01 | 2023-10-10 | 合肥天帷信息安全技术有限公司 | 一种网络安全演练管理分析方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11077376B2 (en) | Managing game metrics and authorizations | |
AU2019268206B2 (en) | Mission-based, game-implemented cyber training system and method | |
CN106909432B (zh) | 一种ctf在线竞赛平台的在线环境智能部署系统及方法 | |
US20170304707A1 (en) | Mission-based, game-implemented cyber training system and method | |
CN106874245B (zh) | 一种CTF在线竞赛平台动态Flag处理方法及装置 | |
CN109499069B (zh) | 操作结果校验方法、装置、存储介质及电子装置 | |
Childers et al. | Organizing large scale hacking competitions | |
CN111786983A (zh) | 一种虚拟化攻防对抗环境构建方法 | |
Taylor et al. | Forensic investigation of cross platform massively multiplayer online games: Minecraft as a case study | |
CN113489603B (zh) | 一种网络靶场中交互式背景流量发生方法与系统 | |
US11765196B2 (en) | Attack scenario simulation device, attack scenario generation system, and attack scenario generation method | |
CN115277091A (zh) | 网络安全比赛中的攻防方法及装置 | |
CN115225410B (zh) | 一种独立动态的网络安全靶场系统、设备及其应用方法 | |
Kim et al. | Becoming invisible hands of national live-fire attack-defense cyber exercise | |
CN114288639B (zh) | 画面显示方法、提供方法、装置、设备及存储介质 | |
CN114244602A (zh) | 多用户在线的网络服务系统、方法、装置及介质 | |
CN111045946A (zh) | 一种游戏测试的方法、装置及电子设备 | |
CN113181637A (zh) | 游戏回放方法和系统 | |
CN111600959B (zh) | 一种内网客户端的测试数据生成方法及装置 | |
CN113559506B (zh) | 一种帧同步的自动化测试方法、装置及可读存储介质 | |
CN109685347A (zh) | 攻防测评方法及装置 | |
CN112948240A (zh) | 游戏的回归测试方法、装置、设备及存储介质 | |
KR102393656B1 (ko) | 공방전 방식으로 해킹 테스트를 수행하는 방법 및 그 방법을 위한 관리서버 | |
Dondo et al. | Reliability of exploits and consequences for decision support | |
CN114528069B (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 |