一种基于状态偏离分析的访问控制漏洞检测方法及系统技术方案

技术编号:33281632 阅读:17 留言:0更新日期:2022-04-30 23:42
本发明专利技术公开一种基于状态偏离分析的访问控制漏洞检测方法及系统,该方法包括:将Web应用程序的源代码作为输入,通过静态分析提取出站点地图以及代码中包含的预期行为逻辑,然后将生成的站点地图作为动态分析的引导,并输入多角色多用户的登录凭据,用以获得不同登录状态下的HTTP请求与响应;使用有限状态机FSM对Web应用程序进行建模,将访问控制漏洞的发现形式化为预期FSM行为模型和实际FSM行为模型之间的差异性比对,识别出访问控制漏洞并生成漏洞报告。本发明专利技术能够检测出静态分析难以发现的复杂逻辑,而且指向性的功能测试也会使得检测效率大幅度提高,能够实现全路径覆盖。能够实现全路径覆盖。能够实现全路径覆盖。

【技术实现步骤摘要】
一种基于状态偏离分析的访问控制漏洞检测方法及系统


[0001]本专利技术属于网络安全
,尤其涉及一种基于状态偏离分析的访问控制漏洞检测方法及系统。

技术介绍

[0002]随着社会的经济增长,互联网以迅猛之势不断发展,渗透进社会生活的每个领域,俨然成为了现代社会必不可少的重要元素。而Web技术作为互联网最为重要的应用形式,在科教运输、金融等重要领域都得到了广泛的普及和运用。依赖互联网的发展,Web技术已经深入到人们日常生活的方方面面,购物网站、网上银行、社交平台等层出不穷的Web应用程序都在彰显着Web技术对于人们生活举足轻重的作用。
[0003]在为人们的日常生活带来便利的同时,针对Web应用的攻击数量每年都在急速上升。而在对Web漏洞的研究中,研究者起初主要将目光聚焦在注入漏洞上,因为注入类漏洞具有一个统一的逻辑,即用户的输入经过不充分的过滤到达了一个有风险的处理函数,所有的注入类漏洞都具有此类模式,所以通过对这种数据流传递模式的识别便可以实现对这类漏洞的发现。而Web应用逻辑漏洞因其没有固定的发现模式,又与Web应用程序的功能有关,所以识别和处理这些漏洞极具挑战性。逻辑漏洞中的访问控制漏洞在OWASP 2021Top 10中从第五上升到第一,在其测试的应用中有94%都存在访问控制漏洞。
[0004]访问控制漏洞是因预期的访问控制策略和在网络应用程序中实际执行的策略之间的差异性而形成的,考虑到应用程序的实施通常没有明确的访问控制策略,推导出预期的访问控制策略成为识别访问控制漏洞的关键步骤。现有的工作中提出了一些技术,来自动提取访问控制策略,但现有方法受到了建立访问控制模型的粗粒度、处理数据实体之间的复杂关系、处理源代码语言与特定平台的要求等问题的限制,而且也都不能对跨越多个程序文件的复杂数据关系进行建模,并确定由此产生的访问控制问题。
[0005]综上,传统的单一静态方法,仅获取代码中的逻辑,检测这些逻辑中存在冲突的地方,将此定义为访问控制漏洞,这种方法对访问控制漏洞的检测查全率极低,仅能检测到部分逻辑简单的访问控制漏洞,很难检测到真实环境中具有复杂逻辑的访问控制漏洞,且对代码依赖度极高,需对不同语言,不同架构,不同平台作定制化分析。而黑盒测试仅能对通过页面中能够获得到的功能进行测试,对路径的覆盖率很难达到预期,且会做出大量低效率模糊测试。

技术实现思路

