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