动态flag处理方法及装置与流程

文档序号:17585664发布日期:2019-05-03 21:17阅读:868来源:国知局
动态flag处理方法及装置与流程

本公开涉及网络攻防技术领域,尤其涉及一种动态flag处理方法及装置。



背景技术:

随着网络攻防技术的飞速发展,网络攻防已经发展成为一种模拟实战考核的方式,攻防过程中的参与人员既可以作为攻击方,也可以作为防御方,作为攻击方需要在提供的存在漏洞的环境中利用漏洞控制靶机,作为防御方需要在靶机上进行加固和修复存在的漏洞,避免攻击者控制该靶机。

如何体现参与人员的攻防技能,现有技术中采用“提交flag”的得分方式,即选手通过各种技术手段从被攻击靶机中获取一串具有一定格式的字符串(该字符串即flag)并提交,从而得到相应的分数。但是,现有flag都是静态的,也就是说只能在竞赛开始前预设在题目中且flag是唯一的,参赛人员可以通过非解题手段获取他人flag提交,即容易出现泄露而引起作弊和抵赖的情况,无法真实考核参与人员的攻防实际水平。



技术实现要素:

本公开实施例提供一种动态flag处理方法及装置,能够解决静态flag泄露而引起作弊和抵赖,无法真实考核参与人员的攻防实际水平的问题。技术方案如下:

根据本公开实施例的第一方面,提供一种动态flag处理方法,该方法包括:

flag服务器接收被攻击靶机发送的访问请求,访问请求包括被攻击靶机的地址、目标回合的标识、攻击用户的标识;

根据访问请求生成目标回合的flag;

将目标回合的flag返回给被攻击靶机,以使得攻击用户获取到目标回合的flag。

该方法动态的适应攻击用户,只有在靶机被攻击成功后,攻击用户才能以被攻击靶机的身份访问flag服务器,此时flag服务器才生成对应回合的flag,动态生成每个回合的flag,避免flag的被动推送和泄露而引起作弊和抵赖的情况,能够真实考核参与人员的攻防实际水平。

在一个实施例中,该方法还包括:根据被攻击靶机的地址,将目标回合的flag保存至预先设置的对应关系列表中,预先设置的对应关系列表包括对抗题目信息、靶机的地址以及用户的对应关系。

在一个实施例中,该方法还包括:

接收攻击用户发送的目标回合的flag;

判断对应关系列表中是否包含有目标回合的flag;

若对应关系列表中包含有待校验flag,则根据对应关系列表查询与目标回合的flag对应的被攻击用户;

按照第一计分规则对攻击用户和被攻击用户进行分数统计。

在一个实施例中,该方法还包括:

检测靶机是否异常;

在存在异常靶机时,按照第二计分规则进行分数统计,第二计分规则包括扣除异常靶机对应的用户的分数,并增加正常靶机对应的用户的分数。

在一个实施例中,在flag服务器接收被攻击靶机发送的访问请求之前,该方法还包括:

构建并配置网络环境,网络环境包括flag服务器和靶机之间的网络环境、以及靶机和竞赛用户之间的网络环境,配置网络环境包括为flag服务器配置靶机内网地址以及为靶机配置外网地址和内网地址;

用户与对应的靶机之间通过外网地址交互,flag服务器和靶机之间通过内网地址交互。

根据本公开实施例的第二方面,提供一种动态flag处理装置,包括:

接收模块,用于接收被攻击靶机发送的访问请求,访问请求包括被攻击靶机的地址、目标回合的标识、攻击用户的标识;

生成模块,用于根据访问请求生成目标回合的flag;

返回模块,用于将目标回合的flag返回给被攻击靶机,以使得攻击用户获取到目标回合的flag。

在一个实施例中,该装置还包括:存储模块;

存储模块,用于根据被攻击靶机的地址,将目标回合的flag保存至预先设置的对应关系列表中,预先设置的对应关系列表包括对抗题目信息、靶机的地址以及用户的对应关系。

在一个实施例中,该装置还包括:判断模块、查询模块和统计模块;

接收模块,用于接收攻击用户发送的目标回合的flag;

判断模块,用于判断对应关系列表中是否包含有目标回合的flag;

查询模块,用于若对应关系列表中包含有待校验flag,则根据对应关系列表查询与目标回合的flag对应的被攻击用户;

统计模块,用于按照第一计分规则对攻击用户和被攻击用户进行分数统计。

在一个实施例中,该装置还包括:检测模块;

检测模块,用于检测靶机是否异常;

统计模块,用于在存在异常靶机时,按照第二计分规则进行分数统计,第二计分规则包括扣除异常靶机对应的用户的分数,并增加正常靶机对应的用户的分数。

