当前位置: 首页 > 专利查询>南开大学专利>正文

基于策略推导的Web应用程序访问控制漏洞测试用例自动生成方法技术

技术编号:15690787 阅读:80 留言:0更新日期:2017-06-24 03:27
一种基于策略推导的web应用程序访问控制漏洞测试用例生成方法,该方法针对Web应用程序的访问控制模型,提出一种基于策略推导的测试用例生成方法。此方法从角色和用户两个级别发现对应的授权操作集合,推导Web应用程序的访问控制策略,并利用推导所得访问控制策略生成合法与非法两类测试用例。其中,合法用例用以对推导所得策略的正确性进行验证,非法用例通过违背授权约束生成,用以检测Web应用程序的访问控制漏洞。本发明专利技术方法能够全面检测各类访问控制漏洞,弥补了重定向后运行漏洞的检测空缺,并有效的精简测试用例的数量,大大提高分析效率。

Automatic generation method of test case for access control vulnerability of Web application based on policy derivation

An access control method for generating vulnerability test case strategy deduced based on the web application, the method for Web application access control model, put forward a method of test case generation strategy based on. This method from the role and user level two to find a collection of corresponding authorization operation, is Web application access control strategy, and using the derived access control strategy to generate legal and illegal two class test cases. Among them, the legal use case is used to verify the correctness of the derived strategy, and the illegal use case is generated by violating the authorization constraint to detect access control vulnerability of the Web application. The method of the invention can comprehensively detect various access control vulnerabilities, make up for the detection vacancy of the reset backward running vulnerability, effectively simplify the number of test cases, and greatly improve the efficiency of the analysis.

