本发明涉及计算机网络安全领域,具体涉及一种基于蜜饵的web渗透感知方法及装置。
背景技术:
1、随着互联网的发展,带来了web技术领域的不断创新与突破。从最早的静态网页时代到如今的web框架百花齐放,技术的进步也带来了功能与体验上的提升,但随之而来的是更多且严重的安全问题。近些年来,网络安全的问题逐年递增,web领域中的安全问题又占其主要部分,针对web攻击的方式与此前相比趋于分散化,攻击者会尝试更多且更隐蔽的手段,并会及时调整攻击策略,这加大了网络安全防御工作的难度与识别攻击的准确度。
2、目前在web领域所常用的防御技术主要集中在两类:第一类是以waf(webapplication firewall)为代表的防火墙技术,这类技术的主要特点是对网络流量中的关键特征进行识别匹配,从其不断更新的匹配规则库中判断是否存在异常行为;第二类是以网络欺骗技术为代表的蜜罐(honey pot)技术,这类技术的主要特点是在网络攻击的各个阶段设置虚假的脆弱目标,迷惑、欺骗、引诱黑客前来攻击。
3、这两类防御技术都有其优势但也存在相应的不足:waf的部署简单,可承受较高的吞吐量,并且防护范围广,但是waf的特征匹配与规则检测机制是存在一定可能绕过的;蜜罐技术针对性强,其所收集到的数据大多数都是与攻击有关,并且在一定程度上能够发现潜在的安全问题,但是蜜罐通常都是以独立的网络节点存在,如果蜜罐没有受到攻击,则不能为信息系统提供预警与分析溯源的功能。
技术实现思路
1、针对上述问题,本发明提出了一种基于蜜饵的web渗透感知方法及装置。本发明设置了一个代理服务器接管与web服务器通信的流量,在请求与响应数据包传递过程中,将特殊的代码嵌入数据包中来感知攻击。具体来说,本发明首先代理web服务器的通信流量,在获取完整的html内容后分析后台登录页面与后台管理页面的结构,通过特殊的算法在页面上找一个合适的嵌入位置,将蜜饵的前端代码嵌入到页面中,实现自动分析、自动嵌入的功能。该蜜饵三种分别是:忘记密码、头像上传、模板管理三种。当攻击者对蜜饵进行访问且进行漏洞利用时,其交互的流量都被转发到沙箱环境中。本发明从解决蜜罐的不足出发,深度融合了web应用的html页面,并且在部署上实现了一键代理即可在html页面中部署蜜饵的功能。
2、为达到上述目的,本发明采取的具体技术方案是:
3、一种基于蜜饵的web渗透感知方法,应用一代理服务器,所述方法包括:
4、代理一web服务器的所有流量,并在转发流量的过程中对流量中的后台登录界面和/或后台管理界面的html结构进行分析,以得到合适嵌入蜜饵的dom节点;
5、在合适嵌入蜜饵的dom节点嵌入蜜饵,得到嵌入蜜饵后的页面;其中,所述嵌入蜜饵后的页面与未嵌入蜜饵的页面的相似度大于一设定阈值;
6、在一流量对所述嵌入蜜饵后的页面中的蜜饵访问时,将所述流量重定向到对应的容器中,以进行所述流量的漏洞感知;
7、在一流量未对所述嵌入蜜饵后的页面中的蜜饵访问时,将所述流量重定向到所述web服务器,以完成所述流量的访问。
8、进一步地,所述蜜饵包括:忘记密码蜜饵、头像上传蜜饵和模板管理蜜饵中的至少一种;其中,所述忘记密码蜜饵包括:sql注入漏洞或验证码逻辑漏洞,所述模板管理蜜饵包括:文件上传漏洞,所述头像上传蜜饵包括:头像图片文件上传漏洞。
9、进一步地,所述在转发流量的过程中对流量中的后台登录界面和/或后台管理界面的html结构进行分析,以得到合适嵌入蜜饵的dom节点,包括:
10、渲染转发流量的过程截获的html代码,并在结束渲染后,通过编写脚本调用接口获取后台登录页面和/或后台管理页面的所有dom节点相对于页面的坐标与长宽属性集合;
11、在所述蜜饵为忘记密码蜜饵的情况下,定位form标签且以该form标签为根节点,通过最大公共祖先节点算法找到用户名与忘记密码表单输入框的父节点,并将该父节点的倒数第二个孩子节点作为合适嵌入蜜饵的dom节点;
12、在所述蜜饵为模板管理蜜饵的情况下,在后台登录页面对应的dom节点中找到侧边栏的根节点后,基于所述侧边栏的根节点对后台登录页面对应的dom节点进行深度优先遍历,并对得到的第二叶节点集合中的所有节点基于所述坐标与长宽属性集合进行回溯对比,以得到嵌入模板管理蜜饵的dom节点;其中,所述侧边栏的根节点是长乘以宽最大的dom节点;
13、在所述蜜饵为头像上传蜜饵的情况下,在后台登录页面对应的dom节点中找到头部导航栏节点,并该头部导航栏节点的子节点位置作为嵌入头像上传蜜饵的dom节点;其中,头部导航栏节点是纵坐标最小且长度最长的dom节点。
14、进一步地,所述对得到的第一叶节点集合中的所有节点基于所述坐标与长宽属性集合进行回溯对比,以得到嵌入忘记密码蜜饵的dom节点,包括:
15、针对所述第一叶节点集合,两两分析每个节点的父节点是否是同一个;
16、在任两个节点的父节点是同一个的情况下,通过对比两个节点的长宽属性,以判断该两个节点是否是同样大小的页面元素;
17、在该两个节点是同样大小的页面元素的情况下,将该两个节点加入满足条件集合;
18、遍历满足条件集合,将满足条件集合中最后一个节点后的节点作为嵌入忘记密码蜜饵的dom节点。
19、进一步地,在所述蜜饵为忘记密码蜜饵且该忘记密码蜜饵包括sql注入漏洞的情况下,所述将所述流量重定向到对应的容器中,以进行所述流量的漏洞感知,包括:
20、设定蜜饵标签;其中,所述蜜饵标签中设置一个特殊的可注入参数;
21、在该流量利用报错注入的方式来探测该蜜饵标签时,sql服务器基于该特殊的可注入参数产生报错警告。
22、进一步地,在所述蜜饵为忘记密码蜜饵且该忘记密码蜜饵包括验证码逻辑漏洞的情况下,所述将所述流量重定向到对应的容器中,以进行所述流量的漏洞感知,包括:
23、针对该流量对应的找回密码操作,将重置验证码发送至管理员邮箱;
24、接收输入的重置验证码;
25、在所述输入的重置验证码错误的情况下,则显示重置验证码错误,并跳转回登录主页;
26、在所述输入的重置验证码正确的情况下,则显示虚假的密码修改功能,并触发攻击警报。
27、进一步地,在所述蜜饵为模板管理蜜饵的情况下,所述将所述流量重定向到对应的容器中,以进行所述流量的漏洞感知,包括:
28、判定该流量对应的操作是配置文件管理页面中的文件上传;
29、接收用户的上传文件;
30、在用户上传一个带有木马的模板文件时,该模板文件被上传至容器中;
31、当所述用户找到该模板文件的url地址,则判定系统收到攻击。
32、进一步地,在所述蜜饵为头像上传蜜饵的情况下,所述将所述流量重定向到对应的容器中,以进行所述流量的漏洞感知,包括:
33、判定该流量对应的操作是配置文件管理页面中的图片上传;
34、接收用户上传的图片文件;其中,所述图片文件包括一图片;
35、当该图片文件不是图片类型后缀时,在用户后台管理页面中显示图片异常,且浏览器中会抛出加载资源错误的异常;
36、将该图片文件上传至一个隔离的环境。
37、一种基于蜜饵的web渗透感知装置,所述装置应用一代理服务器,所述装置包括:
38、分析模块,用于代理web服务器的所有流量,并在转发流量的过程中对流量中的后台登录界面和/或后台管理界面的html结构进行分析,以得到合适嵌入蜜饵的dom节点;
39、嵌入模块,用于在合适嵌入蜜饵的dom节点嵌入蜜饵,得到嵌入蜜饵后的页面;其中,所述嵌入蜜饵后的页面与未嵌入蜜饵的页面的相似度大于一设定阈值;
40、感知模块,用于在一流量对所述嵌入蜜饵后的页面中的蜜饵访问时,将所述流量重定向到对应的容器中,以进行所述流量的漏洞感知;在一流量未对所述嵌入蜜饵后的页面中的蜜饵访问时,将所述流量重定向到web服务器,以完成所述流量的访问。
41、一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令在被执行时实现上述任一项所述的方法。
42、与现有技术相比,本发明积极效果如下:
43、目前在web领域所常用的防御技术主要集中在两类:第一类是以waf(webapplication firewall)为代表的防火墙技术,这类技术的主要特点是对网络流量中的关键特征进行识别匹配,从其不断更新的匹配规则库中判断是否存在异常行为,在定向攻击的防御效果上较弱,其特征匹配机制是存在绕过的可能;第二类是以网络欺骗技术为代表的蜜罐(honey pot)技术,这类技术的主要特点是在网络攻击的各个阶段设置虚假的脆弱目标,迷惑、欺骗、引诱黑客前来攻击,从而对其攻击行为进行感知和溯源分析。但是蜜罐通常都是以独立的网络节点存在,其与被保护的目标信息系统融合成度上较低,如果蜜罐没有受到攻击,则不能为信息系统提供预警与溯源分析的功能。
44、因此,本发明在部署模式上和欺骗防御技术与web应用的融合度上进行了创新,提出一种中间人代理的方式对流量中的html页面进行修改,在其中的合适位置嵌入蜜饵来感知攻击。采用中间人代理的方式解决了以往欺骗防御技术产品部署上的复杂操作,在页面中嵌入蜜饵改善了欺骗防御技术和被保护目标融合度的问题,最大程度上还原的信息系统的真实性。并且,本发明对蜜饵进行了改良,在所有蜜饵对应的服务后端搭建了相应的漏洞服务程序,极大提升了交互性。