一种业务逻辑漏洞检测方法及装置制造方法及图纸

技术编号:21659144 阅读:17 留言:0更新日期:2019-07-20 05:45
本发明专利技术实施例提供一种业务逻辑漏洞检测方法及装置。其中,方法包括:获取待检测应用程序的源代码;将源代码输入至业务逻辑漏洞检测引擎,获取业务逻辑漏洞检测引擎输出的业务逻辑漏洞检测结果;其中,所述业务逻辑漏洞检测引擎至少包括越权检测组件和短信炸弹检测组件。本发明专利技术实施例提供的方法及装置,业务逻辑漏洞检测引擎可检测多种类型的业务逻辑漏洞,检测类型丰富全面;并且,业务逻辑漏洞检测组件一次集成可无限复用,极大程度上减轻了应用程序开发人员的精力投入,降低了业务逻辑漏洞检测成本;并且,通过源代码检测的方式,业务逻辑漏洞检测准确率高。

A Business Logic Vulnerability Detection Method and Device

【技术实现步骤摘要】
一种业务逻辑漏洞检测方法及装置
本专利技术涉及信息安全
,尤其涉及一种业务逻辑漏洞检测方法及装置。
技术介绍
随着应用程序如社交网站、电子商城和论坛等的普及和迅速发展,应用程序的安全问题也备受关注。由于承载应用程序的硬件设备、软件系统和通信协议等的具体实现或系统安全策略上存在缺陷,应用程序在开发过程中也不不可避免的存在业务逻辑漏洞。目前常见的检测应用程序业务逻辑漏洞的方法为基于用户流量对越权漏洞进行检测,具体步骤如下:步骤S1:收集用户流量;步骤S2:对所述用户流量进行权限等级标记;步骤S3:判断所述用户流量对应的权限等级;当步骤S3判断所述权限等级相同,进入步骤S4:水平越权漏洞检测;否则,进入步骤S5:垂直越权漏洞检测。但上述方法通过收集用户流量的方式对应用程序进行越权漏洞检测,业务逻辑漏洞检测错误率高且检测类型单一。
技术实现思路
本专利技术实施例提供一种业务逻辑漏洞检测方法及装置,用以解决现有的应用程序业务逻辑漏洞业务逻辑漏洞检测方法的检测错误率高且检测类型单一的问题。第一方面,本专利技术实施例提供一种业务逻辑漏洞检测方法,包括:获取待检测应用程序的源代码;将所述源代码输入至业务逻辑漏洞检测引擎,获取所述业务逻辑漏洞检测引擎输出的业务逻辑漏洞检测结果;其中,所述业务逻辑漏洞检测引擎至少包括越权检测组件和短信炸弹检测组件,所述业务逻辑漏洞检测结果至少包括所述待检测应用程序是否存在业务逻辑漏洞以及存在业务逻辑漏洞时的业务逻辑漏洞类型,所述业务逻辑漏洞类型至少包括越权漏洞和短信炸弹漏洞。第二方面,本专利技术实施例提供一种业务逻辑漏洞检测装置,包括:源代码获取模块,用于获取待检测应用程序的源代码;业务逻辑漏洞检测结果获取模块,用于将所述源代码输入至业务逻辑漏洞检测引擎,获取所述业务逻辑漏洞检测引擎输出的业务逻辑漏洞检测结果;其中,所述业务逻辑漏洞检测引擎至少包括越权检测组件和短信炸弹检测组件,所述业务逻辑漏洞检测结果至少包括所述待检测应用程序是否存在业务逻辑漏洞以及存在业务逻辑漏洞时的业务逻辑漏洞类型,所述业务逻辑漏洞类型至少包括越权漏洞和短信炸弹漏洞。第三方面,本专利技术实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。第四方面,本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。本专利技术实施例提供的一种业务逻辑漏洞检测方法及装置,应用程序通过业务逻辑漏洞引擎进行业务逻辑漏洞检测,业务逻辑漏洞检测引擎集成有多个业务逻辑漏洞检测组件,每一业务逻辑漏洞检测组件均可检测一种类型的业务逻辑漏洞,因此,本专利技术实施例中的业务逻辑漏洞检测引擎可检测多种类型的业务逻辑漏洞,检测类型丰富全面;并且,业务逻辑漏洞检测组件一次集成可无限复用,极大程度上减轻了应用程序开发人员的精力投入,降低了业务逻辑漏洞检测成本;并且,通过源代码检测的方式,业务逻辑漏洞检测准确率高。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种业务逻辑漏洞检测方法流程图;图2为本专利技术实施例提供的一种业务逻辑漏洞检测装置的结构示意图;图3为本专利技术实施例提供的一种电子设备的实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术实施例提供的一种业务逻辑漏洞检测方法流程图,该方法的执行主体为业务逻辑漏洞检测装置,该装置可安装或集成在计算机或服务器上,如图1所示,该方法包括:步骤101,获取待检测应用程序的源代码。具体地,本专利技术实施例的目的是检测应用程序是否存在业务逻辑漏洞,因此,将待进行业务逻辑漏洞检测的应用程序称为待检测应用程序。其中,应用程序有两种模式:C/S模式和B/S模式,C/S模式的应用程序是客户端/服务器端程序,这类应用程序一般独立运行,而B/S模式的应用程序是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行。本专利技术实施例中的应用程序可以为C/S模式的应用程序,也可以为B/S模式的应用程序,本专利技术实施例对此不作具体限定。为了对待检测应用程序进行业务逻辑漏洞检测,本专利技术实施例中首先获取待检测应用程序的源代码。需要说明的是,源代码是开发人员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系,源代码是生成应用程序的基础。在本专利技术实施例中,源代码可通过以下几种方式获取:Web页面提交的源代码、脚本批量提交的源代码以及由SVN工具定期提交的源代码。其中,在实际的应用场景中,Web页面提交的源代码通常是由PHP语言开发的源代码。脚本批量提交的源代码,支持脚本使用CURL的方式提交;其中,CURL是利用URL语法在命令行方式下工作的文件传输工具。SVN定期提交是在将SVN项目名称和路径存储在数据库中,每次定期扫描数据进行业务逻辑漏洞检测时,业务逻辑漏洞检测装置从数据库里取SVN项目路径,进行扫描,从而检测应用程序是否存在业务逻辑漏洞。步骤102,将所述源代码输入至业务逻辑漏洞检测引擎,获取所述业务逻辑漏洞检测引擎输出的业务逻辑漏洞检测结果;其中,所述业务逻辑漏洞检测引擎至少包括越权检测组件和短信炸弹检测组件,所述业务逻辑漏洞检测结果至少包括所述待检测应用程序是否存在业务逻辑漏洞以及存在业务逻辑漏洞时的业务逻辑漏洞类型,所述业务逻辑漏洞类型至少包括越权漏洞和短信炸弹漏洞。具体地,在获取到待检测应用程序的源代码后,将源代码输入至业务逻辑漏洞检测引擎。需要说明的是,业务逻辑漏洞检测引擎为包括有多个业务逻辑漏洞检测组件的引擎,每一业务逻辑漏洞检测组件均能检测一种类型的业务逻辑漏洞。业务逻辑漏洞检测组件内封装有对应用程序进行业务逻辑漏洞检测的方法,一次集成后可无限复用,极大程度上减轻了应用程序开发人员的精力投入。在本专利技术实施例中,业务逻辑漏洞检测引擎至少包括越权检测组件和短信炸弹检测组件这两个业务逻辑漏洞检测组件,对于越权检测组件,其可以检测应用程序是否存在越权漏洞,对于短信炸弹检测组件,其可以检测应用程序是否存在短信炸弹漏洞。需要说明的是,越权漏洞是一种很常见的业务逻辑漏洞,是由于服务器端对客户提出的数据操作请求过分信任,忽略了对该用户操作权限的判定,导致修改相关参数就可以拥有了其他用户的增、删、查、改功能,从而导致越权漏洞。短信炸弹漏洞也是一种很常见的业务逻辑漏洞,是指应用程序被恶意用户利用,不停地往一手机号码发重复的垃圾短信。将源代码输入至业务逻辑漏洞检测引擎之后,业务逻辑漏洞检测引擎中的业务逻辑漏洞检测组件对应本文档来自技高网...

