公开/公告号CN112291273A
专利类型发明专利
公开/公告日2021-01-29
原文格式PDF
申请/专利权人 远江盛邦(北京)网络安全科技股份有限公司;
申请/专利号CN202011547586.5
发明设计人 杨泽辉;
申请日2020-12-24
分类号H04L29/06(20060101);G06F21/57(20130101);
代理机构11369 北京远大卓悦知识产权代理有限公司;
代理人靳雪华
地址 100089 北京市海淀区农大南路1号院2号楼6层办公A-603
入库时间 2023-06-19 09:44:49
技术领域
本发明涉及网络安全技术领域,特别涉及一种基于多维向量比较的页面模糊匹配实现方法。
背景技术
随着互联网技术的发展,尤其是移动互联网的发展,Web应用越来越成为了主流应用,据统计互联网上的流量90%以上为http/https协议的流量,Web应用和人们的生活、切身利益也紧密相连,其安全问题也越来越受到关注,针对Web应用的漏洞爆发也是层出不穷,帮助用户提前发现自身网站存在的安全弱点也变得尤为紧要,目前主要的手段是通过Web爬虫的方式爬取应用页面,并对其进行漏洞检测或监控,对页面的漏洞检测、篡改检测都会涉及到要对页面进行比较的问题,由于网络,页面抖动(访问相同的页面,每次的结果稍有差异,比如:页面中包含时钟信息等)等原因,通过对页面进行完整的字符串匹配来认定页面不同显然是非常武断的,造成漏洞检测、篡改检测的不准确,因此设计一种高效、准确的页面比较模糊匹配方法变得非常迫切。
发明内容
本发明的一个目的是解决至少上述问题,并提供至少后面将说明的优点。
本发明还有一个目的是提供一种基于多维向量比较的页面模糊匹配实现方法,通过页面的多维向量实现页面间的模糊匹配,有效避免了Web漏洞扫描、篡改监控等多种安全监测方法在实际操作过程中遇到因页面抖动等原因造成的误判的弊端。
为了实现根据本发明的这些目的和其它优点,提供了一种基于多维向量比较的页面模糊匹配实现方法,包括以下步骤:
S1、将待比较的两个应用页面A和B分别抽象为维数为n的多维向量V
S2、计算V
S3、将Diff_Abs[i]与预设的最大绝对误差值F_Abs_Max相比较,Diff_Rlt[i]与预设的最大相对误差值F_Rlt_Max相比较;若Diff_Abs[i]大于F_Abs_Max,或Diff_Rlt[i]大于F_Rlt_Max,则均判定维度i为误差维度,并统计至误差维数统计值内;
S4、重复S2和S3直至n维全部比较完毕,依据所述误差维数统计值得到误差维数N_diff,比较N_diff是否小于预设的最大误差维数N_diff_Max;是,则判定A和B为相似页面;否,则判定A和B为差异页面。
优选的是,所述的基于多维向量比较的页面模糊匹配实现方法中,20≤n≤255。
优选的是,所述的基于多维向量比较的页面模糊匹配实现方法中,S1中基于哈希算法页面字符统计将应用页面A或B抽象为多维向量V
优选的是,所述的基于多维向量比较的页面模糊匹配实现方法中,基于哈希算法页面字符统计将应用页面A或B抽象为多维向量V
S1-1、依次根据应用页面A或B中的每一个字符求取字符值C和维度n的余数R;
S1-2、根据得到的R将A或B的多维向量的第R维加1;
S1-3、重复S1-1和S1-2,直至求取了A或B中的所有字符的余数R。
优选的是,所述的基于多维向量比较的页面模糊匹配实现方法中,S2中,第i维的差值绝对值Diff_Abs[i]依据下述公式1计算得到:
Diff_Abs[i]=ABS(V
其中,V
优选的是,所述的基于多维向量比较的页面模糊匹配实现方法中,S2中,第i纬的绝对差值占比Diff_Rlt[i]依据下述公式2计算得到:
Diff_Rlt[i]= Diff_Abs[i]*100/MAX(V
其中,MAX(Va[i],Vb[i])指取应用页面A和B的第i维向量值VA[i]和VB[i]中的较大值。
本发明至少包括以下有益效果:
本发明的基于多维向量比较的页面模糊匹配实现方法中,通过将待比较的两个应用页面分别抽象为多维向量,然后利用两个多维向量针对每个维度的绝对差值和相对差值与预设的最大绝对误差值和最大相对误差值进行比较,进而最终得到两个多维向量的误差维数总数,最后利用误差维数总数与预设的最大误差维数的比较确定两个应用页面是否相似,有效的避免了现有技术中通过对页面进行完整的字符串匹配来认定页面不同时,由于网络,页面抖动(访问相同的页面,每次的结果稍有差异,比如:页面中包含时钟信息等)等原因造成的检测不准确的弊端,进而使得对于应用页面的漏洞检测、篡改检测的准确性显著提高。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
具体实施方式
下面对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不排除一个或多个其它元件或其组合的存在或添加。
本发明提供一种基于多维向量比较的页面模糊匹配实现方法,包括以下步骤:
S1、将待比较的两个应用页面A和B分别抽象为维数为n的多维向量V
S2、计算V
S3、将Diff_Abs[i]与预设的最大绝对误差值F_Abs_Max相比较,Diff_Rlt[i]与预设的最大相对误差值F_Rlt_Max相比较;若Diff_Abs[i]大于F_Abs_Max,或Diff_Rlt[i]大于F_Rlt_Max,则均判定维度i为误差维度,并统计至误差维数统计值内;
S4、重复S2和S3直至n维全部比较完毕,依据所述误差维数统计值得到误差维数N_diff,比较N_diff是否小于预设的最大误差维数N_diff_Max;是,则判定A和B为相似页面;否,则判定A和B为差异页面。
在上述方案中,通过将待比较的两个应用页面分别抽象为多维向量,然后利用两个多维向量针对每个维度的绝对差值和相对差值与预设的最大绝对误差值和最大相对误差值进行比较,进而最终得到两个多维向量的误差维数总数,最后利用误差维数总数与预设的最大误差维数的比较确定两个应用页面是否相似,有效的避免了现有技术中通过对页面进行完整的字符串匹配来认定页面不同时,由于网络,页面抖动(访问相同的页面,每次的结果稍有差异,比如:页面中包含时钟信息等)等原因造成的检测不准确的弊端,进而使得对于应用页面的漏洞检测、篡改检测的准确性显著提高。
一个优选方案中,20≤n≤255。
在上述方案中,维数如果选择太小,结果的偏差会较大,因此根据反复实验计算,建议n值最少为20维,但因字符的大小范围为0-255,所以n值不应超过255。
一个优选方案中,S1中基于哈希算法页面字符统计将应用页面A或B抽象为多维向量V
在上述方案中,余数Hash算法在算法性能,以及准确性上均显著优于其他的Hash算法。
一个优选方案中,基于哈希算法页面字符统计将应用页面A或B抽象为多维向量V
S1-1、依次根据应用页面A或B中的每一个字符求取字符值C和维度n的余数R;
S1-2、根据得到的R将A或B的多维向量的第R维加1;
S1-3、重复S1-1和S1-2,直至求取了A或B中的所有字符的余数R。
在上述方案中,采用余数Hash算法,能够快速形成对页面数据的抽象,将页面的对法转换为数学的多维向量对比,在性能和准确性上都有很大的优势。
一个优选方案中,S2中,第i维的差值绝对值Diff_Abs[i]依据下述公式1计算得到:
Diff_Abs[i]=ABS(V
其中,V
一个优选方案中,S2中,第i维的绝对差值占比Diff_Rlt[i]依据下述公式2计算得到:
Diff_Rlt[i]= Diff_Abs[i]*100/MAX(V
其中,MAX(Va[i],Vb[i])指取应用页面A和B的第i维向量值VA[i]和VB[i]中的较大值。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节。
机译: 控制患者身体运动序列的方法,包括将多维实际特征向量与参考特征向量进行比较,并根据比较结果生成用户可感知的信号
机译: 实现车辆控制器的方法,包括基于两个条件的比较提供比较结果,并基于比较结果之一完成控制器的实现。
机译: 用于实现条件向量运算的系统和方法,其中基于条件向量将包含要在条件运算中使用的多个操作数的输入向量分为两个或多个输出向量