本发明涉及网络完全
技术领域:
:,公开了一种移动目标防御智能安全cdn系统,并且以防御web攻击为主的系统设计。
背景技术:
::随着web技术的蓬勃发展,互联网变得越来越丰富,互联网飞速发展在为人类带来种种便利的同时,也带来了诸多安全问题,随之而来的是针对web应用程序漏洞的攻击也越来越多,其危害程度也越来越大,给web应用程序的安全带来了巨大的威胁,其中最为著名的有跨站脚本攻击、sql注入、跨站请求伪造、点击劫持等。攻击者可以利用这些漏洞注入自己编写的恶意代码,改变程序的执行流程,破坏用户程序以及窃取用户敏感信息等。传统的防御系统已经无法适应当今互联网发展的需要,传统例如针对web服务中sql服务进行注入的防御多采用匹配过滤的方式,在所有提交的查询信息中进行匹配检查。对于这种类型的sql注入攻击,采用的匹配过滤方法一般会对单引号,等于号等符号进行过滤,一旦发现提交的查询信息包含单引号,等号等,就认定为sql注入攻击。这种检测方法的缺陷非常明显,攻击者可以通过各种bypass手段躲避检测,举例如下:1.利用符号’^’进行异或,得到:select*fromtablewhereusername=’1^unionselect1,2,3-- 2.利用符号’|’进行或,得到:select*fromtablewhereusername=’1|unionselect1,2,3-- 3.利用大小写方法书写得到:select*fromtablewhereusername=’0’unionselect1,2,3-- 4.利用双写得到:select*fromtablewhereusername=’0’uniuniononseselectlect1,2,3-- 上述方法都可以很容易的躲避基于特征的检测。而除了会有大量的漏报外,基于特征的还存在大量的误报可能:如果我的用户名就包含特殊符号,由于匹配过滤,也会触发报警。当下,传统的单一防御难以应对目前网络安全多方位的攻击。技术实现要素:基于此,提供一种移动目标防御智能安全cdn系统,主要针对web攻击流量进行防御与检测,能够帮助用户防御web攻击,更好的保护用户的隐私安全。本发明的目的是这样实现的:本发明一种移动目标防御智能安全cdn服务器端系统,其包括cdn服务器端和云服务器端,所述cdn服务器端包括可疑请求判断模块、反向代理模块,所述云服务器端包括请求分析模块、请求过滤模块、态势感知模块、日志记录模块、mtd模块;所述可疑请求判断模块主要对用户访问的请求进行判断,如果请求可疑则将其提交至云服务器端进行分析;所述反向代理模块,若判断用户请求为可疑请求,则将可疑请求发送至云服务器端,再根据云服务器端反馈结果完成对应操作;所述请求分析模块主要负责安全威胁检测和安全威胁等级评定;所述请求过滤模块根据请求分析模块进行结果分析,对危险的字段、操作行为进行过滤、转义处理,将安全的结果输出返回至云服务器端;所述态势感知模块运用网络态势感知技术将网络设备运行状况、网络行为以及用户行为进行整体分析对能够引起网络态势发生变化的所有安全要素进行获取、理解、显示,将新型威胁行为进行提取,对其安全威胁等级进行评估,以构建新态势感知库;所述日志记录模块将所有的威胁行为与分析结果进行存储;所述mtd模块的web服务的响应能够反映当前系统的指纹信息,攻击者能够通过指纹信息对目标进行攻击,该模块通过拦截web服务响应的信息,并修改指纹信息已达到防御的效果。进一步地,所述cdn服务器端采用openresty作为反向代理服务器,所述openresty是基于lua语言与nginx的web服务器。本发明还提供了一种移动目标防御智能安全cdn服务器端系统的工作流程如下:首先客户端向服务器发送请求会交给mtd模块生成随机的banner信息,接着请求会发送给cdn服务器端,所述cdn服务器端收到请求之后,会判断请求是否包含威胁内容,如果请求存在威胁会交给云服务器端进行判断;所述云服务器端二次分析,通过分析用户的请求流量判定是否存在威胁,存在威胁则会请求态势感知模块对威胁进行等级判定,并做出相应的决策;如果分析之后判定为攻击,则会通知cdn服务器端,终止本次用户的请求,并将随机banner响应给客户端,如果判定不是攻击流量则会将请求的流量进行二次处理并转交给web服务器,并返回随机的banner信息;上述流程经过都会记录到云日志系统中,云服务器端会调用态势感知模块对日志进行分析与评估,之后会提取出相应的特征信息,特征信息会存入并更新态势感知数据库,下一次威胁分析就会调用最新的数据进行判断;所有请求结果都会生成图表,以供使用者查看。进一步地,当用户向web端发送请求时,会先请求mtd模块生成随机banner信息,接着调用nginx的反向代理转发至cdn服务器端,由cdn服务器端初步利用预先定义的规则进行初步的判断,同时会将符合网站运行的安全策略部署在云服务器上。进一步地,当cdn服务器端发现可疑流量时,会对流量进行威胁等级判断,然后会转交给云服务器端,所述云服务器端会对流量进行再次检验,对于恶意流量会进行拦截,以达到保护网站的效果。进一步地,所述cdn服务器端采用openresty作为反向代理服务器,所述openresty是基于lua语言与nginx的web服务器。进一步地,所述态势感知模块采用b/s架构方法。进一步地,当用户访问该web服务时,会经过cdn服务器端进行流量处理,再交由web服务器进行响应,在web服务器响应时,响应信息包含web服务器的指纹内容;用户发起的http请求通过cdn服务器端网络到达web服务跳,mtd模块对用户请求并不作处理,标记异常请求,然后将该用户请求转发到web服务器;web服务器对用户请求回复http响应,发送到web服务系统,该模块拦截该响应包,并根据当前的web服务器类型和版本配置修改响应数据包,并将修改后的http响应包发送到用户浏览器端显示;在不同时刻,mtd模块返回的指纹信息响应包都不相同。有益效果本发明主要研究一种基于目标防御的cdn系统,通过对现有的cdn服务器端优化,利用智能cdn服务器端服务对经过的流量进行安全检测与评估,实时检测恶意的web攻击,及时对攻击事件做出预警处理,利用云态势感知技术对安全事件进行评估与决策。同时安全评估移植到cdn服务器端上,减少对目标系统的负载。在mtd(移动目标防御)的思想上,客户每次请求服务,都会获得随机的指纹信息达到防御的作用;本发明提供了一种移动目标防御智能安全cdn系统,使得整套系统的网络攻击的防御方面能够产生良好的效果。在总体设计上,本系统在面对防御被动的情况之下,采用移动目标防御技术,主动采取措施,对于用户的真实情况进行隐藏,加大了攻击者实施进攻的难度,缩小了网络安全攻击的生存时间,更保护了用户的隐私。整体系统设计考虑周全,兼容并包能力强,能够构建良好的网络安全攻击防御体系。附图说明图1为本发明一种移动目标防御智能安全cdn系统的架构图;图2为本发明一种移动目标防御智能安全cdn系统的系统总体架构图;图3为图2的系统工作流程图;图4为图3的总体实现方法;图5为图1中的mtd模块实现方式;图6为图1的态势感知模块的结构图。具体实施方式下面结合附图对本发明的具体实施方式进行详细说明。本发明一种移动目标防御智能安全cdn系统,如图1所示,为本发明一种移动目标防御智能安全cdn系统的架构图;图2为本发明一种移动目标防御智能安全cdn系统的系统总体架构图。根据系统整体解决方案设计了七个模块分别为——cdn服务器端:可疑请求判断模块、反向代理模块;云服务器端:请求分析模块、请求过滤模块、态势感知模块、日志记录模块、mtd模块。cdn服务器端:1)可疑请求判断模块:主要对用户访问的请求进行判断,如果请求可疑则将其提交至云服务器端进行分析。拟使用nginxserver和python语言实现,使用lua与c语言模块为nginx编写扩展。2)反向代理模块:若判断用户请求为可疑请求,则将可疑请求发送至云服务器端,并根据云服务器端反馈结果完成对应操作。云服务器端:3)请求分析模块:主要负责安全威胁检测和安全威胁等级评定。此模块涉及到系统底层操作,拟采用c/c 语言开发,将请求报文中的get/post内容进行拆解、分析,检测出潜在的安全威胁,并评定其威胁等级,将结果反馈至云服务器端,等待下一步处理。4)请求过滤模块:根据请求分析模块进行结果分析,对危险的字段、操作行为进行过滤、转义等处理,将安全的结果输出返回至云服务器端。5)态势感知模块:运用网络态势感知技术将网络设备运行状况、网络行为以及用户行为进行整体分析对能够引起网络态势发生变化的所有安全要素进行获取、理解、显示,将新型威胁行为进行提取,对其安全威胁等级进行评估,以构建新态势感知库。此操作主要对日志数据进行分析,对数据进行整体处理同时结合用户的行为进行分析判断,并将数据生成状态视图。6)日志记录模块:将所有的威胁行为与分析结果进行存储。7)mtd模块:web服务的响应能够反映当前系统的指纹信息,攻击者能够通过指纹信息对目标进行攻击,该模块通过拦截web服务响应的信息,并修改指纹信息已达到防御的效果。本发明一种移动目标防御智能安全cdn系统的系统工作流程,如图3所示。首先客户端向服务器发送请求会交给mtd模块生成随机的banner信息,接着请求会发送给cdn服务器端,cdn服务器端收到请求之后,会判断请求是否包含威胁内容(通过一些字段,代码,函数等),如果请求存在威胁会交给云服务器端进行判断。云服务器端二次分析,通过分析用户的请求流量判定是否存在威胁,存在威胁则会请求态势感知模块对威胁进行等级判定,并做出相应的决策。如果分析之后判定为攻击,则会通知cdn服务器端,终止本次用户的请求,并将随机banner响应给客户端,如果判定不是攻击流量则会将请求的流量进行二次处理并转交给web服务器,并返回随机的banner信息。一切流程经过都会记录到云日志系统中,云服务器端会调用态势感知模块对日志进行分析与评估,之后会提取出相应的特征信息,特征信息会存入并更新态势感知数据库,下一次威胁分析就会调用最新的数据进行判断。所有请求结果都会生成图表,以供使用者查看。本发明一种移动目标防御智能安全cdn系统的总体架构图总体实现方法,如图4所示。本系统在cdn服务器端中加入了云计算技术,为web防御安全提供了一种新型的可靠的防御技术。当用户向web端发送请求时,会先请求mtd模块生成随机banner信息,接着调用nginx的反向代理转发至cdn服务器端,由cdn服务器端初步利用预先定义的规则进行初步的判断,同时会将符合网站运行的安全策略部署在云服务器端上。当cdn服务器端发现可疑流量时,会对流量进行威胁等级判断,然后会转交给云服务器端,云服务器端会对流量进行再次检验,对于恶意流量会进行拦截,以达到保护网站的效果。传统cdn服务器端架构需要手动部署策略,还需针对每台服务器制定不同策略,无法做到自动部署策略。同时,在部署cdn服务器端服务,会用到openresty服务。openresty是基于lua语言与nginx的web服务器。支持lua语言编写的脚本和扩展模块,支持nginx的一切功能。因此在本系统采用openresty作为反向代理服务器,就保证了其兼容性的强大,同时兼顾了后期版本的易于更新性。利用lua队友扩展模块的强大支持性,保证了在本系统中的可以判断模块,请求分析模块在面对大流量冲击时具有强大的处理效率,主要采用c语言编写。在日志模块中将日志记录写入mysql数据库中,便于管理员的读取和利用。日志记录中包含了下面的几种重要数据,主要有用户的请求连接、用户ip、目标网址、url、请求时间、攻击向量、威胁等级、浏览器特征等内容。系统中的态势感知模块主要采用了b/s架构方法,利用一系列的统计算法,将攻击者的攻击行为和攻击特征,将结果以json格式输出到浏览器。利用浏览器的解析功能生成相应的图标,将攻击者的攻击行为,攻击数量,攻击威胁以图表数据形式进行可视化,使客户获得直观的数据分析,便于快速做出相应的安全策略。(1)主要方法的实现1)mtd模块实现原理,如图5所示。当用户访问该web服务时,会经过cdn服务器端进行流量处理,再交由web服务器进行响应,在web服务器响应时,响应信息包含web服务器的指纹内容。用户发起的http请求通过cdn服务器端网络到达web服务跳,mtd模块对用户请求并不作处理,标记异常请求,然后将该用户请求转发到web服务器。web服务器对用户请求回复http响应,发送到web服务系统,该模块拦截该响应包,并根据当前的web服务器类型和版本配置修改响应数据包,并将修改后的http响应包发送到用户浏览器端显示。在不同时刻,mtd模块返回的指纹信息响应包都不相同。2)反向代理模块实现在本系统中,反向代理是代理服务器的一种。服务器根据客户端的请求,从其关系的一组或多组后端服务器(如web服务器)上获取资源,然后再将这些资源返回给客户端,客户端只会得知反向代理的ip地址,而不知道在代理服务器后面的服务器簇的存在。配置文件如下:worker_processes1;events{worker_connections1024;}http{server{listen8080;location/{default_typetext/html;access_by_lua_file'/usr/local/openresty/secure.lua';proxy_passhttp://target-site.com;indexindex.htmlindex.php;}}}当反向代理服务器接收到的请求被传递到判断模块(secure.lua)后,请求判断模块会读取请求中的url、源ip、请求体、请求参数等相关信息,并且同时调用c语言编写的可疑请求判断模块,针对用户传入参数的威胁程度进行初步认定与打分。打分的分值范围在0-5之间,若分值大于0分,则将请求信息以json的方式传递给后端服务器进行判断,后端云服务器端判断完成后会返回结果,并且根据结果执行阻断或者放行的操作。3)态势感知模块实现态势感知数据库的建立需要大量的模型数据,我们需要为态势感知数据库的建立提供大量的敏感数据信息连接相关的危险数据厂库,保证态势感知库中能够分析出大部分的攻击命令。同时在态势感知模块中我们加入了未知攻击预测,匹配攻击特征,实时更新动态感知数据库。其态势感知模块如图6所示。运用网络态势感知技术将网络设备运行状况、网络行为以及用户行为进行整体分析,对能够引起网络态势发生变化的所有安全要素进行获取、理解、显示,将新型威胁行为进行提取,对安全威胁等级进行评估,构建新态势感知数据库。此操作主要对日志数据进行分析,对数据进行整体处理结合用户的行为进行判断,并将数据生成状态视图。3)可疑请求模块实现可疑请求判断模块每秒将处理大量可疑数据,这里使用dfa理论的trie树可以说是一种快速而又高效的方案:所谓dfa(deterministicfiniteautomaton)即为:确定有限状态自动机m是由s:状态集合,有限集合;σ:又穷字母表;δ:状态转换函数,一个转移函数(例如:);s0:初始状态s∈s;f:终止状态集,f⊆s,可为空集;所组成的5-元组。因此一个dfa可以写成这样的形式:下面是一个确定有限状态自动机的例子:确定有点状态自动机q={s1,s2}∑={0,1}s=s1f={s1}由下面的状态转移表定义:01s1s2s1s2s1s2对应的转移函数为:状态s1表示在输入的字符串中有偶数个0,而s2表示有奇数个0。在输入中1不改变自动机的状态。当读完输入的字符串的时候,状态将显示输入的字符串时候包含偶数个0。a能识别的语言是。用正则表达式为:(1*(01*0)*)*.。以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步地详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 当前第1页1 2 3 
技术特征:1.一种移动目标防御智能安全cdn服务器端系统,其特征在于:其包括cdn服务器端和云服务器端,所述cdn服务器端包括可疑请求判断模块、反向代理模块,所述云服务器端包括请求分析模块、请求过滤模块、态势感知模块、日志记录模块、mtd模块;
所述可疑请求判断模块主要对用户访问的请求进行判断,如果请求可疑则将其提交至云服务器端进行分析;
所述反向代理模块,若判断用户请求为可疑请求,则将可疑请求发送至云服务器端,再根据云服务器端反馈结果完成对应操作;
所述请求分析模块主要负责安全威胁检测和安全威胁等级评定;
所述请求过滤模块根据请求分析模块进行结果分析,对危险的字段、操作行为进行过滤、转义处理,将安全的结果输出返回至云服务器端;
所述态势感知模块运用网络态势感知技术将网络设备运行状况、网络行为以及用户行为进行整体分析对能够引起网络态势发生变化的所有安全要素进行获取、理解、显示,将新型威胁行为进行提取,对其安全威胁等级进行评估,以构建新态势感知库;
所述日志记录模块将所有的威胁行为与分析结果进行存储;
所述mtd模块的web服务的响应能够反映当前系统的指纹信息,攻击者能够通过指纹信息对目标进行攻击,该模块通过拦截web服务响应的信息,并修改指纹信息已达到防御的效果。
2.根据权利要求1所述的移动目标防御智能安全cdn服务器端系统,其特征在于:所述cdn服务器端采用openresty作为反向代理服务器,所述openresty是基于lua语言与nginx的web服务器。
3.一种移动目标防御智能安全cdn服务器端系统的工作流程如下:
首先客户端向服务器发送请求会交给mtd模块生成随机的banner信息,接着请求会发送给cdn服务器端,所述cdn服务器端收到请求之后,会判断请求是否包含威胁内容,如果请求存在威胁会交给云服务器端进行判断;
所述云服务器端二次分析,通过分析用户的请求流量判定是否存在威胁,存在威胁则会请求态势感知模块对威胁进行等级判定,并做出相应的决策;如果分析之后判定为攻击,则会通知cdn服务器端,终止本次用户的请求,并将随机banner响应给客户端,如果判定不是攻击流量则会将请求的流量进行二次处理并转交给web服务器,并返回随机的banner信息;
上述流程经过都会记录到云日志系统中,云服务器端会调用态势感知模块对日志进行分析与评估,之后会提取出相应的特征信息,特征信息会存入并更新态势感知数据库,下一次威胁分析就会调用最新的数据进行判断;所有请求结果都会生成图表,以供使用者查看。
4.根据权利要求3所述的工作流程,其特征在于:当用户向web端发送请求时,会先请求mtd模块生成随机banner信息,接着调用nginx的反向代理转发至cdn服务器端,由cdn服务器端初步利用预先定义的规则进行初步的判断,同时会将符合网站运行的安全策略部署在云服务器上。
5.根据权利要求4所述的工作流程,其特征在于:当cdn服务器端发现可疑流量时,会对流量进行威胁等级判断,然后会转交给云服务器端,所述云服务器端会对流量进行再次检验,对于恶意流量会进行拦截,以达到保护网站的效果。
6.根据权利要求5所述的工作流程,其特征在于:所述cdn服务器端采用openresty作为反向代理服务器,所述openresty是基于lua语言与nginx的web服务器。
7.根据权利要求6所述的工作流程,其特征在于:所述态势感知模块采用b/s架构方法。
8.根据权利要求7所述的工作流程,其特征在于:当用户访问该web服务时,会经过cdn服务器端进行流量处理,再交由web服务器进行响应,在web服务器响应时,响应信息包含web服务器的指纹内容;用户发起的http请求通过cdn服务器端网络到达web服务跳,mtd模块对用户请求并不作处理,标记异常请求,然后将该用户请求转发到web服务器;web服务器对用户请求回复http响应,发送到web服务系统,该模块拦截该响应包,并根据当前的web服务器类型和版本配置修改响应数据包,并将修改后的http响应包发送到用户浏览器端显示;在不同时刻,mtd模块返回的指纹信息响应包都不相同。
技术总结本发明公开了一种移动目标防御智能安全CDN服务器端系统,属于网络完全技术领域。其包括CDN服务器端和云服务器端,所述CDN服务器端包括可疑请求判断模块、反向代理模块,所述云服务器端包括请求分析模块、请求过滤模块、态势感知模块、日志记录模块、MTD模块。本发明提供了一种以防御web攻击为主的系统设计,可以更好的保护用户的隐私安全。
技术研发人员:曹鹏飞;李杰;戴威;戈弋;胡雪晴;程建金
受保护的技术使用者:三江学院
技术研发日:2021.04.19
技术公布日:2021.08.03