CN110166436A - 采用随机选择进行动态调度的拟态Web网关系统及方法 - Google Patents
采用随机选择进行动态调度的拟态Web网关系统及方法 Download PDFInfo
- Publication number
- CN110166436A CN110166436A CN201910313667.XA CN201910313667A CN110166436A CN 110166436 A CN110166436 A CN 110166436A CN 201910313667 A CN201910313667 A CN 201910313667A CN 110166436 A CN110166436 A CN 110166436A
- Authority
- CN
- China
- Prior art keywords
- cookie
- http request
- http
- response
- secure
- 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.)
- Granted
Links
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/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Abstract
本发明公开采用随机选择进行动态调度的拟态Web网关系统及方法。本发明系统模分发模块、多模判决模块、安全Cookie生成模块、安全Cookie解码模块、异构服务器池组、后台服务器动态切换模块组、数据库同步模块、安全Cookie数据库组、安全配置策略。本发明通过对服务器进行异构集成,利用随机选择技术实现执行体组动态切换,通过Cookie映射实现一种拟态Web网关系统。本发明实现了基于动态异构冗余的Web网关,其利用动态调度和异构冗余技术,动态切换后台执行体,降低了网站系统被攻破的风险和损失,而且能更加准确地判断攻击行为,及时作出应对措施。
Description
技术领域
本发明属于计算机技术领域,特别涉及一种采用随机选择进行动态调度的拟态Web网关系统及方法。
背景技术
Web应用服务器系统作为重要的服务承载和提供平台,面临的安全问题日益严重。已有的防御技术主要基于已知攻击方法或漏洞信息进行防御,导致难以很好地应对未知攻击的威胁,从而难以全面防护Web应用服务器系统的安全,阻挡当前日益繁多的网络攻击类型。
网络攻击虽然类型繁多、手段各异,但通常依赖于具体系统的特定属性。不同的系统设计或实现往往使具有类似功能的系统具有完全不同的特性,如不同的Web应用服务软件在稳定性、安全性、静态文件处理等方面各有千秋;不同的操作系统,具有不同的优势和缺陷,如系统权限提升漏洞CVE-2014-6324仅存在于Windows系统上,而Linux系统根本不存在该漏洞。异构系统的这种差异性,也为安全防御提供了可能,如果使用不同的系统提供同一功能,并进行响应比较和动态切换,则原本存在的漏洞所引发的异常就会在比较中被纠正,某段时间存在的漏洞在系统切换后则将消失。如果对这种方法进行多层次组合,则可以进一步降低被攻击的概率。
动态异构冗余(dynamic heterogeneous redundancy,简称DHR)结构是邬江兴院士提出的拟态防御技术的一个重要防御模型。计算机系统的功能可以概括为“输入-处理-输出”,即结构化设计中的IPO(input-process-output)。动态异构冗余结构在“处理”环节使用异构执行体集进行处理,将同一输入通过输入代理复制为n份,并分发给执行体集中的n个异构执行体进行处理,将处理结果收集至表决器进行表决,得到唯一的相对正确的输出。异构元素组成异构构件,由动态选择算法选择异构构件组成在线的执行体集。根据运行时的反馈信息,动态选择算法会产生新的执行体集以替换当前集合。
虽然拟态防御的动态异构冗余模型已被理论推导证明比现有系统具有更好的安全防御能力,但是在Web网关方面如何应用动态异构冗余模型构建Web防御系统仍然需要面对多个技术难题,例如如何在不同运行周期对系统的当前执行体组(Web服务器)进行动态切换,如何在执行体组中各Web服务器返回不同的会话Cookie时保证各执行体都能从用户的Web请求中得到各自对应的会话Cookie。
针对上述技术难题,本专利通过对服务器进行异构集成,利用随机选择技术实现执行体组动态切换,通过Cookie映射实现一种拟态Web网关系统。该系统能够有效提高网站的防护能力。
术语定义
1、Cookie:Cookie是由Web服务器保存在用户浏览器上的小文本文件,包含有关用户的信息。Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式,是由Web服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。
2、异构冗余:系统中存在功能等价但实现不同的构件同时工作。
3、安全Cookie:根据异构服务器返回响应中的指定Cookie名的Cookie值随机生成的一个唯一字符串,例如:f4070ee737104ed308a。
4、HTTP请求体:当HTTP请求方法为POST,存放请求正文,包含表单信息等。
5、HTTP请求头:包含HTTP请求的方法、URI、协议版本、以及包含HTTP请求修饰符、客户信息和内容的类似于MIME的消息结构,向服务器端传递请求的附加信息以及客户端自身的信息。
发明内容
本发明的目的是针对Web防护安全,提出了一种采用随机选择进行动态调度的拟态Web网关系统。该系统在保持网站系统正常工作的同时,能有效提高网站系统安全防御能力。该系统主要包括多模分发模块、多模判决模块、安全Cookie生成模块、安全Cookie解码模块、异构服务器池组(服务器池构建)、后台服务器动态切换模块组、数据库同步模块、安全Cookie数据库组、安全配置策略组成。其中:
多模分发模块:接收用户HTTP请求,解析判断用户HTTP请求类型,提取用户HTTP请求中的URL地址及携带的安全Cookie,生成发送到各个异构服务器池的HTTP子请求,并用安全Cookie解码模块查找得到的Cookie值更新各HTTP子请求的Cookie值,再发送到后台服务器动态切换模块。
多模判决模块:接收异构服务器返回的响应,对响应主体部分进行比较,判断其差异度是否超过设定阈值来进行返回响应到客户端或拦截处理;用安全Cookie生成模块随机生成一个唯一字符串得到的安全Cookie更新请求响应中的Cookie值,发送到客户端。
安全Cookie生成模块:根据安全配置策略中指定Cookie名,提取异构服务器返回的响应中安全配置策略指定Cookie名对应的Cookie值,然后随机生成一个唯一字符串作为安全Cookie,同时将该安全Cookie作为安全Cookie记录的关键字,各个响应中的指定Cookie名对应的Cookie值作为安全Cookie记录的内容,存储在安全Cookie数据库中。
安全Cookie解码模块:根据用户HTTP请求中的安全Cookie,在安全Cookie数据库中找到关键字与上述安全Cookie一致的安全Cookie记录,得到与不同异构服务器池对应的Cookie。
异构服务器池:异构服务器池由多个异构服务器构建成,不同的异构服务器实现不同,如采用不同的操作系统、不同的Web服务器、不同的硬件设备、不同的编程语言和不同的安装配置等。
后台服务器动态切换模块:根据预先设置好动态切换频率和动态切换方式的随机选择算法(例如,动态切换频率为每一次,动态切换方式为随机动态切换),从异构服务器池中随机选择一台异构服务器执行HTTP子请求;接收到多模判决模块的“发现问题异构服务器”消息,进而选择完成对问题异构服务器下线清洗以及清洗完成后的异构服务器动态上线。
数据库同步模块:将受影响的异构服务器池的数据库与其他异构服务器池的数据库进行数据同步。
安全Cookie数据库组:由多个安全Cookie数据库构建组成,每个安全Cookie数据库对应各自的异构服务器。
安全Cookie数据库:以安全Cookie为关键字存放异构服务器返回响应中的指定Cookie名的Cookie值,以便后续用于检测安全Cookie是否安全合法。
安全配置策略:包含各种参数的统一配置管理文件,包括安全Cookie标记;HTTP请求头生成相关参数;HTTP请求响应头生成相关参数;指定Cookie名;动态切换策略和动态切换频率等。
上述指定Cookie名为人为设定的Cookie名,用于判断该Cookie是否为与用户会话相关的Cookie。
安全Cookie标记用于识别用户请求是否包含安全Cookie;
采用随机选择进行动态调度的拟态Web网关系统实现方法,包括多模分发、多模判决两个流程,其中:
多模分发流程包含如下步骤:
步骤1:用户访问Web服务器,向Web网关发送用户HTTP请求;
步骤2:Web网关中的多模分发模块接收用户HTTP请求,解析判断用户HTTP请求类型,提取用户HTTP请求中的URL地址及携带的安全Cookie。若用户HTTP请求不包含安全Cookie,则将不包含安全Cookie的用户HTTP请求的安全Cookie标记设为假,跳转到步骤3;否则,将包含安全Cookie的用户HTTP请求的安全Cookie标记设为真,并在安全Cookie数据库中检索并判别该安全Cookie是否安全合法,若合法,则跳转到步骤5;否则直接阻断,同时进行记录并告警;
上述安全Cookie安全合法判断准则为安全Cookie数据库中是否存在与用户HTTP请求携带的安全Cookie一致的Cookie。
上述安全Cookie标记保存在安全配置策略中。
步骤3:若HTTP请求类型为POST,多模分发模块启动HTTP请求体的异步接收。当HTTP请求体异步接收完毕后,根据HTTP请求体中的信息、HTTP请求头包含的信息和安全配置策略(HTTP请求头生成相关参数)生成多个HTTP子请求,跳转到步骤4;若HTTP请求类型不为POST,则根据HTTP请求头中包含的信息和安全配置策略(HTTP请求头生成相关参数)生成多个HTTP子请求,跳转到步骤4;
步骤4:根据HTTP子请求的地址将HTTP子请求发送至对应的后台服务器动态切换模块,每个后台服务器动态切换模块根据预先设定好动态切换频率和动态切换策略的随机选择算法(例如:动态切换频率为每一次,动态切换策略为随机动态切换),从对应的异构服务器池中随机选择一台异构服务器,并判断该异构服务器是否在线,若在线则执行该HTTP子请求,然后进入多模判决流程,否则重新选择一台异构服务器;
步骤5:若HTTP请求类型为POST,多模分发模块启动HTTP请求体的异步接收。当HTTP请求体异步接收完毕后,根据HTTP请求体中的信息、HTTP请求头包含的信息和安全配置策略(HTTP请求头生成相关参数)生成多个HTTP子请求,到步骤6;若HTTP请求类型不为POST,则根据HTTP请求头中包含的信息和安全配置策略(HTTP请求头生成相关参数)生成多个HTTP子请求,到步骤6;
步骤6:安全Cookie解码模块根据用户HTTP请求中的安全Cookie,在安全Cookie数据库中找到关键字与上述安全Cookie一致的安全Cookie记录,并更新多模分发模块中对应HTTP子请求的安全Cookie,跳转到步骤7;
步骤7:根据HTTP子请求的地址将更新后的HTTP子请求发送至对应的后台服务器动态切换模块,每个后台服务器动态切换模块通过预先设定好动态切换频率和动态切换策略的随机选择算法(例如:动态切换频率为每一次,动态切换策略为随机动态切换),从对应的异构服务器池中随机选择一台异构服务器,并判断该异构服务器是否在线,若在线则执行该HTTP子请求,然后进入多模判决流程,否则重新选择一台异构服务器。
多模判决流程包含如下步骤:
步骤1:多模判决模块接收到从各个后台服务器动态切换模块返回的异构服务器HTTP响应,判断所有HTTP子请求的响应是否已全部接收到或已到达设定的超时阈值,当满足其中一个条件后,跳转到步骤2;否则重新接收异构服务器HTTP响应信息并判断;
步骤2:若到达设定的超时阈值,且没有或只有一个HTTP响应返回,多模判决模块则阻断请求,返回错误网页信息到客户端,结束。若到达设定的超时阈值,且接收到多个HTTP响应返回,多模判决模块则对各HTTP响应的响应体内容进行比对;若各HTTP响应体内容全部相同或HTTP响应体内容字节的差异值在设置的阈值范围内,跳转到步骤3,否则跳转到步骤5;若全部接受所有HTTP子请求返回的响应,多模判决模块对各HTTP响应的响应体内容进行比对,若各HTTP响应体内容全部相同或HTTP响应体内容字节的差异值在设置的阈值范围内,则跳转到步骤3,否则跳转到步骤5;
步骤3:多模判决模块调用安全配置策略(HTTP请求响应头生成相关参数)生成新的HTTP响应头,并随机选择其中1个HTTP响应体进行组合,生成HTTP请求响应;调用安全配置策略,若该响应体对应的用户HTTP请求的安全Cookie标记为真,则直接将HTTP请求响应发送到客户端,结束;若该HTTP响应体对应的用户HTTP请求的安全Cookie标记为假,则检测用户HTTP请求是否存在安全配置策略中指定Cookie名对应的Cookie值,若存在,跳转到步骤4,否则,直接将HTTP请求响应发送到客户端;
步骤4:安全Cookie生成模块分别提取不同异构服务器返回的HTTP响应中安全配置策略中指定Cookie名对应的Cookie值,然后随机生成一个唯一字符串作为安全Cookie,同时将该安全Cookie作为安全Cookie记录的关键字,各个响应中的指定Cookie名对应的Cookie值作为安全Cookie记录的内容,存储在安全Cookie数据库中,并将HTTP请求响应中安全配置策略中指定Cookie名对应的Cookie值用所生成的安全Cookie替换,然后将替换后的HTTP请求响应发送到客户端,结束。
步骤5:多模判决模块对各HTTP请求响应的响应体内容比对,若HTTP请求响应的响应体内容字节的差异值超出设置的阈值范围,则阻断该HTTP请求响应,并根据各HTTP请求响应的响应体内容比对信息确定问题异构服务器,然后发送消息到后台服务器动态切换模块,跳转到步骤6。
步骤6:后台服务器动态切换模块将该异构服务器活动状态设为“离线”,然后将异构服务器下线和异构服务器系统重置;完成清洗后,后台服务器动态切换模块将该清洗后的异构服务器活动状态设为“在线”,同时调用数据库同步模块将受影响的异构服务器池的数据库与其他异构服务器池的数据库进行数据同步。
本发明有益效果如下:
本发明实现了基于动态异构冗余的Web网关,其利用动态调度和异构冗余技术,动态切换后台执行体,降低了网站系统被攻破的风险和损失,而且能更加准确地判断攻击行为,及时作出应对措施。除了解决上述问题外,该方案带来的有益效果还有:(1)通过随机选择算法,可对Web环境的动态切换频率和切换方式进行自主控制,实现了对攻击所依赖的单一环境的动态性改变,使系统在不同的时间段表现出不一样的特征,对攻击者呈现出不确定性,即使当前执行体集被攻破,系统也会及时作出替换执行体集等措施,使攻击者无法对系统进行持续有效攻击,增大攻击难度;(2)对异构服务器池进行多层次异构,能够防御更多漏洞。
附图说明
图1为本发明系统总体架构图;
图2为部署各功能模块后用户访问网站的业务流程图;
图3为Web网关多模分发流程;
图4为Web网关多模判决流程。
具体实施方式
下面结合附图和具体实施方式对本发明的具体实施方案作进一步详细描述和说明。系统对用户的网页请求和Web服务器的网页响应处理如图3、图4所示。本发明流程如图1-图4所示,具体如下:
步骤1:用户访问Web服务器,向Web网关发送用户HTTP请求,到步骤2;
步骤2:Web网关中的多模分发模块接收用户HTTP请求,解析判断用户HTTP请求类型,提取用户HTTP请求中的URL地址及携带的安全Cookie。若用户请求不包含安全Cookie,则将不包含安全Cookie的用户请求的安全Cookie标记设为假,跳转到步骤3;否则,将包含安全Cookie的用户请求的安全Cookie标记设为真,并在安全Cookie数据库中检索并判别该安全Cookie值是否安全合法,若合法,则跳转到步骤5;否则直接阻断,同时进行记录并告警;
步骤3:若HTTP请求类型为POST,多模分发模块启动HTTP请求体的异步接收。当HTTP请求体异步接收完毕后,根据HTTP请求体中的信息、HTTP请求头包含的信息和安全配置策略(HTTP请求头生成相关参数)生成多个HTTP子请求,跳转到步骤4;若HTTP请求类型不为POST,则根据HTTP请求头中包含的信息和安全配置策略(HTTP请求头生成相关参数)生成多个HTTP子请求,跳转到步骤4;
步骤4:根据HTTP子请求的地址将HTTP子请求发送至对应的后台服务器动态切换模块,每个后台服务器动态切换模块根据预先设定好动态切换频率和动态切换策略的随机选择算法(例如:动态切换频率为每一次,动态切换策略为随机动态切换),从对应的异构服务器池中随机选择一台异构服务器,并判断该异构服务器是否在线,若在线则执行该HTTP子请求,跳转到步骤8,否则重新选择一台异构服务器;
步骤5:若HTTP请求类型为POST,多模分发模块启动HTTP请求体的异步接收。当HTTP请求体异步接收完毕后,根据HTTP请求体中的信息、HTTP请求头包含的信息和安全配置策略(HTTP请求头生成相关参数)生成多个HTTP子请求,到步骤6;若HTTP请求类型不为POST,则根据HTTP请求头中包含的信息和安全配置策略(HTTP请求头生成相关参数)生成多个HTTP子请求,到步骤6;
步骤6:安全Cookie解码模块根据用户HTTP请求中的安全Cookie,在安全Cookie数据库中找到关键字与上述安全Cookie一致的安全Cookie记录,并更新多模分发模块中对应HTTP子请求的安全Cookie,跳转到步骤7;
步骤7:根据HTTP子请求的地址将更新后的HTTP子请求发送至对应的后台服务器动态切换模块,每个后台服务器动态切换模块通过预先设定好的动态切换频率和动态切换策略的随机选择算法(例如:动态切换频率为每一次,动态切换策略为随机动态切换),从对应的异构服务器池中随机选择一台异构服务器,并判断该异构服务器是否在线,若在线则执行该HTTP子请求,跳转到步骤8,否则重新选择一台异构服务器;
步骤8:异构服务器接收HTTP子请求,返回响应结果至后台服务器动态切换模块,跳转到步骤9;
步骤9:多模判决模块接收到从各个后台服务器动态切换模块返回的异构服务器HTTP响应,判断所有HTTP子请求的响应是否已全部接收到或已到达设定的超时阈值,当满足其中一个条件后,跳转到步骤10;否则重新接收异构服务器HTTP响应信息并判断;
步骤10:若到达设定的超时阈值,且没有或只有一个HTTP响应返回,多模判决模块则阻断请求,返回错误网页信息到客户端,结束。若到达设定的超时阈值,且接收到多个HTTP响应返回,多模判决模块则对各HTTP响应的响应体内容进行比对,若各HTTP响应体内容全部相同或HTTP响应体内容字节的差异值在设置的阈值范围内,跳转到步骤11,否则跳转到步骤13;若全部接受所有HTTP子请求返回的响应,多模判决模块对各HTTP响应的响应体内容进行比对,若各HTTP响应体内容全部相同或HTTP响应体内容字节的差异值在设置的阈值范围内,则跳转到步骤11,否则跳转到步骤13;
步骤11:多模判决模块调用安全配置策略(HTTP请求响应头生成相关参数)生成新的HTTP响应头,并随机选择其中1个HTTP响应体进行组合,生成HTTP请求响应;调用安全配置策略,若该响应体对应的用户HTTP请求的安全Cookie标记为真,则直接将HTTP请求响应发送到客户端,结束;若该HTTP响应体对应的用户HTTP请求的安全Cookie标记为假,则检测用户HTTP请求是否存在安全配置策略中指定Cookie名对应的Cookie值,若存在,跳转到步骤12,否则,直接将HTTP请求响应发送到客户端;
步骤12:安全Cookie生成模块分别提取不同异构服务器返回的HTTP响应中安全配置策略中指定Cookie名对应的Cookie值,然后随机生成一个唯一字符串作为安全Cookie,同时将该安全Cookie作为安全Cookie记录的关键字,各个响应中的指定Cookie名对应的Cookie值作为安全Cookie记录的内容,存储在安全Cookie数据库中,并将HTTP请求响应中安全配置策略中指定Cookie名对应的Cookie值用所生成的安全Cookie替换,然后将替换后的HTTP请求响应发送到客户端,结束。
步骤13:多模判决模块对各HTTP请求响应的响应体内容比对,若HTTP请求响应的响应体内容字节的差异值超出设置的阈值范围,则阻断该HTTP请求响应,并根据各HTTP请求响应的响应体内容比对信息确定问题异构服务器,然后发送消息到后台服务器动态切换模块,跳转到步骤14;
步骤14:后台服务器动态切换模块将该异构服务器活动状态设为“离线”,然后将异构服务器下线和异构服务器系统重置;完成清洗后,后台服务器动态切换模块将该清洗后的异构服务器活动状态设为“在线”,同时调用数据库同步模块将受影响的异构服务器池的数据库与其他异构服务器池的数据库进行数据同步。
实施例1:用户HTTP请求生成HTTP子请求(用户HTTP请求包含安全Cookie)
客户端向Web网关发送用户HTTP请求,请求内容如下:
GET/test HTTP/1.1
Host:acm.hdu.edu.cn
Upgrade-Insecure-Requests:1
......
Cookie:UID=69mti5j53m9qh1
Web网关中的多模分发模块接收用户HTTP请求,解析判断用户HTTP请求类型,提取用户HTTP请求中的URL地址及携带的安全Cookie。由于存在安全Cookie,则将用户HTTP请求包含的安全Cookie标记设为真,并在安全Cookie数据库中检索并判别该安全Cookie是否安全合法。若合法,则判断请求类型是否为POST,由于用户HTTP请求类型为GET,则根据HTTP请求头中包含的信息和安全配置策略(HTTP请求头生成相关参数)生成多个HTTP子请求。调用安全Cookie解码模块根据用户HTTP请求中的安全Cookie,在安全Cookie数据库中找到关键字与上述安全Cookie一致的安全Cookie记录得到Cookie1:69mtcp;Cookie2:7jji5s;Cookie3:j5eim9,并对HTTP子请求中Cookie进行更新,则HTTP子请求内容如下:
HTTP子请求1:
GET/test1HTTP/1.1
Host:srv1.hdu.edu.cn
Upgrade-Insecure-Requests:1
......
Cookie:UID=69mtcp
HTTP子请求2:
GET/test2HTTP/1.1
Host:srv2.hdu.edu.cn
Upgrade-Insecure-Requests:1
......
Cookie:UID=7jji5s
HTTP子请求3:
GET/test3HTTP/1.1
Host:srv3.hdu.edu.cn
Upgrade-Insecure-Requests:1
......
Cookie:UID=j5eim9
根据HTTP子请求的地址将更新后的HTTP子请求发送至对应的后台服务器动态切换模块。后台服务器动态切换模块通过预先设定好的动态切换频率和动态切换策略的随机选择算法(例如:动态切换频率为每一次,动态切换策略为随机动态切换),从对应的异构服务器池中随机选择一台异构服务器,并判断该异构服务器是否在线,若在线则执行HTTP子请求,否则重新选择一台异构服务器。由于户HTTP请求包含安全Cookie的标记为真,则多模判决模块在接收完异构服务器返回的响应信息并对响应体内容进行比对后,若各HTTP响应体内容全部相同或HTTP响应体内容字节的差异值在容忍的阈值范围内,则直接将按照安全配置策略(HTTP请求响应头生成相关参数)生成的HTTP请求响应发送至客户端,结束。请求响应内容如下:
HTTP/1.1 200OK
Date:Mon,31Dec200104:25:57GMT
Server:Apache/1.3.14(Unix)
......
实施例2、用户HTTP请求生成HTTP子请求(用户HTTP请求不包含安全Cookie):
客户端向Web网关发送用户HTTP请求,请求内容如下:
GET/test HTTP/1.1
Host:acm.hdu.edu.cn
Upgrade-Insecure-Requests:1
......
Web网关中的多模分发模块接收用户HTTP请求,解析判断用户HTTP请求类型,提取用户HTTP请求中的URL地址及携带的安全Cookie。由于不存在安全Cookie,则将用户HTTP请求包含安全Cookie的标记设为假。判断请求类型是否为POST,由于用户HTTP请求类型为GET,则根据HTTP请求头中包含的信息和安全配置策略(HTTP请求头生成相关参数)生成多个HTTP子请求,则HTTP子请求内容如下:
HTTP子请求1:
GET/test1HTTP/1.1
Host:srv1.hdu.edu.cn
Upgrade-Insecure-Requests:1
......
HTTP子请求2:
GET/test2HTTP/1.1
Host:srv2.hdu.edu.cn
Upgrade-Insecure-Requests:1
......
HTTP子请求3:
GET/test3HTTP/1.1
Host:srv3.hdu.edu.cn
Upgrade-Insecure-Requests:1
......
根据HTTP子请求的地址将更新后的HTTP子请求发送至对应的后台服务器动态切换模块。后台服务器动态切换模块通过预先设定好的动态切换频率和动态切换策略的随机选择算法(例如:动态切换频率为每一次,动态切换策略为随机动态切换),从对应的异构服务器池中随机选择一台异构服务器,并判断该异构服务器是否在线,若在线则执行该HTTP子请求,否则重新选择一台异构服务器。多模判决模块在接收完异构服务器返回的响应信息并对响应体内容进行比对后,若各HTTP响应体内容全部相同或HTTP响应体内容字节的差异值在容忍的阈值范围内,则按照安全配置策略(HTTP请求响应头生成相关参数)生成HTTP请求响应。由于用户HTTP请求包含安全Cookie的标记为假,且用户HTTP请求存在安全配置策略中指定Cookie名的Cookie值(例如UID),则调用安全Cookie生成模块,提取异构服务器返回的响应中的指定Cookie名的Cookie:
设
HTTP子请求1的响应头为:
......
Set-Cookie:UID=69mtcp
......
HTTP子请求2的响应头为:
......
Set-Cookie:UID=7jji5s
......
HTTP子请求3的响应头为:
......
Set-Cookie:UID=j5eim9
......
随机生成一个唯一字符串69mti5j53m9qh1作为安全Cookie值,同时将该安全Cookie值作为安全Cookie记录的关键字,各个响应中的指定Cookie名对应的Cookie值作为安全Cookie记录(69mti5j53m9qh1,69mtcp,7jji5s,j5eim9)的内容,存储在安全Cookie数据库中,并将按照安全配置策略(HTTP请求响应头生成相关参数)生成的HTTP请求响应中安全配置策略中指定Cookie名对应的Cookie值用所生成的安全Cookie替换,然后将替换后的HTTP请求响应发送到客户端,HTTP请求响应内容如下:
HTTP/1.1 200OK
......
Set-Cookie:UID=69mti5j53m9qh1
......
上述实施例并非是对于本发明的限制,本发明并非仅限于上述实施例,只要符合本发明要求,均属于本发明的保护范围。
Claims (5)
1.采用随机选择进行动态调度的拟态Web网关系统,其特征在于包括多模分发模块、多模判决模块、安全Cookie生成模块、安全Cookie解码模块、异构服务器池组、后台服务器动态切换模块组、数据库同步模块、安全Cookie数据库组、安全配置策略组成;
多模分发模块:接收用户HTTP请求,解析判断用户HTTP请求类型,提取用户HTTP请求中的URL地址及携带的安全Cookie,生成发送到各个异构服务器池的HTTP子请求,并用安全Cookie解码模块查找得到的Cookie值更新各HTTP子请求的Cookie值,再发送到后台服务器动态切换模块;
多模判决模块:接收异构服务器返回的响应,对响应主体部分进行比较,判断其差异度是否超过设定阈值来进行返回响应到客户端或拦截处理;用安全Cookie生成模块随机生成一个唯一字符串得到的安全Cookie更新请求响应中的Cookie值,发送到客户端;
安全Cookie生成模块:根据安全配置策略中指定Cookie名,提取异构服务器返回的响应中安全配置策略指定Cookie名对应的Cookie值,然后随机生成一个唯一字符串作为安全Cookie,同时将该安全Cookie作为安全Cookie记录的关键字,各个响应中的指定Cookie名对应的Cookie值作为安全Cookie记录的内容,存储在安全Cookie数据库中;
安全Cookie解码模块:根据用户HTTP请求中的安全Cookie,在安全Cookie数据库中找到关键字与上述安全Cookie一致的安全Cookie记录,得到与不同异构服务器池对应的Cookie;
后台服务器动态切换模块:根据预先设置好动态切换频率和动态切换方式的随机选择算法,从异构服务器池中随机选择一台异构服务器执行HTTP子请求;接收到多模判决模块的“发现问题异构服务器”消息,进而选择完成对问题异构服务器下线清洗以及清洗完成后的异构服务器动态上线;
安全Cookie数据库:以安全Cookie为关键字存放异构服务器返回响应中的指定Cookie名的Cookie值,以便后续用于检测安全Cookie是否安全合法;
安全配置策略:包含各种参数的统一配置管理文件,包括安全Cookie标记,HTTP请求头生成相关参数,HTTP请求响应头生成相关参数,指定Cookie名,动态切换策略和动态切换频率等。
2.如权利要求1所述的采用随机选择进行动态调度的拟态Web网关系统,其特征在于指定Cookie名为人为设定的Cookie名,用于判断该Cookie是否为与用户会话相关的Cookie。
3.如权利要求1所述的采用随机选择进行动态调度的拟态Web网关系统,其特征在于安全Cookie标记用于识别用户请求是否包含安全Cookie。
4.采用随机选择进行动态调度的拟态Web网关系统实现方法,其特征在于包括多模分发、多模判决两个流程,其中:
多模分发流程包含如下步骤:
步骤1:用户访问Web服务器,向Web网关发送用户HTTP请求;
步骤2:Web网关中的多模分发模块接收用户HTTP请求,解析判断用户HTTP请求类型,提取用户HTTP请求中的URL地址及携带的安全Cookie;若用户HTTP请求不包含安全Cookie,则将不包含安全Cookie的用户HTTP请求的安全Cookie标记设为假,跳转到步骤3;否则,将包含安全Cookie的用户HTTP请求的安全Cookie标记设为真,并在安全Cookie数据库中检索并判别该安全Cookie是否安全合法,若合法,则跳转到步骤5;否则直接阻断,同时进行记录并告警;
步骤3:若HTTP请求类型为POST,多模分发模块启动HTTP请求体的异步接收;当HTTP请求体异步接收完毕后,根据HTTP请求体中的信息、HTTP请求头包含的信息和安全配置策略(HTTP请求头生成相关参数)生成多个HTTP子请求,跳转到步骤4;若HTTP请求类型不为POST,则根据HTTP请求头中包含的信息和安全配置策略(HTTP请求头生成相关参数)生成多个HTTP子请求,跳转到步骤4;
步骤4:根据HTTP子请求的地址将HTTP子请求发送至对应的后台服务器动态切换模块,每个后台服务器动态切换模块根据预先设定好动态切换频率和动态切换策略的随机选择算法,从对应的异构服务器池中随机选择一台异构服务器,并判断该异构服务器是否在线,若在线则执行该HTTP子请求,然后进入多模判决流程,否则重新选择一台异构服务器;
步骤5:若HTTP请求类型为POST,多模分发模块启动HTTP请求体的异步接收;当HTTP请求体异步接收完毕后,根据HTTP请求体中的信息、HTTP请求头包含的信息和安全配置策略(HTTP请求头生成相关参数)生成多个HTTP子请求,到步骤6;若HTTP请求类型不为POST,则根据HTTP请求头中包含的信息和安全配置策略(HTTP请求头生成相关参数)生成多个HTTP子请求,到步骤6;
步骤6:安全Cookie解码模块根据用户HTTP请求中的安全Cookie,在安全Cookie数据库中找到关键字与上述安全Cookie一致的安全Cookie记录,并更新多模分发模块中对应HTTP子请求的安全Cookie,跳转到步骤7;
步骤7:根据HTTP子请求的地址将更新后的HTTP子请求发送至对应的后台服务器动态切换模块,每个后台服务器动态切换模块通过预先设定好动态切换频率和动态切换策略的随机选择算法,从对应的异构服务器池中随机选择一台异构服务器,并判断该异构服务器是否在线,若在线则执行该HTTP子请求,然后进入多模判决流程,否则重新选择一台异构服务器;
多模判决流程包含如下步骤:
步骤1:多模判决模块接收到从各个后台服务器动态切换模块返回的异构服务器HTTP响应,判断所有HTTP子请求的响应是否已全部接收到或已到达设定的超时阈值,当满足其中一个条件后,跳转到步骤2;否则重新接收异构服务器HTTP响应信息并判断;
步骤2:若到达设定的超时阈值,且没有或只有一个HTTP响应返回,多模判决模块则阻断请求,返回错误网页信息到客户端,结束;若到达设定的超时阈值,且接收到多个HTTP响应返回,多模判决模块则对各HTTP响应的响应体内容进行比对;若各HTTP响应体内容全部相同或HTTP响应体内容字节的差异值在设置的阈值范围内,跳转到步骤3,否则跳转到步骤5;若全部接受所有HTTP子请求返回的响应,多模判决模块对各HTTP响应的响应体内容进行比对,若各HTTP响应体内容全部相同或HTTP响应体内容字节的差异值在设置的阈值范围内,则跳转到步骤3,否则跳转到步骤5;
步骤3:多模判决模块调用安全配置策略(HTTP请求响应头生成相关参数)生成新的HTTP响应头,并随机选择其中1个HTTP响应体进行组合,生成HTTP请求响应;调用安全配置策略,若该响应体对应的用户HTTP请求的安全Cookie标记为真,则直接将HTTP请求响应发送到客户端,结束;若该HTTP响应体对应的用户HTTP请求的安全Cookie标记为假,则检测用户HTTP请求是否存在安全配置策略中指定Cookie名对应的Cookie值,若存在,跳转到步骤4,否则,直接将HTTP请求响应发送到客户端;
步骤4:安全Cookie生成模块分别提取不同异构服务器返回的HTTP响应中安全配置策略中指定Cookie名对应的Cookie值,然后随机生成一个唯一字符串作为安全Cookie,同时将该安全Cookie作为安全Cookie记录的关键字,各个响应中的指定Cookie名对应的Cookie值作为安全Cookie记录的内容,存储在安全Cookie数据库中,并将HTTP请求响应中安全配置策略中指定Cookie名对应的Cookie值用所生成的安全Cookie替换,然后将替换后的HTTP请求响应发送到客户端,结束;
步骤5:多模判决模块对各HTTP请求响应的响应体内容比对,若HTTP请求响应的响应体内容字节的差异值超出设置的阈值范围,则阻断该HTTP请求响应,并根据各HTTP请求响应的响应体内容比对信息确定问题异构服务器,然后发送消息到后台服务器动态切换模块,跳转到步骤6;
步骤6:后台服务器动态切换模块将该异构服务器活动状态设为“离线”,然后将异构服务器下线和异构服务器系统重置;完成清洗后,后台服务器动态切换模块将该清洗后的异构服务器活动状态设为“在线”,同时调用数据库同步模块将受影响的异构服务器池的数据库与其他异构服务器池的数据库进行数据同步。
5.如权利要求4所述的采用随机选择进行动态调度的拟态Web网关系统实现方法,其特征在于多模分发流程中步骤2安全Cookie安全合法判断准则为安全Cookie数据库中是否存在与用户HTTP请求携带的安全Cookie一致的Cookie。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910313667.XA CN110166436B (zh) | 2019-04-18 | 2019-04-18 | 采用随机选择进行动态调度的拟态Web网关系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910313667.XA CN110166436B (zh) | 2019-04-18 | 2019-04-18 | 采用随机选择进行动态调度的拟态Web网关系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110166436A true CN110166436A (zh) | 2019-08-23 |
CN110166436B CN110166436B (zh) | 2021-06-22 |
Family
ID=67639507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910313667.XA Active CN110166436B (zh) | 2019-04-18 | 2019-04-18 | 采用随机选择进行动态调度的拟态Web网关系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110166436B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110691133A (zh) * | 2019-09-29 | 2020-01-14 | 河南信大网御科技有限公司 | 一种应用于网络通信设备的web服务拟态系统及方法 |
CN111191229A (zh) * | 2019-12-24 | 2020-05-22 | 国网天津市电力公司 | 一种电力Web应用拟态防御系统 |
CN111475805A (zh) * | 2020-04-13 | 2020-07-31 | 中国人民解放军战略支援部队信息工程大学 | 一种拟态表决器的安全运行方法及系统 |
CN112187806A (zh) * | 2020-09-29 | 2021-01-05 | 国网福建省电力有限公司 | 一种基于网页资源地址动态跳变的防御方法 |
CN112367344A (zh) * | 2020-09-11 | 2021-02-12 | 浙江大学 | 一种内生安全负载均衡服务器的构造方法 |
CN112398850A (zh) * | 2020-11-13 | 2021-02-23 | 国网冀北电力有限公司张家口供电公司 | 一种基于异构服务器平台动态防御方法 |
CN114499991A (zh) * | 2021-12-30 | 2022-05-13 | 浙江大学 | 一种拟态waf中恶意流量检测和行为分析方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014052A (zh) * | 2010-11-05 | 2011-04-13 | 中国科学院声学研究所 | 一种虚拟动态优先级分组调度方法 |
US20140359091A1 (en) * | 2013-06-03 | 2014-12-04 | Microsoft Corporation | Dynamically migrating virtual machines and gateways |
CN104468407A (zh) * | 2013-09-16 | 2015-03-25 | 中国电信股份有限公司 | 实现业务平台资源弹性分配的方法与装置 |
-
2019
- 2019-04-18 CN CN201910313667.XA patent/CN110166436B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014052A (zh) * | 2010-11-05 | 2011-04-13 | 中国科学院声学研究所 | 一种虚拟动态优先级分组调度方法 |
US20140359091A1 (en) * | 2013-06-03 | 2014-12-04 | Microsoft Corporation | Dynamically migrating virtual machines and gateways |
CN104468407A (zh) * | 2013-09-16 | 2015-03-25 | 中国电信股份有限公司 | 实现业务平台资源弹性分配的方法与装置 |
Non-Patent Citations (1)
Title |
---|
陈双喜等: "基于攻击转移的拟态安全网关技术的研究", 《通信学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110691133A (zh) * | 2019-09-29 | 2020-01-14 | 河南信大网御科技有限公司 | 一种应用于网络通信设备的web服务拟态系统及方法 |
CN111191229A (zh) * | 2019-12-24 | 2020-05-22 | 国网天津市电力公司 | 一种电力Web应用拟态防御系统 |
CN111475805A (zh) * | 2020-04-13 | 2020-07-31 | 中国人民解放军战略支援部队信息工程大学 | 一种拟态表决器的安全运行方法及系统 |
CN111475805B (zh) * | 2020-04-13 | 2022-12-02 | 中国人民解放军战略支援部队信息工程大学 | 一种拟态表决器的安全运行方法及系统 |
CN112367344A (zh) * | 2020-09-11 | 2021-02-12 | 浙江大学 | 一种内生安全负载均衡服务器的构造方法 |
CN112187806A (zh) * | 2020-09-29 | 2021-01-05 | 国网福建省电力有限公司 | 一种基于网页资源地址动态跳变的防御方法 |
CN112398850A (zh) * | 2020-11-13 | 2021-02-23 | 国网冀北电力有限公司张家口供电公司 | 一种基于异构服务器平台动态防御方法 |
CN114499991A (zh) * | 2021-12-30 | 2022-05-13 | 浙江大学 | 一种拟态waf中恶意流量检测和行为分析方法 |
CN114499991B (zh) * | 2021-12-30 | 2023-04-18 | 浙江大学 | 一种拟态waf中恶意流量检测和行为分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110166436B (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110166436A (zh) | 采用随机选择进行动态调度的拟态Web网关系统及方法 | |
CN110166435A (zh) | 采用负载均衡进行动态调度的拟态Web网关系统及方法 | |
US11888868B2 (en) | Identifying security risks and fraud attacks using authentication from a network of websites | |
CN103957201B (zh) | 基于dns的域名信息处理方法、装置及系统 | |
CN108353079B (zh) | 对针对基于云的应用的网络威胁的检测 | |
US8973096B1 (en) | Fraud detection in adaptive authentication systems | |
CN105095746B (zh) | 应用程序启动鉴权方法及装置 | |
EP3085023B1 (en) | Communications security | |
US20020120853A1 (en) | Scripted distributed denial-of-service (DDoS) attack discrimination using turing tests | |
WO2017007936A1 (en) | Split serving of computer code | |
US11762979B2 (en) | Management of login information affected by a data breach | |
CN102106167A (zh) | 安全消息处理 | |
US11128649B1 (en) | Systems and methods for detecting and responding to anomalous messaging and compromised accounts | |
CN112491803A (zh) | 拟态waf中执行体的裁决方法 | |
US11729214B1 (en) | Method of generating and using credentials to detect the source of account takeovers | |
CN101667933A (zh) | 一种安全认证系统及其主备切换方法和设备 | |
CN112153052A (zh) | 一种撞库攻击监测方法及系统 | |
CN105187449B (zh) | 一种接口调用方法及装置 | |
EP2710507B1 (en) | Supervised data transfer | |
WO2023193513A1 (zh) | 蜜罐网络运行方法、装置、设备及存储介质 | |
Yang et al. | Research on detection and prevention of mobile device botnet in cloud service systems | |
CN112104625B (zh) | 一种进程访问的控制方法及装置 | |
US11704679B2 (en) | Adaptive validation and remediation systems and methods for credential fraud | |
Nuakoh et al. | MonitR®: A Mobile Application for Monitoring Online Accounts' Security | |
CN109218315A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |