Verification and Change-Impact Analysis of Access Control Policies

Kathi Fisler, Shriram Krishnamurthi, Leo A. Meyerovich, Michael Carl Tschantz, ICSE’05

本文工作:
作者实现了一个验证Security Policy的工具Margrave,该工具可以检查Security Policy的描述(XACML形式)与用户定义的property(形式化描述)是否一致。另一个功能是对Security Policy进行Change-Impact分析,即给定两个版本的Security Policy,输出两者之间property的差异。
作者用MTBDD(multi-terminal binary decision diagram)来表达Security Policy,为每条rule建立一个MTBDD,并采用rule-(policy-)combining algorithm合并MTBDD,以提高Security Policy的分析效率。
MTBDD是高效的表达Security Rules的形式,相比其他表达形式,如Alloy(一种描述结构的语言,被广泛用于security mechanism检查),MTBDD具有的优势是:虽然最坏情况下,MTBDD结点数是Security Policy属性-值对数目的指数,但是通常情况下,两者呈线性关系,因此对分析Security Policy而言,是高效的。

本文贡献:
1、提出了基于MTBDD的Security Policy验证方法,实现了从XACML到MTBDD的转换;
2、开发了工具Margrave,实现了对Security Policy的验证和change-impact分析;

疑问:
1、好像文中没提到测试生成?

我的想法:
可以从MTBDD生成Security Policy测试用例。下图是一个MTBDD实例:
每个非终端节点代表一个attribute的值,即 faculty, student,   receive, assign, and   grades。终端节点对应decision,即 Not-Applicable, Permit, Deny。从根节点(f结点)到某个终端节点(N,P,D)构成的路径对应一条规则,例如路径(f,1,s,0,a,1,g,1,P),对应的rule就是
Permission(faculty, asign, grade),即具有faculty身份的用户可以修改成绩。
因此,给定Security Policy对应的MTBDD,通过某种路径遍历算法,可以生成具体的测试用例集,并可以定义rule覆盖准则:每个rule都至少被一个测试用例覆盖。
实现方面,第一,CUDD工具提供了接口操作MTBDD;第二,可以借助本文提出的工具Margrave实现XACML到MTBDD的转换。
对生成的Security Policy test cases的测评,可以借鉴mutation testing的方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值