1 an automatic attribute based access control policy

14
1 An Automatic Attribute Based Access Control Policy Extraction from Access Logs Leila Karimi , Student Member, IEEE, Maryam Aldairi , Student Member, IEEE, James Joshi , Senior Member, IEEE, and Mai Abdelhakim , Member, IEEE Abstractβ€”With the rapid advances in computing and information technologies, traditional access control models have become inadequate in terms of capturing fine-grained, and expressive security requirements of newly emerging applications. An attribute-based access control (ABAC) model provides a more flexible approach to addressing the authorization needs of complex and dynamic systems. While organizations are interested in employing newer authorization models, migrating to such models pose as a significant challenge. Many large-scale businesses need to grant authorizations to their user populations that are potentially distributed across disparate and heterogeneous computing environments. Each of these computing environments may have its own access control model. The manual development of a single policy framework for an entire organization is tedious, costly, and error-prone. In this paper, we present a methodology for automatically learning ABAC policy rules from access logs of a system to simplify the policy development process. The proposed approach employs an unsupervised learning-based algorithm for detecting patterns in access logs and extracting ABAC authorization rules from these patterns. In addition, we present two policy improvement algorithms, including rule pruning and policy refinement algorithms to generate a higher quality mined policy. Finally, we implement a prototype of the proposed approach to demonstrate its feasibility. Index Termsβ€”Access Control, Attribute Based Access Control, Policy Mining, Policy Engineering, Machine Learning, Clustering. ✦ 1 I NTRODUCTION A CCESS control systems are critical components of in- formation systems that help protect information re- sources from unauthorized accesses. Various access con- trol models and approaches have been proposed in the literature including Discretionary Access Control (DAC) [1] [2], Mandatory Access Control (MAC) [3] [4], and Role- Based Access Control (RBAC) [5]. However, with the rapid advances in newer computing and information technologies (e.g., social networks, Internet of Things (IoT), cloud/edge computing, etc.), existing access control (AC) approaches have become inadequate in providing flexible and expres- sive authorization services [6]. For example, a health care environment requires a more expressive AC model that meets the needs of patients, health care providers as well as other stakeholders in the health care ecosystem [7], [8]. Attribute Based Access Control (ABAC) models present a promising approach that addresses newer challenges in emerging applications [9]. An ABAC approach grants access rights to users based on attributes of entities in the system (i.e., user attributes, object attributes, and environmental conditions) and a set of authorization rules. L. Karimi, M. Aldairi, and J. Joshi are with the School of Computing and Information, University of Pittsburgh. M. Abdelhakim is with Electrical and Computer Engineering, Swanson School of Engineering, University of Pittsburgh. Email addresses: {leila.karimi, ma.aldairi, jjoshi, and maia}@pitt.edu Β© 2021 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, including reprinting/republishing this material for advertising or promotional purposes, collecting new collected works for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works. Although organizations and developers are interested in employing the next generation AC models, adopting such policy frameworks poses a significant challenge. Many large organizations need to grant authorization to their vast user populations distributed across disparate computing envi- ronments, including legacy systems. Each of these comput- ing environments may have its own AC model. The manual development of a single policy for the entire organization is tedious and error-prone. Policy Mining techniques have been proposed in the literature to address such challenges to help organizations cut the cost, time, and error of policy development/management. Policy mining algorithms ease the migration to more recent/appropriate authorization models by completely (or partially) automating the process of constructing AC policies. Policy mining techniques were first introduced for devel- oping RBAC policies. Kuhlmann et al. coined the term β€œrole mining" to refer to a data mining approach that constructs roles from a given permission assignment dataset [10]; this work was followed by various role mining techniques, such as [11], [12], [13]. Although the proposed approaches are beneficial in developing optimal sets of roles, they are not applicable in extracting ABAC policies. Xu and Stoller were the first to study the problem of mining ABAC policies from given access control matrices or logs [14], [15]. Following that, several researchers have investigated various ABAC policy mining techniques [16], [17], [18]. However, these studies suffer from several limita- tions, as follows: β€’ First, the existing approaches do not support mining authorization rules with negative filters. An ABAC arXiv:2003.07270v4 [cs.CR] 30 Jan 2021

Upload: others

Post on 19-Jun-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 An Automatic Attribute Based Access Control Policy

1

An Automatic Attribute Based Access ControlPolicy Extraction from Access Logs

Leila Karimi , Student Member, IEEE, Maryam Aldairi , Student Member, IEEE,

James Joshi , Senior Member, IEEE, and Mai Abdelhakim , Member, IEEE

Abstractβ€”With the rapid advances in computing and information technologies, traditional access control models have becomeinadequate in terms of capturing fine-grained, and expressive security requirements of newly emerging applications. An attribute-basedaccess control (ABAC) model provides a more flexible approach to addressing the authorization needs of complex and dynamicsystems. While organizations are interested in employing newer authorization models, migrating to such models pose as a significantchallenge. Many large-scale businesses need to grant authorizations to their user populations that are potentially distributed acrossdisparate and heterogeneous computing environments. Each of these computing environments may have its own access controlmodel. The manual development of a single policy framework for an entire organization is tedious, costly, and error-prone.In this paper, we present a methodology for automatically learning ABAC policy rules from access logs of a system to simplify thepolicy development process. The proposed approach employs an unsupervised learning-based algorithm for detecting patterns inaccess logs and extracting ABAC authorization rules from these patterns. In addition, we present two policy improvement algorithms,including rule pruning and policy refinement algorithms to generate a higher quality mined policy. Finally, we implement a prototype ofthe proposed approach to demonstrate its feasibility.

Index Termsβ€”Access Control, Attribute Based Access Control, Policy Mining, Policy Engineering, Machine Learning, Clustering.

F

1 INTRODUCTION

A CCESS control systems are critical components of in-formation systems that help protect information re-

sources from unauthorized accesses. Various access con-trol models and approaches have been proposed in theliterature including Discretionary Access Control (DAC) [1][2], Mandatory Access Control (MAC) [3] [4], and Role-Based Access Control (RBAC) [5]. However, with the rapidadvances in newer computing and information technologies(e.g., social networks, Internet of Things (IoT), cloud/edgecomputing, etc.), existing access control (AC) approacheshave become inadequate in providing flexible and expres-sive authorization services [6]. For example, a health careenvironment requires a more expressive AC model thatmeets the needs of patients, health care providers as wellas other stakeholders in the health care ecosystem [7],[8]. Attribute Based Access Control (ABAC) models presenta promising approach that addresses newer challenges inemerging applications [9]. An ABAC approach grants accessrights to users based on attributes of entities in the system(i.e., user attributes, object attributes, and environmentalconditions) and a set of authorization rules.

L. Karimi, M. Aldairi, and J. Joshi are with the School of Computing andInformation, University of Pittsburgh.M. Abdelhakim is with Electrical and Computer Engineering, Swanson Schoolof Engineering, University of Pittsburgh.Email addresses: {leila.karimi, ma.aldairi, jjoshi, and maia}@pitt.eduΒ© 2021 IEEE. Personal use of this material is permitted. Permission fromIEEE must be obtained for all other uses, including reprinting/republishingthis material for advertising or promotional purposes, collecting new collectedworks for resale or redistribution to servers or lists, or reuse of any copyrightedcomponent of this work in other works.

Although organizations and developers are interested inemploying the next generation AC models, adopting suchpolicy frameworks poses a significant challenge. Many largeorganizations need to grant authorization to their vast userpopulations distributed across disparate computing envi-ronments, including legacy systems. Each of these comput-ing environments may have its own AC model. The manualdevelopment of a single policy for the entire organizationis tedious and error-prone. Policy Mining techniques havebeen proposed in the literature to address such challengesto help organizations cut the cost, time, and error of policydevelopment/management. Policy mining algorithms easethe migration to more recent/appropriate authorizationmodels by completely (or partially) automating the processof constructing AC policies.

Policy mining techniques were first introduced for devel-oping RBAC policies. Kuhlmann et al. coined the term β€œrolemining" to refer to a data mining approach that constructsroles from a given permission assignment dataset [10]; thiswork was followed by various role mining techniques, suchas [11], [12], [13]. Although the proposed approaches arebeneficial in developing optimal sets of roles, they are notapplicable in extracting ABAC policies.

Xu and Stoller were the first to study the problem ofmining ABAC policies from given access control matricesor logs [14], [15]. Following that, several researchers haveinvestigated various ABAC policy mining techniques [16],[17], [18]. However, these studies suffer from several limita-tions, as follows:

β€’ First, the existing approaches do not support miningauthorization rules with negative filters. An ABAC

arX

iv:2

003.

0727

0v4

[cs

.CR

] 3

0 Ja

n 20

21

Page 2: 1 An Automatic Attribute Based Access Control Policy

2

policy rule can be comprised of a set of positive andnegative filters. Negative filters are useful in scenar-ios when an exception needs to be expressed. Forexample, a healthcare provider can express the fol-lowing rule using a negative attribute filter: β€œA nursecan read a patient’s record except for payment purposes."Using negative filters in rule expressions results in amore concise authorization policy (Section 5).

β€’ Second, some proposed approaches such as in [14],[15], [17] are unable to mine a high-quality policywhen the given access log is not complete in the sensethat every possible combination of attribute values isnot included in the access log (Section 3).

β€’ Third, the proposed approaches are unable to minea policy from noisy access logs containing over-assignments and under-assignments [16], [18]. Hav-ing noisy access records is a common problem inevolving domains such as IoT or social networks [19].It is essential that an ABAC policy miner should becapable of handling a reasonable amount of noise tobe applicable to real-world applications.

β€’ Last but not the least, the existing approaches do notinclude techniques for improving the mined policyafter the first round of policy extraction. In addition,in scenarios where the authorization policies maychange over time (such as in social networks withaddition and removal of various applications), theseapproaches do not provide any guidelines for adjust-ing the policy. This makes practical deployment ofthese approaches very difficult.

Furthermore, none of the existing work addresses theseissues in an integrated way. In this paper, we proposea machine learning based ABAC policy mining approachto address these challenges. To summarize, the primarycontributions of this paper are as follows:

1) We propose an unsupervised learning based ap-proach to extract ABAC policy rules that containboth positive and negative attribute filters as wellas positive and negative relation conditions.

2) The proposed policy mining approach is effectiveeven with an incomplete set of access logs and inpresence of noise.

3) As part of the unsupervised learning based ap-proach, we propose the rule pruning and policyrefinement algorithms to enhance the quality of themined policy and to ease its maintenance.

4) We propose a policy quality metric based on policycorrectness and conciseness to be able to comparedifferent sets of mined policy rules and to select thebest one based on some given criteria.

5) We implement a prototype of the proposed modeland evaluate it using various ABAC policies toshow its efficiency and effectiveness.

To the best of our knowledge, our proposed approach isthe first unsupervised learning based ABAC policy miningmethod that can be used to extract ABAC policies with bothpositive and negative attribute and relationship filters.

The rest of the paper is organized as follows. In Section2, we overview the ABAC model and its policy language as

well as the unsupervised learning algorithm. In Section 3,we define the ABAC policy extraction problem, discuss therelated challenges, and introduce the metrics for evaluatingthe extracted policy. In Section 4, we present the proposedABAC policy extraction approach. In Section 5, we presentthe evaluation of the proposed approach on various sets ofpolicies. We present the related work in Section 6 and theconclusions and future work in Section 8.

2 PRELIMINARIES

In this section, we overview ABAC, the ABAC policy lan-guage, and the unsupervised learning algorithm.

2.1 ABAC ModelIn 2013, NIST published a β€œGuide to ABAC Definition andConsideration" [9], according to which, β€œthe ABAC engine canmake an access control decision based on the assigned attributesof the requester, the assigned attributes of the object, environmentconditions, and a set of policies that are specified in terms of thoseattributes and conditions.” Throughout the paper, we use userattributes, object attributes, and session attributes to refer to theattributes of the requester, attributes of the object, and theenvironmental attributes/conditions, respectively.

Accordingly, π‘ˆ, 𝑂, 𝑆, 𝑂𝑃 are sets of users, objects,sessions, and operations in a system and user attributes(𝐴𝑒), object attributes (π΄π‘œ), and session attributes (𝐴𝑠) aremappings of subject attributes, object attributes, and en-vironmental attributes as defined in the NIST Guide [9].𝐸 = π‘ˆ βˆͺ 𝑂 βˆͺ 𝑆 and 𝐴 = 𝐴𝑒 βˆͺ π΄π‘œ βˆͺ 𝐴𝑠 are the sets of allentities and all attributes in the system, respectively.Definition 1. (Attribute Range). Given an attribute π‘Ž ∈ 𝐴,

the attribute range π‘‰π‘Ž is the set of all valid values for π‘Ž inthe system.

Definition 2. (Attribute Function). Given an entity 𝑒 ∈ 𝐸 ,an attribute function π‘“π‘Ž_𝑒 is a function that maps an entityto a specific value from the attribute range. Specifically,π‘“π‘Ž_𝑒 (𝑒, π‘Ž) returns the value of attribute π‘Ž for entity 𝑒.

Example 1. π‘“π‘Ž_𝑒 (π½π‘œβ„Žπ‘›, π‘π‘œπ‘ π‘–π‘‘π‘–π‘œπ‘›) = faculty indicates that thevalue of attribute position for user John is faculty.

Example 2. π‘“π‘Ž_𝑒 (𝑑𝑒𝑝1, π‘π‘Ÿπ‘ ) = {𝑐𝑠101, 𝑐𝑠601, 𝑐𝑠602} indicatesthat the value of attribute crs for object dep1 is a set{𝑐𝑠101, 𝑐𝑠601, 𝑐𝑠602}.Each attribute in the system can be a single-valued

(atomic) or multi-valued (set). In Example 1 position is asingle-valued attribute while crs is a multi-valued attributein Example 2. For simplicity, we consider only atomic at-tributes in this work. Actually, the process of extractingABAC policy with multi-valued attributes is exactly thesame as that with atomic attributes, however, we need topre-process data to convert each multi-valued attribute toa set of atomic attributes. This can be done using varioustechniques such as defining dummy variables [20], 1-of-𝐾scheme [21], etc. At the end of the process and when policyrules are extracted, we need one more step to convert backatomic attribute filters to the corresponding multi-valuedattribute filters.

Attribute filters are used to denote the sets of users,objects, and sessions to which an authorization rule applies.

Page 3: 1 An Automatic Attribute Based Access Control Policy

3

Definition 3. (Attribute Filter). An attribute filter is definedas a set of tuples F = {γ€ˆπ‘Ž, 𝑣 |!𝑣〉| π‘Ž ∈ 𝐴 and 𝑣 ∈ π‘‰π‘Ž}. Hereγ€ˆπ‘Ž, 𝑣〉 is a positive attribute filter tuple that indicates π‘Žhas value 𝑣, and γ€ˆπ‘Ž, !𝑣〉 is a negative attribute filter tuplethat indicates π‘Ž has any value in its range except 𝑣.

Example 3. Tuple γ€ˆπ‘™π‘Žπ‘π‘’π‘™, !π‘‘π‘œπ‘-π‘ π‘’π‘π‘Ÿπ‘’π‘‘γ€‰ points to all entities inthe system that do not have β€œtop-secret" as their securitylabel β€œlabel".

Definition 4. (Attribute Filter Satisfaction). An entity 𝑒 ∈ 𝐸satisfies an attribute filter F , denoted as 𝑒 |= F , iff

βˆ€γ€ˆπ‘Žπ‘– , 𝑣𝑖〉 ∈ F : π‘“π‘Ž_𝑒 (𝑒, π‘Žπ‘–) = 𝑣𝑖 βˆ§βˆ€γ€ˆπ‘Žπ‘– , !𝑣𝑖〉 ∈ F : π‘“π‘Ž_𝑒 (𝑒, π‘Žπ‘–) β‰  𝑣𝑖 .

Example 4. Suppose 𝐴𝑒 = {𝑑𝑒𝑝𝑑, π‘π‘œπ‘ π‘–π‘‘π‘–π‘œπ‘›, π‘π‘œπ‘’π‘Ÿπ‘ π‘’π‘ }. The setof tuples FU = {γ€ˆπ‘‘π‘’π‘π‘‘, 𝐢𝑆〉, γ€ˆπ‘π‘œπ‘ π‘–π‘‘π‘–π‘œπ‘›, π‘”π‘Ÿπ‘Žπ‘‘γ€‰} denotes auser attribute filter. Here, the graduate students in theCS department satisfy FU .

Definition 5. (Relation Condition). A relation condition isdefined as a set of tuples R = {γ€ˆπ‘Ž, 𝑏 |!𝑏〉| π‘Ž, 𝑏 ∈ 𝐴 ∧ π‘Ž β‰ 

𝑏}. Here γ€ˆπ‘Ž, 𝑏〉 is a positive relation condition tuple thatindicates π‘Ž and 𝑏 have the same values, and γ€ˆπ‘Ž, !𝑏〉 is anegative relation condition tuple that indicates π‘Ž and 𝑏

do not have the same values.

A relation is used in a rule to denote the equality con-dition between two attributes of users, objects, or sessions.Note that the two attributes in the relation condition musthave the same range.Definition 6. (Relation Condition Satisfaction). An entity

𝑒 ∈ 𝐸 satisfies a relation condition R, denoted as 𝑒 |= R,iff

βˆ€γ€ˆπ‘Žπ‘– , 𝑏𝑖〉 ∈ R : π‘“π‘Ž_𝑒 (𝑒, π‘Žπ‘–) = π‘“π‘Ž_𝑒 (𝑒, 𝑏𝑖)βˆ€γ€ˆπ‘Žπ‘– , !𝑏𝑖〉 ∈ R : π‘“π‘Ž_𝑒 (𝑒, π‘Žπ‘–) β‰  π‘“π‘Ž_𝑒 (𝑒, 𝑏𝑖).

Definition 7. (Access Request). An access request is a tupleπ‘ž = γ€ˆπ‘’, π‘œ, 𝑠, π‘œπ‘γ€‰ where user 𝑒 ∈ π‘ˆ sends a request to thesystem to perform operation π‘œπ‘ ∈ 𝑂𝑃 on object π‘œ ∈ 𝑂 insession 𝑠 ∈ 𝑆.

Definition 8. (Authorization Tuple/Access Log). An autho-rization tuple is a tuple 𝑑 = γ€ˆπ‘ž, 𝑑〉 containing decision𝑑 made by the access control system for request π‘ž. AnAccess Log L is a set of such tuples.

The decision 𝑑 of an authorization tuple can be permitor deny. The tuple with permit decision means that user 𝑒can perform an operation π‘œπ‘ on an object π‘œ in session 𝑠.The authorization tuple with deny decision means that user𝑒 cannot perform operation π‘œπ‘ on object π‘œ in session 𝑠.

Access log is a union of Positive Access Log, L+, andNegative Access Log, Lβˆ’, where:

L+ = {γ€ˆπ‘ž, 𝑑〉|γ€ˆπ‘ž, 𝑑〉 ∈ L ∧ 𝑑 = π‘π‘’π‘Ÿπ‘šπ‘–π‘‘},

andLβˆ’ = {γ€ˆπ‘ž, 𝑑〉|γ€ˆπ‘ž, 𝑑〉 ∈ L ∧ 𝑑 = 𝑑𝑒𝑛𝑦}.

Definition 9. (ABAC Rule). An access rule 𝜌 is a tupleγ€ˆF ,R, π‘œπ‘ |!π‘œπ‘γ€‰, where F is an attribute filter, R is a re-lation condition, and π‘œπ‘ is an operation. !π‘œπ‘ is a negatedoperation that indicates the operation can have any valueexcept π‘œπ‘.

Example 5. Consider rule 𝜌1 = γ€ˆ{γ€ˆπ‘π‘œπ‘ π‘–π‘‘π‘–π‘œπ‘›, 𝑠𝑑𝑒𝑑𝑒𝑛𝑑〉,γ€ˆπ‘™π‘œπ‘π‘Žπ‘‘π‘–π‘œπ‘›, π‘π‘Žπ‘šπ‘π‘’π‘ γ€‰, γ€ˆπ‘‘π‘¦π‘π‘’, π‘Žπ‘Ÿπ‘‘π‘–π‘π‘™π‘’γ€‰}, {γ€ˆπ‘‘π‘’π‘π‘‘π‘’ , π‘‘π‘’π‘π‘‘π‘œγ€‰},π‘Ÿπ‘’π‘Žπ‘‘γ€‰. It can be interpreted as β€œA student can read anarticle if he/she is on campus and his/her department matchesthe department of the article".

Definition 10. (Rule Satisfaction) An access request π‘ž =

γ€ˆπ‘’, π‘œ, 𝑠, π‘œπ‘γ€‰ is said to satisfy a rule 𝜌, denoted as π‘ž |= 𝜌,iff

γ€ˆπ‘’, π‘œ, 𝑠〉 |= F ∧ γ€ˆπ‘’, π‘œ, 𝑠〉 |= R ∧ π‘œπ‘π‘ž = π‘œπ‘πœŒ .

Definition 11. (ABAC Policy). An ABAC policy is a tupleπœ‹ = γ€ˆπΈ,𝑂𝑃, 𝐴, π‘“π‘Ž_𝑒,P〉 where 𝐸 , 𝑂𝑃, 𝐴, and P are setsof entities, operations, attributes, and ABAC rules in thesystem and π‘“π‘Ž_𝑒 is the attribute function.

Definition 12. (ABAC Policy Decision). The decision of anABAC policy πœ‹ for an access request π‘ž denoted as π‘‘πœ‹ (π‘ž)is permit iff:

βˆƒπœŒ ∈ πœ‹ : π‘ž |= 𝜌

otherwise, the decision is deny.

If an access request satisfies a rule of the access controlpolicy, then the decision of the system for such accessrequest is permit. If the access request does not satisfy anyrule in the access control policy then the decision of thesystem for such access request is deny.

TABLE 1 summarizes the notations used in this paper.

2.2 Unsupervised Learning AlgorithmUnsupervised learning algorithms try to infer a functionthat describes the structure of unlabeled data. They areuseful when no or very few labeled data is available. Weleverage such methods for extracting ABAC policies fromaccess logs.

In particular, given a set of authorization tuples, weemploy an unsupervised learning approach to mine andextract an ABAC policy that has high quality. An unsu-pervised learning approach is suitable because there is nolabeled data available for desired ABAC rules. ABAC policyextraction, in this case, can be considered as a mappingbetween authorization tuples to a set of clusters that arerepresentative of the desired ABAC rules. Such a mappingcan be expressed as a function, β„Ž : X β†’ Y, where:

1) X is a set of authorization tuples (i.e., access log).2) Y is a set of numbered labels (i.e., cluster labels,

each cluster corresponding to a rule of the ABACpolicy πœ‹).

The goal is then to learn the function β„Ž with low cluster-ing error and mine the desired policy that is high quality.

3 PROBLEM DEFINITION

3.1 ABAC Policy Extraction ProblemAlthough organizations are interested in employing anABAC model, adopting it is a big challenge for them.The manual development of such a policy is tedious anderror-prone. Policy Mining techniques have been proposedto address such challenges in order to reduce the cost,time, and error of policy development/maintenance. ABACpolicy mining algorithms ease the migration to the ABAC

Page 4: 1 An Automatic Attribute Based Access Control Policy

4

TABLE 1: Notations

Notation Definition

π‘ˆ ,𝑂, 𝑆, 𝑂𝑃 Sets of users, objects, sessions, and operations𝐴𝑒 , π΄π‘œ , and 𝐴𝑠 Sets of user attributes, object attributes, and session attributes𝐸 =π‘ˆ βˆͺ𝑂 βˆͺ 𝑆 Set of all entities

𝐴 = 𝐴𝑒 βˆͺ π΄π‘œ βˆͺ 𝐴𝑠 Set of all attributesπ‘‰π‘Ž Attribute Range: set of all valid values for π‘Ž ∈ 𝐴

π‘“π‘Ž_𝑒 (𝑒, π‘Ž) Attribute Function: a function that maps an entity 𝑒 ∈ 𝐸 to a value from π‘‰π‘Ž

F = { γ€ˆπ‘Ž, 𝑣 |!𝑣 〉 | π‘Ž ∈ 𝐴∧ 𝑣 ∈ π‘‰π‘Ž } Attribute FilterR = { γ€ˆπ‘Ž, 𝑏〉 | π‘Ž, 𝑏 ∈ 𝐴∧ π‘Ž β‰  𝑏 ∧ π‘‰π‘Ž = 𝑉𝑏 } Relation Condition

π‘ž = γ€ˆπ‘’, π‘œ, 𝑠, π‘œπ‘γ€‰ Access Request𝑑 = γ€ˆπ‘ž, 𝑑〉 Authorization Tuple, showing decision 𝑑 made by the system for request π‘žL Access Log, set of authorization tuples

L+ = { γ€ˆπ‘ž, 𝑑〉 | γ€ˆπ‘ž, 𝑑〉 ∈ L ∧ 𝑑 = π‘π‘’π‘Ÿπ‘šπ‘–π‘‘ } Positive Access LogLβˆ’ = { γ€ˆπ‘ž, 𝑑〉 | γ€ˆπ‘ž, 𝑑〉 ∈ L ∧ 𝑑 = 𝑑𝑒𝑛𝑦 } Negative Access Log

𝜌 = γ€ˆF, R, π‘œπ‘ |!π‘œπ‘γ€‰ ABAC RuleP Set of all policy rules

πœ‹ = γ€ˆπΈ, 𝑂𝑃, 𝐴, π‘“π‘Ž_𝑒 , P〉 ABAC Policyπ‘‘πœ‹ (π‘ž) The decision of an ABAC policy πœ‹ for an access request π‘ž

𝑇 π‘ƒπœ‹ |L , πΉπ‘ƒπœ‹ |L , 𝑇 π‘πœ‹ |L , and πΉπ‘πœ‹ |L Relative True Positive, False Positive, True Negative, and False Negative Ratesπ΄πΆπΆπœ‹ |L Relative Accuracy Rate

𝐹 -π‘ π‘π‘œπ‘Ÿπ‘’πœ‹ |L Relative F-scoreπ‘Šπ‘†πΆ (πœ‹) Weighted Structural Complexity of policy πœ‹

Qπœ‹ Policy Quality Metric

framework by completely (or partially) automating the de-velopment of ABAC policy rules.

The primary input to a policy mining algorithm is the logof authorization decisions in the system. The log indicatesauthorization decision (i.e., permit or deny) for any givenaccess request by a user of the system. For ABAC policymining, such a log is accompanied by attributes of entitiesinvolved in the log entries. The goal of a policy miningalgorithm is to extract ABAC policy rules from access logsthat have high quality with respect to some quality metrics(e.g., policy size and correctness).

We define the ABAC policy extraction problem formallyas follows:Definition 13. (ABAC Policy Extraction Problem). Let

𝐼 =< 𝐸,𝑂𝑃, 𝐴, π‘“π‘Ž_𝑒,L >, where the components are asdefined earlier, then the ABAC policy extraction problemis to find a set of rules R such that the ABAC policyπœ‹ =< 𝐸,𝑂𝑃, 𝐴, π‘“π‘Ž_𝑒,R > has high quality with respect toL.

3.2 Challenges and Requirements

For an ABAC policy extraction approach to be applicableto a wide range of real-world scenarios, we identify thefollowing challenges and requirements:

1) Correctness of Mined Policy: The mined policy mustbe consistent with original authorization log in thatthe access decision of the mined policy must resultin the same access decision of the log entry. Aninconsistent extracted policy may result in situationsin which an originally authorized access is denied(more restrictive) or originally unauthorized access ispermitted (less restrictive) by the system.

2) Complexity of Mined Policy: The policy mining algo-rithm should endeavor to extracting a policy that isas concise as possible. Since the policy rules need tobe manipulated by human administrators, the moreconcise they are, the more manageable and easier to

interpret they would be. In addition, succinct rulesare desirable as they are easier to audit and manage.

3) Negative Attribute Filters: The ABAC policy miningsolution should support both positive and negativeattribute filters which will result in more conciseand manageable mined policy.

4) Relation Conditions: The solution should support theextraction of relation conditions for policy miningin order to generate more concise and manageablemined policy.

5) Sparse Logs: In real-world, the access log that isinput to the policy mining algorithm may be sparse,representing only a small fraction of all possibleaccess requests. The policy mining algorithm mustbe able to extract useful rules even from a sparselog.

6) Mining Negative Authorization Rules: An ABAC pol-icy can contain both positive and negative ruleswhich permit or deny access requests, respectively.The use of negative rules is helpful in situationswhere specifying exceptions to more general rulesis important. Including negative policy rules wouldhelp in generating a more concise ABAC policy.Thus, the policy mining algorithm should be ableto extract both positive and negative authorizationrules.

7) Noisy Authorization Log: In the real world and withcomplex and dynamic information systems, it ispossible to have a noisy authorization log consistingof over-assignments and under-assignments. Theseissues occur either due to a wrong configurationof the original authorization system or improperpolicy updates by administrators. The policy miningalgorithm should be capable of extracting meaning-ful rules even in presence of an acceptable amountof noise in the input access log.

8) Dynamic and Evolving Policies: Modern informationsystems are often dynamic. The authorization needs

Page 5: 1 An Automatic Attribute Based Access Control Policy

5

of these systems and the attributes of the entities inthe environment evolve rapidly. These changes willresult in over-assignments or under-assignments.The proposed method should employ a mechanismto support the dynamicity of the information sys-tems and their authorization policies and ease themaintenance of evolving systems.

Our proposed approach addresses all the requirementsexcept the sixth one. Table 2 shows the challenges that areaddressed by our proposed approach and how it improvesupon the state-of-the-art policy mining techniques. In Sec-tion 6, we discuss the existing solutions in details.

3.3 Evaluation Metrics

One of the main metrics for evaluating the quality of anextracted policy is how accurately it matches the originalpolicy. That means the authorization decisions made by theextracted policy for a set of access requests should be similarto the decisions made by the original policy for that set ofrequests. As an example, if the decision of the original policyfor an access request π‘ž is permit, then the decision of themined policy for the same access request must be permitas well. If the mined policy denies the same access request,then we record this authorization tuple as a False Negative.We define Relative True Positive, Relative False Positive, RelativeTrue Negative, and Relative False Negative rates, respectively,as follows:Definition 14. (Relative True Positive Rate). Given an access

log L and an ABAC policy πœ‹, the relative true positiverate of πœ‹ regarding L denoted as π‘‡π‘ƒπœ‹ |L is the portion ofpositive access logs for which the decision of πœ‹ is permit:

π‘‡π‘ƒπœ‹ |L =|{γ€ˆπ‘ž, 𝑑〉 ∈ L+ |π‘‘πœ‹ (π‘ž) = π‘π‘’π‘Ÿπ‘šπ‘–π‘‘}|

|L+ |Here, |𝑠 | is the cardinality of set 𝑠.

Definition 15. (Relative False Positive Rate). The relativefalse positive rate of πœ‹ regarding L denoted as πΉπ‘ƒπœ‹ |L isthe portion of negative access logs for which the decisionof πœ‹ is permit:

πΉπ‘ƒπœ‹ |L =|{γ€ˆπ‘ž, 𝑑〉 ∈ Lβˆ’ |π‘‘πœ‹ (π‘ž) = π‘π‘’π‘Ÿπ‘šπ‘–π‘‘}|

|Lβˆ’ |

Similarly, we calculate the relative true negative rate andfalse negative rate of πœ‹ regarding L, denoted as π‘‡π‘πœ‹ |L andπΉπ‘πœ‹ |L , respectively, as follows:

π‘‡π‘πœ‹ |L =|{γ€ˆπ‘ž, 𝑑〉 ∈ Lβˆ’ |π‘‘πœ‹ (π‘ž) = 𝑑𝑒𝑛𝑦}|

|Lβˆ’ |

πΉπ‘πœ‹ |L =|{γ€ˆπ‘ž, 𝑑〉 ∈ L+ |π‘‘πœ‹ (π‘ž) = 𝑑𝑒𝑛𝑦}|

|L+ |The relative precision and relative recall are calculated as

follows:

π‘ƒπ‘Ÿπ‘’π‘π‘–π‘ π‘–π‘œπ‘›πœ‹ |L =π‘‡π‘ƒπœ‹ |L

π‘‡π‘ƒπœ‹ |L + πΉπ‘ƒπœ‹ |L

π‘…π‘’π‘π‘Žπ‘™π‘™πœ‹ |L =π‘‡π‘ƒπœ‹ |L

π‘‡π‘ƒπœ‹ |L + πΉπ‘πœ‹ |L

The relative accuracy metric, π΄πΆπΆπœ‹ |L , measures the ac-curacy of mined policy πœ‹ with regards to the decisions madeby the original policy indicated by L and is defined formallyas follows:

Definition 16. (Relative Accuracy). Given the relative truepositive and negative rates, the relative accuracy of πœ‹regarding L denoted as π΄πΆπΆπœ‹ |L is calculated as follows:

π΄πΆπΆπœ‹ |L =π‘‡π‘ƒπœ‹ |L + π‘‡π‘πœ‹ |L

π‘‡π‘ƒπœ‹ |L + π‘‡π‘πœ‹ |L + πΉπ‘ƒπœ‹ |L + πΉπ‘πœ‹ |L

As accuracy may be misleading in unbalanced data sets[22] (which is very probable in case of access logs), we userelative F-score to better evaluate the mined policy:

𝐹-π‘ π‘π‘œπ‘Ÿπ‘’πœ‹ |L = 2 Β·π‘ƒπ‘Ÿπ‘’π‘π‘–π‘ π‘–π‘œπ‘›πœ‹ |L Β· π‘…π‘’π‘π‘Žπ‘™π‘™πœ‹ |Lπ‘ƒπ‘Ÿπ‘’π‘π‘–π‘ π‘–π‘œπ‘›πœ‹ |L + π‘…π‘’π‘π‘Žπ‘™π‘™πœ‹ |L

Policies with higher relative F-score are better as they aremore consistent with the original access log.

On the other hand, as the number of filters in each ruleand the number of rules in an access control policy increases,policy intelligibility would decrease and maintenance of thepolicy would become harder. Hence, complexity is anotherkey metric for evaluating the quality of a policy.

Weighted Structural Complexity (WSC) is a general-ization of policy size and was first introduced for RBACpolicies [23] and later extended for ABAC policies [15]. WSCis consistent with usability studies of access control rules,which indicates that the more concise the policies are themore manageable they become [24]. Informally, for a givenABAC policy, its WSC is a weighted sum of its elements.Formally, for an ABAC policy πœ‹ with rules P, its WSC isdefined as follows:

π‘Šπ‘†πΆ (πœ‹) = π‘Šπ‘†πΆ (P)

π‘Šπ‘†πΆ (P) =βˆ‘οΈπœŒβˆˆP

π‘Šπ‘†πΆ (𝜌)

π‘Šπ‘†πΆ (𝜌 = γ€ˆFU , FO , FS ,R, π‘œπ‘, 𝑑〉) = 𝑀1π‘Šπ‘†πΆ (FU)+𝑀2π‘Šπ‘†πΆ (FO) + 𝑀3π‘Šπ‘†πΆ (FS) + 𝑀4π‘Šπ‘†πΆ (R)

βˆ€π‘  ∈ {FU , FO , FS ,R} : π‘Šπ‘†πΆ (𝑠) =βˆ‘οΈ|𝑠 |

where |𝑠 | is the cardinality of set 𝑠 and each 𝑀𝑖 is a user-specified weight.

Van Rijsbergen proposes an effectiveness measure forcombining two different metrics 𝑃 and 𝑅 in [25] as follows :

𝐸 = 1 βˆ’ 1𝛼

𝑃+ 1 βˆ’ 𝛼

𝑅

Given relative F-score and WSC measures for variousmined policies resulting from running different mining al-gorithms over access log, it may not be straightforward toselect the best algorithm and, hence, the mined policy withthe highest quality. So, to be able to compare the quality ofdifferent mined ABAC policies, we combine the two metricsbased on Van Rijsbergen’s effectiveness measure [25] anddefine the Policy Quality Metric as follows:

Page 6: 1 An Automatic Attribute Based Access Control Policy

6

TABLE 2: State-of-the-art ABAC Rule Mining Techniques

Xu et al. [15] Medvet et al. [16] Iyer et. al [17] Cotrini et al. [18] Our Proposed Approach

Policy Correctness X X X X XPolicy Complexity X X X X XNegative Attribute Filters 7 7 7 7 XRelation Conditions X X X 7 XSparse Logs 7 X 7 X XNegative Authorization Rules 7 7 X 7 7Noisy Authorization Log X 7 7 7 XSystem Dynamicity 7 7 7 7 X

Qπœ‹ = ( 𝛼

𝐹-π‘ π‘π‘œπ‘Ÿπ‘’πœ‹ |L+ 1 βˆ’ π›ΌΞ”π‘Šπ‘†πΆπœ‹

)βˆ’1

Here 𝛼 =1

1 + 𝛽2 where 𝛽 determines the importance of

relative F-score over policy complexity and Ξ”π‘Šπ‘†πΆπœ‹ showsthe relative reduction in the complexity with regards to thecomplexity of the most complex mined policy. Ξ”π‘Šπ‘†πΆπœ‹ iscalculated as follows:

Ξ”π‘Šπ‘†πΆπœ‹ =π‘Šπ‘†πΆπ‘šπ‘Žπ‘₯ βˆ’π‘Šπ‘†πΆ (πœ‹) + 1

π‘Šπ‘†πΆπ‘šπ‘Žπ‘₯

π‘Šπ‘†πΆπ‘šπ‘Žπ‘₯ is the weighted structural complexity of the mostcomplex mined policy.Definition 17. (Most Complex Mined Policy). The most

complex mined policy is the mined policy with thehighest weighted structural complexity. It is extracted byiterating through positive access log L+ and adding anaccess control rule for each authorization tuple if it’s notalready included in the mined policy. The correspondingrule for each authorization tuple includes all attributesof user, object, and subject of that authorization tuple.

Considering the equal importance of relative F-score andrelative loss of complexity of the policy, we calculate thequality measure as follows:

Qπœ‹ =2 Β· 𝐹-π‘ π‘π‘œπ‘Ÿπ‘’πœ‹ |L Β· Ξ”π‘Šπ‘†πΆπœ‹

𝐹-π‘ π‘π‘œπ‘Ÿπ‘’πœ‹ |L + Ξ”π‘Šπ‘†πΆπœ‹

A mined policy with a higher F-score would have ahigher policy quality. On the other hand, as the complexityof a policy increases, its quality will decrease. The intuitionhere is that once an extracted policy reaches a high F-score,adding additional rules will lead to a decrease in Qπœ‹ .

For the most complex mined policy πœ‹π‘€ , Ξ”π‘Šπ‘†πΆπœ‹π‘€ β‰ˆ 0,so its policy quality Qπœ‹π‘€ is very close to zero. For anempty mined policy πœ‹π‘’ (a policy without any rule), whileΞ”π‘Šπ‘†πΆπœ‹π‘’ β‰ˆ 1, as it denies all the access requests, its falsenegative rate is one and its true positive rate is zero. So itsprecision is zero and as a result, its F-score is zero as well.So the quality of the empty policy Qπœ‹π‘’ is zero, too.

The most complex mined policy and the empty minedpolicy are the two extreme cases with policy quality equalto zero. Other mined policies between these two cases havehigher policy quality than zero.

4 THE PROPOSED LEARNING-BASED APPROACH

Our proposed learning-based ABAC policy extraction pro-cedure consists of the steps summarized in Figure 1.

1. Data Pre-processing

Handling missingvalues, Converting tocategorical values 2. Parameter Tuning

Finding best number of clusters,best cluster initialization, andappropriate thresholds 

3. Clustering

Clustering data usingk-mean/k-modealgorithm

4. Rule Extraction

Finding effectiveattributes andrelations, BuildingRules

5. Rule Pruning

Removing duplicaterules, Finding similarrules and eliminatingthem

6. Policy Refinement

Refining policy rulesbased on FP and FNrecords

Fig. 1: Overview of the Proposed Approach.

4.1 Data Pre-processingAs features of our learning algorithm are categorical vari-ables, the first step in pre-processing the access log isto convert all numerical variables to their correspondingcategorical values. For example, in ABAC, environmentalattributes deal with time, location or dynamic aspects of theaccess control scenario. Hence, we need to pre-process anddiscretize such continuous variables to categorical ones (e.g.time of access to working hours and non working hours) soour proposed algorithm is applicable to them.

We also need to handle missing values in this step. Asthe frequency of each attribute value is an important factorin our rule extraction algorithm (Section 4.4) for decidingif an attribute is effective or not, it is important to replacemissing values in a way that it doesn’t mess up with theoriginal frequency of each attribute value. For this purpose,we replace each missing value by UNK (i.e., unknown).

4.2 Selection of Learning AlgorithmWe use the K-modes algorithm [26], which is a well knownunsupervised learning algorithm used for clustering cate-gorical data. K-modes has been proved effective in miningABAC policies [27]; this algorithm uses an initializationmethod based on both the distance between data pointsand the density of data points. Using both density anddistance when initializing clusters help avoid two problems:(i) clustering outliers as new clusters are based only on thedistances; and (ii) creating new clusters surrounding onecenter based only on the density. Compared to a random

Page 7: 1 An Automatic Attribute Based Access Control Policy

7

initialization method, this method provides more robustnessand better accuracy in the clustering process [26].

4.3 Parameter TuningIn the next step, we tune the learning parameters. There areseveral challenges that need to be addressed in this step,which include the following:

4.3.1 Number of Clusters (k)One of the main challenges in an unsupervised learningis determining the number of clusters, π‘˜ . In our samplepolicies, as we know the number of rules in each policy,we can set the number of clusters beforehand but in areal situation as we do not know the size of the rules inadvance, making the correct choice of π‘˜ is difficult. One ofthe popular methods for determining the number of clustersin an unsupervised learning model is the Elbow Method [28],[29]. This method is based on total within group sum ofsquares. π‘˜ will be chosen as the number of clusters if addinganother cluster doesn’t give much better modeling of thedata (i.e., the elbow point of the graph).

As a second approach, we choose a number of clusters(π‘˜) which gives the best modeling of the data in terms of thepolicy quality metric. For this purpose, we run our clusteringalgorithm for different values of π‘˜ and calculate the accuracyof the corresponding model using 10-fold cross-validation.The value of π‘˜ that maximizes the accuracy of the model isselected as the final number of clusters.

Note that increasing π‘˜ will ultimately reduce the amountof clustering error or it will increase the accuracy of themodel, but by increasing the number of clusters, the num-ber of extracted rules will also increase resulting in morecomplexity (i.e., higher WSC). So it is important to find anoptimal π‘˜ that balances between policy accuracy and WSC.

4.3.2 Cluster Initialization & Local OptimaDifferent cluster initializations can lead to a different setof clusters as k-means/k-modes may converge to a localoptima. To overcome this issue, for a given number ofclusters, π‘˜ , we train multiple models with different clusterinitializations and then select the partition with the smallestclustering error.

4.4 Policy Rules ExtractionThe main phase in our proposed approach is the extractionof ABAC policy rules. In the first step, we need to collect allthe authorization tuples related to each rule of the policy. Weuse data clustering for this purpose. We divide the access loginto clusters where the records in each cluster correspond toone AC rule in the system. This is done based on findingsimilar patterns between features (i.e., attribute values) ofthe records (i.e., access control tuples). In the second step,we extract the attribute filters of such a rule. We adapt therule extraction algorithm in [27] and extend it to extract bothpositive and negative attribute filters. We define effectivepositive attribute and effective negative attribute as follows:Definition 18. (Effective Positive (Negative) Attribute). Let

𝑆 = {γ€ˆπ‘Ž, 𝑣〉} be the set of all possible attribute-value pairsin a system; we define γ€ˆπ‘Ž 𝑗 , 𝑣 𝑗〉 ∈ 𝑆 (γ€ˆπ‘Ž 𝑗 , !𝑣 𝑗〉 ∈ 𝑆) as an

effective positive (negative) attribute pair of πœŒπ‘– correspond-ing to cluster 𝐢𝑖 , where the frequency of occurrence of 𝑣 𝑗in the set of all the records of cluster 𝐢𝑖 is much higher(lower) than its frequency of occurrence in the originaldata; this is determined based on a threshold T𝑃 (T𝑁 ).The attribute expression γ€ˆπ‘Ž 𝑗 , 𝑣 𝑗〉 (γ€ˆπ‘Ž 𝑗 , !𝑣 𝑗〉) is added tothe attribute filters of the extracted rule πœŒπ‘– for 𝐢𝑖 .

In the final step, we extract the relation conditions forAC rules for each cluster. This will be done based on thefrequency of equality between pairs of attributes in therecords of each cluster. We define effective positive relationand effective negative relation as follows:

Definition 19. (Effective Positive (Negative) Relation). Let𝑅 = {γ€ˆπ‘Ž, 𝑏〉} be the set of all possible relations betweenpairs of attributes in the system; we define γ€ˆπ‘Ž 𝑗 , 𝑏 𝑗〉 asan effective positive (negative) relation pairs of πœŒπ‘– cor-responding to cluster 𝐢𝑖 , where the frequency of π‘Ž 𝑗

equals 𝑏 𝑗 in all the records of cluster 𝐢𝑖 is much higher(lower) than their frequency in the original data; this isdetermined based on a threshold \𝑃 (\𝑁 ). The relationγ€ˆπ‘Ž 𝑗 , 𝑏 𝑗〉 (γ€ˆπ‘Ž 𝑗 , !𝑏 𝑗〉) is added to the relation conditions ofthe extracted rule πœŒπ‘– for this cluster.

We note that the values of the thresholds T𝑃 , T𝑁 , \𝑃 ,and \𝑁 will be different for each data set. To find thebest threshold values for each data set, we run the ruleextraction algorithm for different values of thresholds, andthe values which result in the maximum accuracy over thecross-validation data set will be selected.

Algorithms 1 and 2 show effective attribute and effectiverelation extraction procedures, respectively.

Algorithm 1 Effective attribute extraction algorithm

1: procedure EXTRACTATTRIBUTEFILTERSInput: 𝐢𝑖 , 𝐴, 𝑉 , L, T𝑃 , T𝑁Output: F

2: F ← βˆ…3: for all π‘Ž ∈ 𝐴 do4: for all 𝑣 𝑗 ∈ π‘‰π‘Ž do5: if πΉπ‘Ÿπ‘’π‘ž(𝑣 𝑗 , 𝐢𝑖) βˆ’ πΉπ‘Ÿπ‘’π‘ž(𝑣 𝑗 ,L) > T𝑃 then6: F 𝑖 ← F βˆͺ γ€ˆπ‘Ž, 𝑣 𝑗〉7: end if8: if πΉπ‘Ÿπ‘’π‘ž(𝑣 𝑗 ,L) βˆ’ πΉπ‘Ÿπ‘’π‘ž(𝑣 𝑗 , 𝐢𝑖) > T𝑁 then9: F 𝑖 ← F βˆͺ γ€ˆπ‘Ž, !𝑣 𝑗〉

10: end if11: end for12: end for

return πœŒπ‘–13: end procedure

4.5 Policy Enhancement

After the first phase of policy rule extraction, we get a policywhich may not be as accurate and concise as we desire. Weenhance the quality of the mined policy through iterationsof policy improvement steps that include: rule pruning andpolicy refinement.

Page 8: 1 An Automatic Attribute Based Access Control Policy

8

Algorithm 2 Effective relation extraction algorithm

1: procedure EXTRACTRELATIONSInput: 𝐢𝑖 , 𝐴, L, \𝑃 , \𝑁Output: R

2: R ← βˆ…3: for all π‘Ž ∈ 𝐴 do4: for all 𝑏 ∈ 𝐴 and 𝑏 β‰  π‘Ž do5: if πΉπ‘Ÿπ‘’π‘ž(π‘Ž = 𝑏, 𝐢𝑖) - πΉπ‘Ÿπ‘’π‘ž(π‘Ž = 𝑏,L)>\𝑃 then6: R ← R βˆͺ γ€ˆπ‘Ž, 𝑏〉7: end if8: if πΉπ‘Ÿπ‘’π‘ž(π‘Ž = 𝑏,L) - πΉπ‘Ÿπ‘’π‘ž(π‘Ž = 𝑏, 𝐢𝑖)>\𝑁 then9: R ← R βˆͺ γ€ˆπ‘Ž, !𝑏〉

10: end if11: end for12: end for

return R13: end procedure

4.5.1 Rule PruningDuring the rule extraction phase, it’s possible to have twoclusters that correspond to the same rule. As a result, theextracted rules of these clusters are very similar to eachother. Having two similar rules in the final policy increasesthe complexity of the mined policy while it may not helpthe accuracy of the policy and as a result, it hurts the policyquality. To address such an issue, in the rule pruning step,we identify similar rules and eliminate the ones whoseremoval improves the policy quality more. If eliminatingneither of the two rules improves the policy quality, wekeep both the rules. This may happen when we have twovery similar AC rules in the original policy. We measure thesimilarity between two rules using Jaccard similarity [30] asfollows:

𝐽 (𝑆1, 𝑆2) = |𝑆1 ∩ 𝑆2 |/|𝑆1 βˆͺ 𝑆2 |Based on this, we calculate the similarity between two

rules 𝜌1 and 𝜌2 as follows:

𝐽 (𝜌1, 𝜌2) =[ βˆ‘F∈{FU ,FO ,FS }

|F𝜌1 ∩ F𝜌2 | + |R𝜌1 ∩ R𝜌2 | + |π‘œπ‘πœŒ1 ∩ π‘œπ‘πœŒ2 |]

[ βˆ‘F∈{FU ,FO ,FS }

|F𝜌1 βˆͺ F𝜌2 | + |R𝜌1 βˆͺ R𝜌2 | + |π‘œπ‘πœŒ1 βˆͺ π‘œπ‘πœŒ2 |]

We consider two rules to be similar if their Jaccardsimilarity score is more than 0.5, which means that the sizeof their common elements is more than half of the size of theunion of their elements. Algorithm 3 shows the rule pruningprocedure.

4.5.2 Policy RefinementDuring the rule extraction phase, it is possible to extractrules that are either too restricted or too relaxed comparedto the original policy rules. A rule is restricted if it employsmore filters than the original rule.Example 6. Consider the following two rules:

𝜌1 = γ€ˆ{(π‘π‘œπ‘ π‘–π‘‘π‘–π‘œπ‘›, 𝑓 π‘Žπ‘π‘’π‘™π‘‘π‘¦)},{(𝑑𝑦𝑝𝑒, π‘”π‘Ÿπ‘Žπ‘‘π‘’π‘π‘œπ‘œπ‘˜)},{π‘ π‘’π‘‘π‘†π‘π‘œπ‘Ÿπ‘’}, π‘π‘’π‘Ÿπ‘šπ‘–π‘‘γ€‰

𝜌2 = γ€ˆ{(π‘π‘œπ‘ π‘–π‘‘π‘–π‘œπ‘›, 𝑓 π‘Žπ‘π‘’π‘™π‘‘π‘¦),(𝑒𝐷𝑒𝑝𝑑, 𝐸𝐸)},{(𝑑𝑦𝑝𝑒, π‘”π‘Ÿπ‘Žπ‘‘π‘’π‘π‘œπ‘œπ‘˜)},{π‘ π‘’π‘‘π‘†π‘π‘œπ‘Ÿπ‘’}, π‘π‘’π‘Ÿπ‘šπ‘–π‘‘γ€‰

Algorithm 3 Rule Pruning algorithm

1: procedure RULEPRUNINGInput: πœ‹Output: πœ‹

2: P ← πœ‹.P3: π‘ž ← CALCQUALITY(P)4: for all πœŒπ‘– ∈ P do5: for all 𝜌 𝑗 ∈ P and πœŒπ‘– β‰  𝜌 𝑗 do6: if SIMILARITY(πœŒπ‘– , 𝜌 𝑗 ) > 0.5 then7: P𝑖 ← P/πœŒπ‘–8: P 𝑗 ← P/𝜌 𝑗

9: π‘žπ‘– ← CALCQUALITY(P𝑖)10: π‘ž 𝑗 ← CALCQUALITY(P 𝑗 )11: if π‘žπ‘– >= π‘ž and π‘žπ‘– >= π‘ž 𝑗 then12: P ← P𝑖13: end if14: if π‘ž 𝑗 >= π‘ž and π‘ž 𝑗 >= π‘žπ‘– then15: P ← P 𝑗

16: end if17: end if18: end for19: end for

return P20: end procedure

Here 𝜌2 is more restricted than 𝜌1 as it imposes moreconditions on the user attributes.

Having such a restricted rule in the mined policy wouldresult in a larger number of FNs as an access request thatwould be permitted by the original rule will be denied bythe restricted rule.

On the other hand, an extracted rule is more relaxedcompared to the original rule if it misses some of the filters.In Example 6, 𝜌1 is more relaxed than 𝜌2. Such a relaxed rulewould result in more FPs as it permits access requests thatshould be denied as per the original policies.

To address these issues, we propose a policy refinementprocedure which is shown in Algorithm 4. Here, we tryto refine the mined policy (πœ‹π‘š) based on the patterns dis-covered in the FN or FP records. These patterns are usedto eliminate extra filters from restricted rules or appendmissing filters to relax the rules.

To extract patterns from the FN or FP records, we applyour rule extraction procedure on these records to get the cor-responding policies πœ‹πΉπ‘ and πœ‹πΉπ‘ƒ . Here our training data areFN and FP records, respectively. We compare the extractedFN or FP rules with the mined policy and remove the extrafilters or append the missed ones to the corresponding rules.As an example, consider the FP records. Here, our goalis to extract the patterns that are common between accessrequests that were permitted based on the mined policywhile they should have been denied based on the originalpolicy.

In each step of refinement, a rule from πœ‹π‘š that is similarto a rule from πœ‹πΉπ‘ or πœ‹πΉπ‘ƒ based on the Jaccard similarity(Section 4.5.1) is selected and then refined in two ways asdiscussed below.

Policy refinement based on πœ‹πΉπ‘ : In the case of FN records,two situations are possible: a rule is missing from the mined

Page 9: 1 An Automatic Attribute Based Access Control Policy

9

policy (πœ‹π‘š) or one of the rules in πœ‹π‘š is more restrictive. Toresolve this issue, for each rule πœŒπ‘– ∈ πœ‹πΉπ‘ :

β€’ if there is a similar rule 𝜌 𝑗 ∈ πœ‹π‘š then we refine 𝜌 𝑗 asfollows:

βˆ€ 𝑓 ∈ F : F𝜌 𝑗= F𝜌 𝑗

/(F𝜌 𝑗/FπœŒπ‘–)

where F = FU βˆͺ FO βˆͺ FS βˆͺ R. So, the extra filters areremoved from the restricted rule (𝜌 𝑗 ).

β€’ if there is no such rule, then πœŒπ‘– is the missing rule andwe add it to πœ‹π‘š.

Policy refinement based on πœ‹πΉπ‘ƒ : In the case of FP records,some filters might be missing in an extracted rule in themined policy (πœ‹π‘š); so for each rule πœŒπ‘– ∈ πœ‹πΉπ‘ƒ , we refine themined policy as follows:

βˆ€ 𝑓 ∈ F : F𝜌 𝑗= F𝜌 𝑗

βˆͺ (FπœŒπ‘–/F𝜌 𝑗)

where F = FUβˆͺFOβˆͺFSβˆͺR includes all the filters in the rule.So, the missing filters are added to the relaxed rule (𝜌 𝑗 ).

These refinements can be done in multiple iterationsuntil further refinement does not give a better model interms of policy quality Qπœ‹ .

Algorithm 4 Policy refinement algorithm

1: procedure REFINEPOLICYInput: 𝐴, LOutput: πœ‹π‘š

2: FN ← GETFNS(πœ‹π‘š,L)3: πœ‹πΉπ‘ ← EXTRACTPOLICY(FN)4: for all πœŒπ‘– ∈ πœ‹πΉπ‘ .P do5: 𝑅𝑠 ← GETSIMILARRULES(πœ‹πΉπ‘ .P, πœ‹π‘š.P)6: if |𝑅𝑠 | = 0 then7: πœ‹π‘š.P ← πœ‹π‘š.P βˆͺ πœŒπ‘–8: else9: for all 𝜌 𝑗 ∈ 𝑅𝑠 do

10: for all F ∈ FU βˆͺ FO βˆͺ FS βˆͺ R do11: F𝜌 𝑗

← F𝜌 𝑗\(F𝜌 𝑗

\FπœŒπ‘– )12: end for13: end for14: end if15: end for16: FP ← GETFPS(πœ‹π‘š,L)17: πœ‹πΉπ‘ƒ ← EXTRACTPOLICY(F P)18: for all πœŒπ‘– ∈ πœ‹πΉπ‘ƒ .P do19: 𝑅𝑠 ← GETSIMILARRULES(πœ‹πΉπ‘ƒ .P, πœ‹π‘š.P)20: if |𝑅𝑠 | ! = 0 then21: for all 𝜌 𝑗 ∈ 𝑅𝑠 do22: for all F ∈ FU βˆͺ FO βˆͺ FS βˆͺ R do23: F𝜌 𝑗

← F𝜌 𝑗βˆͺ (FπœŒπ‘–\F𝜌 𝑗

)24: end for25: end for26: end if27: end for

return πœ‹π‘š28: end procedure

5 EXPERIMENTAL EVALUATION

We have implemented a prototype of our proposed ap-proach presented in Section 4. Here, we present our experi-mental evaluation.

5.1 Datasets

We perform our experiments on multiple datasets includingsynthesized and real ones. The synthesized access logs aregenerated from two sets of ABAC policies. The first one isa manually written set of policies that is adapted from [15]to be compatible with our policy language. The second oneincludes a completely randomly generated set of policies. Tosynthesize our input data, for each ABAC policy (i.e., Uni-versity Policy, Healthcare Policy, etc.), a set of authorizationtuples is generated and the outcome of the ABAC policy foreach access right is evaluated. The authorization tuples withpermit as their outcomes are the inputs to our unsupervisedlearning model.

Our real datasets are built from access logs provided byAmazon in Kaggle competition [31] and available in the UCImachine learning repository [32].

Manual Policy - University: This policy is adapted from[15] and it controls access of different users including stu-dents, instructors, teaching assistants, etc., to various objects(applications, gradebooks, etc.).

Manual Policy - Healthcare: This policy is adapted from[15] and is used to control access by different users (e.g.nurses, doctors, etc.) to electronic health records (EHRs) andEHR items.

Manual Policy - Project Management: This policy isadapted from [15] and it controls access by different users(e.g. department managers, project leaders, employees, etc.)to various objects (e.g. budgets,schedules and tasks).

Random Policies: The authorization rules for this policyis generated completely randomly from random sets ofattributes and attribute values. These randomly generatedpolicies provide an opportunity to evaluate our proposedalgorithm on access logs with various sizes and with vary-ing structural characteristics. However, we note that, theperformance of our algorithm on random policies might notbe representative of its performance in real scenarios andover real policies.

Real Dataset - Amazon Kaggle: The Kaggle competitiondataset [31] includes access requests made by Amazon’semployees over two years. Each record in this dataset de-scribes an employee’s request to a resource and whetherthe request was authorized or not. A record consists of theemployee’s attribute values and the resource identifier. Thedataset includes more than 12,000 users and 7,000 resources.

Real Dataset - Amazon UCI: This dataset is providedby Amazon in the UCI machine learning repository [32].It includes more than 36,000 users and 27,000 permissions.Since the dataset contains over 33,000 attributes, our focusin this experiment is narrowed only to the most requested 8permissions in the dataset.

Partial Datasets: To check the efficiency of the proposedalgorithm over sparse datasets, we generate sparse datasets(partial datasets) by randomly selecting authorization tu-ples from the complete dataset. For example, a 10% sparse(partial) dataset is generated by randomly selecting 10% oftuples from the complete access logs.

Noisy Datasets: To check the efficiency of the proposedalgorithm over noisy datasets, we generate noisy datasetsby randomly reversing the decision of authorization tuples.For instance, a 10% noisy dataset is generated by randomly

Page 10: 1 An Automatic Attribute Based Access Control Policy

10

TABLE 3: Details of the Synthesized and Real Policies

# πœ‹ |P | |𝐴| |𝑉 | |L | |L+ | |Lβˆ’ |

πœ‹1 UniversityP 10 11 45 2,700K 231K 2,468Kπœ‹2 HealthcareP 9 13 40 982K 229K 753Kπœ‹3 ProjectManagementP 11 14 44 5,900K 505K 5,373Kπœ‹4 UniversityPN 10 11 45 2,700K 735K 1,964Kπœ‹5 HealthcarePN 9 13 40 982K 269K 713Kπœ‹6 ProjectManagementPN 11 14 44 5,900K 960K 4,918Kπœ‹7 Random Policy 1 10 8 27 17K 2,742 14Kπœ‹8 Random Policy 2 10 10 48 5,250K 245K 5,004Kπœ‹9 Random Policy 3 10 12 38 560K 100K 459Kπœ‹10 Amazon Kaggle - 10 15K 32K 30K 1897πœ‹11 Amazon UCI - 14 7,153 70K 36K 34K

reversing the decision of 10% of authorization tuples in thecomplete access logs.

For each of the manual policies, we consider two differ-ent sets of policy rules; the first one only contains positiveattribute filters and relations while the second one includesboth positive and negative attribute filters and relations. Wehave included these policies in Appendix A.

Table 3 shows the details of the manual and randomaccess log datasets. In this table, |P | shows the number ofrules in the original policy, |𝐴| and |𝑉 | show the numberof attributes and attribute values and |L|, |L+ |, |Lβˆ’ | showthe number of access control tuples, the number of positiveaccess logs, and the number of negative access logs in thegiven dataset, respectively.

5.2 Experimental SetupTo evaluate our proposed method, we use a computer with2.6 GHz Intel Core i7 and 16 GB of RAM. We use Python 3 inthe mining and the evaluation process. The algorithms werehighly time-efficient (e.g., maximum time consumption isless than half an hour).

We use kmodes library [33] for clustering our data. Theinitialization based on density (CAO) [26] is chosen forcluster initialization in kmodes algorithm.

To find optimal π‘˜ , we apply the Silhouette method totest different values of π‘˜ . We examine each value of π‘˜ inpre-defined set [10, 20]. Then the π‘˜ value that results in thehighest Silhouette score is used in the final model.

To generate the synthesized access log L, we brute forcethrough all attributes 𝐴 and their values π‘‰π‘Ž to produceall possible combinations for the tuples. This method wasused to generate a complete access log for the random andmanual policy datasets. We generate two sets of partialdatasets; the 10% partial datasets are used to check theefficiency of the proposed approach over sparse datasets(Table 4) and the 0.1% partial datasets are used to comparethe proposed approach with previous work (Table 5). Wealso generate a set of noisy datasets to check the efficiencyof the proposed algorithm over noisy access log. The resultsof such experiments are reported in Table 4.

For all experiments, the optimal thresholds for selectingeffective attributes and relations are between 0.2 and 0.3.

5.3 ResultsWe first evaluate the performance of our policy miningalgorithm on complete datasets. Table 4 shows the resultsof these experiments.

Our second set of experiments is on partial datasets. Thealgorithm proposed by Xu and Stoller [14] and the approachpresented by Cotrini et al. [18] are not able to handlecomplete datasets as these datasets are huge. To be able tocompare the performance of our proposed algorithm withtheir work, we generated 0.1% sparse (partial) datasets andrun all algorithms over these partial datasets. The results ofthese experiments are shown in Table 5 and Figures 2, 3, and4.

The algorithm proposed by Xu and Stoller [14] and theapproach presented by Cotrini et al. [18] do not generatepolicy rules with negative attribute filters and relations,however we report the results of their algorithms overdatasets related to policy rules including negations (policiesπœ‹4, πœ‹5, πœ‹6) to show how the quality of mined policies wouldbe impacted if the mining algorithm does not extract rulesthat include negation.

5.3.1 The F-Score of the Mined Policies

Table 4 shows the final 𝐹-π‘ π‘π‘œπ‘Ÿπ‘’πœ‹ |L of our proposed ap-proach after several rounds of refinement over all completedatasets. As we can see in Table 4, the proposed approachachieves high F-score across all experiments except for πœ‹6.πœ‹6 is a very complex dataset with both positive and negativeattributes and relation filters including 14 attributes, 44attribute values, and around six million access records. Thefinal policy quality for this dataset is around 0.63, which isacceptable considering the complexity of the policy.

Table 5 and Figure 2 show the comparison of the F-Scores of policies mined by our proposed approach withthat of previous work over partial datasets (with 0.1% ofthe complete datasets). The F-Score of policies mined by ouralgorithm is very close to the one done by the approachproposed by Cotrini et al. [18]. As we can see, our proposedapproach outperforms theirs in half of the experiments.

5.3.2 The Complexity of the Mined Policies

In Table 4, we can see the finalπ‘Šπ‘†πΆ of the policies mined byour proposed approach. All extracted policies have the com-plexity lower than 100 which is much lower than those of themost complex policies for individual datasets. According toDefinition 17, the most complex policy for each dataset hasthe same complexity as the original positive access log (L+).Given numbers in Tables 3 and 4, the most complex policiesfor these scenarios are thousands of times more complexthan the extracted policies by our approach.

Page 11: 1 An Automatic Attribute Based Access Control Policy

11

We compare the complexity of the policies mined bydifferent ABAC mining algorithms in Figure 3. Among threedifferent approaches, the Cotrini et al. algorithms extractsthe most complex policies with WSC greater than 1000 forsome cases. The complexity of the policies mined by ouralgorithm is very close to the one extracted by the approachproposed by Xu and Stroller [14].

5.3.3 The Policy Quality of the Mined Policies

Finally, Table 4 shows the quality of the extracted policiesthrough our proposed approach. We can see that out ofall datasets that our proposed algorithm was applied on,around 75% of the cases reached the policy quality of morethan 0.8, which is significant, considering the huge size oforiginal access logs (each more than 30K records).

According to Figure 4, in most cases the policy qualityof the policies mined by our proposed approach is higherthan those of the policies extracted by other ABAC miningalgorithms.

