一种自动化业务逻辑漏洞挖掘方法

文档序号:36718843发布日期:2024-01-16 12:19阅读:29来源:国知局
一种自动化业务逻辑漏洞挖掘方法

本发明涉及互联网应用领域,尤其涉及一种自动化业务逻辑漏洞挖掘方法。


背景技术:

1、网络应用可用来广泛指代存在公开访问的入口,面向各种不同用户的联机服务程序,常见的形式有网站门户、各种管理系统、甚至大部分小程序app。这些应用面向的用户也根据场景有所不同,各种用户群体都可能存在,在正常用户之中,很有可能混杂着黑客等不法分子,同时由于互联网场景具有高并发、流量大等特征,一旦应用存在安全漏洞,就很有可能在极短时间内造成极大损失。因此,任何一家相关企业,在应用投入生产之前,都会进行严格地安全扫描来尽早发掘漏洞。

2、应用漏洞不同于系统软件漏洞(例如缓冲区溢出、内存泄漏等),攻击者利用这些漏洞可直接与目标网站进行交互。根据应用漏洞的特征又可以分为业务逻辑漏洞和非业务逻辑漏洞。非业务逻辑漏洞一般指一些公认的由于应用相关开发组件的缺陷所引发的漏洞,例如sql注入、xss、csrf等漏洞;而业务逻辑漏洞则是指具体业务功能逻辑代码的实现缺陷导致的漏洞,例如越权漏洞、支付篡改漏洞等。

3、业务逻辑漏洞的挖掘难度是要高于其他应用漏洞的。这是由于业务逻辑漏洞往往和具体的功能逻辑高度相关,而不同应用往往具有不同的复杂功能,因此挖掘功能逻辑漏洞不仅需要熟悉应用开发流程,还要理解不同应用的功能场景需求。目前,市面上存在很多针对应用漏洞的自动化扫描工具,但它们往往无法覆盖或者只能覆盖一小部分逻辑漏洞,很多企业只能依靠人工检测逻辑漏洞,成本高昂,因此技术升级需求较为迫切。

4、因此,本领域的技术人员致力于开发一种自动化业务逻辑漏洞挖掘方法。实现应用漏洞的自动化扫描工具的技术升级。


技术实现思路

1、有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是针对应用漏洞的自动化扫描工具无法覆盖或者只能覆盖一小部分逻辑漏洞;只能依靠人工检测逻辑漏洞,成本高昂。

2、为实现上述目的,本发明提供了一种自动化业务逻辑漏洞挖掘方法,包括以下步骤:

3、步骤1、基于人工智能的黑盒审计系统以用户的身份对目标应用进行审计;

4、步骤2、基于智能代码分析的白盒审计系统对应用源代码进行静态审计。

5、进一步地,所述黑盒审计系统模拟用户与目标应用进行有状态地交互,全面触发其功能逻辑,并收集整个过程的业务流程和数据包,然后提取html页面中的语义信息片段作为神经网络输入进行页面功能识别,精确识别业务流类型、页面表单类型以及数据包参数类型,接着根据业务、表单类型,进行自动填写,自动与应用进行交互,实现目标系统的业务流建模和表单填充。

6、进一步地,所述黑盒审计系统的漏洞研判模块基于行为分析、变量分析、headers分析以及响应判断实现风险点测试,检查是否存在逻辑漏洞,并产生检测报告。

7、进一步地,所述白盒审计系统的权限分析模块查找代码中的敏感数据访问切片,进行后向污点分析,提取权限相关代码,检测是否存在权限相关漏洞。

8、进一步地,所述白盒审计系统的控制流分析模块使用符号执行、污点分析技术,根据特定的污点规则识别支付相关漏洞。

9、进一步地,所述白盒审计系统的双向数据流分析模块利用中间语言进行双向数据流分析,根据特定规则识别文件上传漏洞。

10、进一步地,所述步骤1,包括以下步骤:

11、步骤1.1、黑盒审计模块接受检测目标的元数据信息,开始进行自动化检测;

12、步骤1.2、业务流建模过程对目标应用进行自动交互、全面探测功能逻辑,构建业务流模型并和海量数据包相对应;

13、步骤1.3、神经网络模块根据之前收集的业务流及数据包信息,提取各个页面中的语义片段,进行数据标准化之后输入神经网络模型进行分类,识别出各个业务流的具体功能类型、对应页面的表单类型以及对应数据包的参数类型;

14、步骤1.4、自动化表单填充模块根据之前识别的表单类型信息,进行自动填充与提交,触发各种不同的功能;如自动填充失败,则根据配置决定是否等待人工处理;

15、步骤1.5、漏洞研判模块根据之前识别的业务流模型,选择不同类型业务下可能存在的逻辑漏洞进行针对性检测,最终给出逻辑漏洞的检测报告。

16、进一步地,所述步骤2,包括以下步骤:

17、步骤2.1、白盒审计模块接受目标应用源代码或二进制程序作为输入,识别语言种类、平台信息,开始进行检测;

18、步骤2.2、权限分析模块查找代码中的数据访问切片,并针对可能的敏感数据访问片段进行后向污点分析,提取权限上下文,检查是否存在越权、未授权访问漏洞;

19、步骤2.3、控制流分析模块,基于符号执行对程序进行路径遍历,之后通过污点分析检测支付相关流程的正确性,检查是否存在支付篡改漏洞;

