一种基于有限状态机的网站逻辑漏洞检测方法及系统技术方案

技术编号:34392029 阅读:21 留言:0更新日期:2022-08-03 21:21
本发明专利技术公开了一种基于有限状态机的网站逻辑漏洞检测方法及系统,属于信息安全领域。该方法包括:捕获HTTP数据包和服务端的数据库执行日志,识别用户操作序列信息;利用所述信息对安全敏感的业务逻辑流程构建属性图模型以表示用户操作的逻辑行为模式;基于原始HTTP请求信息,对参数进行变异以生成新的测试用例,并根据不同的变异对象判定不同类型的逻辑漏洞。该方法可以高效的检测Web应用程序中存在的业务逻辑漏洞,并且可以推测出逻辑漏洞的类型,方便快速定位Web逻辑漏洞并提出有效的解决方案。解决方案。解决方案。

【技术实现步骤摘要】
一种基于有限状态机的网站逻辑漏洞检测方法及系统


[0001]本专利技术涉及信息安全领域,尤其涉及一种基于有限状态机的网站逻辑漏洞检测方法及系统。

技术介绍

[0002]随着Web安全技术的不断发展,传统的注入类安全问题已经得到了广泛而深入的研究,目前无论是学术界还是工业界,针对该类安全缺陷均已有了比较成熟的解决方案。随着传统漏洞利用过程技术成本的不断增加,越来越多的攻击者将目光转向Web逻辑漏洞的攻击和利用。Web业务逻辑漏洞主要由于程序开发人员在编写Web程序时,由于未对用户输入进行严格校验,或将某些安全验证行为完全寄托在用户不可见性上,即可导致Web逻辑漏洞的发生。在实际场景中,我们常将Web逻辑漏洞分为关键流程跳过、未授权访问、越权漏洞、参数未校验等类型。不同于传统Web安全漏洞,逻辑漏洞对于系统本身不会产生威胁,但是会极大的干扰业务的安全运行。该攻击所能造成的影响包括但不限于:由于越权导致的用户隐私泄露,校验不严导致的任意密码修改,校验不严导致的电子商城支付漏洞等等。
[0003]然而,由于逻辑漏洞自身难以发现,并且依赖手工测试的特点,如何高效的检测逻辑漏洞已经成为Web安全一大难题。工业界目前针对Web漏洞的主流扫描工具,包括AWVS、Nessus、OWASP Zed、北极熊扫描器等,均不支持对Web逻辑漏洞进行自动化的高效检测。以中通安全团队开源的越权漏洞检测工具为例,该工具通过对捕获的HTTP数据包进行处理,替换(或置空)数据包中的身份令牌并重放数据包以识别越权漏洞的存在。由于技术本身的限制,该型工具无法定位和识别除越权漏洞以外的其他逻辑漏洞,在实际应用过程中具有较大的限制。
[0004]目前,针对Web逻辑漏洞的定位和检测,需要经过经验丰富的渗透测试工程师进行工序繁琐的渗透测试和代码审计以后才可以发现,并且由于工程师专业素养的差距和技术条件限制,难以批量化、标准化的进行逻辑漏洞的识别和检测。因此,迫切需要一种网站逻辑漏洞检测工具实现程序中潜在的逻辑漏洞定位,避免业务正常逻辑受到干扰。

技术实现思路