[0006]本专利技术针对现有识别访问控制漏洞方法存在:受到了建立访问控制模型的粗粒度、处理数据实体之间的复杂关系、处理源代码语言与特定平台的要求等问题的限制,而且也都不能对跨越多个程序文件的复杂数据关系进行建模,并确定由此产生的访问控制问题的问题,提出一种基于状态偏离分析的访问控制漏洞检测方法及系统,通过将访问控制漏洞检测问题转化为检测代码中提取的应用预期行为逻辑与真实访问的实际行为逻辑的差
异性问题,使得模型粗粒度与数据关系复杂性对漏洞检测带来的限制大大降低,且与传统黑盒方法相比,结合白盒技术,使得检测效率得到大幅度提升。
[0007]为了实现上述目的,本专利技术采用以下技术方案:
[0008]本专利技术一方面提出一种基于状态偏离分析的访问控制漏洞检测方法,包括:
[0009]将Web应用程序的源代码作为输入,通过静态分析提取出站点地图以及代码中包含的预期行为逻辑,然后将生成的站点地图作为动态分析的引导,并输入多角色多用户的登录凭据,用以获得不同登录状态下的HTTP请求与HTTP响应;
[0010]使用有限状态机FSM对Web应用程序进行建模,将访问控制漏洞的发现形式化为预期FSM行为模型和实际FSM行为模型之间的差异性比对,识别出访问控制漏洞并生成漏洞报告;包括:采用静态分析对Web应用程序的源代码中展现的预期行为逻辑中的访问控制信息进行分析,建立预期FSM行为模型,再与动态分析时Web应用程序实际运行过程中通过HTTP请求与HTTP响应中蕴含的访问控制信息建立的实际FSM行为模型寻找差异点。
[0011]进一步地,所述有限状态机FSM为(S,s0,σ,Λ,A,δ,F),其中S表示有限的状态集,这些状态被表示为Web应用程序具有唯一URL的页;s0表示初始状态,即Web应用程序的主页;σ表示有限的输入集合;Λ表示输出集合;A是一个三元组<R,P,Se>,R表示访问该页面的用户的访问权限级别,P表示HTTP请求中的参数的集合及其对应的值,Se表示会话变量的集合及其对应的值;δ表示过渡函数,其定义为从S
×
σ
×
A到S的映射;F表示最终状态的集合,即Web应用程序内导航结束的页面。
[0012]进一步地,按照如下方式构建预期FSM行为模型:
[0013]遍历Web应用程序的源代码,如果有路由文件能够获得URL到文件的映射,则读取该路由文件,构建关系映射,提取参数;查找页面内是否有与访问控制有关的函数,确定访问控制函数约束的范围,建立应用功能与角色的约束关系,生成页面应用功能与约束的映射关系,如果该映射关系已经存在但约束不同,则对该映射关系进行标记,添加约束到列表,以此得到各个功能页面所受约束关系列表,作为功能节点状态集,表示为Web应用程序预期访问有限状态机行为模型、即预期FSM行为模型。
[0014]进一步地,按照如下方式构建实际FSM行为模型:
[0015]遍历HTTP请求和HTTP响应,获得Session状态,如果页面之前没有被访问过,就创建一个新状态,生成请求响应的映射,如果页面之前被访问过,则直接获得存储过的状态,建立映射,如果该映射已经存在但Session不同,则将该Se添加到当前映射的Se集合中,通过遍历各个功能节点的状态集,以此构建表示Web应用程序实际访问有限状态机行为模型、即实际FSM行为模型。
[0016]进一步地,所述访问控制漏洞的类型包括:认证绕过,垂直越权,水平越权。
[0017]进一步地,所述认证绕过的检测过程包括:
[0018]通过在不存在会话检测及访问控制的页面中,查询调用关系来建立起与登录状态的关联,从而分析出是否存在认证绕过漏洞。
[0019]进一步地,所述垂直越权的检测过程包括:
[0020]识别预期FSM行为模型和实际FSM行为模型中通往同一目标状态的转换以及能够访问该状态的角色集,将可以进入该状态的角色从会话变量中提取出来,并存储在可访问的角色列表中;
[0021]将所述角色列表从用于应用程序的全部角色集合中排除,得到该状态的不应访问角色集合,列表被更新为目标状态的URL和不能访问该状态的角色集合;
[0022]上述过程不断重复,直到Web应用程序中的所有特权页面都被识别出来;
[0023]识别出特权页面后,对特权页面和非特权角色提交攻击请求,将攻击请求得到的响应、即预期FSM行为模型得到的响应与正常执行时得到的响应、即实际FSM行为模型得到的响应进行比较,从而分析出是否存在垂直越权漏洞。
[0024]进一步本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于状态偏离分析的访问控制漏洞检测方法,其特征在于,包括:将Web应用程序的源代码作为输入,通过静态分析提取出站点地图以及代码中包含的预期行为逻辑,然后将生成的站点地图作为动态分析的引导,并输入多角色多用户的登录凭据,用以获得不同登录状态下的HTTP请求与HTTP响应;使用有限状态机FSM对Web应用程序进行建模,将访问控制漏洞的发现形式化为预期FSM行为模型和实际FSM行为模型之间的差异性比对,识别出访问控制漏洞并生成漏洞报告;包括:采用静态分析对Web应用程序的源代码中展现的预期行为逻辑中的访问控制信息进行分析,建立预期FSM行为模型,再与动态分析时Web应用程序实际运行过程中通过HTTP请求与HTTP响应中蕴含的访问控制信息建立的实际FSM行为模型寻找差异点。2.根据权利要求1所述的一种基于状态偏离分析的访问控制漏洞检测方法,其特征在于,所述有限状态机FSM为(S,s0,σ,Λ,A,δ,F),其中S表示有限的状态集,这些状态被表示为Web应用程序具有唯一URL的页;s0表示初始状态,即Web应用程序的主页;σ表示有限的输入集合;Λ表示输出集合;A是一个三元组<R,P,Se>,R表示访问该页面的用户的访问权限级别,P表示HTTP请求中的参数的集合及其对应的值,Se表示会话变量的集合及其对应的值;δ表示过渡函数,其定义为从S
×
σ
×
A到S的映射;F表示最终状态的集合,即Web应用程序内导航结束的页面。3.根据权利要求1所述的一种基于状态偏离分析的访问控制漏洞检测方法,其特征在于,按照如下方式构建预期FSM行为模型:遍历Web应用程序的源代码,如果有路由文件能够获得URL到文件的映射,则读取该路由文件,构建关系映射,提取参数;查找页面内是否有与访问控制有关的函数,确定访问控制函数约束的范围,建立应用功能与角色的约束关系,生成页面应用功能与约束的映射关系,如果该映射关系已经存在但约束不同,则对该映射关系进行标记,添加约束到列表,以此得到各个功能页面所受约束关系列表,作为功能节点状态集,表示为Web应用程序预期访问有限状态机行为模型、即预期FSM行为模型。4.根据权利要求2所述的一种基于状态偏离分析的访问控制漏洞检测方法,其特征在于,按照如下方式构建实际FSM行为模型:遍历HTTP请求和HTTP响应,获得Session状态,如果页面之前没有被访问过,就创建一个新状态,生成请求响应的映射,如果页面之前被访问过,则直接获得存储过的状态,建立映射,如果该映射已经存在但Session不同,则将该Se添加到当前映射的Se集合中,通过遍历各个功...

【专利技术属性】
技术研发人员:魏强王允超武泽慧马琪灿王新蕾周国淼
申请(专利权)人:中国人民解放军战略支援部队信息工程大学
类型:发明
国别省市:

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

1