基于RBAC模式Web应用安全的访问控制漏洞检测方法及系统

文档序号:34107750发布日期:2023-05-10 20:57阅读:54来源:国知局
基于RBAC模式Web应用安全的访问控制漏洞检测方法及系统

本发明涉及信息安全,具体地涉及一种基于rbac模式web应用安全的访问控制漏洞检测方法及系统。


背景技术:

1、当今社会生活中,随着电脑的愈发普及,web网络应用程序也变得越来越流行和普遍,因为web应用程序允许用户登录任意一台计算机来访问网站并从中获取到用户自己的信息和数据,但随之而来web应用程序也成为那些想要窃取其他用户数据或资源的攻击者们的诱人目标,web应用程序通常通过访问控制来解决这个问题。访问控制是给出一套方法,将系统中所有的数据组织、标识、托管起来,然后提供一个简单唯一的接口,用于服务器的调用。通俗来讲是指访问控制机制对想要访问该程序的用户进行身份验证,并确保用户被授予适当的权限。理论上,这种机制应该确保未经授权的攻击者不能破坏应用程序,但不幸的是,许多web应用程序并没有遵循这些看似简单的权限检验步骤,或是访问控制中的步骤不够完善。每个web应用程序通常会部署自己的身份验证和访问控制框架,若其身份验证系统中存在任何缺陷,可能会发生身份验证旁路攻击,从而允许攻击者无需出示用户凭据即可被验证为有效用户,继而用户的隐私被泄露。故访问控制漏洞被认为是当今web应用程序管理敏感信息面临的最严重的安全威胁之一,而web应用十大安全风险中有三大风险都可归因于web应用中存在缺陷的访问控制。


技术实现思路

1、为了克服现有技术的不足,本发明通过动静态混合的方式对程序进行细粒度建模,将权限验证与数据库条目中的身份信息相结合,分析不同角色和用户的预期行为,通过模拟用户操作跟踪收集响应信息构建多属性站点地图模型,推导程序的访问控制策略,通过构造三类攻击向量,模拟漏洞攻击,评估web应用程序的响应,实现漏洞检测。

2、为实现上述目的,本发明所采用的解决方案为:

3、一种基于rbac模式web应用安全的访问控制漏洞检测方法,其包括以下步骤:

4、步骤1:获取web应用程序数据库中的基础数据;

5、获取web应用程序(是一种基于超文本和http的、全球性的、动态交互的、跨平台的分布式图形信息系统)数据库中的基础数据,所述基础数据由开始链接节点sn、用户登录的账号密码信息pl和程序源码的本地文件目录sc构成;

6、步骤2:处理基础数据,构造动态节点连接图和静态链接跳转图,并将其合并构成站点地图模型;

7、步骤21:基于动态分析方法,在未知应用程序具体构成时将应用程序作为黑盒系统,通过设计原型自行模拟用户的所有预期操作,构架黑盒系统的动态节点连接图;

8、将用户预期操作访问到的用户资源页面链接形成页面节点集合n0,用户资源页面链接形成页面节点间的访问与被访问关系形成边集合e0,页面节点间传递的会话信息、用户和角色信息构成边权值集合w,构建基于多角色的动态框架图模型g0,如下所示:

9、

10、式中:g0表示动态节点连接图;e0表示用户资源页面链接形成页面节点间的访问与被访问关系形成边集合;w表示页面节点间传递的会话信息、用户和角色信息构成边权值集合;n0表示用户资源页面链接形成页面节点集合,用up0表示,包含n个资源节点a,其中节点a1至ak表示动态分析与静态分析中得到的相同节点,节点ak至an表示动态分析与静态分析中得到的不同节点;<ai,aj>表示节点ai和aj构成的一条边;wl表示第l个边的权值;n表示资源节点总数;k表示资源相同与不同节点的分割点编号;i和j分别表示资源节点的第一边编号和第二边编号;

11、步骤22:基于静态分析方法,将应用程序作为白盒系统,分析源码中涉及到的页面间跳转情况,构建静态链接跳转图;

12、分析web应用程序源代码,获取web应用程序的源代码目录结构及页面所在目录层级,补全静态代码中的链接;在静态分析过中,页面被识别为单个节点,这些节点为相似页面节点,因此up0中节点的状态、边的复杂关系均多于up0′,因此静态分析更加关注up0′和fp节点间的关系,最终构建静态页面连接图如下所示:

13、

14、式中:g1表示静态链接跳转图;n1表示静态分析所得的页面节点集合,包括资源页面节点up和功能页面节点fp;e1表示资源页面节点up集合和功能节点fp集合之间通过调用和被调用所形成的边集合;up1表示静态分析过程中得到的资源页面集合;up'0表示由于静态分析所得部分up节点与动态分析所得存在重合节点;<ap,bq>表示节点ap和bq构成的一条边;bm表示第m个节点b;n′表示节点ap的总数;m表示节点bq的总数;

15、步骤23:基于km最大匹配算法(kuhn-munkres算法,用于求完备匹配下的最大权匹配)和并查集算法(用于处理互相不相交的集合中元素的查询与合并)将步骤21中获得的动态节点连接图g0和步骤22中获得的静态链接跳转图g1进行合并,建立基于用户的站点地图模型;

16、步骤3:挖掘站点地图模型中不同用户的访问控制策略gr;

17、步骤4:违背访问控制策略,生成web应用程序的攻击向量;

18、基于多属性交叉重组方式,将访问用户与被访问资源间进行访问逻辑的重组,以实现漏洞入侵;基于角色、能够访问资源页面间的隶属关系,通过不同类型角色用户互相强制访问资源页面,构造漏洞攻击向量;基于角色和资源的有序对应关系生成精简的攻击向量,如下式所示:

19、φatts={<rs,uv>→{n,e,<rz,uw>}|uv,uw∈u;rs,rz∈r,v≠w};

20、式中:φatts表示攻击向量集合;rs表示第一角色,s取值为[0,1,2];uv表示第一用户;<rs,uv>表示攻击的访问主体为具有rs角色的uv用户;n表示站点地图g的节点集合;e表示站点地图g的边关系集合;rz表示第二角色,z取值为[0,1,2];uw表示第二用户,其中v≠w表示uv,uw为不同的用户;u表示用户集合;r表示角色集合;{n,e,<rz,uw>}表示被访问的资源为具有rz角色的uw用户的所有节点n和边关系e;

21、步骤5:完成web应用程序的访问控制漏洞检测;

22、基于步骤3中的正确的访问控制策略和步骤4中的攻击向量集合,针对以上两步骤的策略对程序进行访问,并所得的响应结果进行基于响应参数和响应内容的模糊匹配,检测是否存在访问控制漏洞,建立漏洞检测规则;若结果匹配吻合则表明漏洞的存在,进行报告。

23、可优选的是,所述步骤1中的开始链接节点sn、用户登录的账号密码信息pl和程序源码的本地文件目录sc如下所示:

24、所述开始链接节点sn和所述用户登录的账号密码信息pl作为动态分析阶段用于模拟用户行为的开始入口点,以便程序自动模拟用户登录操作;

25、所述程序源码的本地文件目录sc作为静态分析阶段用于构建页面间联系的开始入口点,以便程序基于已有的位置进行深度访问。

26、可优选的是,所述步骤21中动态分析方法实现,能自行模拟用户的所有预期操作并适应程序的动态变化,真实记录程序的执行过程,同时表征程序中基于角色和用户的页面动态变化情况;以基于角色的方式进行程序的动态访问,有助于直接识别并得到不同角色的访问路径和访问权限。

27、可优选的是,所述步骤22中静态分析方法,基于程序源码页面的系统分析,能全面表征程序中的所有资源页面集,以及页面间的关系;通过分析页面间的连接关系,有效识别资源页面对应的敏感操作,避免程序访问控制策略缺失的情况。

28、可优选的是,所述步骤23中将步骤21中获得的动态节点连接图g0和步骤22中获得的静态链接跳转图g1进行合并能够反应程序的真实执行行为,在不加大系统分析消耗的基础上提高了程序的页面覆盖率,全面表征程序资源页面间的关系;同时基于rbac(role-based-access-control基于角色的访问控制)模式中对角色的分析,得到基于角色和用户的权限访问约束条件,能够在模型构建过程中直接确定角色、用户与资源权限间的关系。

29、可优选的是,所述步骤23中建立基于用户的站点地图模型需要进行站点地图模型整合,具体为:

30、所述站点地图模型整合,包括节点合并以及边合并;边的合并跟随节点移动,将问题简化为针对节点合并过程中的up整合及fp添加问题,用a表示up节点集合,b表示fp节点集合;

31、步骤231:up节点整合,完成同名节点统一和不同名节点缺失补充;

32、首先完成同名节点统一;针对g0和步骤22中获得的静态链接跳转图g1中存在的同名的up节点,为保证模型获取节点的全面型,采用尽可能多的节点,当出现同名节点时只保留其子节点;通过比对节点链接的相似性,确定g0与g1中的同名节点,规定动态分析所得的节点即为子节点,静态分析所得的节点即位源节点,对子节点进行保留,同时保留其边关系;删除其余同名节点;

33、然后完成不同名节点缺失补充;为了避免随机添加节点致使其不易查找,通过计算g0中up节点的出入度进行节点的边添加,即以g0为基础模型图,计算其内出入度最多的核心节点,若有相同出入度则选取出度最多的节点为核心节点,将图中的缺失节点连接至核心节点上,构成完整图模型;

34、步骤232:fp节点添加,页面节点通过程序源码所得仅存于g1模型中,作为up节点的功能拓展,fp跟随其被包含节点up实现边连接,需要解决针对up同名节点与fp的连接问题;由于在up的合并中选取了同名节点子节点作为最后的节点集合,故将子节点与fp分别进行连接;首先识别同名up节点所连接的fp节点,将其边关系更改为up同名子节点与fp的连接;

35、步骤233:站点地图模型整合,生成站点地图模型g,标识公式如下所示:

36、

37、式中:g表示站点地图模型;q0表示起始链接节点;f表示结束链接集合;a表示过程间用户注释。

