一种基于靶场的Web防御方法、装置及系统与流程

文档序号:29801893发布日期:2022-04-23 20:26阅读:205来源:国知局
一种基于靶场的Web防御方法、装置及系统与流程
一种基于靶场的web防御方法、装置及系统
技术领域
1.本发明涉及一种基于靶场的web防御方法、装置及系统,属于网络安全、计算机软件领域。


背景技术:

2.在传统的企业网络部署方案中,为了保证业务系统的安全,会在业务系统之前前置安全防御装置,用来抵御可能的网络入侵。安全防御装置工作在osi协议的不同层,如工作在tcp层的传统防火墙、工作在http层的waf设备等。
3.如图1所示,对于典型的web流量,来自外部的业务请求会被防御装置拦截,通过内置的安全防御策略以及必要的入侵检测手段,防御装置会对外来流量进行特征计算并匹配安全规则。允许符合安全规则的流量访问业务系统,对于可疑或者确定的攻击流量,防御装置直接进行拦截并返回错误信息,从而达到保护业务系统的目的。
4.就目前的防御方案,在发现网络攻击后,防御装置一般只选择是否对请求进行阻断,该方式虽然有效保护了业务系统安全,但无法有效收集攻击者的信息。并且对于web流量而言,防御装置无法识别该流量来自实际的用户客户端,或者来自攻击机器人,对攻击的判断强依赖特征识别,容易产生误报。


技术实现要素:

5.发明目的:针对上述现有技术存在的问题,本发明目的在于提供一种基于靶场的web防御方法、装置及系统,以识别攻击机器人,捕获其攻击行为,并能有效避免传统攻击特征识别算法引入的误判问题。
6.技术方案:为实现上述发明目的,本发明采用如下技术方案:一种基于靶场的web防御方法,包括如下步骤:步骤1:防御装置代理业务系统接收业务请求;步骤2:防御装置判断请求流量是否为攻击流量,如果是非攻击流量,跳转步骤3,否则跳转步骤4;步骤3:对于非攻击流量,转发给业务系统,在收到业务系统的响应之后,响应业务请求,同时录制流量数据并更新回放流量库数据;步骤4:对于可疑攻击流量,从回放流量库中获取与业务请求接口对应的响应流量数据,并从靶场的实例池中选择一个靶机,根据靶机实例的ip地址替换响应流量中的报文内容,用替换后的报文响应业务请求;检测在设定时间内所响应的业务请求是否会重试,若有重试流量,则标记发出请求的客户端的流量为正常流量。
7.作为优选,对于可疑攻击流量,报文所替换的内容包括鉴权字段、业务系统服务器的ip地址和响应时间。
8.具体地,对于使用cookie鉴权的web业务系统,将报文中的cookie id替换为随机值;对于使用jwt鉴权的web业务系统,将报文中jwt协议相关的字段替换为随机值。
9.作为优选,为可疑攻击流量选择目标靶机时,根据靶机的负载进行选择,选择靶场的实例池中当前负载最低的实例a,如果实例a的负载大于系统指定的负载阈值,则生成新的靶机实例,否则复用实例a。
10.作为优选,对于可疑攻击流量,通过替换ip地址引诱到靶机,在靶机上记录攻击者的攻击行为,对于攻击者的攻击请求,从回放流量库中获取录制流量作为诱饵流量。
11.作为优选,所述回放流量库,针对各个web接口的请求,根据系统配置保留最新的若干条响应流量数据。
12.一种计算机装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现所述的基于靶场的web防御方法的步骤。
13.一种基于靶场的web防御系统,其包括防御装置、靶场和回放流量库;所述防御装置用于代理业务系统接收业务请求,以及判断请求流量是否为攻击流量;对于非攻击流量,则转发给业务系统,在收到业务系统的响应之后,响应业务请求,同时录制流量数据并更新回放流量库数据;对于可疑攻击流量,从回放流量库中获取与业务请求接口对应的响应流量数据,并从靶场的实例池中选择一个靶机,根据靶机实例的ip地址替换响应流量中的报文内容,用替换后的报文响应业务请求;检测在设定时间内所响应的业务请求是否会重试,若有重试流量,则标记发出请求的客户端的流量为正常流量。
14.有益效果:与现有技术相比,本发明具有如下优点:1、本发明在发现网络攻击后,从回放流量库中获取响应流量伪装成正常的响应流量,可以诱导指定的攻击行为到目标靶机,从而在目标靶机上收集攻击者信息。2、相比传统通过特征识别对流量的判断,本发明的防御装置在特征识别错误后,可根据重试流量来纠正之前的判断,减少误报率。3、本发明通过对预录制流量中关键字段的替换并监控是否有请求重试,可以有效筛选机器人攻击并做出针对性处理。4、靶场实例化的靶机可对机器人攻击流量进行记录并作为后续安全分析的基础数据。
附图说明
15.图1为现有典型web防御部署示意图。
16.图2为本发明实施例的web防御部署示意图。
17.图3为本发明实施例的web防御方法流程图。
具体实施方式
18.下面将结合附图和具体实施例,对本发明的技术方案进行清楚、完整的描述。
19.本发明实施例公开的一种基于靶场的web防御方法,防御装置对于非攻击流量(正常流量),转发给业务系统,在收到业务系统的响应之后,响应业务请求,同时录制流量数据并更新回放流量库数据;对于可疑攻击流量,从回放流量库中获取与业务请求接口对应的响应流量数据,并从靶场的实例池中选择一个靶机,根据靶机实例的ip地址替换响应流量中的报文内容,用替换后的报文响应业务请求;并且业务请求是否会重试,若有重试流量,则标记发出请求的客户端的流量为正常流量。
20.本实施例在识别出可疑的攻击流量后,动态生成用来引诱机器人攻击的虚拟业务
节点;在业务节点中捕获攻击者的行为数据,可以为后续安全加固提供原始数据。通过实时录制业务接口的响应流量数据,针对可疑的业务请求进行报文篡改,如果该请求是正常用户发出,会提示用户进行业务重试,从而有效避免传统攻击特征算法引入的误判问题。
21.实际部署系统如图2所示。网络中包括必要的防御装置,在防御装置之后,是靶场虚拟化平台以及实际需要保护的业务系统。防御装置除了传统waf的威胁检测之外,可以对流量选择性录制,录制后的流量可以作为检测到威胁后的诱饵流量。
22.下面结合图3对本发明实施例的业务执行流程进行详细说明。
23.步骤1、防御装置代理了业务系统的外部业务请求,外部用户的访问会先达到防御装置。
24.步骤2、防御装置根据请求流量特征以及预设的安全规则,检测当前流量是否为可疑的攻击流量。如果非攻击流量,转跳步骤3;否则转跳步骤4。
25.步骤3、防御装置将流量转发给实际业务系统,业务系统响应外部请求,防御装置在收到实际的业务响应之后,录制该响应流量数据并更新回放流量库数据;同时正常响应外部请求。针对业务系统的每个web接口的请求,回放流量库中可保存最新的n条(如10)业务响应流量数据,n由系统配置。
26.步骤4、对于可疑的攻击流量,从回放流量库获取之前相应接口对应的响应流量数据。得到回放流量数据后,根据当前靶机的使用状态,从靶场的实例池中选择某个特定靶机作为当前请求的靶机,或者为当前请求新生成一个靶机实例。
27.生成或者复用靶机的策略如下:根据靶机的负载进行选择。靶机作为被攻击的载体,系统负载随着攻击流量的增大递增,选择靶场的实例池中当前负载最低的实例a。如果该实例的负载大于系统指定的负载阈值,则生成新的靶机实例,否则复用当前实例a作为靶机。
28.步骤5、防御装置根据步骤4中从回放流量库获取到的回放流量以及靶机实例,根据靶机实例的目标ip地址替换回放流量中的报文内容,并将替换后的报文作为外部请求的实际响应。这里替换的报文内容主要包括鉴权字段、业务系统服务器的ip地址、响应时间等。对于正常的用户页面请求而言,替换后的报文因为用户登录态信息不一致,会导致退出当前业务系统;攻击机器人不会有登录态问题。
29.实际执行过程中,对回放流量的具体修改操作如下:5.1、替换报文中的鉴权字段。对于使用cookie的web系统而言,将回放流量cookie中的cookie id替换为随机值;对于使用jwt(json web token)鉴权的系统而言,遍历响应报文头部中含jwt协议的字段并替换为随机值。
30.5.2、替换响应头中的server字段为靶机ip,对于回放流量库中未设置该字段的流量,设置响应头中的server字段为靶机ip。
31.5.3、替换响应头中的响应时间字段last-modified为当前时间。
32.5.4、遍历响应体,替换其中的业务服务器ip为靶机ip。
33.步骤6、考虑到正常用户在业务系统退出后会重新执行之前操作,防御装置会检测在周期t内上述业务请求是否会有重试,周期t根据用户操作业务需要的时间来估算,如1分钟。对于攻击机器人而言,步骤5中返回的响应是合法的。实际用户在收到步骤5的响应后会显示系统错误,刷新页面后会有重试流量。
34.步骤7、如果有重试流量,标记当前客户端的流量为正常流量,后续防御装置正常响应来自该客户的请求;否则转跳步骤8;步骤8、没有重试流量代表上述业务请求为恶意攻击,通过步骤5响应流量中设置的靶机信息,能够引导后续的攻击请求转发到目标靶机。用户可以在靶机上记录实际的攻击行为,作为后续安全决策的基础数据。靶机上可以采用预设的数据响应攻击请求,也可使用回放流量库中的历史数据进行响应,以捕获攻击机器人的行为动作。
35.基于相同的发明构思,本发明实施例公开的一种计算机装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被加载至处理器时实现所述的基于靶场的web防御方法的步骤。
36.基于相同的发明构思,本发明实施例公开的一种基于靶场的web防御系统,主要包括防御装置、靶场和回放流量库;所述防御装置用于代理业务系统接收业务请求,以及判断请求流量是否为攻击流量;对于非攻击流量,则转发给业务系统,在收到业务系统的响应之后,响应业务请求,同时录制流量数据并更新回放流量库数据;对于可疑攻击流量,从回放流量库中获取与业务请求接口对应的响应流量数据,并从靶场的实例池中选择一个靶机,根据靶机实例的ip地址替换响应流量中的报文内容,用替换后的报文响应业务请求;检测在设定时间内所响应的业务请求是否会重试,若有重试流量,则标记发出请求的客户端的流量为正常流量。具体实施细节参见上述方法实施例,不再赘述。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1