Recently, with the impossibility of eradicating the vulnerabilities of information systems, we must prepare for the occurrence of the security incident by the multi-layer defense called the Defense-in-Depth strategy. In the multi-layer defense, it is important to authorize accesses in fine-grained granularity to compose each layer effectively, and many access control models are proposed to follow them. However, policy description languages proposed so far cannot express the models appropriately in proper granularity. In this paper, we propose a policy description language which can designate many kinds of conditions for access control, such as the dynamic status of an application process, as an element of decision data, and implement it in Datalog. Using the proposed language, we compose the policy of SELinux, which is a major implementation achieving the multi-layer defense, and we confirm the advantages of the proposed language by evaluating its validity and expressiveness.
翻译:近期,由于无法彻底消除信息系统的漏洞,我们必须通过称为纵深防御策略的多层防御来应对安全事件的发生。在多层防御中,以细粒度授权访问以有效构建各防护层至关重要,为此已提出众多访问控制模型。然而,现有策略描述语言无法以适当粒度充分表达这些模型。本文提出一种策略描述语言,可将应用进程动态状态等多种条件指定为决策数据元素,并基于Datalog实现该语言。通过使用所提语言,我们构建了实现多层防御的主流方案SELinux的策略,并通过评估其有效性和表达能力验证了该语言的优势。