Information Systems Critical Thinking
In Proceedings of the 7 th Annual Security Conference, June 2 - 4 , 2008, Las Vegas, NV
www.security-conference.org
The CRUD Security Matrix: A Technique for Documenting Access Rights
Dale L. Lunsford, Michael R. Collins
Phillips School of Business
High Point University
Abstract
The CRUD matrix is an excellent technique to model processes and data and how they
interact with respect to creation, reading, updating, and deleting of the data. In this paper,
we extend the CRUD matrix to a CRUD Security Cube where we propose incorporating a
third dimension on the matrix to include individuals or groups and the rights and security
privileges granted to each. This additional dimension on the matrix provides significant
information without using an additional model or losing any information from the
original CRUD matrix in its design. Analysts may generalize the application of this
extension to databases, information systems, or literally any information system’s object
that incorporates data, processes, and how individuals may interact with those within the
object.
Keywords: CRUD matrix, CRUD Security Cube, access controls, access rights,
permissions
Organizations need to ensure that each employee has the appropriate access to
information, but does not have excessively powerful access rights. As systems become
more complex, organizations grow in size, and the use of contractors and temporary
employees increase, the difficulty of ensuring that only authorized users have access to
information increases. Kamens (2007) describes challenges faced by auditors and
organizations when a company hires, fires, loses, or moves employees. Given the size of
staff and the quantity of information employees need access to, regulating and monitoring
this access is difficult. At the same time, new laws such as Sarbanes-Oxley Act place
greater importance on this. Kamens suggests that companies develop pre-defined
specifications for the access rights employees need to do their jobs. Essentially, Kamens
states the need for access control entries and access control lists as described by
Govindavajhala (2006). While products exist to manage access rights (Hulme, 2003),
first organizations must carefully define the access rights needed.
This paper outlines a technique for defining the appropriate access rights using an
extension of the CRUD (create, read, update, and delete) matrix, referred to as the CRUD
Security Cube in this paper. The CRUD Security Cube adds a third dimension in which
analysts can model users and groups and their access rights. Incorporating this third
dimension of information within the existing CRUD matrix is significant in aiding
information technology professionals with modeling how access rights apply to both
processes and the data within an organization. In practice, this cube extension to the
In Proceedings of the 7 th Annual Security Conference, June 2 - 4 , 2008, Las Vegas, NV
www.security-conference.org
Pg 5-2
CRUD matrix allows analysts to view slices of the matrix. Depending on the
informational needs, the analyst could ‘slice’ the cube as needed to find relevant data on
any or all of the three dimensions modeled in the CRUD Security Cube. The user-
dimension extension in the CRUD Security Cube applies to access rights in a variety of
systems, including software suites, applications, or database management systems.
The organization of this paper is as follows. First, this paper describes the structure and
role of the CRUD matrix. Second, this paper outlines techniques for specifying access
rights in information system settings. Next, this paper describes the CRUD Security
Cube in general terms. Finally, this paper discusses potential benefits of the CRUD
Security Cube and outlines extensions to this line of research.
The CRUD Matrix
The traditional CRUD matrix is one popular approach to modeling data and process
interactions enterprise wide (Politano, 2001). Knowing what processes Create, Read,
Update, and Delete (CRUD) what data assists the database designers as well as the
systems analysts within organizations in storing data and creating processes that
effectively manage and manipulate specific data (Oppel, 2004). Figure 1 is an example
of a CRUD matrix.
Figure 1: Sample CRUD Matrix
Customer Customer
Order
Customer
Account
Customer
Invoice
Vendor
Invoice Product
Receive
Customer Order R C CR
Process
Customer Order CRU RU R
Maintain
Customer Order U U RU
Terminate
Customer Order U U RU
Fill Customer
Order RU RU RU
Ship Customer
Order U C
Validate Vender
Invoice R
Pay Vender
Invoice RU
Invoice
Customer RU RU C
Maintain
Inventory CRUD
In Proceedings of the 7 th Annual Security Conference, June 2 - 4 , 2008, Las Vegas, NV
www.security-conference.org
Pg 5-3
Extracted from: (Borysowich, 2007)
As you can see from the example above, the CRUD matrix provides us with a two-
dimensional representation of data and processes and the interaction that exists between
them with respect to creating, reading, updating, and deleting of data. As businesses
move into the 21st century, more and more emphasis is being placed on security in terms
of individual and group access rights with systems and data access to specific processes.
Controlling Access to Resources
Access rights, also known as permissions or privileges, define the types of access that a
user or group has to a securable object. Common options for defining access rights
include individual users and groups. Unix identifies three recipients of access rights: the
object’s owner, a group, and the world (December, 2008). Starting with the NT File
System (NTFS), users and groups may be recipients of access rights (Melber, 2006)
under Microsoft Windows. In many settings, it is more efficient to define access rights in
terms of groups, rather than individual users, and then assign individual users to groups.
This simplifies the security management process as needs change. In this case, users with
extensive access needs are members of multiple groups. The nature of securable objects
varies across systems; common securable objects include directories and files, devices,
executables, and other objects (Changing Access Security on Securable Objects, 2008).
While access types vary across operating systems, common access types include full
control, modify, read & execute, read, and write under NTFS (Melber, 2006; Eckel,
2007) and read, write, and execute under Unix (December, 2008). As illustrated in
Figure 2, NTFS provides extensive advanced access types, depending on the securable
object (Mullins, 2006).
Figure 2: NTFS Advanced Access Types (Mullins, 2006)
Traverse Folder/Execute File
List Folder/Read Data
Read Attributes
Read Extended Attributes
Create Files/Write Data
Create Folders/Append Data
Write Attributes
Write Extended Attributes
Delete
Read Permissions
Change Permissions
Take Ownership
NTFS provides advanced mechanisms to extend access rights, including inheritance and
the ability to deny access (Melber, 2006; Mullins, 2006; Eckel, 2007). In NTFS,
specification of access rights is either explicit or inherited. Securable objects such as
files and directories may inherit access rights from parent securable objects, or may
receive access rights through explicit assignment. Additionally, NTFS provides a
mechanism to deny a user or group any particular access type. In NTFS, each access
In Proceedings of the 7 th Annual Security Conference, June 2 - 4 , 2008, Las Vegas, NV
www.security-conference.org
Pg 5-4
right forms an access control entry (ACE) and the collection of access control entries
form an access control list (ACL) (Govindavajhala, 2006; Introduction to Securing Your
Windows Computer Files, 2001).
Ferraiolo (1992) and Ferraiolo (1995) describe three types of access controls: mandatory
access controls (MAC), discretionary access controls (DAC), and role-based access
controls (RBAC). Under DAC, users may grant or deny access to objects under their
control. DAC is the weakest form of access control; however, it is appropriate in many
settings. With MAC, before a user gains access to an object, the user must receive formal
clearance to access the object. An administrator is responsible for clearing the user based
on the sensitivity of the information in the object and the authorization level of the user.
The user does not receive authorization to grant other users access to the object. RBAC
is a type of MAC. In RBAC, the user has a specific role to perform in the organization.
An administrator determines the transactions associated with the role. Each transaction
has associated objects and types of access to these objects. From this, the user’s roles
specifically determine the types of access the user has to various objects.
Challenges implicit with all three types of access controls include identifying and
documenting the appropriate access rights associated with users and groups. In many
cases, administrators employ a trial-and-error strategy that may result in over or under
assignment of access rights. In the case of under assignment of access rights, users are
unable to perform necessary job functions until an administrator resolves the problem.
With over assignment of access rights, the consequences have the potential to be more
significant, enabling users to perform undesired actions or resulting in the disclosure of
information (Kamens, 2007). Alternatives to the trial-and-error approach include
employing use cases (Firesmith, 2003), extensions to the Unified Modeling Language
(UML) to incorporate security information (Breu, 2007), and the use of RBAC
(Ferraiolo, 1992; Ferraiolo, 1995). Additionally, conventional data flow diagramming
techniques provide sufficient information to identify necessary access rights.
The CRUD Security Cube
The CRUD Security Cube extends the standard CRUD matrix by adding a third
dimension representing users or groups of users (Figure 3). Using this dimension, system
analysts and security analysts can document the appropriate access rights for users or
groups to processes and data. The CRUD Security Cube is appropriate when designing
security for information system applications that employ processing units such as
programs, data access forms, or similar objects to access data in a database. Additionally,
this specification is appropriate in any setting where the user employs specific programs
to access data objects; this provides a mechanism for documenting the programs that
users need access to and the data that the programs access.
In Proceedings of the 7 th Annual Security Conference, June 2 - 4 , 2008, Las Vegas, NV
www.security-conference.org
Pg 5-5
Figure 3: CRUD Security
Cube Figure 4 illustrates a user slice from the CRUD Security Cube. The user
slice provides a mechanism for clearly depicting the access rights for a single user or
group. Essentially, the set of user slices comprise the CRUD Security Cube.
Figure 4: User Slice
In Proceedings of the 7 th Annual Security Conference, June 2 - 4 , 2008, Las Vegas, NV
www.security-conference.org
Pg 5-6
In addition to the user slice, by rotating the cube, one may look at access rights from a
variety of perspectives. A process slice highlights the types of access that users have to
data objects utilizing a designated process. A data slice highlights the types of access that
users have to process objects for a given data object.
The CRUD designations provide a convenient mechanism for the initial specification of
access rights. Systems analysis models such as data flow diagrams or use cases help to
identify the roles that users or groups play in the system, thus determining the types of
access required to processes and data. Depending on the specific capabilities of the
applications or database management system, more refined access type specifications
may be possible beyond the CRUD access types.
The process for developing the CRUD Security Cube will vary depending on the setting.
In an information system setting, the process will consist of the following major steps.
The systems analyst develops standard analysis models depending on the method
employed.
The systems analyst creates a CRUD matrix that maps processes and data.
Using the CRUD matrix and analysis models such as data flow diagrams or use cases, the
systems analyst identifies the users or groups employing the processes to access data,
yielding a collection of user slices.
The systems analyst and security analyst determine the appropriate user, process, and
data interactions required in the system, in terms of the types of access required. The
analysts record this information on the user slices.
Benefits of the CRUD Security Cube
There are a number of potential benefits from the CRUD Security Cube technique for
defining and documenting access rights. A significant benefit is that this technique
presents access rights in an easily understood tabular format. Second, this technique
provides a means of clearly depicting access rights prior to the implementation of these
access rights. Third, the advanced documentation of access rights provides a baseline for
security analysts and auditors to assess the implementation of the access rights to ensure
an adequate level of information and system protection. Fourth, this technique does not
rely on a specific analysis method and should work well with structured and object
oriented methods. Fifth, this technique is adaptable to various types of securable objects,
including information systems, directory structures, workstation resources, network
resources, as well as others. Finally, as described earlier, different systems provide
different access types for objects. The CRUD access types provide a good foundation for
specifying access types; however, the CRUD Security Cube technique is easily extensible
to various types of access such as those available in NTFS.
Potential Extensions to this Research
This paper presented an outline of the CRUD Security Cube. Initially extensions to this
research will focus on the proof of concept. To demonstrate the value of this technique,
two proof-of-concept cases are appropriate. One proof-of-concept case will focus on the
use of the CRUD Security Cube for documenting access rights for an information system.
The second proof-of-concept case will document access rights for user documents on a
In Proceedings of the 7 th Annual Security Conference, June 2 - 4 , 2008, Las Vegas, NV
www.security-conference.org
Pg 5-7
computer running the Microsoft Windows Vista operating system with an NTFS file
system. A third practical extension to this research is to develop a tool for constructing
the CRUD Security Cube with functions to set and audit access rights on a target system.
Works Cited
Borysowich, C. (2007, May 18). Data Driven Design: Other Approaches. Retrieved from ITToolBox.Com:
http://blogs.ittoolbox.com/eai/implementation/archives/data-driven-design-other-approaches-16350
Breu, R. P. (2007, October). Model based development of access policies. International Journal of Software
Tools for Technology Transfer , 9 (5-6), pp. 457-470.
Changing Access Security on Securable Objects. (2008, February 14). Retrieved February 26, 2008, from
MSDN: http://msdn2.microsoft.com/en-us/library/aa384905(VS.85).aspx
December, J. (2008, January 21). Permissions. Retrieved February 22, 2008, from December.com:
http://www.december.com/unix/tutor/permissions.html
Eckel, E. (2007, January 22). How do I... Secure Windows XP NTFS files and shares? Retrieved February
7, 2008, from TechRepublic.com: http://articles.techrepublic.com.com/5100-10877_11-6152061.html
Ferraiolo, D. a. (1995, December). An Introduction to Role-Based Access Control. Retrieved February 23,
2008, from NIST.gov:
http://csrc.nist.gov/groups/SNS/rbac/documents/design_implementation/Intro_role_based_access.htm
Ferraiolo, D. a. (1992). Role-Based Access Controls. National Computer Security Conference (pp. 554-
563). Baltimore: National Institute of Standards and Technology/National Computer Security Center.
Firesmith, D. G. (2003, May-June). Security Use Cases. Journal of Object Technology , 2 (3), pp. 53-64.
Govindavajhala, S. a. (2006, January 31). Windows Access Control Demystified. Retrieved February 26,
2008, from www.cs.princeton.edu: http://www.cs.princeton.edu/~sudhakar/papers/winval.pdf
Hulme, G. V. (2003, January 20). Businesses Get Tools to Manage Access Rights. InformationWeek , p.
26.
Introduction to Securing Your Windows Computer Files. (2001, August 22). Retrieved May 27, 2005, from
Stanford Windows Infrastructure: http://windows.stanford.edu/docs/IntroSecurity.htm
Kamens, M. (2007). Making user access policies work for you. Network World , 24 (12), 33.
Melber, D. (2006, May 3). Understanding Windows NTFS Permissions. Retrieved January 25, 2008, from
WindowsSecurity.com: http://www.windowsecurity.com/articles/Understanding-Windows-NTFS-
Permissions.html
Mullins, M. (2006, June 15). Windows 101: Know the basics about NTFS permissions. Retrieved June 19,
2006, from TechRepublic.com: http://techrepublic.com.com/5102-1009-6084446.html
Oppel, A. (2004). Databases DeMystified. Emeryville: McGraw Hill.
Politano, A. L. (2001). Salvaging Information Engineering Techniques in the Data Warehouse
Environment. Information Science , 35-44.
Swift, M. M. (2002). Improving the Granularity of Access Control for Windows 2000. ACM Transactions
on Information and System Security , 5 (4), 1-44.
Swift, M. M. (2001). Improving the Granularity of Access Control in Windows NT. Proceedings of Sixth
ACM Symposium on Access Control Models and Technologies, (pp. 87-96). Chantilly.