在一个实施例中,该装置还包括:构建配置模块;

构建配置模块,用于构建并配置网络环境;

网络环境包括flag服务器和靶机之间的网络环境、以及靶机和竞赛用户之间的网络环境,配置网络环境包括为flag服务器配置靶机内网地址以及为靶机配置外网地址和内网地址;用户与对应的靶机之间通过外网地址交互,flag服务器和靶机之间通过内网地址交互。

根据本公开实施例的第三方面,提供一种动态flag处理设备,该动态flag处理包括处理器和存储器,存储器中存储有至少一条计算机指令,指令由处理器加载并执行以实现第一方面以及第一方面中的任意一个实施例所描述的动态flag处理方法中所执行的步骤。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,存储介质中存储有至少一条计算机指令,指令由处理器加载并执行以实现第一方面以及第一方面中的任意一个实施例所描述的动态flag处理方法中所执行的步骤。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是本公开实施例提供的一种动态flag处理方法的流程示意图;

图2是本公开实施例提供的一种动态flag处理系统的结构示意图;

图3是本公开实施例提供的一种动态flag处理装置的结构示意图;

图4是本公开实施例提供的一种动态flag处理装置的结构示意图;

图5是本公开实施例提供的一种动态flag处理装置的结构示意图;

图6是本公开实施例提供的一种动态flag处理装置的结构示意图;

图7是本公开实施例提供的一种动态flag处理装置的结构示意图;

图8是本公开实施例提供的一种动态flag处理设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开实施例提供一种动态flag的处理方法,如图1所示,该动态flag的处理方法包括以下步骤:

101、flag服务器接收被攻击靶机发送的访问请求。

在本公开实施例中,在靶机被攻击成功时,攻击者以靶机的身份去访问flag服务器,此时flag服务器接收被攻击靶机通过http(hypertexttransferprotocol,超文本传输协议)接口发送的访问请求,访问请求包括被攻击靶机的地址、目标回合的标识、攻击用户的标识。需要说明的是,目标回合指代任意一个回合,本公开只是以目标回合为例表示对目标回合的flag是如何生成的进行说明,目标并不代表任何局限。

102、根据访问请求生成目标回合的flag。

被攻击靶机可以被一个或多个用户攻击,为区分不同的攻击用户,flag服务器根据被攻击靶机的地址、攻击用户的标识,为每个攻击用户生成对应目标回合的flag,保证每个攻击用户的flag是不同,避免出现作弊和抵赖的情况。在本公开实施例中,根据访问请求生成目标回合的flag包括:

判断访问请求中目标回合的标识是否与预先设置的目标回合的标识是否相同;

在访问请求中目标回合的标识与预先设置的目标回合的标识相同时,判断被攻击靶机的地址是否为内网地址;

在被攻击靶机的地址为内网地址时,根据访问请求生成目标回合的flag。

flag服务器需要对攻击者发送的访问请求中的目标回合的标识进行判断,以确保为目标回合,同时,对访问地址,即被攻击靶机的地址进行判断,只有是内网地址时,才能生成目标回合的flag,内网地址仅用于靶机和flag服务器进行交互。

103、将目标回合的flag返回给被攻击靶机,以使得攻击用户获取到目标回合的flag。

在本公开实施例中,flag服务器通过http接口将生成的flag返回给被攻击靶机,被攻击靶机将该flag展示给攻击用户,攻击用户获取到目标回合的flag。另外,在flag服务器将目标回合的flag发送的被攻击靶机的同时或之后,flag服务器根据访问请求中被攻击靶机的地址,将目标回合的flag保存至预先设置的对应关系列表中,预先设置的对应关系列表包括对抗题目信息、靶机地址以及用户的对应关系,这样,便于后续flag服务器进行计分统计。

在步骤103之后,该方法还包括:flag服务器接收攻击用户发送的目标回合的flag;判断对应关系列表中是否包含有目标回合的flag;若对应关系列表中包含有待校验flag,则根据对应关系列表查询与目标回合的flag对应的被攻击用户;按照预设计分规则对攻击用户和被攻击用户进行分数统计。也就是说,当攻击用户获取到目标回合被攻击靶机的flag时,将该flag发送给flag服务器,flag服务器根据对应关系列表中的对应关系,查找到该flag对应的是哪个题目、哪个靶机以及哪个用户,该用户为被攻击用户,进而根据计分规则扣除被攻击用户的分数,增加攻击用户的分数。