【技术实现步骤摘要】
基于策略推导的Web应用程序访问控制漏洞测试用例自动生成方法
本专利技术属于Web应用
,具体涉及漏洞检测和测试数据自动生成,特别是一种基于策略推导的Web应用程序访问控制漏洞测试用例自动生成的方法。
技术介绍
随着Web技术的成熟化与软件系统的复杂化,Web应用中的各种安全问题也层出不穷,访问控制漏洞就是其中重要的一类,它允许攻击者去绕过应用的安全策略来访问未授权的敏感信息或进行非法操作。Web应用所具有的开放性特点使得网络用户通过Web客户端提交请求后,数据库服务器无法对服务请求者的身份进行安全和合法性校验。为保证Web应用的访问安全性,代码编写者通常在Web服务器的应用逻辑中加入访问控制机制。尽管许多Web应用设计了一定的访问控制机制,但因为安全细节极其琐碎复杂、代码编写者的疏漏等原因使得在Web应用开发过程中,实际在客户端与服务器之间实现的访问控制机制往往与预期定义的访问控制策略存在差异,这种差异就造成了Web应用中的访问控制漏洞。因而,对Web应用的访问控制漏洞检测也成为Web应用安全检测的一大重点。目前,针对Web应用程序的访问控制漏洞检测,主要有动态分析以及静态分析两种测试手段。静态分析的方法通过对Web应用程序的源代码进行分析,从而提取程序设计时的预期访问控制机制以检测Web应用程序的访问控制漏洞。该方法需要获取Web应用程序的源代码进行分析以推导代码的逻辑结构,但现有的研究成果均存在只针对某种特定代码编写语言或存在一定漏报误报等问题。动态分析通过观察Web应用程序正常运行的行为,从而推导预期访问控制机制以检测访问控制漏洞。相比静态分析的方法而言,动态分析的方法不需要获取程序的源代码,整个分析过程基于Web应用程序的运行,更注重对程序的功能进行分析,具有良好的便利性。所以使用动态分析来推导Web应用程序预期访问控制机制,进而检测访问控制漏洞的方法得到越来越多的关注。在使用动态分析进行Web应用程序访问控制漏洞检测的研究方法中,漏洞检测的准确性,与生成测试用例的优劣密切相关。
技术实现思路
本专利技术的目的是弥补Web应用中访问控制漏洞检测方面的不足,主要针对之前报道的检测方法漏报率较高,对运行后重定向漏洞的检测空白的问题,提出一种检测漏洞较为全面,测试用例数量精简,效率比较高的访问控制漏洞测试用例生成方法。该方法的基础是Web应用基于用户与角色的访问控制策略,设计了一种基于策略推导的访问控制漏洞测试用例生成方法。本专利技术提供的基于策略推导的Web应用程序访问控制漏洞测试用例自动生成方法,主要包括以下步骤:步骤1、通过推导同角色下所有用户被授权的操作集合,得出基于角色的访问控制策略;首先,用户从客户端向Web应用程序发送网络请求,Web应用接收到网络请求后对用户身份进行验证,然后根据用户的角色权限生成对应的数据库请求并发送到数据库端。数据库端接收到数据库请求后,数据库端返回数据库响应至Web应用程序端。根据这一原理,驱动不同角色下的用户根据自身授权发送请求,并通过网络抓取工具抓取这一会话过程,并且过滤冗余信息,只剩下网络请求与数据库响应部分,直到遍历所有角色。然后通过遍历之前得到的会话合集,通过匹配网络请响应求与数据库请求响应的一致性,即将同一角色下的用户执行操作所发出的网络请求以及与它对应的数据库回应也就是数据库返回的数据及数据位置相匹配,从而得到角色下用户的被授权的访问操作集,这就是基于角色的访问控制策略。步骤2、通过同角色下收集不同用户被授权的特有参数集得出基于用户的访问控制策略;所述基于用户的访问控制策略是:同一角色下不同用户被授权的特有参数集合;基于用户的访问控制策略的推导方法,具体推导过程分为两个部分,一是直接约束,二是间接约束。直接约束部分从交互样本中提取拥有共同角色的每个用户的访问操作及其参数,对相同操作的参数进行一致性匹配,得到一个操作下每个用户的被授权的参数集合。然后,对参数集合进行去重,去除不同用户拥有的重复参数,从而得到用户特有的授权参数集合,即得到用户的直接约束集合。间接约束的操作参数从属于上一个操作所返回的响应数据集,即间接约束对应的操作的上一个操作为可返回响应数据集的直接约束读操作。对间接约束的操作参数集的推导,需分析当前访问操作的上一个操作。即间接约束的推导需要对参数传输中的两个相关操作进行分析。将直接约束与间接约束合并,就得到了用户的访问控制操作极其对应的参数集,即为基于用户的访问控制策略。步骤3、基于前两步所推导的访问控制策略驱动角色下的用户得到合法的测试用例;所述合法测试用例集是:合法的访问操作的参数及条件(即符合访问控制策略的操作以及使用的参数);其生成方法是:分别遍历之前的基于角色的访问控制策略,以及基于用户的访问控制策略,将对应的角色或者对应用户所能够执行的访问控制操作以及得到的数据库应答添加到合法用例的集合中,就得到了基于角色和基于用户的合法测试用例集。步骤4、通过驱动某一角色下的用户违背访问控制策略执行另一不同角色下的用户的操作得到基于角色的非法测试用例;所述基于角色的非法测试用例集是:违背角色层次访问控制策略操作的参数及条件;其生成方法是:驱动某一角色下的用户违背角色间的访问控制限制,执行另一角色的合法的访问操作集合中的操作,从而得到基于角色的非法测试用例集。先按照权限的高低,也就是所能执行操作的数量多少对角色进行由低到高排序,然后选择权限最低的角色,遍历此角色之后高权限角色的访问控制策略,将此角色无法进行的访问控制操作,以及得到的数据库响应结果一起添加到非法测试用例集。重复这一过程直到查找到权限最高的角色。由此得到了基于角色的访问控制漏洞非法测试用例集合。步骤5、通过驱动同一角色下的用户违背访问控制策略使用另一个用户特有的操作参数集合得到基于用户的非法测试用例。所述基于用户的非法测试用例是:违背用户层次访问控制策略操作的参数;其生成方法是:驱动某一角色下的用户通过篡改当前用户的操作参数,对用户级别限制进行违背,得到基于用户的非法测试用例集。具体操作如下:先选取一个角色下的某一用户,根据之前得到的基于用户的访问控制策略,将此用户,其他同一角色下不同用户的独有参数,访问操作以及返回的结果添加到基于用户的访问控制漏洞非法测试用例集中。按照以上步骤遍历所有角色下的所有用户,由此得到基于用户的访问控制漏洞非法测试用例集。本专利技术的优点和积极效果:本专利技术提出了基于策略推导的访问控制漏洞测试用例生成方法,其中包含了访问控制策略推导与测试用例生成。通过分析Web应用的访问控制模型,提出了一种针对Web应用的访问控制策略推导算法,并且基于所推导的策略设计了针对访问控制漏洞检测的测试用例生成模型,主要包括访问控制策略推导模块,测试用例生成模块。实验结果表明,相较于过去的测试用例生成方法,它能全面检测各类访问控制漏洞,弥补了重定向后运行漏洞的检测空缺,并有效的精简测试用例的数量,大大提高分析效率。【附图说明】图1为非法测试用例的生成图。图2为系统构架图。图3为访问控制过程图。图4为访问控制漏洞Web应用示意图。【具体实施方式】图2给出了本专利技术的算法流程,根据本专利技术方法,通过访问控制策略推导来实现Web应用程序访问控制漏洞测试用例的生成包括了访本文档来自技高网
...
基于策略推导的Web应用程序访问控制漏洞测试用例自动生成方法

