APLRAC: A PATTERN LANGUAGE FOR DESIGNING AND IMPLEMENTING ROLE-BASED ACCESS CONTROL

Size: px
Start display at page:

Download "APLRAC: A PATTERN LANGUAGE FOR DESIGNING AND IMPLEMENTING ROLE-BASED ACCESS CONTROL"

Transcription

1 APLRAC: A PATTERN LANGUAGE FOR DESIGNING AND IMPLEMENTING ROLE-BASED ACCESS CONTROL Saluka R. Kodituwakku 1, Peter Bertok 1, and Liping Zhao 2 1 Department of Computer Science RMIT University, Australia {sakoditu,pbertok}@cs.rmit.edu.au 2 Department of Computation, UMIST, UK liping@co.umist.ac.uk Abstract The Object-Oriented paradigm approaches the software development by representing real world entities into classes of software objects. Interactions between classes can be captured by patterns. A pattern language is a collection of patterns composed to solve a complex design problem. This paper presents a collection of object-oriented design patterns structured to form a pattern language for Role Based Access Control (RBAC). 1. Introduction Access control is one of the core issues in system security, and several access control models, such as discretionary access control (DAC), mandatory access control (MAC) [8] and role based access control [6, 7, 13] have been developed. Role-based access control (RBAC) is based on the application area s organizational characteristics such as structure of data models and security policies. RBAC is a family of reference models [13] in which privileges are associated with roles and roles are associated with users. Some variations of RBAC [6, 7] include the capabilities of establishing relationships between privileges and roles, and between users and roles. Using object-oriented approach, roles can be represented as objects and privileges as access rights on methods. When roles have overlapping responsibilities, inheritance can be used to design a hierarchy of roles in such a way that any role can execute all methods available to its parent classes. This paper shows that the Object-Oriented paradigm is a promising approach to rolebased access control (RBAC). It presents a model that can be used by administrators to administer and regulate user access to information objects in a manner that is consistent with organizational security policies. The paper is organised as follows. Section 2 gives an overview of RBAC. Section 3 describes a set of patterns for designing and implementing RBAC. Section 4 discusses the results and section 5 concludes the paper. 2. Overview of Role-Based Access Control 2.1 Role Based Access Control Policies Role-based access control policies govern access to information on the basis of activities of users [6, 7, 13]. First roles are identified in the system, then privileges to access objects are specified for roles. A user acting in a role is allowed to execute all accesses for which the role

2 is authorized. Some RBAC implementations allow a user to act in multiple roles at the same time, others restrict the user to one role at a time. Users, Roles, Subjects, Privileges and Objects In a RBAC environment a user is a person working with the system, a role is a collection of job functions (job title) that a user or set of users can perform within the context of an organization. A subject represents an active user process and each subject is a mapping of a user to one or possibly many roles. A unique user identifier determines the user associated with the subject. The application environment defines the association between roles and privileges. Objects and Operations The set of objects covered by the RBAC system includes all of the objects accessible by RBAC operations. An operation represents a particular unit of control that can be referenced by an individual role that is subject to constraints within the RBAC system. An operation can be used to capture security relevant details or constraints that can not be determined by a simple mode of access. These details can be in the method or in the granularity of access. The type of operation and the objects that RBAC manages are dependent on the type of the system in which it is implemented. For example, within a database management system, operations might include insert, delete and update. 2.3 Administration of Authorization Administrative policies determine who is authorized to modify the allowed accesses. Rolebased policies benefit from a logical independence in specifying user authorizations by breaking this task into two parts, user-role assignment and role-privilege assignment. 3. Pattern Language 3.1 Descriptive Form The description form used here is derived from GOF form and all Patterns are described with the following components. Name, context, problem description, solution, benefits and drawbacks, resultant context, related patterns and known uses are documented together with implementation examples in the form of code fragments in C The patterns Pattern Purpose 1. Role-Based-Access Introduces roles to access protected information objects on behalf of users and introduces distinct roles to administer users and roles. 2. Administrator Object Handles user-role assignment and delegates the administrative responsibilities.

3 3. Role Validator Validates user-specified roles 4. Single Session Creates a session with a validated role 5. Privilege-Limited Role Implement role classes based on privileges of the corresponding role. 6. Role-Hierarchies Forms role hierarchies and implements the different access privileges of different roles. Role-Based-Access Role Validator Administrator Object Privilege-Limited Role Role- Hierarchies Command Single Session Hook Method Figure 1. Structure of the language Context Direct access to information objects is technically possible but may lead to misuse of organizational resources. You want to control user access to information objects so users are permitted to invoke only operations explicitly corresponding to their responsibilities. Problem Organizational applications require flexible and efficient access control model to restrict user access to information object. The question is: how can you assign access rights in controlled but flexible way? Forces Users access organizational information to perform various operations defined within the organization. The information needs to be shared for leverage. However, misuse of information could disrupt an organization s operations and have serious financial, legal, human safety, personal privacy and public confidence impact. Therefore, shared information objects need to be protected but organizational applications must provide flexible access to the protected information objects.

4 In most of the organizations, users have job titles and associated responsibilities. However, users having job titles with overlapping responsibilities need to be granted permission such a way that they can perform common operations but do not let them to perform operations out of their responsibilities. Application may allow users to request for executing any valid operation. However, access control must ensure that only authorized operation get executes. Solution Create roles that conform to user responsibilities, and assign it an appropriate set of privileges. In order to create roles and assigned privileges, Identify job titles and associated job functions (user responsibilities) within the organization. For each collection of job functions that a user or a group of users can perform, introduce a role and a set of privileges (access rights). Resultant Context Privileges assigned to roles are derived from responsibilities belonging to the attached job. Users are not permitted to perform any operation that is not part of their responsibilities. Roles and privileges are assigned and managed by administrators, not by users. This pattern provides an access control mechanism based on user responsibilities and organizational characteristics. Related Patterns Dealing with Roles [16] provides a whole pattern language discussing roles with more specific implementation details. Roles [17], Roles create one or more role objects that define the permission and access right for different user groups. Known Uses Some web servers use.htaccess and.htgroups files which define groups of users (Roles) that can access certain areas of a web site. Oracle has a Roles feature for defining security privileges. User-role and role-privilege relationships are stored in tables. The PLoP 1998-registration program [18] has two Roles; attendee and administrator. Context In RBAC environment, user-role assignment and role-privileges assignment are the major administrative tasks. Each user has a unique subject that describes the user s permitted roles and user must activate roles associated with his subject to access information. This pattern creates subjects for users and delegates administrative responsibilities. Problem The question is: how can you manage user-role assignments and role-privileges assignments?