[0005]为了实现上述目的,本专利技术提供了一种基于有限状态机的网站逻辑漏洞检测方法和系统,该方法基于有限状态机理论构建特征属性图,在应用逻辑层面构建用户行为模型,然后生成测试用例以检测Web逻辑漏洞。
[0006]本专利技术采用如下技术方案:
[0007]一种基于有限状态机的网站逻辑漏洞检测方法,包括以下步骤:
[0008]步骤1:读取数据库日志与网络请求序列,匹配数据行为和网络请求的对应关系,得到每次网络请求对应的数据操作信息;
[0009]步骤2:根据数据操作信息,获取每一次网络请求对应的安全属性,确定关键节点和安全性无关节点;
[0010]步骤3:建立有限状态机,对网络的业务逻辑进行建模,得到特征属性图模型,以表示用户操作的逻辑行为模式;
[0011]步骤4:在原始网络请求的基础上进行参数变异,生成新的测试用例,并对新测试用例的执行效果进行评估,根据不同的变异对象判定不同类型的逻辑漏洞。
[0012]作为本专利技术的优选实施方式,所述的步骤1包括:
[0013](1

1)获取用户每一次访问网站产生的HTTP数据包和对应的时间戳,以及读取服务端的数据库日志文件;
[0014](1

2)解析数据库日志文件,获取日志文件中的时间戳和原始执行的SQL语句,提取原始SQL语句中涉及的表名和列名信息,可基于Python的sql_metadata模块实现;
[0015](1

3)解析HTTP数据包,获取每一个数据包产生后的浏览器URL地址(可以从浏览器标签页中获取URL地址),记录URL地址变化期间产生的HTTP数据包以及对应的时间戳;
[0016](1

4)将SQL语句时间戳和HTTP数据包的时间戳进行匹配,获得每次URL跳转事件期间所有HTTP数据包对应产生的数据操作信息。
[0017]作为本专利技术的优选实施方式,所述的步骤2具体为:
[0018]判断每一次网络请求对应的数据操作信息,若数据操作不包含对数据的增删改操作(即UPDATE DELETE INSERT),且不包含用户标识的与安全性相关的关键表名与字段名的查询操作(即SELECT),则认为该网络请求与安全性无关,将该网络请求对应的URL地址定义为安全性无关节点;否则,将该网络请求对应的URL地址定义为关键节点。
[0019]作为本专利技术的优选实施方式,所述的关键节点包括查询节点、修改节点、删除节点和增添节点;所述的查询节点为包含用户标识的与安全性相关的关键表名与字段名的数据查询操作网络请求对应的URL地址,所述的修改节点为数据的数据修改操作网络请求对应的URL地址,所述的删除节点为数据删除操作网络请求对应的URL地址,增添节点为数据添加操作网络请求对应的URL地址。
[0020]步骤3中,采用有限状态机理论构建特征属性图,可以具体的描述用户从访问网站开始的各种操作及逻辑转换过程,有效的表述网站逻辑转换信息,从而快速定位逻辑漏洞节点。作为本专利技术的优选实施方式,所述的步骤3包括:
[0021](3

1)将包含用户标识的与安全性相关的关键表名与字段名的查询操作对应的查询节点作为有限状态机初始节点,构建属性图;
[0022](3

2)每次用户操作涉及URL地址转换时,在属性图上创建新节点,新节点的名称为对应的URL地址,并将新URL地址下所有网络请求对应的数据操作信息(HTTP状态码、请求结果等)作为新节点属性,将触发URL跳转的网络请求作为连接两个相邻节点的边;
[0023](3

3)重复步骤(3

2),直至创建完成的新节点为修改节点、删除节点或增添节点,则将该节点的下一节点作为终止节点。若一直到网络请求序列结束,仍然没有找到对应修改节点、删除节点或增添节点的网络请求,则将属性图的初始节点作为独立查询节点。
[0024]该步骤3中,所述的节点定义为用户浏览器的URL地址,状态转换定义为浏览器URL地址跳转。例如,当用户访问地址A,此时用户浏览器地址栏显示地址A,即认为用户当前处在节点A中,无论用户在当前节点进行任何操作(鼠标点击、输入、调整页面大小等)均不会引发节点跳转。当用户单击每个按钮或点击某个URL地址,使当前用户浏览器地址栏显示的地址转换为B时,认为用户从上一个节点A发生状态转换至当前节点B。
[0025]作为本专利技术的优选实施方式,所述的步骤4包括:
[0026](4

1)识别构成特征属性图模型的边的网络请求中的参数类型,分为int类型、String类型、以及cookies类型;
[0027](4

2)若原始网络请求的参数属于int类型,则对所述的原始网络请求分别进行代数运算、置零运算以及取反运算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于有限状态机的网站逻辑漏洞检测方法,其特征在于,包括以下步骤:步骤1:读取数据库日志与网络请求序列,匹配数据行为和网络请求的对应关系,得到每次网络请求对应的数据操作信息;步骤2:根据数据操作信息,获取每一次网络请求对应的安全属性,确定关键节点和安全性无关节点;步骤3:建立有限状态机,对网络的业务逻辑进行建模,得到特征属性图模型,以表示用户操作的逻辑行为模式;步骤4:在原始网络请求的基础上进行参数变异,生成新的测试用例,并对新测试用例的执行效果进行评估,根据不同的变异对象判定不同类型的逻辑漏洞。2.根据权利要求1所述的基于有限状态机的网站逻辑漏洞检测方法,其特征在于,所述的步骤1包括:(1

1)获取用户每一次访问网站产生的HTTP数据包和对应的时间戳,以及读取服务端的数据库日志文件;(1

2)解析数据库日志文件,获取日志文件中的时间戳和原始执行的SQL语句,提取原始SQL语句中涉及的表名和列名信息;(1

3)解析HTTP数据包,获取每一个数据包产生后的浏览器URL地址,记录URL地址变化期间产生的HTTP数据包以及对应的时间戳;(1

4)将SQL语句时间戳和HTTP数据包的时间戳进行匹配,获得每次URL跳转事件期间所有HTTP数据包对应产生的数据操作信息。3.根据权利要求1所述的基于有限状态机的网站逻辑漏洞检测方法,其特征在于,所述的步骤2具体为:判断每一次网络请求对应的数据操作信息,若数据操作不包含对数据的增删改操作,且不包含用户标识的与安全性相关的关键表名与字段名的查询操作,则认为该网络请求与安全性无关,将该网络请求对应的URL地址定义为安全性无关节点;否则,将该网络请求对应的URL地址定义为关键节点。4.根据权利要求3所述的基于有限状态机的网站逻辑漏洞检测方法,其特征在于,所述的关键节点包括查询节点、修改节点、删除节点和增添节点;所述的查询节点为包含用户标识的与安全性相关的关键表名与字段名的数据查询操作网络请求对应的URL地址,所述的修改节点为数据的数据修改操作网络请求对应的URL地址,所述的删除节点为数据删除操作网络请求对应的URL地址,增添节点为数据添加操作网络请求对应的URL地址。5.根据权利要求4所述的基于有限状态机的网站逻辑漏洞检测方法,其特征在于,所述的步骤3包括:(3

1)将包含用户标识的与安全性相关的关键表名与字段名的查询操作对应的查询节点作为有限状态机初始节点,构建属性图;(3

2)每次用户操作涉及URL地址转换时,在属性图上创建新节点,新节点的名称为对应的URL地址,并将新URL地址下所有网络请求对应的数据操作信息作为新节点属性,将触发URL跳转的网络请求作为连接两个相邻节点的边;(3

3)重复步骤(3

2),直至创建完...

【专利技术属性】
技术研发人员:纪守领刘昕鹏张旭鸿陈建海
申请(专利权)人:尚蝉浙江科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1