【技术保护点】
一种基于策略推导的web应用程序访问控制漏洞测试用例生成方法,其特征在于含有以下步骤:步骤1、通过推导同角色下所有用户被授权的操作集合得出基于角色的访问控制策略;步骤2、通过同角色下收集不同用户被授权的特有参数集得出基于用户的访问控制策略;步骤3、基于前两步所推导的访问控制策略驱动角色下的用户得到合法的测试用例;步骤4、通过驱动某一角色下的用户违背访问控制策略执行另一不同角色下的用户的操作得到基于角色的非法测试用例;步骤5、通过驱动同一角色下的用户违背访问控制策略使用另一个用户特有的操作参数集合得到基于用户的非法测试用例。

【技术特征摘要】
1.一种基于策略推导的web应用程序访问控制漏洞测试用例生成方法,其特征在于含有以下步骤:步骤1、通过推导同角色下所有用户被授权的操作集合得出基于角色的访问控制策略;步骤2、通过同角色下收集不同用户被授权的特有参数集得出基于用户的访问控制策略;步骤3、基于前两步所推导的访问控制策略驱动角色下的用户得到合法的测试用例;步骤4、通过驱动某一角色下的用户违背访问控制策略执行另一不同角色下的用户的操作得到基于角色的非法测试用例;步骤5、通过驱动同一角色下的用户违背访问控制策略使用另一个用户特有的操作参数集合得到基于用户的非法测试用例。2.根据权利要求1所述的基于策略推导的web应用程序访问控制漏洞测试用例生成方法,其特征在于步骤1所述基于角色的访问控制策略是:同角色下所有用户被授权的操作集合;所述基于角色的访问控制策略推导方法是:驱动用户进行操作,遍历抓取的会话集合,然后,对有效字段在数据库响应中进行一致性匹配,提取有效字段,推导过滤条件,从而得到基于角色的策略;具体来说,驱动不同角色下的用户根据自身授权发送网络请求,并且接受数据库的响应,通过网络抓取工具抓取这一会话过程,并且过滤冗余信息,只剩下网络请求与数据库响应部分,直到遍历所有角色;然后通过遍历之前得到的会话合集,通过匹配网络请响应求与数据库请求响应的一致性,即将同一角色下的用户执行操作所发出的网络请求以及与它对应的数据库回应,即数据库返回的数据及数据位置相匹配,从而得到角色下用户的被授权的访问操作集,这就是基于角色的访问控制策略。3.根据权利要求1所述的基于策略推导的web应用程序访问控制漏洞测试用例生成方法,其特征在于步骤2所述基于用户的访问控制策略是:同一角色下不同用户被授权的特有参数集合;所述基于用户的访问控制策略推导方法,具体推导过程分为两个部分,一是直接约束,二是间接约束;直接约束部分从交互样本中提取拥有共同角色的每个用户的访问操作及其参数,对相同操作的参数进行一致性匹配,得到一个操作下每个用户的被授权的参数集合;然后,对参数集合进行去重,去除不同用户拥有的重复参数,从而得到用户特有的授权参数集合,即得到用户的直接约束集合;间接约束的操作参数从属于上一个操作所返回的响...

【专利技术属性】
技术研发人员:许静文硕徐亦凡过辰楷魏大鹏张彪王扬
申请(专利权)人:南开大学国网天津市电力公司信息通信公司
类型:发明
国别省市:天津,12

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

1