Course2 DBSecurity
Course2 DBSecurity
Course 2
Database Security Foundations (part 1)
Mandatory aspects of the security in
database management systems
Plan
1. Introduction
2. Brief History of the Field (Previous developments)
2.1 First initiatives
2.2 Major research and developments
2.3 Interpretation of the systems’ security evaluation criteria for the secure databases
2.4 Types of multi-level secure database systems
2.5 Important problems
2.6 Subsequent technologies
3. Design principles
3.1 Mandatory access control
3.2 Security architectures
3
1. Introduction
4
Security Policies (1)
5
Security Policies (2)
6
Course goal
7
2. Brief History of the Field
(Previous developments)
8
Brief History (1)
• A lot of the contributions in the ’80s and ’90s in the field of the
database security were oriented towards MLS/DBMS.
• These systems are also named Trusted Database Management
Systems (TDBMS).
• They are based on the definition of the security levels.
9
Brief History (2)
10
Brief History (3)
11
Brief History (4)
• The research was being done at the same time as the arrival of commercial
products.
• Subsequently, the efforts were directed towards the investigation of the
multi-level security for the new data management technologies.
13
Brief History (6)
15
Air Force Summer Study (1)
16
Air Force Summer Study (2)
• The first group focused on the short-term approaches for the MLS/DBMS
design. Among these, there are those referring to:
• The integrity lock
• The distributed architecture.
• The second group considered the military messages system’s model for an
MLS/DBMS.
• The model was developed by that time
• The goal of the group: to investigate its applicability for MLS/DBMS.
• The third group studied the long-term approaches and investigated
problems :
• Data classification based on content and context
• Multi-level relational data models
• The inference problem.
17
Air Force Summer Study (3)
18
Major research and developments (1)
19
Major research and developments (2)
20
The interpretation of the evaluation criteria for
the secure databases (1)
• Following the progress made over the ’80s, National Computer
Security Center (NCSC) anticipated that the commercial products
(implementations) were going to appear.
• At that time, there were already commercial operating systems
evaluated by the specific criteria stated for the secure systems.
• These criteria consist of rules that a system must satisfy in order
to be certified at a certain level. The highest level was A, while
the lowest was C2. There were several intermediate levels
between them (C1, B1, B2, B3)1.
1https://www.pcmag.com/encyclopedia/term/ncsc-security-levels
21
The interpretation of the evaluation criteria for
the secure databases (2)
• In order to evaluate MLS/DBMSs, these criteria were no longer
sufficient, so that their interpretation (adjustment) for the
database systems was needed.
• This “adjustment” was named Trusted Database Interpretation
(TDI).
• TDI focused on the TCB (Trusted Computing Base) approach. This
is that part of the system which imposes the security policies.
• TDI was published in 1991, moment at which there were already
commercial products (Oracle, Sybase, Informix, Ingres) ready to
be evaluated.
22
Types of multi-level secure database systems
23
Relational database systems
• The first efforts regarding MLS were directed towards the relational
databases.
• These systems were aimed at both:
• designing the multi-level relational databases models and
• providing access based on views.
• The notion of polyinstantiation was also stated – this allows users to
view an element differently, based on their security level.
• Other research subjects that were investigated for the MLS/DBMSs
based on the relational model included:
• The secure transaction processing
• The inference problem
• The security constraints processing.
24
Entity-relationship systems
• In 1987, Air Force Research Laboratory in Rome took the initiative to design
an MLS/DBMS based on the entity-relationship model:
• Developed initially by Peter Chen in 1976
• Later used for modeling applications.
• This initiative aimed to explore:
• The security properties for the E/R model
• The use of the secure E/R models for the design of the DBMSs.
• The result: the MLS E/R model, which was later used for the secure
application’s modeling.
• Variants of this were used to explore the inference problem.
• This approach contributed to the design of the MLS applications, but there
were no initiatives to design MLS/DBMSs based on the E/R model.
25
Object-oriented database systems
26
Distributed and heterogenous database
systems
• The Air Force Summer Study initiative discussed about the design of
MLS/DBMS based on distributed architectures, but partitioning data
according to their security level.
• The initial goal was to develop secure centralized database systems.
• Subsequently, it was worked on the design and development of the
distributed MLS/DBMS (MLS/DDBMS).
• Then, the focus went on the design and development of the
heterogeneous distributed database systems.
27
Deductive database systems
1 https://patents.google.com/patent/US5481700
28
Functional database systems
29
Real-time database systems
• These systems were investigated for many applications, including the
command and control applications, as well as process control applications.
• The challenge is to embed security in the real-time processing. But, this two
components are in conflict.
• For example, if all access control checks need to be done, transactions may not
be completed on time.
• There is also potential for the emergence of covert channels when integrating
security with real time processing.
• Secure algorithms for real-time concurrency control were investigated,
while issues related to security integration, real-time processing, and fault
tolerance were analyzed.
• The problems concerning these systems become critical for many
applications, including embedded systems.
30
Important problems (1)
• Previously, we made a short presentation of the different types of MLS/DBMSs.
• Some important and difficult issues in MLS / DBMS are:
• Inference
• Secure transactions processing
• Development of a multi-level secure relational data model.
• The most notable of these problems is that of the inference. This consists in the
process of formulating requests and deducing sensitive information from the
legitimate answers received.
• Different approaches to solving this problem have been presented in the literature.
• It has been shown that the general problem of inference is unsolvable.
• The use of security constraints and conceptual structures to treat different types of
inference has been explored.
• A particular case of inference is the aggregation problem.
31
Important problems (2)
32
Important problems (3)
33
Subsequent technologies (1)
34
Subsequent technologies (2)
• This is partly because even in the case of the relational systems there
are difficult problems to solve regarding multi-level security.
• As systems become more complex, the development of secure multi-
level systems is becoming an increasing challenge.
• How could secure multi-level systems be developed for different types of
applications (digital libraries, e-commerce systems)?
• How can an acceptable performance be achieved?
• How can huge systems be verified?
35
3. Design Principles
36
Design Principles
37
Mandatory access control (1)
• Although DBMSs need to address most of the security issues that operating
systems address (identification and authentication, access control, audit),
there are specific features that generate additional issues.
• For example, objects in the DBMS tend to be of variable size and may have
fine granularity (relationships, attributes, and records).
• This contrasts with operating systems, where granularity tends to be coarse
(files, segments).
• Due to this fine granularity of MLS/DBMS (TDBMS), the objects on which
the Mandatory Access Control (MAC) and the Discretionary Access Control
(DAC) access is performed may differ.
• In Trusted Operating Systems (MLS), MAC and DAC are usually performed on
the same object (for example, a file).
38
Mandatory access control (2)
• There are also some functional differences between
operating systems and DBMSs.
• Operating systems work with subjects who want to access / modify
objects.
• DBMSs are used to share data between users and provide users
with means to link different objects.
• DBMSs are dependent on operating systems, which provide them
with resources (for example, communication between processes
and memory management). Therefore, the design of secure DBMSs
must consider the way in which operating systems handle security.
39
Mandatory access control (3)
• The differences discussed above lead to the fact that the traditional
methods used in the design of the systems must be adapted for DBMSs.
• There is no standard architectural approach for MLS/DBMS.
• Different methods have been proposed for the design and construction
of MLS / DBMS.
• Some of them will be presented in the following.
• In essence, the MLS/DBMSs were designed based on one of the
architectures that will be presented.
• Figure 4 illustrates the difference between access control in operating
systems and access control in DBMSs.
40
Mandatory access control (4)
41
Mandatory access control policies (1)
42
Mandatory access control policies (2)
43
Mandatory access control policies (3)
44
Mandatory access control policies (4)
45
Mandatory access control policies (5)
46
Mandatory access control policies (6)
47
Security Architectures
• Security architectures are system architectures, which were
designed to address certain aspects of security.
• We will present 5 architectures for MLS/DBMSs. As mentioned
earlier, they provide a taxonomy for MLS / DBMSs.
• These architectures are:
• Integrity lock
• Enable of mandatory security by the operating system
• Kernel extensions
• Secure subject
• Distributed architecture
• Partitioned approach
• Replicated approach.
48
Integrity Lock Architecture(1)
• This approach uses an insecure DBMS (back end) with access to data
from the database, an insecure interface (front-end) that communicates
with the user, and a secure front-end application that uses checksums
(Figure 6).
• The unsafe components are isolated from each other so that there is no
communication between the two without the mediation of the secure
filter.
• The DBMS is maintained at the system level (the highest level supported
by the system).
• Multiple front-end instances are maintained, one instance per each user
level.
• The secure filter is also maintained at the system level.
49
Integrity Lock Architecture (2)
50
Integrity Lock Architecture (3)
• In this architecture, each tuple that is inserted in the database is
associated with a security label and a checksum.
• The security label is encrypted and the data is unencrypted.
• The sums are calculated by the secure filter at insertion and
recalculated at retrieval.
• Upon insertion, the secure filter calculates the sum and the insecure
DBMS takes the data (for example, the tuples), the associated label, and
the sum and stores them in the database.
• In the retrieval operation, the back end finds the data tuples and sends
them to the secure filter that recalculates the sums based on the tuple
and the found label.
• If the filter determines that the data has not been affected (modified), it
transmits it to the user via the insecure front end.
51
Integrity Lock Architecture (4)
• The advantage of this architecture is that a small amount of additional
secure code is required by the MLS/DBMS, and the performance is
independent of the number of security levels involved.
• The disadvantage is that this approach is subject to interference threats.
• This threat occurs because the insecure back end can access secret data,
encrypt it as a series of accessible data tuples, and transmit the
encrypted tuples to the secure front end.
• Because the data tuples are accessible, the secure filter will not be able
to detect hidden operations on the insecure DBMS.
52
Access control through the operating
system (1)
• This approach (Figure 7), also known as Hinke-Schaefer, uses the secure
operating system to mediate access control.
• No mediation of access control is performed by the DBMS.
• Database objects (for example, tuples) are treated similarly to operating system
objects (files).
• Thus, the tuples on the Secret level are stored in Secret files, and the Top Secret
ones are stored in Top Secret files.
• With this approach, there is no DBMS that allows access to data from the
database.
• There is an instance of the DBMS for each security level.
• The advantage of this architecture is that it is simple and secure.
• The downside is that performance issues increase with the number of security
levels.
• This approach is also called the single-kernel approach.
53
Access control through the operating
system (2)
55
Kernel Extensions Architecture (2)
56
Secure subject Architecture (1)
• This architecture, also called dual kernel-based architecture, does not
rely on the operating system to perform access control mediation.
• Thus, access to database records is mediated by the secure DBMS.
• The name of the architecture comes from the fact that the DBMS is
usually a secure subject (or process) hosted on the operating system.
Essentially, the DBMS can access the data in the database.
• The advantage of this architecture is that it can provide good security,
and the performance is independent of the number of security levels
involved.
• The disadvantage is that the code of the DBMS that mediates access
must be secure. This assumes that the approach may require a large
amount of secure code.
57
Secure subject Architecture (2)
59
The Distributed Architecture (2)
• In the second approach (Figure 11), data from lower levels
are replicated at higher levels.
• Thus, the Secret DBMS will handle Secret, Confidential and
Unclassified data. This approach is called replicated.
• In the partitioned approach, the secure front end is
responsible for ensuring that the request is directed to the
correct back end, but also for performing the join
operations on the data sent from the back-end DBMSs.
60
The Distributed Architecture (3)
• Because the query may contain information classified at a higher level
than the back-end DBMS (for example, the values in the WHERE clause
of the query), the problem of high signaling channels may arise in the
partitioned approach.
• This occurs because queries can be sent to DBMSs that operate at lower
levels than the user’s level.
• In the replicated approach, the secure front end ensures that the query
is directed to a single DBMS.
• Because only DBMSs that operate at the same level as the user are
queried, this approach does not have the above problem.
• Furthermore, no front-end DBMSs are required to perform join
operations. Because the data is replicated, the secure front end must
ensure the consistency of the data maintained by the various DBMSs.
61
The Distributed Architecture (4)
62
The Distributed Architecture (5)
63