5 Forces A single user may allow playing multiple roles but he may be restricted to play only one role at any given time. Roles may have overlapping access rights due to the overlapping responsibilities of job titles. In such a situation, one role (senior role) may have privileges to access all pieces of information authorized for one or more other roles (junior roles) but inverse is not true. A user playing a senior role must be allowed to play all associated junior roles. However, when the user is playing a particular junior role, he may or may not allowed playing senior role at the same time. In general, senior roles have privileges to access all piece of information granted for its junior roles. However, sometimes some of the junior role s privileges can be private to that role. For example, in software development domain, senior roles may not be allowed to see programmer s incomplete codes. A group of users can play the same role but some roles can only be taken by a limited number of users at any given time. For instant, there should be only one manager in a branch office of a bank. One or more administrators can centrally handle users and roles but this is infeasible or inefficient for more complex applications such as distributed applications. Solution Create a distinct set of roles (administrator roles) with different privileges to manage users and roles. Create a separate role (Central administrator) to manage those administrator roles. Each administrator is given options to handle user-role assignment based on their administrative privileges. CentralAdministrator + createadminrole() + deleteadminrole() 1..* 1..* AbstractAdministrator + operation() ConcreteAdministratorA ConcreteAdministratorB ConcreteAdministratorC + operation() + assignrole() 1..* + operation() + assignrole() + revokerole() 1..* 1..* + operation() + assignrole() + revokerole() + modifyrole() 1 1 AdminCommand + execute() + getuser() * Subject + addrole() + deleterole() + getcurrentrole() + roleexists() AssignRole RevokeRole ModifyRole + execute() + getuser() + assignrole() + execute() + getuser() + revokerole() + execute() + getuser() + modifyrole()

6 Participants CentralAdministrator defines an interface to create, delete and modify ConcreteAdministrators. AbstractAdministrator defines an interface for user-role assignment. ConcreateAdministrators extend and implement the AbstractAdministrator interface based on authorized administrative privileges. AdminCommand declares an interface for performing administrative actions. AssignRole, RevokeRole and ModifyRole define bindings between Subject and administrative actions. Implements execute() to invoke the corresponding operation(s) on Subject. Subject is a list of roles (role names and their status) that a particular user is permitted. Administrators create subjects for users by invoking Subject s interface. Collaborations ConcreteAdministrator issues a request to command objects to add, delete or modify roles. In turn, the ConcreteCommand (AssignRole, RevokeRole and ModifyRole) objects invoke the Subject to alter its content. The CentralAdministrator handles the person-role assignment and role-privilege assignment for administrator roles. Resultant Context Administrator roles are designed with only operations permitted to them. Consequently, administrators are restricted to perform only permitted operations. The CentralAdministrator can assign administrator roles and privileges by creating ConcreteAdministrator roles. Role assignment and removal are the major operations performed by ConcreteAdministrators. In complex applications, administrators may be restricted to assign roles but not to remove or assign and remove roles to and from a particular set of users. Since each ConcreteAdministrator is given options to perform only permitted operations, this pattern prevents misuse of administrative privileges. Subject of a particular user can be chosen from a list of Subjects, and then would see a list of assigned roles, along with the information about those roles. Roles can easily be selected for deletion and modification. Related Patterns Administrator Manager components of OASIS [19] is a refinement of this pattern. This pattern uses the Command pattern to design administrative actions as objects. Known Uses In OASIS, the administrators are responsible for certain security domains, they are allowed to access and manage the security information of these particular domains. The meta administrators are responsible for specifying domains, defining security concepts. The meta

7 administrators and administrators are variants of the CentralAdministrator and ConcreteAdministrators of this pattern. Implementation Since a user may have multiple roles, the Subject class may be implemented to hold a list of roles and their status. Administrator can be implemented to add, revoke and modify these roles. ConcreteAdministrator can be implemented with permitted operations. The methods assignrole(), revokerole() and modifyrole() can be implemented to send requests to Admincommand object to assign, revoke or modify roles. Operation() method can be implemented to provide options to perform only permitted operations and to revoke method according to the selection. The Abstract Factory pattern might be used to create different types of Administrator objects. Context The user may access the system with a valid login name and password. Once the user login to the system, he or she is allowed to access information through roles. This pattern validates the user s permitted roles before letting him or her to perform any operation. Problem The different organizations have different security policies and there needs to be control of the access to the protected information objects. The question is: how can you ensure the validity of user roles and associated privileges to access the information objects? Forces Administrator assigns a subject (a role or a set of roles) to each user. The user has rights to act any of the roles associated with his subject. However, user request need to be validated against his current active role(s) due to the organization s security policies. If the user is currently acting a particular role, his new request may conflict with the current role. In such a situation, user should not be allowed to act that role or his current active role should be inactivated before the new role is activated. Solution Create an object that encapsulates the algorithm for organization s access control policy. This object accepts user request and checks the validity of the role against user s subject. Validation + validate() + createrole() * Subject + operation() + getrole() Session Role

8 Participants Validation defines interface for validation and creation of roles. This object interacts with the Subject object to validate user-specified role. Subject holds information of roles assigned to a particular user and status (active or inactive) of those roles. Role defines role objects based on the privileges of the corresponding role. Session is an instance of the Session Object pattern describes next. Collaborations - Validation object accepts user request and validates the user-specified role. - If user has not been assigned the specified role, validation object invalidates the request with an error message. - If user has been assigned the specified role, and he does not have any active role (session), validation object creates an appropriate role object and forwards the request to that object. - If user has been assigned the specified role, and he has a current session with the specific role, he is allowed to use the current session. - If the role conflicts with the currently active role, the request is forwarded to the Session object. Resultant Context The users may request to create a session with any role, but the validation object allows users to create sessions with only assigned roles. Validation object can be extended to perform other checks. Subject holds only the information of user s permitted roles and role objects are created only if a user request to activate a role. This reduces considerable memory overhead. Related Patterns Role Validator is a generalization of the CheckPoint pattern [17]. Known Uses The login process for Telnet and ftp servers use Validation. The Catepillar/NCSA Financial Model Framework [18] uses a variant of this pattern to validate passwords, roles and machines. The PLoP1998 registration program has a Validation, which only allows authorized users to log onto the system and change their user information. Implementation Validation class can be implemented to read user input (user_id and role_name) and then interact with the Subject to validate the role. CreateRole() method might be implemented to create different role objects. One might uses Abstract-Factory pattern for creation of role objects.

9 Context Administrators assign a subject to each user based on their responsibilities within the organization context. The user s subject is one or more authorized roles. The users are allowed to activate, create a session, with only one of those roles. Problem User may change his active role over time. The question is: how can you create a single session for a user at any given time with appropriate security checks? Forces Role Validator object create role objects (sessions) for valid roles when there are no active sessions or user is allowed to use the active session. However, it does not create sessions when user has an active session with another role. User s subject is a set of related or unrelated roles permitted to the user. The user is allowed act any role associated with his subject. However, organizational security policies may restrict user to create only one session with any of the roles. Therefore, the user has rights to create a new session even he already has an active session. However, the system must ensures that user has only one active role at any given time. Solution Create an object, which activates the user specific role and disables all other active roles. Session + getsubject() + createsession() 1..* 1 Subject + setrolestatus() + operation() Role Participants Session defines the interface to access users'subjects and to create a session. It maintains references to Subjects. Subject holds information of roles assigned to a particular user and status (active or inactive) of those roles. Role defines role objects based on the privileges of the corresponding role. Collaborations Validation object requests to create a session with a specific role. Session object checks the current session against the security constraints and user is allowed to use the current session

