Alexander Pretschner, Tejeddine Mouelhi, Yves Le Traon, ICST.2008
本文工作:
提出两个安全策略测试生成的方法:独立于policy和依据policy。
作者采用RBAC模型描述Security Policy,并且对其进行了扩展,加入了context元素。首先作者定义了Security Policy元模型:
一个RBAC Security Policy由至少一个规则构成,每一个规则包含四个元素:role,permission,context,priority,规则形如prohibition(borrower, borrowbook,holiday,5)
RBAC支持元素的层次结构,例如,对于一个具体的role,people,其下层可具体为teacher,student,具体的role适用于其父节点的规则。
作者使用两种方法生成测试,分别是独立于policy的随机生成法和依据policy生成测试。
独立于policy的方法:
不考虑规则,随机地从role(permission,context)集合中选取实例构成测试。
依据policy的方法:
针对每一条规则,依据role,permission,context这三个元素生成测试,选取某个具体的role(permission,context)以及继承它的所有role(permission,context);
考虑到规则分为permission和prohibition,因此有必要对没有在规则中规定的方面进行测试,可以生成role(permission,context)和其子role(permission,context)之外的实例构成的测试;
作者用mutation测试方法评估生成的测试,测试数据表明,随机生成的测试用例的mutation score要低于依据policy生成的测试用例。依次作者得出结论:
在生成安全策略测试用例时,将安全策略考虑进来(即依据安全策略)是极有必要的。
本文贡献:
1、提出了两种自动生成安全策略测试的方法和技术:独立于安全策略和依据安全策略;
2、对生成的测试进行了有效性分析,得出重要结论:在生成安全策略测试用例时,将安全策略考虑进来(即依据安全策略)是极有必要的。
这个生成测试用例的方法和我想的差不多,只是Mouelhi没有借助数据结构(比如decision tree)
本文不足:
1、没有提供可用的工具
Application | NO. of rules | NO. of roles | NO. of permissions | NO. of contexts |
library management system | 41 | 7 | 10 | 4 |
access control policy of hospital | 37 | 10 | 15 | 3 |
auction system of eBay | 130 | 8 | 23 | 4 |
meeting management system | 106 | 8 | 18 | 3 |