本公开实施例提供的动态flag的处理方法,flag服务器接收被攻击靶机发送的访问请求,访问请求包括被攻击靶机的地址、目标回合的标识、攻击用户的标识;根据访问请求生成目标回合的flag;将目标回合的flag返回给被攻击靶机,以使得攻击用户获取到目标回合的flag。该方法动态的适应攻击用户,只有在靶机被攻击成功后,攻击用户才能以被攻击靶机的身份访问flag服务器,此时flag服务器才生成对应回合的flag,动态生成每个回合的flag,避免flag的被动推送和泄露而引起作弊和抵赖的情况,能够真实考核参与人员的攻防实际水平。

基于上述图1对应的实施例提供的动态flag处理方法,本公开另一实施例提供一种动态flag处理方法。本实施例提供的动态flag处理方法包括以下步骤:

第一步:构建虚拟机环境

在本公开实施例中,可以使用虚拟化软件或者平台构建虚拟机环境,例如利用openstack、vmware、docker(应用容器引擎)等虚拟软件构建靶机环境。也可以使用实际物理服务器来构建虚拟机环境。为了节省成本,一般使用虚拟化软件或者平台构建虚拟机环境。如图2所示,本公开实施例需构建构建两个网络或者虚拟网络,其中,flag服务器与靶机处于同一个网络,参与队伍与靶机处于另外一个隔离的网络,参赛人员通过终端设备与靶机交互。

第二步:为虚拟网络配置网络地址。具体的,为flag服务器配置靶机内网地址,如图2中所示的192.168.10.0/24字段。

第三步:为靶机配置外网地址,如图2中所示的172.16.10.0/24,同时,为参与队伍配置该段地址,作为参与队伍攻防竞赛的入口地址。

第四步:为靶机配置内网地址,如图2中所示的192.168.10.0/24,以便靶机能够访问flag服务器。

示例性的,openstack存在浮动地址和虚拟机实际地址,且也能分配多个地址,可以使用浮动地址作为参与队伍与靶机的攻防网络,虚拟机实际地址为flag服务器与靶机的实际网络,同样vmware虚拟机、docker虚拟机等均可以实现该场景。

第五步:在flag服务器配置对抗的题目信息、靶机的地址信息以及参与队伍的对应关系。

需要说明的是,此处靶机的地址信息包括靶机的内网地址。参考图2所示,每个参与队伍都有对应的靶机,参与队伍a与靶机a对应,参与队伍b与靶机b对应,依次类推,参与队伍n与靶机n对应,靶机中设置有对抗题目,因此,将对抗的题目信息、靶机的地址信息以及参与队伍的对应关系配置在flag服务器,这样就能够明确该题目是哪个靶机哪个参与队伍的。

第六步:在flag服务器上运行flag生成程序。

当靶机被攻击者控制时,攻击者以该靶机的身份去访问flag服务器,该靶机通过http接口访问flag服务器,flag服务器在接收到靶机的访问请求时,先判断回合,在判断访问的ip地址是否为靶机的内网地址,在确认之后生成该回合的flag。

同时,flag服务器将生成的flag写入题目对应的flag字段。由于访问请求中包含被攻击靶机的内网地址,因此,根据靶机的内网地址和第五步预先设置的对应关系,将生成的flag写入题目对应的flag字段。

第七步:将生成的flag通过http接口返回该靶机,攻击该靶机的攻击者获取到该回合的flag。

第八步:选手提交获取的flag,flag服务器根据flag与题目的对应关系,找到题目,再根据第五步中题目-靶机ip-参与队伍的对应关系查找提交的flag是哪个靶机哪个队伍的,一次扣除该队伍(即被攻击用户)的基数分n,同时将扣除的基数分n添加到提交者(即攻击用户)。

第九步:在每个回合中,flag服务器随机启动检测程序,通过内部网络对靶机进行服务检查,即检查每个靶机是否异常,若存在服务异常的靶机,一次扣除服务异常的靶机对应的参与队伍的分数,扣除分数=服务正常靶机数量*基数m,并将基数m增加给正服务正常靶机对应的参与队伍。

本公开实施例提供的动态flag处理方法,采用双网隔离的方式作为flag生成和不可抵赖的标志,所谓双网隔离,即就是flag服务器与靶机处于同一个网络,如图2中所示的193.168.10.0/24,而参与队伍与靶机处于另外一个隔离的网络,如图2中所示的172.16.10.0/24。这样,该方法动态的适应攻击者,参与队伍在某个回合中攻击靶机成功后,才能以该靶机的身份去请求flag服务器,flag服务器根据该靶机唯一的网络身份地址为其生成flag,而该flag在该回合内是固定的,下一回合后自动生成新的flag;其次,通过flag服务器通过内部网络对靶机是否正常服务进行检查时,不会受外部网络吞吐的影响,使其更为准确。