10 or changes the status of the roles in the Subject to deactivate the current session and create a new session with the specific role. Session object also destroys the active role object and creates an appropriate role object for the new session. Resultant Context Sine users have to create a session with one of the permitted roles before accessing any piece of information, they are restricted to play only one role at a time. This pattern allows users to change their role dynamically but they are not allowed to violate security policies. Related Patterns Session [17] is a refinement of this pattern. Known Uses UNIX Telnet and ftp services use a Session for keeping track of requests and restricting user actions Most databases uses a Session for keeping track of user information Implementation Subject can be implemented to access assigned roles to users and their states. It might be implemented to scan through all assigned roles and to change the states of RoleStatus objects. Context After the administrator has assigned a subject to users, user create a Session with one of the roles in his subject to execute operations. This pattern achieves role-privileges assignment by restricting method execution. Problem The system must assess user requests on the basis of privileges belonging to the users role. The question is: how can you implement the role object to reflect the role-privileges assignment? Forces Once a user is assigned a particular role he can access information by creation a session. However, roles must be assigned privileges to ensure that roles are granted least privileges for information access. Role validation can be easier when roles are implemented with only permitted operations. However, users may be confused when some operations are either not present or disable. Since administrator pattern creates only subjects for users, roles assigned to the subject should be granted access rights to ensure that roles are not allowed to execute operations they do not have privileges for.

11 Solution Only let the user to access what they are permitted. Define a role class for each role introduced by the Role Based Access pattern. The class interface should reflect the privileges of the role. Role + RoleInterface() 1..* 1 AccessMethods + AccessMethodInterface() Participants Role defines the interface with only permitted operation for the role and maintains a reference to AccessMethod. AccessMethods declares the interface for all operations perform within the organization and implements them. Collaborations Client request Role object to execute operations. In turn, the Role object forwards it to the corresponding method in AccessMethods object. In turn, AccessMethods execute the requested operation. Resultant Context The role classes are defined with only operations permitted to them. Consequently, users are strictly limited to access only information to perform their job functions. As a result roles need not implement the operations they do not permit. Actual operations are implemented within the AccessMethods class and it is exclusively included in Role objects. Therefore, user access to the information is completely controlled by roles. In general, organizations perform a large number of operations and it is infeasible to define all of them as a single class (AccessMethods). In such a situation, AccessMethods can be decomposed into a number of small objects. Related Patterns Limited-View [17] designs application so user can request to perform only legal operations. Proxy pattern provides an indirection to access information. In particular, Protection Proxy pattern protects information from unauthorized access. Known Uses OMG-CORBA uses the Proxy variant of the Role Privilege Assignment pattern for two purposes. The client-stub guard clients against the concrete implementation of their servers and the ORB. ORB uses the IDL-skeleton to forward requests to concrete remote server components.

12 Context In most of the organizations, users have overlapping responsibilities. Therefore, users acting different roles need to perform some common operations. Problem Natural role hierarchies can be identified from most of the organizations. The problem is: how can you design and implement such role hierarchies? Forces Roles must be design such a way that roles in lower down in the hierarchy (senior roles) has all privileges granted to its junior roles but junior roles should not have additional privileges granted for its senior roles. Although senior roles are allowed to access information granted for its junior roles, some of the privileges granted to junior roles may not be granted to a particular senior role(s). Solution Define all role objects in the hierarchy with a common interface that conform to the most senior role s privileges. Use Hook Method pattern to define the interface. For each role, implement these methods such a way that only authorized methods get execute. Client Role 1..* 1 AccessMethods + RoleInterface() + AccessmethodInterface() SeniorRoleA + RoleInterface() SeniorRoleB + RoleInterface() SeniorRoleB1 + RoleInterface() SeniorRoleB2 + RoleInterface() Participants Role Defines the interface including all methods (operations) permitted to roles in the hierarchy. The authorized methods are implemented to invoke the corresponding method in AccessMethods. Maintains a reference to AccessMethods SeniorRoles (SeniorRoleA, SeniorRoleB, SeniorRoleB1, SeniorRoleB2) Over rides the methods, which are authorized to them but they are not implemented by any of its junior roles.

13 If any method authorized to its junior role is not authorized to it, override the method with an empty implementation. AccessMethods declares the interface for all operations perform within the organization and implements them. Client always requests Role to execute methods (operations). Collaborations Role objects forward the valid requests to AccessMethods and invalid requests are denied. Resultant Context When a senior role is revoked from a user, he does not have rights to execute operations permitted for junior roles. If user need to act a junior role, it should be reassigned. Users can request to execute unauthorized methods but the implementation of role objects ensures that only authorized operations get execute. Role hierarchies reduce the number of user role assignments. However, it is difficult to handle some restrictions. For example, once a user creates a session with a senior role, all is junior roles are also activated. Therefore, it is hard to restrict users to act only one role at a time. Related Patterns The Hook Method pattern is used for implementation. The Strategy pattern can be used to design different access control algorithms. Known Users Many object-oriented user interface toolkits use this pattern to add graphical embellishments to widgets. Implementation Since each role must be implemented to reflect its access rights, senior roles need to implement only authorized methods, which are not implemented by any of its junior roles. When senior role is not granted some of the methods granted to its junior roles, they can be overridden with empty implementation. 4 Discussion This work combines and composes design patterns into a pattern language for developing RBAC systems. The six design patterns address the different phases of role and access privileges assignment and maintenance in RBAC. The connections between the patterns are shown in Figure 1. Each oval represents a pattern, and arrows represent the relationships between patterns. The Role Based Access pattern introduces a set of roles and a set of privileges. In the next step, the Role Validator pattern is used to validate roles and create role objects, and the Single Session pattern creates sessions with valid roles that will eventually control access to the protected RBAC objects. The Privilege-Limited Roles and Role-Hierarchies patterns form the

14 Role Based Access pattern by designing roles and role hierarchies. The Administrator Object pattern completes the Role Based Access pattern by designing administrative roles to handle user-role assignments and to delegate administrative responsibilities. The Privilege-Limited Role, Role-Hierarchies, Role Validator and Single Session patterns together implement the access control mechanism. The ConcreteRole class controls the execution of methods: requests are forwarded to the corresponding methods in AccessMethods class. The AccessMethods class implements the operations on protected RBAC objects. The Validation class validates user-specified role and creates appropriate role objects. Once the Session class creates a session with that role, user requests are forwarded to the role object. Each class lower down in the hierarchy extends the AbstractRole interface according to its privileges and overrides the Operation () method, i.e. the implementations of role classes performs the role-privileges assignment. The CentralAdministrator class implements methods to handle administrators in complex systems. ConcrteAdministrator classes implement the user-role assignment. Some administrative responsibilities are delegated to the ConcreteAdministrator classes that implement user-role assignment subject to restrictions. Applications using access control is usually based on a fixed set of routinely performed operations. The pattern language presented here defines a complete set of such operations and controls access to them by introducing roles. Application of this language has the following benefits and liabilities. For each role of a user the Validation object creates a separate role object. When access rights associated with a role are changed, the changes can easily be propagated to these role objects. Access rights are located exclusively within the role classes. Hence any changes to the policy describing access rights will affect the role classes only. The pattern language introduces administrator roles for user-role assignments. The privileges are automatically assigned to roles through the implementation of role classes. Users assigned to a particular senior role are automatically granted all rights of the associated junior roles. Consequently, revoking a senior role automatically revokes all rights belonging to the associated junior roles. 5 Conclusions Object oriented design patterns capture many of the features in a RBAC environment. In particular, objects and associated methods can be used to define protected RBAC objects and operations, and method overriding can be used to implement roles and role hierarchies. The pattern language presented can be applied to design and implement RBAC systems, and a change in role policy has a very limited effect on the whole system. The administration of roles and privileges implemented by OO design patterns is easy and flexible.

15 Acknowledgments We would like to thank our EuroPLoP2001 shepherd Allan O Callaghan who guided us through several iterations of the article and provided many constructive comments. References [1] C. Alexander, The Timeless Way of Building, Oxford University Press, first edition, [2] C. Alexander, M. Silverstein, and S. Ishikawa, A Pattern Language. Oxford University Press, first edition, [3] F. Buschmann, R. Meunier, H. Rohnert, M. Stal and P. Sommerland, A System of Patterns. Addition-Wesley, first edition [4] J. Coplien, Software patterns a white paper. SIGS publications, [5] J. Coplien, and D. Schmidt, Pattern Languages of Program Design, Addition-Wesley, first edition, [6] D. F. Ferraiolo and D. R. Kuhn, Role-Based Access Controls, Proceedings of the 15th NIST-NSA National Computer Security Conference, Baltimore, Maryland, October 13-16, [7] D. F. Ferraiolo, J. A. Cugini, and D. Richard Kuhn, Role-Based Access Control (RBAC): Features and Motivations, 11th Annual Computer Security Applications Proceedings, [8] Department of Defense, Trusted Computer Security Evaluation Criteria, DoD STD, [9] M. Fowler, Analysis Patterns reusable object modules. Addition-Wesley, first edition, 1997 [10] E. Gamma, R. Helm. R. Johnson, and J. M. Vlissides,, Design patterns elements of reusable object oriented software. Addition-Wesley, second edition, [11] J. M. Vlissides, J. Coplien, and N. L. Kerth, Pattern Languages of Program Design 2. Addition-Wesley, first edition, [12] W. Pree,, Design Patterns for Object Oriented Software development. Addition-Wesley, first edition, [13] R. S.Sandhu., J. C. Edward, L. F. Hal, and E. Y. Charles, Role-Based Access Control Models, IEEE Computer, Vol. 29, February 96, pp [14] D. Riehle, R. C. Martin, F. Buschmann, Pattern languages of program design 3. Addition-Wesley, first edition, [15] L. Zhao, and T. Foster, Plots: A Pattern Language of Transport Systems- Point and Route. Pattern Language of Program design 3, [16] M. Flower, Dealing with roles: Collected papers from the PLoP97 and EuroPLoP 97 Conference, Technical Report #wucs-97-34, Dept. of Computer Science, Washington University Department of Computer Science, September [17] N. Harrison, B. Foote, and H. Rohnert, Pattern Languages of Programs Design 4. Addison Wesley, [18] J. Yoder and D. Manolescu, The PLoP Registration Framework, URL: [19] E. B. Fernandez, M. M. Larrondo-Petri and E. Gudes, A method-based authorization model for object-oriented databases, Proc. Of the OOPSLA 1993 Workshop on Security in Object-Oriented Systems, [20] W. Essmayr, E. Kapsammer, R. R. Wangner, G. Pernul and A. M. Tjoa, Enterprise-wide security administration, Procs. 9 th Intl. DEXA Workshop, 1998,

16 [21] K. Brown, Using the Strategy and Command patterns for SQL code generation. URL: Java.htm [22] J. Barkley, Implementing Role Based Access Control Using Object Technology, First ACM Workshop on Role-Based Access Control.

A methodology for secure software design

A methodology for secure software design A methodology for secure software design Eduardo B. Fernandez Dept. of Computer Science and Eng. Florida Atlantic University Boca Raton, FL 33431 ed@cse.fau.edu 1. Introduction A good percentage of the

More information

Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering

Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering Patterns in Software Engineering Lecturer: Raman Ramsin Lecture 2 GoF Design Patterns Creational 1 GoF Design Patterns Principles Emphasis on flexibility and reuse through decoupling of classes. The underlying

More information

Completeness, Versatility, and Practicality in Role Based Administration

Completeness, Versatility, and Practicality in Role Based Administration Completeness, Versatility, and Practicality in Role Based Administration Slobodan Vukanović svuk002@ec.auckland.ac.nz Abstract Applying role based administration to role based access control systems has

More information

An Object Oriented Role-based Access Control Model for Secure Domain Environments

An Object Oriented Role-based Access Control Model for Secure Domain Environments International Journal of Network Security, Vol.4, No.1, PP.10 16, Jan. 2007 10 An Object Oriented -based Access Control Model for Secure Domain Environments Cungang Yang Department of Electrical and Computer

More information

GenericServ, a Generic Server for Web Application Development

GenericServ, a Generic Server for Web Application Development EurAsia-ICT 2002, Shiraz-Iran, 29-31 Oct. GenericServ, a Generic Server for Web Application Development Samar TAWBI PHD student tawbi@irit.fr Bilal CHEBARO Assistant professor bchebaro@ul.edu.lb Abstract

More information

THE IMPACT OF INHERITANCE ON SECURITY IN OBJECT-ORIENTED DATABASE SYSTEMS

THE IMPACT OF INHERITANCE ON SECURITY IN OBJECT-ORIENTED DATABASE SYSTEMS THE IMPACT OF INHERITANCE ON SECURITY IN OBJECT-ORIENTED DATABASE SYSTEMS David L. Spooner Computer Science Department Rensselaer Polytechnic Institute Troy, New York 12180 The object-oriented programming

More information

Role-based access control. RBAC: Motivations

Role-based access control. RBAC: Motivations Role-based access control 1 RBAC: Motivations Complexity of security administration For large number of subjects and objects, the number of authorizations can become extremely large For dynamic user population,

More information

Role-Based Access Control Approaches In Mangodb 2.4 and Informix Online Dynamic Server Version 7.2

Role-Based Access Control Approaches In Mangodb 2.4 and Informix Online Dynamic Server Version 7.2 Role-Based Access Control Approaches In Mangodb 2.4 and Informix Online Dynamic Server Version 7.2 Abubakar Sulaiman Gezawa 1, Ahmed Aliyu 2, Tong Yujun 3, Saifullahi Aminu Bello 4, Abubakar Ado 5 System

More information

Role-Based Access Control Features in Commercial Database Management Systems Chandramouli Ramaswamy and Ravi Sandhu Computer Security Division, ITL Info. and Software Engg. Dept., MS 4A4 NIST, Gaithersburg,

More information

CHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE

CHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE CHAPTER 4: PATTERNS AND STYLES IN SOFTWARE ARCHITECTURE SESSION I: OVERVIEW AND HISTORY OF STYLES AND PATTERNS Software Engineering Design: Theory and Practice by Carlos E. Otero Slides copyright 2012

More information

CLOUD-HOSTED PROXY BASED COLLABORATION IN MULTI- CLOUD COMPUTING ENVIRONMENTS WITH ABAC METHODS

CLOUD-HOSTED PROXY BASED COLLABORATION IN MULTI- CLOUD COMPUTING ENVIRONMENTS WITH ABAC METHODS CLOUD-HOSTED PROXY BASED COLLABORATION IN MULTI- CLOUD COMPUTING ENVIRONMENTS WITH ABAC METHODS Shilpa G S 1, Maria Navin J R 2 1 PG Student, Dept. of Computer Science and Engineering, SVCE Bangalore,

More information

A pattern language for security models

A pattern language for security models A pattern language for security models Eduardo B. Fernandez and Rouyi Pan Dept. of Computer Science and Eng. Flora Atlantic University Boca Raton, FL 33431 ed@cse.fau.edu Abstract Security is a serious

More information

On Building Secure SCADA Systems using Security Patterns. Outline

On Building Secure SCADA Systems using Security Patterns. Outline On Building Secure SCADA Systems using Security Patterns E.B.Fernandez, J.Wu, M.M. Larrondo-Petrie, and Y. Shao Dept. of Computer Science and Engineering Florida Atlantic University Boca Raton, FL, USA

More information

Comparing Simple Role Based Access Control Models and Access Control Lists. Abstract. 1 Introduction

Comparing Simple Role Based Access Control Models and Access Control Lists. Abstract. 1 Introduction Comparing Simple Role Based Access Control Models and Access Control Lists John Barkley National Institute of Standards and Technology Gait hersburg MD 20899 (301) 975-3346 j barkleyanist.gov Abstract

More information

Patterns in a Nutshell

Patterns in a Nutshell Patterns in a Nutshell http://www.enteract.com/~bradapp/ January 27, 1998 Patterns in a Nutshell Page 2 of 12 Trendy: Literary: 1.0 What are Patterns? Recent hot topic, OOD buzzword, lots of hype! Form

More information

A FRAMEWORK FOR ENCAPSULATING BEST BUSINESS PRACTICES FOR ELECTRICITY SUPPLY INDUSTRY INTO GENERIC PATTERNS

A FRAMEWORK FOR ENCAPSULATING BEST BUSINESS PRACTICES FOR ELECTRICITY SUPPLY INDUSTRY INTO GENERIC PATTERNS A FRAMEWORK FOR ENCAPSULATING BEST BUSINESS PRACTICES FOR ELECTRICITY SUPPLY INDUSTRY INTO GENERIC PATTERNS C. Rolland*, G. Grosz*, P. Loucopoulos**, S. Nurcan* * Centre de Recherche en Informatique Université

More information

Best Practices, Procedures and Methods for Access Control Management. Michael Haythorn

Best Practices, Procedures and Methods for Access Control Management. Michael Haythorn Best Practices, Procedures and Methods for Access Control Management Michael Haythorn July 13, 2013 Table of Contents Abstract... 2 What is Access?... 3 Access Control... 3 Identification... 3 Authentication...

More information

A FRAMEWORK FOR ENCAPSULATING BEST BUSINESS PRACTICES FOR ELECTRICITY SUPPLY INDUSTRY INTO GENERIC PATTERNS

A FRAMEWORK FOR ENCAPSULATING BEST BUSINESS PRACTICES FOR ELECTRICITY SUPPLY INDUSTRY INTO GENERIC PATTERNS A FRAMEWORK FOR ENCAPSULATING BEST BUSINESS PRACTICES FOR ELECTRICITY SUPPLY INDUSTRY INTO GENERIC PATTERNS C. Rolland*, G. Grosz*, P. Loucopoulos**, S. Nurcan* * Centre de Recherche en Informatique Université

More information

Role-based Authorization Constraints Specification Using Object Constraint Language

Role-based Authorization Constraints Specification Using Object Constraint Language Role-based Authorization Constraints Specification Using Object Constraint Language Gail-Joon Ahn Department of Computer Science University of North Carolina at Charlotte gahn@uncc.edu Michael. E. Shin

More information

SECURITY MODELS FOR OBJECT-ORIENTED DATA BASES

SECURITY MODELS FOR OBJECT-ORIENTED DATA BASES 82-10-44 DATA SECURITY MANAGEMENT SECURITY MODELS FOR OBJECT-ORIENTED DATA BASES James Cannady INSIDE: BASICS OF DATA BASE SECURITY; Discretionary vs. Mandatory Access Control Policies; Securing a RDBMS

More information

A Componentware Methodology based on Process Patterns Klaus Bergner, Andreas Rausch Marc Sihling, Alexander Vilbig Institut fur Informatik Technische Universitat Munchen D-80290 Munchen http://www4.informatik.tu-muenchen.de

More information

Towards Securing APIs in Cloud Computing

Towards Securing APIs in Cloud Computing Towards Securing APIs in Cloud Computing Kumar Gunjan #1, R. K. Tiwari *2, G. Sahoo #3 # Department of Information Technology, Birla Institute of Technology, Mesra Ranchi, India * RVS College of Engineering&

More information

The Command Dispatcher Pattern

The Command Dispatcher Pattern The Command Dispatcher Pattern Can also be called: Command Evaluator Pattern. Benoit Dupire and Eduardo B Fernandez {bdupire@seatech.fau.edu, ed@cse.fau.edu} Department of Computer Science and Engineering.

More information

Chapter 23. Database Security. Security Issues. Database Security

Chapter 23. Database Security. Security Issues. Database Security Chapter 23 Database Security Security Issues Legal and ethical issues Policy issues System-related issues The need to identify multiple security levels 2 Database Security A DBMS typically includes a database

More information

Administration of Access Control in Information Systems Using URBAC Model

Administration of Access Control in Information Systems Using URBAC Model JOURNAL OF APPLIED COMPUTER SCIENCE Vol. 19 No. 2 (2011), pp. 89-109 Administration of Access Control in Information Systems Using URBAC Model Aneta Poniszewska-Marańda Institute of Information Technology

More information

DATABASE SECURITY MECHANISMS AND IMPLEMENTATIONS

DATABASE SECURITY MECHANISMS AND IMPLEMENTATIONS DATABASE SECURITY MECHANISMS AND IMPLEMENTATIONS Manying Qiu, Virginia State University, mqiu@vsu.edu Steve Davis, Clemson University, davis@clemson.edu ABSTRACT People considering improvements in database

More information

Two patterns for web services security

Two patterns for web services security Two patterns for web services security Eduardo B. Fernandez Dept. of Computer Science and Engineering Florida Atlantic University Boca Raton, FL 3343, USA Abstract Patterns are widely used in software

More information

On XACML, role-based access control, and health grids

On XACML, role-based access control, and health grids On XACML, role-based access control, and health grids 01 On XACML, role-based access control, and health grids D. Power, M. Slaymaker, E. Politou and A. Simpson On XACML, role-based access control, and

More information

Role Based Access Control Framework for Network Enterprises

Role Based Access Control Framework for Network Enterprises Role Based Access Control Framework for Network Enterprises Dan Thomsen, Dick O Brien, and Jessica Bogle Secure Computing Corporation 2675 Long Lake Road Roseville, MN 55113 thomsen@securecomputing.com

More information

The Different Types of Search and Execution Systems

The Different Types of Search and Execution Systems Query Engine A Pattern for Performing Dynamic Searches in Information Systems Tim Wellhausen kontakt@tim-wellhausen.de http://www.tim-wellhausen.de Jan 24, 2006 Abstract: This paper presents an architecture

More information

Role-Based Access Controls

Role-Based Access Controls Role-Based Access Controls Reprinted from 15th National Computer Security Conference (1992) Baltimore, Oct 13-16, 1992. pp. 554-563 David F. Ferraiolo and D. Richard Kuhn National Institute of Standards

More information

Improving Scenario-Driven Role Engineering Process with Aspects

Improving Scenario-Driven Role Engineering Process with Aspects Improving Scenario-Driven Role Engineering Process with Aspects Shu Gao, Zhengfan Dai School of Computer Science Florida International University Miami, FL 33199, USA {sgao01, zdai01}@cs.fiu.edu Huiqun

More information

Access Control Intro, DAC and MAC. System Security

Access Control Intro, DAC and MAC. System Security Access Control Intro, DAC and MAC System Security System Security It is concerned with regulating how entities use resources in a system It consists of two main phases: Authentication: uniquely identifying

More information

Analysis Patterns for Patient Treatment Records

Analysis Patterns for Patient Treatment Records Analysis Patterns for Patient Treatment Records Tami Sorgente, Eduardo B. Fernandez, and Maria M. Larrondo Petrie Dept. of Computer Science and Engineering, Florida Atlantic University, Boca Raton, FL

More information

Two patterns for cloud computing: Secure Virtual Machine Image Repository and Cloud Policy Management Point

Two patterns for cloud computing: Secure Virtual Machine Image Repository and Cloud Policy Management Point Two patterns for cloud computing: Secure Virtual Machine Image Repository and Cloud Policy Management Point EDUARDO B. FERNANDEZ, Universidad Tecnica Federico Santa Maria, Chile RAUL MONGE, Universidad

More information

Two security patterns: Least Privilege and Security Logger and Auditor

Two security patterns: Least Privilege and Security Logger and Auditor Two security patterns: Least Privilege and Security Logger and Auditor Eduardo B. Fernandez 1, Sergio Mujica 2, and Francisca Valenzuela 2 1 Dept. of Comp. Science and Eng., Florida Atlantic University,

More information

FINAL DoIT 04.01.2013- v.8 APPLICATION SECURITY PROCEDURE

FINAL DoIT 04.01.2013- v.8 APPLICATION SECURITY PROCEDURE Purpose: This procedure identifies what is required to ensure the development of a secure application. Procedure: The five basic areas covered by this document include: Standards for Privacy and Security

More information

Access Control Basics. Murat Kantarcioglu

Access Control Basics. Murat Kantarcioglu UT DALLAS Erik Jonsson School of Engineering & Computer Science Access Control Basics Murat Kantarcioglu Access Control - basic concepts An access control system regulates the operations that can be executed

More information

Introduction. Observation Patterns. Accounting Patterns. How to use Patterns

Introduction. Observation Patterns. Accounting Patterns. How to use Patterns Analysis Martin Fowler fowler@acm acm.org http://ourworld ourworld.compuserve.com/homepages/martin_fowler Page Martin Fowler 9//99 What we will cover Introduction Observation Accounting How to use Page

More information

SEER Enterprise Shared Database Administrator s Guide

SEER Enterprise Shared Database Administrator s Guide SEER Enterprise Shared Database Administrator s Guide SEER for Software Release 8.2 SEER for IT Release 2.2 SEER for Hardware Release 7.3 March 2016 Galorath Incorporated Proprietary 1. INTRODUCTION...

More information

IDENTITY MANAGEMENT. February 2008. The Government of the Hong Kong Special Administrative Region

IDENTITY MANAGEMENT. February 2008. The Government of the Hong Kong Special Administrative Region IDENTITY MANAGEMENT February 2008 The Government of the Hong Kong Special Administrative Region The contents of this document remain the property of, and may not be reproduced in whole or in part without

More information

Génie Logiciel et Gestion de Projets. Patterns

Génie Logiciel et Gestion de Projets. Patterns Génie Logiciel et Gestion de Projets Patterns 1 Alexander s patterns Christoffer Alexander The Timeless Way of Building, Christoffer Alexander, Oxford University Press, 1979, ISBN 0195024028 Each pattern

More information

Security Patterns for Agent Systems

Security Patterns for Agent Systems Security Patterns for Agent Systems Haralambos Mouratidis 1, Paolo Giorgini 2, Markus Schumacher 3 1 Department of Computer Science, University of Sheffield, England h.mouratidis@dcs.shef.ac.uk 2 Department

More information

Reusability Problems of Object- Oriented Software Building Blocks

Reusability Problems of Object- Oriented Software Building Blocks Reusability Problems of Object- Oriented Software Building Blocks Wolfgang Pree Institut für Wirtschaftsinformatik, University of Linz, Altenbergerstr. 69, A-4040 LINZ, Austria Tel.: ++43-732-2468-9433;

More information

Oracle Database Security. Nathan Aaron ICTN 4040 Spring 2006

Oracle Database Security. Nathan Aaron ICTN 4040 Spring 2006 Oracle Database Security Nathan Aaron ICTN 4040 Spring 2006 Introduction It is important to understand the concepts of a database before one can grasp database security. A generic database definition is

More information

Role-Based Access Control (RBAC): Features and Motivations

Role-Based Access Control (RBAC): Features and Motivations Role-Based Access Control (RBAC): Features and Motivations David F. Ferraiolo, Janet A. Cugini, D. Richard Kuhn National Institute of Standards and Technology U. S. Department of Commerce Gaithersburg

More information

BM482E Introduction to Computer Security

BM482E Introduction to Computer Security BM482E Introduction to Computer Security Lecture 7 Database and Operating System Security Mehmet Demirci 1 Summary of Lecture 6 User Authentication Passwords Password storage Password selection Token-based

More information

Name of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6

Name of pattern types 1 Process control patterns 2 Logic architectural patterns 3 Organizational patterns 4 Analytic patterns 5 Design patterns 6 The Researches on Unified Pattern of Information System Deng Zhonghua,Guo Liang,Xia Yanping School of Information Management, Wuhan University Wuhan, Hubei, China 430072 Abstract: This paper discusses

More information

CA Technologies Solutions for Criminal Justice Information Security Compliance

CA Technologies Solutions for Criminal Justice Information Security Compliance WHITE PAPER OCTOBER 2014 CA Technologies Solutions for Criminal Justice Information Security Compliance William Harrod Advisor, Public Sector Cyber-Security Strategy 2 WHITE PAPER: SOLUTIONS FOR CRIMINAL

More information

Architectural Patterns (3)

Architectural Patterns (3) Scatter/Gather Architectural Patterns (3) Prof. Cesare Pautasso http://www.pautasso.info cesare.pautasso@usi.ch @pautasso Goal: send the same message to multiple recipients which will (or may) reply to

More information

The Economic Impact of Role-Based Access Control

The Economic Impact of Role-Based Access Control The Economic Impact of Role-Based Access Control Final Report SUBMITTED TO: Gregory Tassey, Ph.D. National Institute of Standards and Technology Acquisition and Assistance Division Building 101, Room A1000

More information

The Role-Based Access Control System of a European Bank: A Case Study and Discussion

The Role-Based Access Control System of a European Bank: A Case Study and Discussion The Role-Based Access Control System of a European Bank: A Case Study and Discussion Andreas Schaad, Jonathan Moffett and Jeremy Jacob EMail: {andreas, jdm, jeremy}@cs.york.ac.uk Department of Computer

More information

Newcastle University Information Security Procedures Version 3

Newcastle University Information Security Procedures Version 3 Newcastle University Information Security Procedures Version 3 A Information Security Procedures 2 B Business Continuity 3 C Compliance 4 D Outsourcing and Third Party Access 5 E Personnel 6 F Operations

More information

Oracle Database Security

Oracle Database Security breaking through barriers to progress By Raman Jathar an award winning '2004 Future 50 Company' 18650 W. Corporate Drive Suite 120 Brookfield, WI 53045 262.792.0200 Database Security Lately, database security

More information

Application Based Access Control on Cloud Networks for Data Security

Application Based Access Control on Cloud Networks for Data Security Application Based Access Control on Cloud Networks for Data Security Ms. Smitha P M.Tech in DCN, Department of ECE GSSSIETW, Mysuru Karnataka, India Smitha.21sn @gmail.com Mrs. Manjula G Associate. Proffesor,

More information

Microsoft Project Server 2010 Administrator's Guide

Microsoft Project Server 2010 Administrator's Guide Microsoft Project Server 2010 Administrator's Guide 1 Copyright This document is provided as-is. Information and views expressed in this document, including URL and other Internet Web site references,

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2004 Vol. 3, no. 3, March-April 2004 L n RBAC: A Multiple-Levelled Role- Based Access

More information

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN

More information

Achieving PCI COMPLIANCE with the 2020 Audit & Control Suite. www.lepide.com/2020-suite/

Achieving PCI COMPLIANCE with the 2020 Audit & Control Suite. www.lepide.com/2020-suite/ Achieving PCI COMPLIANCE with the 2020 Audit & Control Suite 7. Restrict access to cardholder data by business need to know PCI Article (PCI DSS 3) Report Mapping How we help 7.1 Limit access to system

More information

An Oracle White Paper May 2012. Oracle Database Cloud Service

An Oracle White Paper May 2012. Oracle Database Cloud Service An Oracle White Paper May 2012 Oracle Database Cloud Service Executive Overview The Oracle Database Cloud Service provides a unique combination of the simplicity and ease of use promised by Cloud computing

More information

An Analysis Pattern for Invoice Processing Eduardo B. Fernandez 1 and Xiaohong Yuan 2

An Analysis Pattern for Invoice Processing Eduardo B. Fernandez 1 and Xiaohong Yuan 2 An Analysis Pattern for Invoice Processing Eduardo B. Fernandez and Xiaohong Yuan 2 Department of Computer Science and Engineering Florida Atlantic University, Boca Raton, FL 2 Department of Computer Science

More information

Application of XML Tools for Enterprise-Wide RBAC Implementation Tasks

Application of XML Tools for Enterprise-Wide RBAC Implementation Tasks Application of XML Tools for Enterprise-Wide RBAC Implementation Tasks Ramaswamy Chandramouli National Institute of Standards and Technology Gaithersburg, MD 20899,USA 001-301-975-5013 chandramouli@nist.gov

More information

A Framework for Exploiting Security Expertise in Application Development

A Framework for Exploiting Security Expertise in Application Development A Framework for Exploiting Security Expertise in Application Development Theodoros Balopoulos 1, Lazaros Gymnopoulos 1, Maria Karyda 1, Spyros Kokolakis 1, Stefanos Gritzalis 1, Sokratis Katsikas 1 1 Laboratory

More information

i-questionnaire A Software Service Tool for Data

i-questionnaire A Software Service Tool for Data i-questionnaire A Software Service Tool for Data Analysis in e-business 1 ANDY S.Y. LAI, 2 Y.C. POON 1, Department of Information and Communications Technology, Hong Kong Institute of Vocational Education,

More information

ORACLE DATABASE SECURITY. Keywords: data security, password administration, Oracle HTTP Server, OracleAS, access control.

ORACLE DATABASE SECURITY. Keywords: data security, password administration, Oracle HTTP Server, OracleAS, access control. ORACLE DATABASE SECURITY Cristina-Maria Titrade 1 Abstract This paper presents some security issues, namely security database system level, data level security, user-level security, user management, resource

More information

Identity Management Basics. OWASP May 9, 2007. The OWASP Foundation. Derek Browne, CISSP, ISSAP Derek.Browne@Emergis.com. http://www.owasp.

Identity Management Basics. OWASP May 9, 2007. The OWASP Foundation. Derek Browne, CISSP, ISSAP Derek.Browne@Emergis.com. http://www.owasp. Identity Management Basics Derek Browne, CISSP, ISSAP Derek.Browne@Emergis.com May 9, 2007 Copyright The Foundation Permission is granted to copy, distribute and/or modify this document under the terms

More information

CMSC 421, Operating Systems. Fall 2008. Security. URL: http://www.csee.umbc.edu/~kalpakis/courses/421. Dr. Kalpakis

CMSC 421, Operating Systems. Fall 2008. Security. URL: http://www.csee.umbc.edu/~kalpakis/courses/421. Dr. Kalpakis CMSC 421, Operating Systems. Fall 2008 Security Dr. Kalpakis URL: http://www.csee.umbc.edu/~kalpakis/courses/421 Outline The Security Problem Authentication Program Threats System Threats Securing Systems

More information

The Real Challenges of Configuration Management

The Real Challenges of Configuration Management The Real Challenges of Configuration Management McCabe & Associates Table of Contents The Real Challenges of CM 3 Introduction 3 Parallel Development 3 Maintaining Multiple Releases 3 Rapid Development

More information

The Role-Based Access Control System of a European Bank: A Case Study and Discussion

The Role-Based Access Control System of a European Bank: A Case Study and Discussion The Role-Based Access Control System of a European Bank: A Case Study and Discussion Andreas Schaad Department of Computer Science University of York York, YO10 5DD, UK andreas@cs.york.ac.uk Jonathan Moffett

More information

OpenHRE Security Architecture. (DRAFT v0.5)

OpenHRE Security Architecture. (DRAFT v0.5) OpenHRE Security Architecture (DRAFT v0.5) Table of Contents Introduction -----------------------------------------------------------------------------------------------------------------------2 Assumptions----------------------------------------------------------------------------------------------------------------------2

More information

Johannes Sametinger. C. Doppler Laboratory for Software Engineering Johannes Kepler University of Linz A-4040 Linz, Austria

Johannes Sametinger. C. Doppler Laboratory for Software Engineering Johannes Kepler University of Linz A-4040 Linz, Austria OBJECT-ORIENTED DOCUMENTATION C. Doppler Laboratory for Software Engineering Johannes Kepler University of Linz A-4040 Linz, Austria Abstract Object-oriented programming improves the reusability of software

More information

A Process View on Architecture-Based Software Development

A Process View on Architecture-Based Software Development A Process View on Architecture-Based Software Development Lothar Baum, Martin Becker, Lars Geyer, Georg Molter System Software Research Group University of Kaiserslautern D-67653 Kaiserslautern, Germany

More information

Team Collaboration, Version Management, Audit Trails

Team Collaboration, Version Management, Audit Trails Team Collaboration, Version Management, Audit Trails Best Practices for Successful Project Delivery with VoiceObjects May 2008 www.voiceobjects.com 2 Team Collaboration, Version Management, Audit Trails

More information

The Oregon Software Development Process

The Oregon Software Development Process The Oregon Software Development Process Till Schümmer 1 and Robert Slagter 2 1 Computer Science Department, FernUniversität in Hagen, Universitätsstrasse 1, 58084 Hagen, Germany Till.Schuemmer@fernuni-hagen.de

More information

Compliance and Industry Regulations

Compliance and Industry Regulations Compliance and Industry Regulations Table of Contents Introduction...1 Executive Summary...1 General Federal Regulations and Oversight Agencies...1 Agency or Industry Specific Regulations...2 Hierarchy

More information

Role Based Access Control (RBAC) Nicola Zannone

Role Based Access Control (RBAC) Nicola Zannone Role Based Access Control (RBAC) Nicola Zannone 1 DAC and MAC Discretionary Access Control (DAC) Access control determined by the owner of an object Oner can delegate access rights to other users Access

More information

Security Testing. How security testing is different Types of security attacks Threat modelling

Security Testing. How security testing is different Types of security attacks Threat modelling Security Testing How security testing is different Types of security attacks Threat modelling Note: focus is on security of applications (not networks, operating systems) Security testing is about making

More information

Encapsulating Crosscutting Concerns in System Software