20、步骤2.4、双向数据流分析模块,将目标代码转为中间语言,之后根据文件上传漏洞特征进行双向数据流分析,检查是否存在文件上传漏洞;

21、步骤2.5、白盒审计模块汇总检测结果,给出逻辑漏洞的检测报告。

22、进一步地,所述黑盒审计系统支持检测的逻辑漏洞包括短信轰炸,短信验证码重复利用,短信验证码未绑定,短信验证码返回到前端,图形验证码返回到前端,验证码机制过于简单,验证码长度可控,验证码可识别,短信验证码可爆破,验证码可重复利用,重放漏洞,登录认证可被绕过,短信内容可控,邮件验证码安全,无图形验证码功能,前端可控的验证码生成机制,图形验证码机制可以被绕过,短信验证码机制可以被绕过,更改密码时不需要输入原密码,会话令牌不应写入url,用户密码重置这21种。

23、进一步地,所述白盒审计系统支持检测的逻辑漏洞包括水平/垂直越权漏洞、未授权访问、支付篡改漏洞、文件上传漏洞这5类。

24、在本发明的较佳实施方式中,针对市面上应用漏洞的自动化扫描工具,无法覆盖或者只能覆盖一小部分逻辑漏洞。现有的应用漏洞扫描工具,只是简单地扫描目标应用的相关信息,提取应用的特征,然后与漏洞特征库做对比,从而发现目标应用存在的漏洞。这种方法的特点是只能检测已知的、共性的漏洞,无法检测未知的、应用特性的漏洞。事实上,逻辑漏洞往往是由于程序员在业务流编写过程中的疏忽引起的,这种特性的漏洞是无法使用特征库去比对的。传统的应用漏洞扫描工具不会考虑应用的业务流关系,因此很难检测应用的逻辑漏洞。本发明提供了一套应用逻辑漏洞审计系统,包括基于人工智能的黑盒审计系统和基于智能代码分析的白盒审计系统,支持检测26种常见功能逻辑漏洞,覆盖了市面上绝大多数的逻辑漏洞。基于人工智能的黑盒审计系统以用户的身份对目标应用进行审计,会模拟用户行为自动与目标应用进行交互。系统通过保存用户的session状态,访问目标应用的完整功能,并智能识别用户表单和后台http数据包之间的关联,建立具体的业务过程和后台海量数据包相互关联的业务流模型,使用该模型可以使系统分析与理解应用的业务流过程,从而在应用繁复的业务流程中找出潜在的逻辑漏洞。在自动化表单填充的过程中,系统可以根据请求及参数识别的结果,尝试自动处理页面中不同类型的表单,例如进行自动登录、注册、重置密码等行为以全面地触发应用功能,针对验证码等无法处理的情况会提供人工处理的接口。通过模拟用户的行为,系统可以发现这些行为中隐藏的逻辑漏洞。基于智能代码分析的白盒审计系统基于程序切片和后向污点分析技术提取代码中敏感数据操作的权限上下文,支持常用orm框架数据访问逻辑的解析。其中的控制流分析模块,会基于符号执行遍历程序的执行路径,再基于污点分析判断污点变量是否能够抵达漏洞点。采用该种方式,可以分析程序中的敏感权限操作,从而在源代码层面判断应用是否存在逻辑漏洞。

25、业务逻辑漏洞往往和具体的功能逻辑高度相关,而不同应用往往具有不同的复杂功能,因此挖掘功能逻辑漏洞不仅需要熟悉应用开发流程,还要理解不同应用的功能场景需求。很多企业只能依靠人工检测逻辑漏洞,成本高昂。本发明提供的应用逻辑漏洞审计系统可以实现全流程自动化,不需要测试人员了解逻辑漏洞的相关知识。黑盒审计系统可以模拟用户行为自动与目标应用进行交互,并通过提取html页面中的语义信息片段作为神经网络输入进行页面功能识别。基于神经网络的请求及参数识别模块可以精确识别页面功能、页面表单类型(如登录、注册)以及请求参数类型,从而提高爬虫的覆盖率。然后根据识别结果进行自动化表单填充,最后基于行为分析、变量分析、headers分析以及响应判断实现风险点测试。行为分析用来判断业务流程中是否有可跳过的中间步骤,或是否可以乱序执行;变量分析根据不同漏洞规则,对于关键参数(之前模块识别的)进行变异;headers分析通过对增加、删除、修改请求头内容进行payload变异;响应判断通过对比响应包差别,智能判断攻击是否成功。基于智能代码分析的白盒审计系统基于程序切片和后向污点分析技术提取代码中敏感数据操作的权限上下文,然后基于符号执行遍历程序的执行路径,再基于污点分析判断污点变量是否能够抵达漏洞点,最后通过双向的数据流分析,将关键的逻辑代码转为底层的中间语言,判断是否存在漏洞路径。使用这种分析方式产生的误报率很低,减少了后期人工验证所需的时间。

26、本发明与现有技术相比较,具有如下显而易见的实质性特点和显著优点:

27、1.本发明支持最多26种业务逻辑漏洞的自动化检测,覆盖漏洞范围远超现有方案;检测效率极高,从开始检测到生成报告,效率远高于人工检测;结合了黑盒检测和白盒源代码检测技术,进一步扩大了漏洞检测范围。

28、2.本发明区别于传统爬虫方式,采用有状态地自动化交互,对目标应用进行了完整的业务流建模;采用人工智能技术来识别业务流类型和相关参数,相比规则匹配更智能。

29、以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1