Partial _1 Partial _2 Partial _3 Partial _4 Partial _5 Partial _6 _10 _11

0

20

40

60

80

100

F-sc

ore

Proposed ApproachXu and Stoller [14]Cotrini et al. [18]

Fig. 2: The F-Score of the Policies Mined by ABAC MiningAlgorithms

Partial _1 Partial _2 Partial _3 Partial _4 Partial _5 Partial _6 _10 _11

0

500

1000

1500

2000

2500

WSC

Proposed ApproachXu and Stoller [14]Cotrini et al. [18]

Fig. 3: The Complexity of the Policies Mined by ABACMining Algorithms

Partial _1 Partial _2 Partial _3 Partial _4 Partial _5 Partial _6 _10 _11

0.0

0.2

0.4

0.6

0.8

1.0

Polic

y Qu

ality

Proposed ApproachXu and Stoller [14]Cotrini et al. [18]

Fig. 4: The Quality of the Policies Mined by ABAC MiningAlgorithms

6 RELATED WORK

As RBAC approach became popular, many organizationdecided to equip their information systems with more re-cent access control model, however migrating to RBACfrom legacy access control systems was a huge obstacle forsuch environments. As a result, several researchers haveaddressed such a challenge by introducing automated roleextraction algorithms [10], [11], [12], [13], [23], [34], [35], [36],[37], [38], [39]. Role engineering or role mining are the termsthat have been used to refer to procedures to extract anoptimal set of roles given user-permission assignments.

In [10], Kuhlmann and Schimpf try to discover a setof roles from user-permission assignments using clusteringtechniques, however, they do not show the feasibility oftheir proposed approach through experiments. In addition,their proposed approach lacks a metric to choose the bestmodel based on their clustering method.

The ORCA role mining tool is proposed bySchlegelmilch and Steffens and tries to perform ahierarchical clustering on user-permission assignments[11]. Their proposed method limits the hierarchicalstructure to a tree so that each permission/user is assignedto one role in the hierarchy. This feature limits the feasibilityof their proposed approach as, in real environments, rolesdo not necessarily form a tree.

Ni et al. propose a supervised learning approach forrole mining which maps each user-permission assignmentto a role using a supervised classifier (i.e., a support vectormachine (SVM)) [39]. The main limitation of their proposedapproach is that the roles and some parts of the role-permission assignments are needed beforehand; and hence,it is not applicable in many organizations.

Vaidya et al. are the first to define the Role MiningProblem (RMP) formally and analyze its theoretical bounds[40]. They also propose a heuristic approach for findinga minimal set of roles for a given set of user-permissionassignments.

Xu and Stoller are the first to propose an algorithm formining ABAC policies from RBAC [41], logs [14], and accesscontrol list [15] plus attribute information. Their policy min-ing algorithms iterate over access control tuples (generated

Page 12: 1 An Automatic Attribute Based Access Control Policy

12

TABLE 4: Results of Our Proposed Approach on Various Synthesized and Real Policy Datasets

πœ‹ Total Running Time (s) Optimal π‘˜ Pπ‘šπ‘–π‘›π‘’π‘‘ π΄πΆπΆπœ‹ |L 𝐹 -π‘ π‘π‘œπ‘Ÿπ‘’πœ‹ |L π‘Šπ‘†πΆπ‘œπ‘Ÿπ‘–π‘” π‘Šπ‘†πΆπ‘šπ‘–π‘›π‘’π‘‘ Qπœ‹

πœ‹1 9376.556 15 20 97.5% 83.6% 33 91 0.91Partial πœ‹1 (10%) 1994.769 15 13 97.29% 82.21% 33 54 0.90Noisy πœ‹1 (10%) 4979.56 10 8 96.94% 80% 33 28 0.90

πœ‹2 2180.745 18 18 85.49% 75.93% 33 71 0.86Partial πœ‹2 (10%) 4787.98 10 8 96.94% 85.33% 33 28 0.92Noisy πœ‹2 (10%) 7339.91 8 15 72.22% 82.13% 33 27 0.90

πœ‹3 7795.44 15 17 95.6% 65.63% 44 55 0.80Partial πœ‹3 (10%) 1347.29 6 10 95.2% 62.24% 44 56 0.77Noisy πœ‹3 (10%) 1912.72 15 15 94.47% 62.66% 44 81 0.77

πœ‹4 13662.62 7 16 86.7% 71.58% 33 40 0.83πœ‹5 8681.64 15 15 78.11% 62% 33 67 0.76πœ‹6 12905.78 20 17 88.05% 46.28% 44 80 0.63πœ‹7 24.63 8 20 93% 78.33% 33 65 0.88πœ‹8 13081.20 10 14 99.12% 91.28% 33 51 0.95πœ‹9 2266.68 8 16 92.17% 79.66% 33 46 0.89πœ‹10 265.3 15 20 94% 97% - 44 0.98πœ‹11 1010.43 24 25 98.49% 99% - 92 0.82

TABLE 5: Comparison of Our Proposed Approach with Previous Work on Various Synthesizedand Real Policy Datasets

Mining Alg. πœ‹ Time (s) π΄πΆπΆπœ‹ |L 𝐹 -π‘ π‘π‘œπ‘Ÿπ‘’πœ‹ |L Pπœ‹π‘šπ‘–π‘›π‘’π‘‘π‘Šπ‘†πΆ (πœ‹) Qπœ‹

Xu and Stoller [14] Partial πœ‹1 (0.1%) 227 94.74% 65.87% 10 34 0.79Cotrini et al. [18] 126 80.74% 45.3% 132 508 0.58Proposed Approch 7.3 96% 74.2% 7 29 0.85Xu and Stoller [14] Partial πœ‹2 (0.1%) 32645 64.43 63.61 3 6 0.78Cotrini et al. [18] 529 72.72% 64% 65 272 0.75Proposed Approch 7.9 79.78% 68.23% 13 49 0.81Xu and Stoller [14] Partial πœ‹3 (0.1%) βˆ’βˆ— βˆ’βˆ— βˆ’βˆ— βˆ’βˆ— βˆ’βˆ— βˆ’βˆ—Cotrini et al. [18] 3587 91.57% 54.124% 24 77 0.70Proposed Approch 11.44 94.96% 51.31% 12 55 0.78Xu and Stoller [14] Partial πœ‹4 (0.1%) 4230 73.37% 16.1% 10 34 0.28Cotrini et al. [18] 204 93.55% 88.5% 385 1389 0.86Proposed Approch 15 89.3% 80% 10 40 0.89Xu and Stoller [14] Partial πœ‹5 (0.1%) 45348 79.25 73.09 3 6 0.84Cotrini et al. [18] 3587 86.46% 79.2% 123 462 0.83Proposed Approch 8.8 87.2% 76.3% 15 66 0.86Xu and Stoller [14] Partial πœ‹6 (0.1%) βˆ’βˆ— βˆ’βˆ— βˆ’βˆ— βˆ’βˆ— βˆ’βˆ— βˆ’βˆ—Cotrini et al. [18] 2848 82.75% 62.66% 31 100 0.77Proposed Approch 22.67 81.2% 49.4% 12 44 0.66Xu and Stoller [14]

πœ‹10βˆ’βˆ— βˆ’βˆ— βˆ’βˆ— βˆ’βˆ— βˆ’βˆ— βˆ’βˆ—

Cotrini et al. [18] 237 84.25% 91.39% 1055 2431 0.92Proposed Approch 265.3 94% 97% 20 44 0.98Xu and Stoller [14]

πœ‹11βˆ’βˆ— βˆ’βˆ— βˆ’βˆ— βˆ’βˆ— βˆ’βˆ— βˆ’βˆ—

Cotrini et al. [18] 1345 70.93% 75.64% 466 1247 0.85Proposed Approch 1010.43 98.49% 99% 24 92 0.99

βˆ— Xu and Stoller [14] did not terminate nor produced any output for the these datasets even after running formore than 24 hours.

from available information, e.g., user permission relationsand attributes) and construct candidates rules. They thengeneralize the candidate rules by replacing conjuncts inattribute expressions with constraints. The main limitationof these algorithms is that as they are based on heuristicapproaches, the proposed techniques work very well forsimple and small scale AC policies, however, as the numberof rules in the policy and the number of elements in eachrule increases, they do not perform well.

Following Xu and Stroller’s proposed method, Medvetet al. [16] propose a multi-objective evolutionary algorithmfor extracting ABAC policies. The proposed approach is aseparate and conquer algorithm, in each iteration of which, anew rule is learned and the set of access log tuples becomessmaller. Their algorithm employs several search-optimizingfeatures to improve the quality of the mined rules. Although

their approach is a multi-objective optimization frameworkwhich incorporates requirements on both correctness andexpressiveness, it suffers from the same issue as [15].

Iyer and Masoumzadeh [17] propose a more systematic,yet heuristic ABAC policy mining approach which is basedon the rule mining algorithm called PRISM. It inheritsshortcomings associated with PRISM that includes dealingwith a large dimensionality of the search space of attributevalues and generation of a huge number of rules.

Cotrini et al. propose an algorithm called Rhapsody formining ABAC rules from sparse logs [18]. Their proposedapproach is built upon subgroup discovery algorithms.They define a novel metric, reliability which measures howoverly permissive an extracted rule is. In addition, theypropose a universal cross-validation metric for evaluatingthe mined policy when the input log is sparse. However,

Page 13: 1 An Automatic Attribute Based Access Control Policy

13

their algorithm is not capable of mining policies from logswith many attributes as the number of extracted rules growsexponentially in the number of attributes of the system.

7 DISCUSSION AND LIMITATIONS

As mentioned in section 5.3, our proposed approach isable to achieves a practical level of performance whenapplied to both synthesized and real datasets. In the caseof synthesized datasets, the proposed approach is capableof mining policies containing both positive and negativeattribute filters from complete datasets. On the other hand,our proposed approach shows potential for use in sparsedatasets. In addition, the real datasets contain a large num-ber of attributes and attribute values as shown in Table3. The ability of our proposed approach in mining high-quality policies for these datasets shows that the size ofattributes and attribute values have minimal impact on theeffectiveness of our approach.

The proposed approach is based on an unsupervisedclustering algorithm. Since finding the proper number ofclusters is a challenge related to clustering algorithms, ourapproach is affected by this issue as well. The same issuewill also be valid in finding the best thresholds to extracteffective attributes and relations.

We note that, as the proposed algorithm is based ontuning multiple parameters, it is possible that it gets stuckin minimum optima. For this reason, we do not claim thatit will extract the policy with the highest quality in everyscenario, nor we claim that extracting rules with negativeattribute filters and relations would always result in policywith higher quality (as we can see in Section 5.3); however,by trying more randomization in cluster initialization and awider range of parameters, we can get one that is closer toglobal optima.

In our evaluation, we used random selection to createnoisy and sparse datasets from complete datasets. Althoughwe ensured the same percentage of randomly selectedtuples from permitted and denied logs, guaranteeing thequality of the sampling is difficult.

8 CONCLUSION