此方法适应了不同的竞赛模块,无论是单人攻防、红蓝对抗、团队混账均可采用该方法作为攻防竞赛的评分方法,使得网络攻防模式多样化;其次网络环境可以不用考虑环境权限因数,也不用考虑环境是否被控制,更为真实把靶机的权限交给攻击者和防御者,使得考察的形式和实战效果更为明显。

使用双网隔离的方式作为flag生成和不可抵赖的标志,由攻击者出发,使用http的请求接口生成回合内唯一的flag,避免flag被动推动,提高网络异常或者其他以外情况下的支持性,如只要flag服务器的web服务器不关机,靶机出问题也不会影响其他队伍的flag的获取。

本公开实施例提供的动态flag处理方法,flag服务器接收被攻击靶机发送的访问请求,访问请求包括被攻击靶机的地址、目标回合的标识、攻击用户的标识;根据访问请求生成目标回合的flag;将目标回合的flag返回给被攻击靶机,以使得攻击用户获取到目标回合的flag。该方法动态的适应攻击用户,只有在靶机被攻击成功后,攻击用户才能以被攻击靶机的身份访问flag服务器,此时flag服务器才生成对应回合的flag,动态生成每个回合的flag,避免flag的被动推送和泄露而引起作弊和抵赖的情况,能够真实考核参与队伍的攻防实际水平。

基于上述图1对应的实施例中所描述的动态flag处理方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。

本公开实施例提供一种动态flag处理装置,如图3所示,该动态flag处理装置30包括:接收模块301、生成模块302和发送模块303;

接收模块301,用于接收被攻击靶机发送的访问请求,访问请求包括被攻击靶机的地址、目标回合的标识、攻击用户的标识;

生成模块302,用于根据访问请求生成目标回合的flag;

返回模块303,用于将目标回合的flag返回给被攻击靶机,以使得攻击用户获取到目标回合的flag。

在一个实施例中,如图4所示,该动态flag处理装置30还包括:存储模块304;

存储模块304,用于根据被攻击靶机的地址,将目标回合的flag保存至预先设置的对应关系列表中,预先设置的对应关系列表包括对抗题目信息、靶机的地址以及用户的对应关系。

在一个实施例中,如图5所示,该动态flag处理装置30还包括:判断模块305、查询模块306、统计模块307;

接收模块301,用于接收攻击用户发送的目标回合的flag;

判断模块305,用于判断对应关系列表中是否包含有目标回合的flag;

查询模块306,用于若对应关系列表中包含有待校验flag,则根据对应关系列表查询与目标回合的flag对应的被攻击用户;

统计模块307,用于按照第一计分规则对攻击用户和被攻击用户进行分数统计。

在一个实施例中,如图6所示,该动态flag处理装置30还包括:检测模块308;

检测模块308,用于检测靶机是否异常;

统计模块307,用于在存在异常靶机时,按照第二计分规则进行分数统计,第二计分规则包括扣除异常靶机对应的用户的分数,并增加正常靶机对应的用户的分数。

在一个实施例中,如图7所示,该动态flag处理装置30还包括:构建配置模块309;

构建配置模块309,用于构建并配置网络环境,网络环境包括flag服务器和靶机之间的网络环境、以及靶机和竞赛用户之间的网络环境,配置网络环境包括为flag服务器配置靶机内网地址以及为靶机配置外网地址和内网地址,用户与对应的靶机之间通过外网地址交互,flag服务器和靶机之间通过内网地址交互。

本公开实施例提供的动态flag处理装置,flag服务器接收被攻击靶机发送的访问请求,访问请求包括被攻击靶机的地址、目标回合的标识、攻击用户的标识;根据访问请求生成目标回合的flag;将目标回合的flag返回给被攻击靶机,以使得攻击用户获取到目标回合的flag。该方法动态的适应攻击用户,只有在靶机被攻击成功后,攻击用户才能以被攻击靶机的身份访问flag服务器,此时flag服务器才生成对应回合的flag,动态生成每个回合的flag,避免flag的被动推送和泄露而引起作弊和抵赖的情况,能够真实考核参与人员的攻防实际水平。

参考图8所示,本公开实施例还提供了一种动态flag处理设备,该动态flag处理设备包括接收器801、发射器802、存储器803和处理器804,该发射器802和存储器803分别与处理器804连接,存储器803中存储有至少一条计算机指令,处理器804用于加载并执行至少一条计算机指令,以实现上述图1对应的实施例中所描述的动态flag处理方法。

基于上述图1对应的实施例中所描述的动态flag处理方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:readonlymemory,rom)、随机存取存储器(英文:randomaccessmemory,ram)、cd-rom、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1对应的实施例中所描述的动态flag处理方法,此处不再赘述。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1