38、可优选的是,所述步骤3中的挖掘站点地图模型中不同用户的访问控制策略gr,具体为:

39、对复杂多属性站点地图模型g进行特征属性提取,抽象关键属性形成访问控制规则约束模型,用三元组<r,u,gr>表示,其中访问控制策略如下所示:

40、gr={ppath,psub-graph};

41、式中:gr表示访问控制策略;ppath表示不同角色的路径规则;psub-graph表示子图规则;

42、站点地图模型g的过程间抽象,基于提取到的访问控制规则约束模型<r,u,gr>,通过计算属性关联度进行属性间的关联分析,制定属性间的条件相关和条件无关策略映射至关联度pr。

43、可优选的是,所述步骤4中的攻击向量包括垂直越权攻击向量和水平越权攻击向量,具体为:

44、所述垂直越权攻击向量针对不同角色的交叉重组方式所构造的入侵策略用于检测垂直越权漏洞,如下所示:

45、

46、式中:r0表示匿名用户角色;r1表示普通用户角色;φatts_v1表示所构造的匿名用户角色访问普通用户角色和管理员角色的资源的攻击向量集合,uv在r0角色下,访问rz角色的uw用户所拥有的资源,包括节点集合n和边集合e;φatts_v2表示构造的普通用户角色访问管理员角色的资源的攻击向量集合,uv在r1角色下,访问r2角色的uw用户所拥有的资源,包括节点集合n和边集合e;

47、所述水平越权攻击向量针对相同角色不同用户间的交叉重组方式所构造的入侵策略用于检测水平越权漏洞,如下所示:

48、φatts_h={<rs,uv>→{n,e,<rs,uw>}|uv,uw∈u;s∈[1,2];v≠w;n=[a1,...,an]};

49、式中:φatts_h构造相同角色rs下,uv用访问uw用户所拥有的资源,包括节点集合n和边集合e。

50、可优选的是,所述步骤5中的漏洞检测规则,如下所示:

51、步骤51:将客户端正常渲染页面链接与攻击向量强制访问该页面后的链接进行匹配,若不同,则结束判断,该节点不存在漏洞;

52、步骤52:若相同,去除双方网页中公有的静态内容、元标签、脚本、页脚信息,得到页面的架构,对架构进行匹配;若页面架构不同,则结束判断,该节点页面不存在漏洞;

53、步骤53:若页面架构相同,进一步对双方页面渲染内容进行哈希模糊匹配,若两页面的内容不同,则不存在漏洞;若内容相似或相同,则该页面定义为漏洞页面;若链接相同,比较页面架构;访问同一链接得到的渲染页面结构相同,此时提取页面的标签组织为页面架构,若页面架构不同,结束判断,该节点页面不存在漏洞;

54、步骤54:使用burpsuite(用于攻击web应用程序的集成平台)、appscan(web安全扫描工具)工具获取客户端正常响应的http请求响应参数和攻击向量强制访问页面的请求响应参数,参数主要包括content-length(http实体主体的长度)、user-agent(用户代理,将发起请求的应用程序名称告知服务器)、accept(用于告知服务器能够发送哪些媒体类型)、referer(提供了包含当前请求uri文档的url)信息;若两种方式获得的参数值均相同,则被访问的该页面链接定义为疑似漏洞响应链接,反之该链接不存在漏洞。

55、优选地,本发明的另一方面还提供一种基于rbac模式web应用程序的访问控制漏洞检测系统,其包括数据获取单元、数据处理单元、访问控制策略挖掘单元、web应用程序的攻击向量生成单元以及访问控制漏洞检测单元,所述数据获取单元用于获取web应用程序数据库中的基础数据,所述数据处理单元用于处理基础数据,构造动态节点连接图和静态链接跳转图,并将其合并构成站点地图模型,所述访问控制策略挖掘单元用于挖掘站点地图模型中不同用户的访问控制策略gr,所述web应用程序的攻击向量生成单元用于违背访问控制策略,生成web应用程序的攻击向量,所述访问控制漏洞检测单元用于基于得到的正确的访问控制策略和攻击向量集合,利用上述策略对程序进行访问,并所得的响应结果进行基于响应参数和响应内容的模糊匹配,检测是否存在访问控制漏洞,建立漏洞检测规则;若结果匹配吻合则表明漏洞的存在,进行报告。

56、与现有技术相比,本发明的有益效果在于:

57、(1)本发明通过动静态混合的方式对程序进行细粒度建模,将权限验证与数据库条目中的身份信息相结合,分析不同角色和用户的预期行为,以确保正确认证的用户访问其相应的资源,通过模拟用户操作跟踪收集响应信息构建多属性站点地图模型,并基于浏览痕迹推导程序的访问控制策略。

58、(2)本发明基于限定条件属性重组方式构造三类攻击向量,模拟漏洞攻击以实现频繁且可重现的漏洞检测,通过设计的基于响应参数和响应内容的模糊匹配漏洞判别规则评估web程序的响应,判定垂直越权和水平越权两类漏洞,完成web应用程序的访问控制漏洞检测。

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