In this paper, we have proposed an unsupervised learningbased approach to automating an ABAC policy extractionprocess. The proposed approach is capable of discoveringboth positive and negative attribute expressions as well aspositive and negative relation conditions while previousapproaches in access control policy extraction had onlyfocused on positive expressions. Furthermore, our work iscapable of improving the extracted policy through iterationsof proposed rule pruning and policy refinement algorithms.Such refinement algorithms are based on the false positiveand false negative records and they help in increasing thequality of the mined policy.

Most importantly, we have proposed the policy qualitymetric which considers both the conciseness and correctnessof the mined policy and is important for comparing theextracted policy with the original one and for improvingit as needed.

We have evaluated our policy extraction algorithm on ac-cess logs generated for various sample policies and demon-strated its feasibility. Furthermore, we have shown that ourapproach outperforms previous works in terms of policyquality.

As future work, we plan to extend our method tosupport numerical data and extract negative authorizationrules as well while studying the effects of various conflictresolution strategies on the quality of the mined policy.

REFERENCES

[1] R. S. Sandhu and P. Samarati, β€œAccess control: principle andpractice,” IEEE communications magazine, vol. 32, no. 9, pp. 40–48,1994.

[2] M. A. Harrison, W. L. Ruzzo, and J. D. Ullman, β€œProtection inoperating systems,” Communications of the ACM, vol. 19, no. 8,pp. 461–471, 1976.

[3] D. E. Bell and L. J. LaPadula, β€œSecure computer systems: Math-ematical foundations,” tech. rep., MITRE CORP BEDFORD MA,1973.

[4] R. S. Sandhu, β€œLattice-based access control models,” Computer,vol. 26, no. 11, pp. 9–19, 1993.

[5] R. S. Sandhu, E. J. Coyne, H. L. Feinstein, and C. E. Youman, β€œRole-based access control models,” Computer, vol. 29, no. 2, pp. 38–47,1996.

[6] P. W. Fong and I. Siahaan, β€œRelationship-based access controlpolicies and their policy languages,” in Proceedings of the 16thACM symposium on Access control models and technologies, pp. 51–60,ACM, 2011.

[7] J. Jin, G.-J. Ahn, H. Hu, M. J. Covington, and X. Zhang, β€œPatient-centric authorization framework for sharing electronic healthrecords,” in Proceedings of the 14th ACM symposium on Access controlmodels and technologies, pp. 125–134, ACM, 2009.

[8] L. Karimi and J. Joshi, β€œMulti-owner multi-stakeholder accesscontrol model for a healthcare environment,” in Collaboration andInternet Computing (CIC), 2017 IEEE 3rd International Conference on,pp. 359–368, IEEE, 2017.

[9] V. C. Hu, D. Ferraiolo, R. Kuhn, A. R. Friedman, A. J. Lang,M. M. Cogdell, A. Schnitzer, K. Sandlin, R. Miller, K. Scarfone,et al., β€œGuide to attribute based access control (abac) definition andconsiderations (draft),” NIST special publication, vol. 800, no. 162,2013.

[10] M. Kuhlmann, D. Shohat, and G. Schimpf, β€œRole mining-revealingbusiness roles for security administration using data mining tech-nology,” in Proceedings of the eighth ACM symposium on Accesscontrol models and technologies, pp. 179–186, ACM, 2003.

[11] J. Schlegelmilch and U. Steffens, β€œRole mining with orca,” inProceedings of the tenth ACM symposium on Access control modelsand technologies, pp. 168–176, ACM, 2005.

[12] I. Molloy, H. Chen, T. Li, Q. Wang, N. Li, E. Bertino, S. Calo, andJ. Lobo, β€œMining roles with semantic meanings,” in Proceedings ofthe 13th ACM symposium on Access control models and technologies,pp. 21–30, ACM, 2008.

[13] Z. Xu and S. D. Stoller, β€œAlgorithms for mining meaningful roles,”in Proceedings of the 17th ACM symposium on Access Control Modelsand Technologies, pp. 57–66, ACM, 2012.

[14] Z. Xu and S. D. Stoller, β€œMining attribute-based access control poli-cies from logs,” in IFIP Annual Conference on Data and ApplicationsSecurity and Privacy, pp. 276–291, Springer, 2014.

[15] Z. Xu and S. D. Stoller, β€œMining attribute-based access controlpolicies,” IEEE Transactions on Dependable and Secure Computing,vol. 12, no. 5, pp. 533–545, 2015.

[16] E. Medvet, A. Bartoli, B. Carminati, and E. Ferrari, β€œEvolutionaryinference of attribute-based access control policies.,” in EMO (1),pp. 351–365, 2015.

[17] P. Iyer and A. Masoumzadeh, β€œMining positive and negativeattribute-based access control policy rules,” in Proceedings of the23nd ACM on Symposium on Access Control Models and Technologies,pp. 161–172, ACM, 2018.

[18] C. Cotrini, T. Weghorn, and D. Basin, β€œMining abac rules fromsparse logs,” in 2018 IEEE European Symposium on Security andPrivacy (EuroS&P), pp. 31–46, IEEE, 2018.

Page 14: 1 An Automatic Attribute Based Access Control Policy

14

[19] P. Marinescu, C. Parry, M. Pomarole, Y. Tian, P. Tague, and I. Papa-giannis, β€œIvd: Automatic learning and enforcement of authoriza-tion rules in online social networks,” in 2017 IEEE Symposium onSecurity and Privacy (SP), pp. 1094–1109, IEEE, 2017.

[20] D. B. Suits, β€œUse of dummy variables in regression equations,”Journal of the American Statistical Association, vol. 52, no. 280,pp. 548–551, 1957.

[21] C. M. Bishop, Pattern recognition and machine learning. springer,2006.

[22] Wikipedia contributors, β€œAccuracy paradox-wikipedia, the freeencyclopedia,” 2018. [Online; accessed 30-September-2019].

[23] I. Molloy, H. Chen, T. Li, Q. Wang, N. Li, E. Bertino, S. Calo, andJ. Lobo, β€œMining roles with multiple objectives,” ACM Transactionson Information and System Security (TISSEC), vol. 13, no. 4, p. 36,2010.

[24] M. Beckerle and L. A. Martucci, β€œFormal definitions for usableaccess control rule sets from goals to metrics,” in Proceedings of theNinth Symposium on Usable Privacy and Security, p. 2, ACM, 2013.

[25] C. J. v. Rijsbergen, Information retrieval. 2.ed. Butterworths, 1979.[26] F. Cao, J. Liang, and L. Bai, β€œA new initialization method for cat-

egorical data clustering,” Expert Systems with Applications, vol. 36,no. 7, pp. 10223–10228, 2009.

[27] L. Karimi and J. Joshi, β€œAn unsupervised learning based approachfor mining attribute basedaccess control policies,” in Big Data (BigData), 2018 IEEE International Conference on, IEEE, 2018.

[28] R. L. Thorndike, β€œWho belongs in the family?,” Psychometrika,vol. 18, no. 4, pp. 267–276, 1953.

[29] C. Goutte, P. Toft, E. Rostrup, F. Γ…. Nielsen, and L. K. Hansen, β€œOnclustering fmri time series,” NeuroImage, vol. 9, no. 3, pp. 298–310,1999.

[30] P. Jaccard, β€œThe distribution of the flora in the alpine zone. 1,” Newphytologist, vol. 11, no. 2, pp. 37–50, 1912.

[31] Amazon.com, β€œAmazon employee access challenge.” Kaggle.[32] Montanez, Ken, β€œAmazon access samples.” UCI Machine Learn-

ing Repository: Amazon Access Samples Data Set.[33] Devos, Nico and Hes, Robin, β€œKmodes implementation.”[34] J. Vaidya, V. Atluri, and Q. Guo, β€œThe role mining problem: finding

a minimal descriptive set of roles,” in Proceedings of the 12th ACMsymposium on Access control models and technologies, pp. 175–184,ACM, 2007.

[35] J. Vaidya, V. Atluri, and J. Warner, β€œRoleminer: mining roles usingsubset enumeration,” in Proceedings of the 13th ACM conference onComputer and communications security, pp. 144–153, ACM, 2006.

[36] D. Zhang, K. Ramamohanarao, and T. Ebringer, β€œRole engineeringusing graph optimisation,” in Proceedings of the 12th ACM sympo-sium on Access control models and technologies, pp. 139–144, ACM,2007.

[37] Q. Guo, J. Vaidya, and V. Atluri, β€œThe role hierarchy mining prob-lem: Discovery of optimal role hierarchies,” in Computer SecurityApplications Conference, 2008. ACSAC 2008. Annual, pp. 237–246,IEEE, 2008.

[38] H. Takabi and J. B. Joshi, β€œStateminer: an efficient similarity-basedapproach for optimal mining of role hierarchy,” in Proceedings ofthe 15th ACM symposium on Access control models and technologies,pp. 55–64, ACM, 2010.

[39] Q. Ni, J. Lobo, S. Calo, P. Rohatgi, and E. Bertino, β€œAutomatingrole-based provisioning by learning from examples,” in Proceed-ings of the 14th ACM symposium on Access control models andtechnologies, pp. 75–84, ACM, 2009.

[40] J. Vaidya, V. Atluri, and Q. Guo, β€œThe role mining problem: Aformal perspective,” ACM Transactions on Information and SystemSecurity (TISSEC), vol. 13, no. 3, p. 27, 2010.

[41] Z. Xu and S. D. Stoller, β€œMining attribute-based access controlpolicies from rbac policies,” in Emerging Technologies for a SmarterWorld (CEWIT), 2013 10th International Conference and Expo on,pp. 1–6, IEEE, 2013.

Leila Karimi received an undergraduate degreeand the MS degree in information technology en-gineering from the Sharif University of Technol-ogy, Tehran, Iran. She is a Ph.D. candidate at theSchool of Computing and Information (SCI), atthe University of Pittsburgh. Her research inter-ests lie at the intersection of information security,data privacy, and machine learning. Currently,she is working on applying machine learningtechniques to solve challenging problems in thesecurity domain.

Maryam Aldairi received an undergraduate degree management infor-mation systems From King Faisal University, Alhasa, KSA., and the MSdegree in information science from the University of Pittsburgh. She isa Ph.D. student at the School of Computing and Information (SCI), atthe University of Pittsburgh. Her research interests lie at the intersec-tion of information security, adversarial learning, and machine learning.Currently, her focus is on applying machine learning techniques to solvechallenging problems in the security domain.

James Joshi received the MS degree in com-puter science and the Ph.D. degree in computerengineering from Purdue University. He is a pro-fessor of School of Computing and Information(SCI), at the University of Pittsburgh. His re-search interests include Access Control Mod-els, Security and Privacy of Distributed Systems,Trust Management and Information Survivability.He is the director of LERSAIS at the University ofPittsburgh. He is an elected fellow of the Societyof Information Reuse and Integration (SIRI) and

is a senior member of the IEEE and the ACM. He currently serves asa Program Director of the Secure and Trustworthy Cyberspace programat the National Science Foundation.

Mai Abdelhakim is an assistant professor in thedepartment of electrical and computer engineer-ing at the University of Pittsburgh’s Swansonschool of engineering. She received her Ph.D.degree in Electrical Engineering from MichiganState University, and Bachelor’s and Master’sdegrees in Electronics and Communications En-gineering from Cairo University. Her researchinterests include cyber-physical systems, cyber-security, machine learning, stochastic systemsmodeling, and information theory.