System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种自动化业务逻辑漏洞挖掘方法技术_技高网

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

技术编号:40042927 阅读:5 留言:0更新日期:2024-01-16 20:00
本发明专利技术公开了一种自动化业务逻辑漏洞挖掘方法,涉及互联网应用领域。本发明专利技术提供了一套应用逻辑漏洞审计系统,包括基于人工智能的黑盒审计系统和基于智能代码分析的白盒审计系统,覆盖了市面上绝大多数的逻辑漏洞。基于人工智能的黑盒审计系统以用户的身份对目标应用进行审计,基于智能代码分析的白盒审计系统对应用源代码进行静态审计。本发明专利技术支持业务逻辑漏洞的自动化检测,覆盖漏洞范围远超现有方案;检测效率极高,从开始检测到生成报告,效率远高于人工检测;结合了黑盒检测和白盒源代码检测技术,进一步扩大了漏洞检测范围。

【技术实现步骤摘要】

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


技术介绍

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数据包之间的关联,建立具体的业务过程和后台海量数据包相互关联的业务流模型,使用该模型可以使系统分析与理解应用的业务流过程,从而在应用繁复的业务流程中找出潜在的逻辑漏洞。在自本文档来自技高网...

【技术保护点】

1.一种自动化业务逻辑漏洞挖掘方法,其特征在于,包括以下步骤:

2.如权利要求1所述的自动化业务逻辑漏洞挖掘方法,其特征在于,所述黑盒审计系统模拟用户与目标应用进行有状态地交互,全面触发其功能逻辑,并收集整个过程的业务流程和数据包,然后提取HTML页面中的语义信息片段作为神经网络输入进行页面功能识别,精确识别业务流类型、页面表单类型以及数据包参数类型,接着根据业务、表单类型,进行自动填写,自动与应用进行交互,实现目标系统的业务流建模和表单填充。

3.如权利要求1所述的自动化业务逻辑漏洞挖掘方法,其特征在于,所述黑盒审计系统的漏洞研判模块基于行为分析、变量分析、Headers分析以及响应判断实现风险点测试,检查是否存在逻辑漏洞,并产生检测报告。

4.如权利要求1所述的自动化业务逻辑漏洞挖掘方法,其特征在于,所述白盒审计系统的权限分析模块查找代码中的敏感数据访问切片,进行后向污点分析,提取权限相关代码,检测是否存在权限相关漏洞。

5.如权利要求1所述的自动化业务逻辑漏洞挖掘方法,其特征在于,所述白盒审计系统的控制流分析模块使用符号执行、污点分析技术,根据特定的污点规则识别支付相关漏洞。

6.如权利要求1所述的自动化业务逻辑漏洞挖掘方法,其特征在于,所述白盒审计系统的双向数据流分析模块利用中间语言进行双向数据流分析,根据规则识别文件上传漏洞。

7.如权利要求1所述的自动化业务逻辑漏洞挖掘方法,其特征在于,所述步骤1,包括以下步骤:

8.如权利要求1所述的自动化业务逻辑漏洞挖掘方法,其特征在于,所述步骤2,包括以下步骤:

9.如权利要求1所述的自动化业务逻辑漏洞挖掘方法,其特征在于,所述黑盒审计系统支持检测的逻辑漏洞包括短信轰炸,短信验证码重复利用,短信验证码未绑定,短信验证码返回到前端,图形验证码返回到前端,验证码机制过于简单,验证码长度可控,验证码可识别,短信验证码可爆破,验证码可重复利用,重放漏洞,登录认证可被绕过,短信内容可控,邮件验证码安全,无图形验证码功能,前端可控的验证码生成机制,图形验证码机制可以被绕过,短信验证码机制可以被绕过,更改密码时不需要输入原密码,会话令牌不应写入URL,用户密码重置这21种。

10.如权利要求1所述的自动化业务逻辑漏洞挖掘方法,其特征在于,所述白盒审计系统支持检测的逻辑漏洞包括水平/垂直越权漏洞、未授权访问、支付篡改漏洞、文件上传漏洞这5类。

...

【技术特征摘要】

1.一种自动化业务逻辑漏洞挖掘方法,其特征在于,包括以下步骤:

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

3.如权利要求1所述的自动化业务逻辑漏洞挖掘方法,其特征在于,所述黑盒审计系统的漏洞研判模块基于行为分析、变量分析、headers分析以及响应判断实现风险点测试,检查是否存在逻辑漏洞,并产生检测报告。

4.如权利要求1所述的自动化业务逻辑漏洞挖掘方法,其特征在于,所述白盒审计系统的权限分析模块查找代码中的敏感数据访问切片,进行后向污点分析,提取权限相关代码,检测是否存在权限相关漏洞。

5.如权利要求1所述的自动化业务逻辑漏洞挖掘方法,其特征在于,所述白盒审计系统的控制流分析模块使用符号执行、污点分析技术,根据特定的污点规则识别支付相关漏洞。

6...

【专利技术属性】
技术研发人员:邹福泰黄明义李欣易平邱卫东李丽红万强刘鸣
申请(专利权)人:上海交通大学
类型:发明
国别省市:

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

1