Encapsulating Crosscutting Concerns in System Software Encapsulating Crosscutting Concerns in System Software Christa Schwanninger, Egon Wuchner, Michael Kircher Siemens AG Otto-Hahn-Ring 6 81739 Munich Germany {christa.schwanninger,egon.wuchner,michael.kircher}@siemens.com

More information

ISO 27001 COMPLIANCE WITH OBSERVEIT

ISO 27001 COMPLIANCE WITH OBSERVEIT ISO 27001 COMPLIANCE WITH OBSERVEIT OVERVIEW ISO/IEC 27001 is a framework of policies and procedures that include all legal, physical and technical controls involved in an organization s information risk

More information

PCI DSS Best Practices with Snare Enterprise Agents PCI DSS Best Practices with Snare Enterprise Agents

PCI DSS Best Practices with Snare Enterprise Agents PCI DSS Best Practices with Snare Enterprise Agents PCI DSS Best Practices with Snare Enterprise InterSect Alliance International Pty Ltd Page 1 of 9 About this document The PCI/DSS documentation provides guidance on a set of baseline security measures

More information

Account Management Standards

Account Management Standards Account Management Standards Overview These standards are intended to guide the establishment of effective account management procedures that promote the security and integrity of University information

More information

Using weblock s Servlet Filters for Application-Level Security

Using weblock s Servlet Filters for Application-Level Security Using weblock s Servlet Filters for Application-Level Security September 2006 www.2ab.com Introduction Access management is a simple concept. Every business has information that needs to be protected from

More information

A Model for Context-dependent Access Control for Web-based Services with Role-based Approach

A Model for Context-dependent Access Control for Web-based Services with Role-based Approach A Model for Context-dependent Access Control for Web-based Services with Role-based Approach Ruben Wolf, Thomas Keinz, Markus Schneider FhG Institute for Secure Telecooperation (SIT), 64293 Darmstadt,

More information

A Method for Eliciting Security Requirements from the Business Process Models

A Method for Eliciting Security Requirements from the Business Process Models A Method for Eliciting Security Requirements from the Business Process Models Naved Ahmed and Raimundas Matulevičius Institute of Computer Science, University of Tartu J. Liivi 2, 50409 Tartu, Estonia

More information

Workflow Access Control from a Business Perspective

Workflow Access Control from a Business Perspective Workflow Access Control from a Business Perspective Dulce Domingos, António Rito-Silva 2, Pedro Veiga Informatics Department, University of Lisbon, Faculty of Sciences {dulce, pmv}@di.fc.ul.pt 2 INESC-ID

More information

Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.

Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns. Volume 4, Issue 5, May 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Functional and Non-Functional

More information

New Security Options in DB2 for z/os Release 9 and 10

New Security Options in DB2 for z/os Release 9 and 10 New Security Options in DB2 for z/os Release 9 and 10 IBM has added several security improvements for DB2 (IBM s mainframe strategic database software) in these releases. Both Data Security Officers and

More information

Denodo Data Virtualization Security Architecture & Protocols

Denodo Data Virtualization Security Architecture & Protocols Denodo Data Virtualization Security Architecture & Protocols XLS Security Architecture & Protocols We include hereinafter a description of the security support in the Denodo Platform. The following diagram

More information

Security Patterns and Secure Systems Design

Security Patterns and Secure Systems Design Fourth LACCEI International Latin American and Caribbean Conference for Engineering and Technology (LACCET 2006) Breaking Frontiers and Barriers in Engineering: Education, Research and Practice 21-23 June

More information

ACaaS: Access Control as a Service for IaaS Cloud

ACaaS: Access Control as a Service for IaaS Cloud ACaaS: Access Control as a Service for IaaS Cloud Ruoyu Wu, Xinwen Zhang, Gail-Joon Ahn, Hadi Sharifi and Haiyong Xie Arizona State University, Tempe, AZ 85287, USA Email: {ruoyu.wu, gahn, hsharif1}@asu.edu

More information

Access Control. Dr George Danezis (g.danezis@ucl.ac.uk)

Access Control. Dr George Danezis (g.danezis@ucl.ac.uk) Access Control Dr George Danezis (g.danezis@ucl.ac.uk) Resources Key paper: Carl E. Landwehr: Formal Models for Computer Security. ACM Comput. Surv. 13(3): 247-278 (1981) See references to other optional

More information

How Can Data Sources Specify Their Security Needs to a Data Warehouse?

How Can Data Sources Specify Their Security Needs to a Data Warehouse? How Can Data Sources Specify Their Security Needs to a Data Warehouse? Arnon Rosenthal The MITRE Corporation arnie@mitre.org Edward Sciore Boston College (and MITRE) sciore@bc.edu Abstract In current warehouse

More information

Quality Ensuring Development of Software Processes

Quality Ensuring Development of Software Processes Quality Ensuring Development of Software Processes ALEXANDER FÖRSTER,GREGOR ENGELS Department of Computer Science University of Paderborn D-33095 Paderborn, Germany {alfo engels}@upb.de ABSTRACT: Software

More information

ITM661 Database Systems. Database Security and Administration

ITM661 Database Systems. Database Security and Administration ITM661 Database Systems Database Security and Administration Outline Introduction to Database Security Issues Types of Security Threats to databases Database Security and DBA Access Protection, User Accounts,

More information

SECURELINK.COM ENTERPRISE REMOTE SUPPORT NETWORK

SECURELINK.COM ENTERPRISE REMOTE SUPPORT NETWORK ENTERPRISE REMOTE SUPPORT NETWORK I. INTRODUCTION EXECUTIVE SUMMARY MANAGING REMOTE SUPPORT IN A SECURE ENVIRONMENT Enterprise computing environments often include dozens, even hundreds of different software

More information

SB 1386 / AB 1298 California State Senate Bill 1386 / Assembly Bill 1298

SB 1386 / AB 1298 California State Senate Bill 1386 / Assembly Bill 1298 California State Senate Bill 1386 / Assembly Bill 1298 InterSect Alliance International Pty Ltd Page 1 of 8 Intersect Alliance International Pty Ltd. All rights reserved worldwide. Intersect Alliance Pty

More information

User Guide. You will be presented with a login screen which will ask you for your username and password.

User Guide. You will be presented with a login screen which will ask you for your username and password. User Guide Overview SurfProtect is a real-time web-site filtering system designed to adapt to your particular needs. The main advantage with SurfProtect over many rivals is its unique architecture that

More information

SmartCenter for Pointsec - MI Overview

SmartCenter for Pointsec - MI Overview Chapter SmartCenter for Pointsec - MI Overview 1 SmartCenter for Pointsec - MI is a management and administration framework solution for the Check Point Endpoint Security product line that integrates with

More information

Ensuring Access Control in Cloud Provisioned Healthcare Systems

Ensuring Access Control in Cloud Provisioned Healthcare Systems Ensuring Access Control in Cloud Provisioned Healthcare Systems Hema Andal Jayaprakash Narayanan Department of Computer Science and Engineering University of Nevada, Reno Abstract An important issues in

More information

Detection of Problems in the Application of Software Process Patterns

Detection of Problems in the Application of Software Process Patterns Detection of Problems in the Application of Software Process Patterns Chintan Amrit & Jos van Hillegersberg Department of IS & CM, BBT, University of Twente, P.O. Box 217,7500 AE Enschede c.amrit, J.vanHillegersberg@utwente.nl

More information