Showing posts with label data mining. Show all posts
Showing posts with label data mining. Show all posts

Tuesday, June 24, 2008

A Cost-Driven Approach to Role Engineering

@inproceedings{1364198,
author = {Alessandro Colantonio and Roberto Di Pietro and Alberto Ocello},
title = {A cost-driven approach to role engineering},
booktitle = {SAC '08: Proceedings of the 2008 ACM symposium on Applied computing},
year = {2008},
month = {March},
isbn = {978-1-59593-753-7},
pages = {2129--2136},
location = {Fortaleza, Ceara, Brazil},
publisher = {ACM},
address = {New York, NY, USA}
}
This paper proposes association mining with cost analysis for role engineering (RBAM - Role Based Associate Rule Mining). A cost function that reduces the number of roles and role relationships as well as an attribute cost of the role is used. The attribute cost represents available business semantics that are available. In absence of high level information, role and role relationship cost is used. Association mining is performed on roles to identify inheritance relationships.

The following metrics are presented
support of a role - percent of users assigned permissions in the role
actual support of a role - percentage of users assigned the role
grade of a role - number of permissions assigned to a role
confidence of two hierarchically related roles - ratio of number of users assigned to superrole to the number of users assigned to subrole

Cost components are analysed and the cost of deleting a role is evaluated in accordance with their cost model.

Their approach is as follows:
Using a priori, generate a lattice of all possible combinations of assigned permissions as roles above a frequency threshold, removing roles with low support. Remove roles that no users are directly assigned to. Remove roles if doing so does not modify the access control matrix and the cost improves.

Monday, April 14, 2008

Role Mining - Revealing Business Roles for Security Administration using Data Mining Technology

@inproceedings{kuhlmann03rolemining,
author = {Martin Kuhlmann, Dalia Shohat, Gerhard Schimpf},
title = {Role Mining - Revealing Business Roles for Security Administration using Data Mining Technology},
booktitle = {SACMAT '03: Proceedings of the eighth ACM symposium on Access control models and technologies},
year = {2003},
address = {Como, Italy},
publisher = {ACM Press},
}

This is the earliest work that discuss the application of Data Mining techniques to assist Role Engineering. The paper goes through more as a case study of possible RBAC deployment within different organisations using SAM(Security Administration Manager software framework). Details of how data mining is not explored in great detail. The contribution of this paper focuses more on the feasibility of data mining application for role engineering. There is no discussion on what techniques for data mining would be better, analysis of their mining results or what the data mining actually does/means. Their "data miner" is a black box machine that produces statistical and semantic information that is used to assist role definition.

One example for case study was a bank organisation that has 45 000+ employees, distributed across 14 00 branches with 40 types of systems supporting 65 000 user ids and 47 000 user groups. I found it interesting that there are about 20 000 more user ids than there are employees. New users are assigned roles based on user attributes.

Other case studies show their technique was capable of finding existing SAM models from basic data. The models took 2 months to manually define, 2 hours to use data mining to identify. (What about accuracy? Were other incorrect models identified?) An evaluation cost was performed, stating potential cost savings of 60% during role creation and 50% during role maintenance given cost of manual analysis and some growth assumptions.

In their system, roles are separated into two categories: organisational roles and functional roles. Organisational roles define basic access privileges and functional roles describe access rights in relation to additional functions or tasks. Roles also contain attributes or rules that are true for all users to are assigned to the role.

Process:
The data mining techniques that are mentioned are association rules and clustering from the IBM Intelligent Miner for Data. Iterative role finding using only a fixed set of users and assumes each user only has one account on each system. Uses user to system information, user attributes for system, existence of groups or roles in system, resource authorisations and global user information. Assumes all used is correct (pre-processing to remove incorrect data).

Clustering is performed on user attributes to receive organisational roles. Association is performed to create group connections for organisational roles and functional roles.

Reports from clustering and association rules are used to create roles.

Issues: how does the selection of the subset of users to perform data mining occur? How does the data mining happen? What kind of clustering is used? What are you finding associations in? It is not clear the data mining is performed as the IBM data miner was used as a black box and results were used as is.

It's nice to see results of deployment in real businesses.

Monday, May 28, 2007

Closet: an efficient algorithm for mining frequent closed itemsets

@inproceedings{pei00closet,
author = {Jian Pei and Jiawei Han and Runying Mao},
title = {Closet: an efficient algorithm for mining frequent closed itemsets},
booktitle = {ACM SIGMOD Workshop on Research Issues in
Data Mining and Knowledge Discovery (DMKD 2000) },
year = {2000},
}

Mining frequent closed itemsets has the same power as mining the complete set of frequent itemsets. This reduces redundant rules to be generated and increases both efficiency and effectiveness of mining. If frequent pattern mining was used to generate roles, this effectively means generation of redundant roles are reduced.

The idea behind this approach is to use conditional databases in a divide and concur format. Given a list of all frequent items above min_sup, find conditional database of item in reverse order of support. Closed itemsets can be extracted iteratively from these conditional databases. Each conditional database may be further divided into more conditional databases.

The proposed approach extends the FP-growth tree approach for pattern discovery. Implementation requires FP tree and pruning for increased efficiency. Comparison with A-Close that uses Apriori to identify closed itemsets is basically the comparison between FP tree and Apriori.

The paper is not the easiest to read. It is filled with more theory and proofs than needed for a comprehensive understanding of the algorithm.

Thursday, May 10, 2007

Role Mining with Orca

@inproceedings{schlegelmilch05orca,
author = {Jurgen Schlegelmich, Ulrike Steffens},
title = {Role Mining with ORCA},
booktitle = {SACMAT '05: Proceedings of the tenth ACM symposium on Access control models and technologies},
year = {2005},
address = {Stockholm, Sweden},
publisher = {ACM Press},
}

This paper proposes ORCA, a java visualisation tool that performs hierarchical clustering on permission assignments for definition of role concepts/role engineering. User interaction can add information during hierarchy construction to assist clustering.

Mentioned caveats in role mining:
  1. Noise in data: cleansing/anamolies must be removed
  2. Multi-role systems: systems support multiple roles
  3. Multi-role users: users can be assigned multiple roles
  4. Multiple identities per user
  5. No semantics in data mined roles
These issues are mentioned but not solved (with the exception of 3) by ORCA.

Method ideology: place permissions in a cluster if a significant number of users have them. Each cluster has a set of permissions and a set of users assigned to the cluster.

Technique:
  1. Each permission starts as a permission set cluster in C.
  2. Identify pairs of clusters from C with maximum user assignment intersect and maximum union.
  3. Create a role from the new permission set union. If more than one exist, randomly pick one.
  4. Remove original pair of clusters from C so previous clusters can no longer be used/selected to create new roles.
  5. New role created as a super clusters of previous clusters and add to C.
Problems in approach:
  • each permission can only belong to one path of the role hierarchy, modifications to reduce this constraint can produce inconsistencies and large number of additional yet not required roles.
  • time consuming, must generate all cluster pair intersects at each iteration
  • choosing one pair can remove the possibility of other pairings, making ordering important
  • when more than one pair has merging potential (more than one maximal pair for new cluster creation) one is chosen at random
Novelness:
  • At that time, it was the first role mining approach that didn't used a generic set of tools developed general pupose data mining. It was role engineering specific. The data mining used applied heirarchical clustering for permissions to create roles. While no new data mining contribution was made, it was a new application of data mining to enterprise security.
  • The visualisation tool sounds pretty, describing what is being done at each step, what is in each cluster and different colour intensities are used for clusters with more user assignments. It sounds pretty but also confusing to use in situations with many entities. Some learning is required to understand what the data mining does and what it means in context of the different possible clusters. Some options for finding different correlations is present: highlighting clusters who have users who fit a certain criteria. Less information is given on exactly how this information can be used to create roles.
  • Visualizations also allows for the concept of neighbouring clusters, where clusters of permissions are similar are placed next to each other for viewing in ORCA. Similarity between clusters is measured by the propotion of permissions that are the same within two clusters.

Tuesday, September 19, 2006

RoleMiner: Mining Roles using Subset Enumeration

@inproceedings{vaidya06roleminer,
author = {Jaideep Vaidya, Vijayalakshmi Atluri, and Janice Warner},
title = {RoleMiner: Mining Roles using Subset Enumeration},
booktitle = {CCS '06: Proceedings of the 13th ACM Conference on Computer and Communications Security},
year = {2006},
location = {Virginia, USA},
publisher = {ACM Press},
address = {New York, NY, USA},
}


Jaideep Vaidya et al.'s work uses unsupervised clustering and has a number of references what have also used clustering approaches to extract roles.

The concept behind the proposed “RoleMiner” is unsupervised clustering that uses each set of user permissions as a starting cluster. Roles are then created by finding common sets of permissions between users and other common sets of permissions. The theory behind this approach is that a set of permissions assigned to a user could potentially be a role. Intersects between user permission sets could also be potential roles.

Two approaches are proposed: the CompleteMiner and the FastMiner. The CompleteMiner uses each permission set for each user as the initial possible set of roles. From this, it uses subset enumeration to find all possible subsets as possible roles. To find all possible subsets, the algorithm completes in exponential time. A more computationally feasible approach (quadratic runtime) is to only consider subsets from pairs of initial roles (FastMiner). Both these approaches find possible roles (permission clusters). An ordering algorithm determines which are the best roles identified and the ones most likely to be implemented for the best RBAC infrastructure. The ordering algorithm places a bias on subsets found early from the first few iterations of the CompleteMiner, thus producing results that both approaches produce similar candidate roles. Also in the used test sets, each user is given at most 3 roles so it is very likely that a role is found during the first iteration of the CompleteMiner, the FastMiner.

For simplicity, separation of duty (SoD) constraints and sessions are not considered. Would considering these attributes of RBAC generate an alteration to the way that roles are identified? Is it possible to consider these attributes? Using the definition of a session as being an activation of a set of permissions or a set of roles assigned to a particular user, sessions would have limited effect on role extraction if the algorithm was purely based on analysis of permission to user assignments. SoD constraints would require more consideration. Static SoD’s would simply deny certain users to be allowed certain permissions in conjunction. This becomes a problem if permissions within each role are switched on or off for each user (based on the constraint). Otherwise, roles that cannot be granted in conjunction will cause permissions to not be granted in conjunction and thus will not effect the role mining. I cannot see the immediate effects on extracting roles from user permission assignments when there are dynamic SoD constraints. Dynamic SoD constraints would only effect session activations. In general, different types of SoD constraints may require different approaches. The solution seems unsolvable without more domain knowledge.

An open issue with the approach addressed by the paper is the lack of a role prioritization after candidate roles have been identified. It is suggested that semantics of what is required be added. Their approach places a bias roles found in the initial merge between any two user permission sets as a role. Doing so justifies their FastMiner, the computationally feasible approach that only consider merges from the first iterations of the CompleteMiner. If each user is given multiple roles, more iterations of the subset enumeration must be performed in order to find the original roles. Also, just because these are the roles that existed originally, what shows that they are "good" roles?

What is not discussed is the creation of a role hierarchy. The ORCA approach that RoleMiner is based on identifies role hierarchies while finding roles with no permission overlaps. Permission overlaps in different roles is now permissible, however, no method for extracting hierarchy is discussed. Possible future work may be to incorporate hierarchy definition into this approach. Permission subsets from later iterations of the CompleteMiner could potentially be lower lever roles that are inherited for people who require a superset of the permissions of that role.

It would also be interesting to see if different classification techniques other than clustering can be applied to extract roles. Why have previous approaches only looked at clustering?