8/30/10

Role-based Access Control (RBAC)

Laurie Williams
williams@csc.ncsu.edu

Improper Access Control

•  Condition: When access control checks are not applied consistently - or not at all - users are able to access data or perform actions that they should not be allowed to perform. •  Consequence: Allowing access to unauthorized users can result in an attacker gaining access to the sensitive resources being protected, possibly modifying or removing them, or performing unauthorized actions.
http://cwe.mitre.org/data/definitions/285.html

1

http://cwe.org/data/definitions/285. (“need to know”) •  Operations on an object are invocated based on the permissions.html Role-Based Access Control •  A user has access to an object based on the assigned role.8/30/10 Mitigation Divide your application into: • anonymous. •  normal.mitre.gov/rbac/alvarez.nist. From: csrc. and • administrative areas.ppt 2 . •  The object is concerned with the user’s role and not the user. •  Roles are defined based on job functions. Reduce the attack surface by carefully mapping roles with data and functionality. • privileged. •  Permissions are defined based on job authority and responsibilities within a job function.

8/30/10 Role-Based Access Control Individuals Roles Role 1 Resources/Processes Role 2 Role 3 User’s change frequently.sans.nist. roles don’t From: csrc.ppt RBAC is Many-to-Many •  Users may be assigned many roles (though more likely just one) •  Roles may have many users assigned to them •  Roles may be assigned many permissions •  Permissions may be assigned to many roles •  Permissions may be granted to perform many different types of operations on an object www.ppt 3 .edu/resources/student_projects/200608_002.gov/rbac/alvarez.

nist. make sure that the access control mechanism is enforced correctly at the server side on every page. and that all such pages restrict access to requests that are accompanied by an active and authenticated session token associated with a user who has the required permissions to access that page. •  A role contains the minimum amount of permissions. http://cwe. Users should not be able to access any unauthorized functionality or information by simply requesting direct access to that page.html 4 . •  No single role is given more permission than the same role for another user.org/data/definitions/285. From: csrc.gov/rbac/alvarez. •  A user is assigned to a role that allows him or her to perform only what’s required for that role.ppt Important Consideration For web applications. One way to do this is to ensure that all pages containing sensitive information are not cached.mitre.8/30/10 Principle of Least Privilege •  Roles are engineered based on the principle of least privilege.

org/top25/#CWE-285 5 .8/30/10 Testing for RBAC •  Use tools and techniques that require manual (human) analysis. such as penetration testing. threat modeling. These may be more effective than strictly automated techniques. http://cwe.mitre. and interactive tools that allow the tester to record and modify an active session.

Sign up to vote on this title
UsefulNot useful