课程:《密码与安全新技术》
班级: 1792
姓名: 李鹏举
学号:20179203
上课教师:谢四江
上课日期:2018年6月7日
必修/选修: 必修
基于PrT网络与RBAC模型测试
论文内容总结
一、相关理论
1.访问控制定义:指系统对用户身份及其所属的预先定义的策略组限制其使用数据资源能力的手段。通常用于系统管理员控制用户对服务器、目录、文件等网络资源的访问。
2.访问控制功能:
- 1)保证合法用户访问受权保护的网络资源。
- 2)防止非法的主体进入受保护的网络资源。
- 3)防止合法用户对受保护的网络资源进行非授权的访问。
3.访问控制分类:自主访问控制、强制访问控制、基于角色的访问控制。 - 1)自主访问控制:每一个系统中客体的所有者可以完全自主地将其享有的客体访问权限授予其他主体,获得访问权限的主体能够对相应客体执行权限所允许的访问操作。客体的所有者能在随后的任意时刻撤销上述授权。
- 2)强制访问控制:由享有标记权限的信息系统安全管理员为每个用户授予某一级别的访问许可证,并对系统中的每个被访问对象标定特定的密级,称之为主体和客体的安全属性。
- 3)基于角色的访问控制:用户与客体无直接联系,他只有通过角色才享有该角色所对应的权限,从而访问相应的客体。
4.RBAC优点:RBAC具有更好的政策管理,在一个加强内部控制的时代,增强了安全性和完整性,提高了组织的生产力。
5.RBAC问题:由于编程错误、遗漏、对需求的误解等各种原因有可能会使RBAC策略错误的实现。不正确的实现会导致安全问题,比如未经授权的访问和升级等。
6.基于模型的测试好处: - 1)建模活动有助于澄清测试需求,并增强开发人员和测试人员之间的交流。
- 2)自动化测试生成能够提供更多的测试周期,并确保测试模型的覆盖率。
- 3)基于模型的测试可以帮助提高测试用例的数量和多样性,从而提高故障检测能力。
二、RBAC模型
2.1 RBAC模型要素:
1)一组角色R。
2)一个角色层次结构:<r1,r2>表示r1是r2的超级角色,r2是r1的直接子角色(r2继承r1的所有权限)。
3)若干子用户。
4)子用户分配。
5)静态分离的一组约束SSOD,其中r1和r2不能被分配到同一主题。
6)动态分离的一组约束DSOD,其中分配给同一主题的r1和r2不能在同一个会话中激活。
7)一组角色允许/禁止规则R。
接下来通过一个例子来具体讲解。
2.2 RBAC模型的实例分析:
我们经常用到的图书管理系统(LMS)为例进行讲解,LMS提供公共图书馆管理书籍的服务。这些书可以在工作日的时候由图书馆的用户借阅和归还。LMS区分了三种类型的用户:可以借五本书的公共用户三个星期,可以借10本书的学生和可以借10本书两个月的老师。LMS由管理员管理,管理员可以创建、修改和删除用户帐户。图书馆里的书是由一个秘书管理的,他会在送货的时候给书下订单或者添加书。秘书还可以在特定的时间修理损坏的书籍,以维护保养。当一本书被损坏时,它必须是固定的。虽然它是固定的,这本书不能借,但用户可以保留它。图书馆主任的权限与秘书相同,可以查阅雇员的帐目。管理员和秘书可以查阅所有用户帐户。所有用户都可以查阅图书馆的图书列表。以这个系统来说明具体的关系。
对应RBAC的模型要素来生成相应的信息:
2.3 RBAC模型约束条件
通过这样的方式我们首先建立了整体的RBAC模型,当然仅仅只有这些是不够的,当你要生成模型的测试模型时,你需要它的相关约束条件。
三、RBAC测试模型的构建
3.1 PrT网络要素
3.2 测试模型的构建方法
- 1.基于功能测试模型构建角色权限测试模型
由功能测试模型构建的PrT网络称为功能网络
然后将规则集成到功能网络构建角色权限测试模型
- 2.从合同中构建角色权限测试模型
合同构建角色权限模型:让p和t分别是一个谓词和转换。如果从p到t(或者从t到p)有一个正常的弧,则称p是t的一个输入(或输出)谓词。如果p和t之间有一个抑制弧,p被称为抑制位置。
先决条件P:抑制谓词、输入谓词和约束条件的结合。
后置条件Q:输入谓词的抑制和输出谓词的结合。
以P→Q的形式订立合同得到活动之间的依赖关系
如果将其与LMS系统相关联:
这样的一次借书活动就是一个合同的签订,也就是说,有一本书有库存,当发生借书事件时,后置条件为有一本书被借同时这本书的库存减1,这就是合同签订的过程。
所以以此生成的测试模型为:
四、实测结果
4.1 测试对象:
1.公共图书管理系统(LMS)
2.虚拟会议系统(VMS):
VMS提供简化的web会议服务。虚拟会议服务器在web平台上组织工作会议。当连接到服务器时,用户可以参加或退出一个会议,申请发言,进行发言,或举办新的会议。每个会议都有一个经理。经理是计划会议的人,并设置会议的主要参数(如名称、议程等)。每次会议都有一个主持人,由会议经理任命。主持人指定一位要求发言的参与者发言。
3.拍卖销售管理系统(ASMS):
ASMS允许用户在线购买或销售商品。卖家可以通过提交他想出售的商品的描述和最低价格(拍卖的开始日期和结束日期)开始拍卖。然后在线用户申请竞标。这个系统的特点之一是买方在投标前必须有足够的钱。
4.2 突变测试:
变异测试(Mutation Testing)(有时也叫做“变异分析”)是一种在细节方面改进程序源代码的软件测试方法。这些所谓的变异,是基于良好定义的变异操作,这些操作或者是模拟典型应用错误(例如:使用错误的操作符或者变量名字),或者是强制产生有效地测试(例如使得每个表达式都等于0)。目的是帮助测试者发现有效地测试,或者定位测试数据的弱点,或者是在执行中很少(或从不)使用的代码的弱点。
这些突变体是由MutaX工具自动创建的,它使用了五种类型的变异操作符:用禁止替换权限规则,用允许替换禁止规则,改变角色,改变上下文,添加规则。他们是在这项工作开始之前被创造出来的。为了评价所提议的方法,下列突变体被排除在外:(a)与非执行活动相关的突变体,因为无法执行测试,(b)具有不一致访问控制规则的突变体。这些突变体通常由添加规则操作符创建,并且(c)与原始版本具有相同行为的变种。
我们的实验结果如表所示。对于LMS, 3185行代码中有207个测试用例。测试代码生成了56.2%。在243个突变体中,测试杀死了233个,总检出率为95.9%。
4.3 测试结果分析:
这种方法在检测访问控制缺陷方面是非常有效的。这一结果的关键方面包括功能网和契约的形式化、访问控制测试的生成、可及性图的覆盖。
学习感想
访问控制虽然是实验室的研究方向之一,但是暂时不是我的研究主方向,因此在本次学习之前我没有接触过这些,所以在讲解的时候我也从自身的角度讲起,通过最开始看论文的时候,我把自己看不懂的名词、定义等等的东西都记了下来,然后在讲解的时候我就主要针对这些点进行讲解,因为我知道我不会的点也是大家没听过的。
本次最大的的感想一共有两个:
一、完整系统的进行了一篇顶会论文的学习;研一阶段由于在实验室内主要偏重于各类实现的工作因此我看论文看的非常少,偶尔看论文也主要找自己需要的点,这是我第一次看完一整篇论文,而且因为需要讲解因此理解的较为深入,这样也就为接下来研二的论文研读打下了非常良好的基础。
二、了解了什么是访问控制,虽然整篇文章的最重点部分是在讲PRT测试模型,也就是讲如何发掘RBAC模型中的漏洞,但是由于它是由具体事例去讲解的,而且这个事例离我们很近,是平常最常使用的图书管理系统,因此很好理解,通过这个事例模拟做出模型的全过程,让我对访问控制具体是什么有了很深的体会,如果接下来我做的东西与这个相关,我也能更加快速准确地进行实现。