Database Security - Concepts Approaches
Database Security - Concepts Approaches
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 The Significance of Trade-Offs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Summary: Trade-Offs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Access Control Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1 Properties and Basic Principles of Access Control Mechanisms . . 7
2.2 Discretionary Access Control Mechanisms . . . . . . . . . . . . . . . . . . . . 8
2.3 Role-Based Access Control Mechanisms . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Mandatory Access Control Mechanisms . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Comparison of DAC, RBAC and MAC . . . . . . . . . . . . . . . . . . . . . . . 14
2.6 Trade-Offs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3 Security in Advanced Data Management Systems . . . . . . . . . . . . . . . . . . 16
3.1 Access Control Systems for XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Trade-Offs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4 Challenges Beyond Access Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1 Trade-Offs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Database Security: Concepts and Approaches 3
1 Introduction
1.1 Motivation
– Legal and ethical issues regarding the right to access certain information.
The main observation regarding this point is, that access to some data is
subject to different laws governing privacy of information.
– Policy issues at the governmental, institutional and corporate level regard-
ing the question what information should be made publicly available.
– Organizational issues refer to the requirements of some organizations that
data and users be categorized and appropriate security levels be established.
– System-related issues refer to the question at which levels security func-
tions should be enforced. For example, security constraints can be enforced
at the hardware or the software level. If they are handled at the software
level, it must be decided whether enforcement occurs at the operating system
level or within the Database Management System (DBMS).
It is easy to recognize that all of the issues given above are relevant to the
incident at Deutsche Telekom. The disclosure of customer data to a third party
will probably have legal consequences for the company and – if they are ever
determined – the individuals who have illegally accessed the data. Also, the
disclosure of data could be classified as a violation of governmental (the laws)
and corporate policies regarding data and privacy protection. Organizational and
system-related questions must be addressed to improve the current situation and
1
http://www.nzz.ch/nachrichten/panorama/mehr als 17 millionen kundendaten
bei deutscher telekom gestohlen 1.1023080.html, last accessed October 25, 2008
4
to determine which corporate users should have access to which customer infor-
mation and how this policy will be implemented and enforced at the technical
level.
In addition to the contextual issues of database security, it is possible to
categorize the threats to databases as follows [2], [4]:
Again, relating the case at Deutsche Telekom to the threats mentioned above,
it becomes obvious that the incident can be classified as unauthorized data ob-
servation with the respective consequences of embarassment, loss of confidence
and legal action against the company. From the facts that are known to the
public, apparently no incorrect data modification has been made and the com-
pany didn’t have any problems with respect to data unavailability because at
any point in time, all data required for business operations has been available.
From the issues outlined above, it is possible to derive the following require-
ments for security solutions in the context of a database system [2]:
malicious data access denials which make the database system unavailable.
Backup and recovery scenarios aid in recovering from hard- or software fail-
ures and avoid the loss of data. In order to prevent denial-of-service attacks,
additional techniques must be used which are often based on machine learn-
ing.
The following two scenarios, as given by Bertino and Sandhu [2], illustrate
these requirements.
Consider a database that stores payroll information. It is important that
salaries of individual employees not be released to unauthorized users
(secrecy, confidentiality), that salaries be modified only by the users
that are properly authorized (integrity, confidentiality), and that pay-
checks be printed on time at the end of the pay period (availability).
Consider the Web site of an airline company. Here, it is important that
customer reservations only be available to the customers they refer to
(authorization, confidentiality), that reservations of a customer not
be arbitrarily modified (integrity), and that information on flights and
reservations always be available (availability).
Another requirement, that is relevant today is privacy. The term privacy is
often used as a synonym for confidentiality, but actually, the two requirements
are different: Privacy means that it is not possible to deduce from a disclosed
set of data the original entity. Confidentiality can be achieved by – partially or
entirely – withholding data from access, but is not necessarily sufficient to assure
privacy. Issues related to privacy protection will be discussed in section 4.
Realizing that security problems and possible solutions can be seen as a form
of patterns, an attempt is made to conclude every section of this paper with the
identification and summary of the relevant trade-offs.
The basic concepts in access control models are authorizations, subjects and
objects. An authorization is a statement whether a given subject can perform a
particular action on an object. The subject is a user and the object is the data
item this user is trying to access. Thus the subject is the active and the object
the passive entity in an authorization. Authorizations can be managed centrally
by an administrator or by the creator (owner) of a data object. The first is
referred to as centralized administration, the latter as ownership administration.
Differences and impacts of these adminstration models are especially relevant
to discretionary access control models and will be discussed in the appropriate
sections.
Another important aspect of access control models is that not only the data
but also the schema may contain sensitive information, and accesses to the latter
need to be restricted according to some security policies. Finally, it is important
to realize that also the the access control policies themselves can reveal sensitive
information and therefore must be protected too.
The fact that not only the data can contain sensitive information, but also
the schema and the access control policies, can be seen as some form of covert
channel. A covert channel is any component or feature that can be used to rep-
resent information for unauthorized transmission without violating any existing
access control policy. In general, it is possible to categorize covert channels as
follows [4]:
– In timing channels, information is conveyed through the timing of events
and processes.
– In storage channels, information is conveyed by the access to system in-
formation.
extended and its concepts can still be found in nowaday’s database systems. Ob-
jects to be protected, are tables and views, referred to as virtual tables. Subjects
can exercise access modes on objects. These access modes correspond to the SQL
operations that can be executed on tables and – if applicable – on views:
Operation
1
*
Subject * * Permission
*
1
Object
of the System R model deals with this issue. The proposed semantics start with
the assumption that the authorizations a user possesses, are related to his func-
tion within an organization. Thus, if a user changes his function, it would be
sensible that only the authorizations of this particular user be removed. In this
non-cascading revoke, the authorizations granted by the revokee are respecified
as if they had been granted by the revoker.
Access control mechanisms must be able to deal with cases in which no
authorizations for a subject on a given object are found. Most database man-
agement systems adopt a closed-world policy which means that access is denied
if no authorization is found. Thus the lack of authorization is interpreted as
no authorization. This however does not prevent a user from receiving such an
authorization at some point in future because any subject in charge for au-
thorization can grant any other subject the authorization to access a particular
object. The introduction of negative authorizations can overcome this drawback.
Negative authorizations state an explicit denial for a subject to access a partic-
ular table under a certain access mode. Negative authorizations can be used to
block positive authorizations of a subject and to specify exceptions to positive
ones.
This can lead to conflicts between positive and negative authorizations which
in turn can be addressed in several ways:
– Denials-take-precedence: Whenever a subject has a positive and a nega-
tive authorization for a given access mode on a given object, access is denied.
Thus negative authorizations always override positive authorizations.
– More specific authorization: This concept introduces a partial order re-
lation between authorizations which is taken into account when dealing with
authentication conflicts. For example, an authorization given directly to a
user is more specific than an authorization given to a group this user is a
member of. This implies that a negative authorization can be overridden by
a positive one if the latter is more specific. The negative authorization is
selected if the two authorizations in question cannot be compared under the
order relation.
In the context of the Sea View [7] system, explicit denial exists in the fol-
lowing shape: Authorizations specify which users or groups can access particular
tables and which users and groups are denied for particular tables. Negative
authorizations cannot specify an access mode and a special access mode, called
null, is introduced to indicate a negative authorization. Conflicts are handled
according to a more specific authorization policy and a denials-take-precedence
policy. This means that authorizations granted to a user take precedence over
authorizations granted to this user’s groups and null mode authorizations over-
ride any positive authorizations granted to the subject. A different approach to
these difficulties is the introduction of roles and the assignment of privileges to
roles instead of directly to users. These mechanisms are known as role-based
access control (RBAC) and will be discussed in section 2.3.
Another extension of the System R model deals with the duration of au-
thorizations. Typically, an authorization is valid from the moment it is entered
Database Security: Concepts and Approaches 11
Operation
1
* *
Role * * Permission
*
* *
* 1
Subject Object
Most RBAC models also include the concept of role hierarcies, allowing to
express role-subrole relationships. This allows for authorization inheritance and
separation of duty (SoD) constraints which prevents a subject from receiving too
Database Security: Concepts and Approaches 13
many authorizations. This is especially relevant in case of a user with many au-
thorizations being compromised. In that case, a substantial part of the database
would also be compromised. Limiting the amount of authorizations mitigates
the impacts of an attack directed at a particular subject.
SoD can be classified into static and dynamic SoD:
– Static SoD constraints impose limits on role intersections and the number
of users that can be assigned to a particular role. For example, two roles
cannot have a common user or a given role can only be assigned to a certain
number of users.
– Dynamic SoD constraints are based on the notion of sessions. A session is
a set of accesses performed by a user under one or more roles. Dynamic SoD
restricts access to roles based on the history of the user’s role usage during
the current or previous sessions. This can be considered as exploitation of
contextual information.
Using MAC in the relational model imposes some difficult issues that need
modifications to the relational model [2], the so-called multilevel relational model.
A relation in the multilevel relational model is characterized by the fact that
different tuples can have different access classes, resulting in a partitioning into
different security partitions. For the different partitions, the same rules as for-
mulated above hold: A subject whose access class is c can read all tuples of
partitions that have access classes equal to or lower than c and it can write tu-
ples in classes that are equal to or higher than c. These restrictions are similar to
14
Objects Subject
Unclassified (U)
Fig. 3. Illustration of Mandatory Access Control. The subject having a security clas-
sification of Secret can read any object with a security classification less than or equal
to Secret and only write objects with a security classification greater than or equal to
Secret.
2.6 Trade-Offs
The study of access control mechanisms reveals the following trade-offs:
This section discusses specific security requirements for advanced data manage-
ment systems, that is, data management systems that go beyond the scope of
the relational data model. These systems have been driven by the requirements
of modern applications to manage complex data such as multimedia objects and
to provide advanced data analysis facilities, such as data mining for data ware-
housing and descision support systems. Another important factor is the advent
of internet and web-based applications and the requirement for inter-system op-
eration. According to [2], the requirements for such advanced systems can be
summarized as follows:
database systems use a pull strategy where data is delivered upon explicit re-
quest. In a network environment, alternative strategies can be used which are
more suitable for delivering data to a large number of subjects. An example
for such a strategy is the push strategy, which is also known as publish-
subscribe. The data source delivers data to subjects periodically or when
particular events happen. There’s no need for an explicit request. Another
aspect is outsourcing of data publication to third parties. In this case, the
data’s owner outsources its publication to a third party which processes the
user queries (e.g. UDDI). Notable challenges include ensuring the confiden-
tiality and integrity of the data.
– Support for distributed cooperative data modifications and com-
plex workflow-based activities is driven by the new types of applica-
tions the web has enabled. Examples include business-to-business (B2B) and
business-to-customer (B2C) e-commerce, virtual organizations, e-contracting
and e-procurement whose main characteristic is a collaborative process across
organization boundaries. Such applications, in addition to secure data ex-
change, need data flow policies stating which party has to receive and modify
data in which order.
Extensions to the relational versions of the access control models have been
discussed in section 2. The next section discusses access control mechanisms for
XML which is the common representation language for document exchange over
the web [4].
3.2 Trade-Offs
The requirements for advanced data systems reveal the following trade-offs:
This section briefly presents some challenges related to database security that
arise in the context of networked environments, ubiquitous and mobile comput-
ing as well as increasing data sizes [2].
One major point of concern regarding database security is the disintermedia-
tion of data access where subjects access their data directly without intervention
of an intermediate person. For example, orders can be placed directly by subjects
over the web or users can query databases themselves to retrieve the status of
their orders or reservations. This opens up a new kind of problem: as opposed
to e.g. a company’s employees, users are unknown to the data providing party
and do not necessarily obey a data access policy. Therefore, it can be difficult
to distinguish legitimate from illegitimate data access.
Database Security: Concepts and Approaches 19
organization, which also is no longer able to control data usage. The most com-
mon approach is data anonymization, however it may not be enough to simply
remove identity information. The second group of techniques deals with privacy-
preservation in the context of data mining because data mining techniques may
enable the recovery of removed information. The general approach is to modify
data to reduce the possibility that sensitive associations can be recovered. The
main challenge with these approaches is, that too extensive modification may
render data useless.
In case, one would not want to release data, distributed data mining tech-
niques can be used which operate on distributed and encrypted data. These al-
gorithms operate on some shared data to compute correct results but the shared
data does not include any private data [2].
4.1 Trade-Offs
Challenges for database security result from the following trade-offs:
– Data quality vs. data amount. Data quality is the suitability of available
data for a given purpose and must be achieved through dedicated activi-
ties during data collection or preparation and through the use of semantic
integrity constraints in database systems. As the amount of data to be pro-
cessed grows, it becomes increasingly difficult to assure a given degree of
quality because more time and resources are required to perform quality-
preserving or quality-improving processing.
– Distributed vs. centralized data processing. While centralized storage
reduces the amount of possible data disclosure places, linking different data
sources or sharing data can improve their usefulness. Additionally, in nowa-
days business context, lots of business processes have a collaborative nature
and span several organizations. Therefore data is distributed or shared and as
a consequence there is a greater probability that data is subject to disclosure
or unauthorized modification. Appropriate countermeasures must be intro-
duced to minimize these risks. But at the same time, additional mechanisms
increase complexity of a system and potentially influence implementation
effort, performance and ease-of-use in a negative manner.
– Direct vs. indirect access. When subjects can access data directly and
without intermediary, they perceive a greater ease-of-use. At the same time,
any direct access to data introduces the risk of unauthorized data access and
modification. Indirect access to data through a trusted intermediary reduces
these risks at the cost of increasing the time to retrieve desired data and
decreasing the system’s overall ease-of-use.
– General availability vs. intellectual property. When data is made pub-
licly available, it is difficult to enforce intellectual property rights.
5 Summary
When thinking about database security, the issue that immediately comes to
mind is confidentiality of data. This requirement is addressed by access control
Database Security: Concepts and Approaches 21
References
1. M.M. Astrahan, M.W. Blasgen, D.D. Chamberlin, J.N. Gray, W.F. King, B.G.
Lindsay, R.A. Lorie, J.W. Mehl, T.G. Price, G.R. Putzolu, M. Schkolnick, P.P.
Selinger, D.R. Slutz, H.R. Strong, P. Tiberio, I.L. Traiger, B.W. Wade, and
R.A. Yost. System R: A Relational Data Base Management System. Computer,
12(5):42–48, May 1979.
2. E. Bertino and R. Sandhu. Database security - concepts, approaches, and chal-
lenges. Dependable and Secure Computing, IEEE Transactions on, 2(1):2–19, Jan.-
March 2005.
3. F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal. Pattern-
Oriented Software Architecture: A System of Patterns. John Wiley Sons, Ltd.,
1996.
4. R. Elmasri and S.B. Navathe. Fundamentals of Database Systems. Addison Wesley,
4th edition, 2004.
5. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns: Elements of
Reusable Object-Oriented Software. Addison Wesley, 1994.
6. Patricia P. Griffiths and Bradford W. Wade. An authorization mechanism for a
relational database system. ACM Trans. Database Syst., 1(3):242–255, 1976.
7. T.F. Lunt, D.E. Denning, R.R. Schell, M. Heckman, and W.R. Shockley. The
seaview security model. Software Engineering, IEEE Transactions on, 16(6):593–
607, Jun 1990.
8. P. G. Neumann. Computer Related Risks. ACM Press, New York, USA, 1995.
9. R. Oppliger. IT security: in search of the Holy Grail. Commun. ACM, 50(2):96–98,
2007.
10. R. Pfeifer and C. Scheier. Understanding Intelligence. MIT Press, Cambridge,
Massachusetts, 2001.
11. E. T. Ray. Einführung in XML. O’Reilly, Köln, 2nd edition, 2004.
12. C. Türker and G. Saake. Objektrelationale Datenbanken. dpunkt.verlag, Heidel-
berg, 1st edition, 2006.