【技术保护点】
1.一种业务逻辑漏洞检测方法,其特征在于,包括:获取待检测应用程序的源代码;将所述源代码输入至业务逻辑漏洞检测引擎,获取所述业务逻辑漏洞检测引擎输出的业务逻辑漏洞检测结果;其中,所述业务逻辑漏洞检测引擎至少包括越权检测组件和短信炸弹检测组件,所述业务逻辑漏洞检测结果至少包括所述待检测应用程序是否存在业务逻辑漏洞以及存在业务逻辑漏洞时的业务逻辑漏洞类型,所述业务逻辑漏洞类型至少包括越权漏洞和短信炸弹漏洞。

【技术特征摘要】
1.一种业务逻辑漏洞检测方法,其特征在于,包括:获取待检测应用程序的源代码;将所述源代码输入至业务逻辑漏洞检测引擎,获取所述业务逻辑漏洞检测引擎输出的业务逻辑漏洞检测结果;其中,所述业务逻辑漏洞检测引擎至少包括越权检测组件和短信炸弹检测组件,所述业务逻辑漏洞检测结果至少包括所述待检测应用程序是否存在业务逻辑漏洞以及存在业务逻辑漏洞时的业务逻辑漏洞类型,所述业务逻辑漏洞类型至少包括越权漏洞和短信炸弹漏洞。2.根据权利要求1所述的业务逻辑漏洞检测方法,其特征在于,所述业务逻辑漏洞检测引擎还包括:重放检测组件、扫描检测组件、直接对象引用检测组件、SQL注入检测组件、XSS跨站检测组件中的任意一种或多种。3.根据权利要求1所述的业务逻辑漏洞检测方法,其特征在于,所述越权检测组件包括:第一信息流获取模块、参数信息抽取模块和越权检测模块;相应地,将所述源代码输入至业务逻辑漏洞检测引擎,获取所述业务逻辑漏洞检测引擎输出的业务逻辑漏洞检测结果,包括:将所述源代码输入至所述第一信息流获取模块,以使得所述第一信息流获取模块对所述源代码进行语法分析、控制流分析和数据流分析,输出所述源代码对应的信息流;将所述信息流输入至所述参数信息抽取模块,以使得所述参数信息抽取模块对所述信息流进行参数信息抽取,输出所述源代码对应的参数信息;所述参数信息包括所述信息流中的每一参数及对应的交易码和处理类;将所述参数信息输入至所述越权检测模块,以使得所述越权检测模块将所述参数信息与预设的越权表进行匹配,若匹配失败,则将所述应用程序存在业务逻辑漏洞且业务逻辑漏洞类型为越权漏洞作为业务逻辑漏洞检测结果并输出。4.根据权利要求1所述的业务逻辑漏洞检测方法,其特征在于,所述短信炸弹检测组件包括:第二信息流获取模块、短信发送方法抽取模块和短信炸弹检测模块;相应地,将所述源代码输入至业务逻辑漏洞检测引擎,获取所述业务逻辑漏洞检测引擎输出的业务逻辑漏洞检测结果,包括:将所述源代码输入至所述第二信息流获取模块,以使得所述第二信息流获取模块...

【专利技术属性】
技术研发人员:梁科海孟庆飞武锦程邱佑军王志伟李晨曦冯琨顿壮壮张春艳
申请(专利权)人:北京国舜科技股份有限公司
类型:发明
国别省市:北京,11

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

1