Integrating security and real-time requirements using ... - IEEE Xplore

2 downloads 669 Views 428KB Size Report
requirements introduce a new dimension to transaction processing in ... information, a measure of the degree to which security is being satisfied by a system.
IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING,

VOL. 12,

NO. 6,

NOVEMBER/DECEMBER 2000

865

Integrating Security and Real-Time Requirements Using Covert Channel Capacity Sang H. Son, Senior Member, IEEE, Ravi Mukkamala, Member, IEEE, and Rasikan David AbstractÐDatabase systems for real-time applications must satisfy timing constraints associated with transactions in addition to maintaining data consistency. In addition to real-time requirements, security is usually required in many applications. Multilevel security requirements introduce a new dimension to transaction processing in real-time database systems. In this paper, we argue that, due to the conflicting goals of each requirement, trade-offs need to be made between security and timeliness. We first define mutual information, a measure of the degree to which security is being satisfied by a system. A secure two-phase locking protocol is then described and a scheme is proposed to allow partial violations of security for improved timeliness. Analytical expressions for the mutual information of the resultant covert channel are derived and a feedback control scheme is proposed that does not allow the mutual information to exceed a specified upper bound. Results showing the efficacy of the scheme obtained through simulation experiments are also discussed. Index TermsÐConcurrency control, covert channel analysis, database systems, locking protocols, multilevel security, real-time systems.

æ 1

INTRODUCTION

D

ATABASE security is concerned with the ability of a database management system to enforce a security policy governing the disclosure, modification, or destruction of information. Most secure database systems use an access control mechanism based on the BellLaPadula model [3]. This model is stated in terms of subjects and objects. An object is understood to be a data file, record, or a field within a record. A subject is an active process that requests access to objects. Every object is assigned a classification and every subject a clearance. Classifications and clearances are collectively referred to as security classes (or levels) and they are partially ordered. The Bell-LaPadula model imposes the following restrictions on all data accesses:

1.

2.

Simple Security Property: A subject is allowed read access to an object only if the former's clearance is identical to or higher (in the partial order) than the latter's classification. The *-Property: A subject is allowed write access to an object only if the former's clearance is identical to or lower than the latter's classification.

The above two restrictions are intended to ensure that there is no flow of information from objects at a higher access class to subjects at a lower access class. Since the . S. Son and R. David are with the Department of Computer Science, University of Virginia, Charlottesville, Virginia 22903. E-mail: [email protected] . R. Mukkamala is with the Department of Computer Science, Old Dominion University, Norfolk, Virginia 23529. E-mail: [email protected].. Manuscript received 3 Feb. 1997; revised 10 Feb. 1999; accepted 8 Apr. 1999. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number 103683.

above restrictions are mandatory and enforced automatically, the system checks security classes of all reads and writes. Database systems that support the Bell-LaPadula properties are called multilevel secure database systems (MLS/DBMS). The Bell-LaPadula model prevents direct flow of information from a higher access class to a lower access class, but the conditions are not sufficient to ensure that security is not violated indirectly through what are known as covert channels [14]. A covert channel allows indirect transfer of information from a subject at a higher access class to a subject at a lower access class. In the context of concurrency control approaches, a covert channel arises when a resource or object in the database is shared between subjects with different access classes. The two subjects can cooperate with each other to transfer information. An important measure of the degree to which security is compromised by a covert channel is measured by the amount of information that may be transferred from a highsubject to a low-subject. This will be explained in greater detail in Section 3. A real-time database management system (RTDBMS) is a transaction processing system where transactions have explicit timing constraints. Typically, a timing constraint is expressed in the form of a deadline, a certain time in the future by which a transaction needs to be completed. In a real-time system, transactions must be scheduled and processed in such a way that they can be completed before their corresponding deadline expires. Conventional data models and databases are not adequate for time-critical applications. They are designed to provide good average performance while possibly yielding unacceptable worstcase response times. As advances in multilevel security take place, MLS/DBMSs are also required to support real-time

1041-4347/00/$10.00 ß 2000 IEEE

866

IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING,

requirements. As more and more such systems are in use, one cannot avoid the need for integrating real-time transaction processing techniques into MLS/DBMSs. Concurrency control is used in databases to manage the concurrent execution of operations by different subjects on the same data object such that consistency is maintained. In multilevel secure databases, there is the additional problem of maintaining consistency without introducing covert channels. In this paper, we concern ourselves with concurrency control mechanisms that have to satisfy both security and real-time requirements. We advance our claim that conflicts between these two requirements are inherent and, hence, trade-offs between them are necessary. A summary of related work in this area is included in Section 2. Some background information on correctness criteria for secure schedulers is covered in Section 3. In Section 4, the problems associated with time-constrained secure concurrency control are studied. In Section 5, the secure two-phase locking protocol and 2PL-High Priority are discussed. A scheme that allows partial violations of security requirements is proposed in Section 6 and the mutual information of the resultant covert channel is derived. A feedback control mechanism that maintains the amount of mutual information of the system at a specified upper bound is described in Section 7. In Section 8, it is shown that the analysis and control of the single covert channel considered in Section 6 is enough to bound the mutual information of all covert channels that could potentially be exploited. An implementation and performance analysis of the feedback control mechanism is explained in Section 9. Section 10 concludes the paper.

2

RELATED WORK

There have been several interesting approaches to analyzing and reducing the covert channel bandwidth [30], [11], [19], [9]. While some of these approaches could be used to specify policies to make it difficult to exploit the covert channels that may arise from the trade-off, others may not be applicable in real-time applications. For example, a collection of techniques known as fuzzy time [30], [11] is inappropriate in a real-time setting since the overall mission may be jeopardized by not getting the exact timing information. In fact, this problem between real-time and covert channel was identified in Secure Alpha work [10]. They have pointed out that slowing clocks or isolating processes from precise timing information is impractical for real-time systems. An adaptive solution to make appropriate trade-offs between the requirements of real-time and security is essential and it requires resolution rules to specify the appropriate behavior. To be effective, it is desirable that the rules be based on application-specific knowledge [5]. Our resolution specification approach is similar to their idea of ªImportant Enough to Interfereº and signaling cost, which consider the timeliness and levels between which a covert channel could be established. The idea of using probabilistic partitioning in buscontention covert channel is proposed in [9]. Instead of keeping track of the percentage of violations for making decisions when conflicts occur, the system could enforce a certain predetermined percentage by picking up a random

VOL. 12,

NO. 6,

NOVEMBER/DECEMBER 2000

number that generates 0 or 1, based on the required percentage. It needs further study to find out whether this way of enforcing the requirements provides a reasonable level of flexibility in specifying the requirements and reduced system overhead. To improve the practicality and usability of the covert channel analysis in real systems, it might be necessary to provide methods to specify higher-level goals regarding the potential trade-offs between real-time requirements and covert channel leaks. The user-centered security approach [31], which considers user needs as a primary design goal of secure system development, could be useful to figure out a higher-level description of user needs and expectations on specific situations. It could begin with some scenario-based requirement specification for the system to clearly identify the situation and necessary actions to take. The system may need to install monitors to check the system states and perform necessary adjustments by feedback control mechanisms to maintain the high-level goals specified by the user. Ideas similar to the dynamic adaptive security model proposed in [29] could be used to provide allowable trade-offs between security and real-time performance. George and Haritsa studied the problem of supporting real-time and security requirements [7]. They examined real-time concurrency control protocols to identify the ones that can support the security requirement of noninterference. This work is fundamentally different from our work because they make the assumption that security must always be maintained. In their work, it is not permissible to allow a security violation in order to improve on real-time performance. There have been several approaches to exploit the possible trade-offs between real-time and security requirements. In [20], a novel concurrency control protocol has been proposed to meet the real-time, security, and serializability requirements of applications. This protocol employs primary and secondary copies for each object. While the transactions at higher levels refer to the secondary copy, the transactions at the same classification level as the object refer to the primary copy. Due to this scheme, a higher level transaction is never delayed due to a lower-level transaction. Similarly, a high-level transaction never interferes with a low-level transaction. In [27], an adaptive protocol was proposed with performance results which illustrate the clear benefit of using adaptive approach in secure real-time databases. In this approach, conflicts are resolved based on two factors: the security factor, which indicates the degree of security violations, and the deadline miss factor, which indicates the timeliness of the system. Depending on the values of those factors, the system takes either secure option (no security violation) or insecure option (no priority inversions). In [21], a multiversion locking protocol was proposed to provide security and timeliness together, using multiple versions of data objects. The protocol provides one-copy serializability and eliminates all the covert channels. The protocol ensures that high priority transactions are neither delayed nor aborted by low priority transactions. In [28], a set of flexible security policies were proposed and evaluated, based on the notion of partial security instead

SON ET AL.: INTEGRATING SECURITY AND REAL-TIME REQUIREMENTS USING COVERT CHANNEL CAPACITY

3.

of absolute security. They proposed a specification method that enables the system designer to specify important properties of the database at an appropriate level. A tool can analyze the database specification to find potential conflicts and to allow the designer to specify the rules to follow during execution when those conflicts arise. Ahmed and Vrbsky also studied the trade-offs between security and real-time requirements and proposed a secure optimistic concurrency control protocol [2].

3

CORRECTNESS CRITERIA SCHEDULERS

FOR

SECURE

Covert channel analysis and removal is one of the most important issues in multilevel secure concurrency control. The notion of noninterference has been proposed [8] as a simple and intuitively satisfying definition of what it means for a system to be secure. The property of noninterference states that the output as seen by a subject must be unaffected by the inputs of another subject at a higher access class. This means that a subject at a lower access class should not be able to distinguish between the outputs from the system in response to an input sequence, including actions from a higher level subject and an input sequence in which all inputs at a higher access class have been removed [13]. An extensive analysis of the possible covert channels in a secure concurrency control mechanism and the necessary and sufficient conditions for a secure, interference-free scheduler are given in [13]. Three of these properties are of relevance to the secure two-phase locking protocol discussed in this paper. Each property represents one way of preventing a covert channel in a secure system. Clearly, all three properties need to be enforced to completely eliminate the possibility of covert channels with secure concurrency control protocols. For the following definitions, given a schedule s and an access level l, purge…s; l† is the schedule with all actions at a level > l removed from s. 1.

2.

Value Security: A scheduler satisfies this property if values read by a subject are not affected by actions with higher subject classification levels. Stated formally, for an input schedule p, the output schedule s is said to be value secure if purge…s; l† is view equivalent1 to the output schedule produced for purge…p; l†. Delay Security: This property ensures that the delay experienced by an action is not affected by the actions of a subject at a higher classification level. Here, the delay is measured as the time between the arrival of the request for the execution of an action at the system to the time the action is completed. For an input schedule p and an output schedule s, a scheduler is delay secure if for all levels l in p, each of the actions a1 in purge…p; l† is delayed in the output schedule produced for purge…p; l† if and only if it is delayed in purge…s; l†.

1. Two schedules are view equivalent if each read operation reads the same value (reads-from relationship) and the final values of each data object are the same in both schedules [4].

Recovery Security: Due to conflicting actions, transactions in a real-time database system may be involved in a deadlock. Recovery of the system from this state involves aborting one or more actions leading to the deadlock. The recovery security property ensures that the occurrence of a deadlock appears the same to a low-level subject, independent of whether higher level actions are in the schedule or not. The actions taken to recover from deadlock are also not affected by the presence of higher level transactions. When a deadlock occurs, other channels are available for signaling, in addition to those protected by value security and delay security. The following condition takes care of these channels [13]: A scheduler is recovery secure for all schedules p if, on the arrival of an action AX for scheduling: a.

b.

4

867

If a deadlock occurs, resulting in a set of actions D being rolled back, then, for all subject classification levels l in p, which dominate one of those in D, a deadlock also occurs in response to the schedule purge…p; l† on the arrival of the action AX , with the actions purge…D; l† being rolled back. In other words, the presence of the higher level actions did not interfere with the occurrence of deadlocks among lower level actions. If no deadlock occurs on the arrival of AX , then, for all subject classification levels l in p, it does not occur on the arrival of AX in the input schedule purge…p; l†. In other words, if there were no deadlocks among actions at a lower level in the presence of higher level actions, then there would be none in their absence. This again emphasizes the noninterference of high-level actions with low-level actions.

PERFORMANCE PENALTY SECURITY

OF

ENFORCING

In order to enforce security in database systems, we need to enforce the property of noninterference of high-level transactions with low-level transactions. For example, in a secure environment, a transaction at a higher level: .

Cannot cause a transaction at a lower access class to abort. If it is allowed to do so, it is possible that it can control the number of times a lower level transaction is aborted, thereby opening a covert channel. . Cannot conflict with a transaction at a lower access class. If such a conflict does occur, the higher level transaction has to be blocked or aborted, not the low level transaction. . Cannot be granted greater priority of execution over a transaction at a lower access class. However, such enforcement has the unfortunate effect of degrading performance for high-level transactions in a realtime system. For example, a typical real-time database assigns priorities to transactions based on how close they are to missing their deadlines [1], [22], [24]. A high-level transaction with a closer deadline is assigned a higher-priority than a

868

IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING,

possibly conflicting low-level transaction with farther deadlines. However, this may be interpreted as interference of the high-level transaction with the low-level transaction in a secure environment. In other words, if we were to enforce security and, hence, the noninterference properties described above, we need to assign higher priority to the low-level transaction and a lower priority to the high-level transaction. This may, however, result in missing of deadlines for the high-level transaction. In other words, the performance of high-level transactions is being penalized to enforce security. To illustrate the penalty on high-level transactions due to security enforcement, let us consider the following example: A sequence of four transactions are input to a scheduler (the transactions arrived in the T1 ; T2 ; T3 ; T4 order): T1 T2 T3 T4

(SECRET) (UNCLASSIFIED) (UNCLASSIFIED) (UNCLASSIFIED)

: : : :

r…x† w…x†

w…x†

r…x†

Assume that T1 , T2 , T3 , and T4 have priorities 5, 7, 10, and 12, respectively, and the priority assignment scheme is such that if priority…T2 † > priority…T1 †, then T2 is more critical and has to be scheduled ahead of T1 . In the above example, T2 and T3 are initially blocked by T1 when they arrive. When T1 completes execution, T3 is scheduled ahead of T2 , since it has a greater priority than T2 and the transaction execution order would be T1 T3 T2 T4 . However, if the transaction T1 is removed, the execution order would be T2 T3 T4 because T2 would have been scheduled as soon as it had arrived. The presence of the SECRET transaction T1 thus changes the value read by the UNCLASSIFIED transaction T4 , which is a violation of value security. Delay security is also violated since the presence of T1 delays both T2 and T3 . Therefore, to satisfy the correctness properties discussed in Section 3 (i.e., to close all covert channels), we see that a very high performance penalty would be paid. In our approach to improving performance, we shall discuss a method to trade off mutual information transfer allowed by a covert channel with performance (measured in terms of deadline miss percentage).

5

SECURE TWO-PHASE LOCKING

Before a discussion and analysis of covert channels, let us study two concurrency control approaches at different ends of the spectrumÐSecure 2PL, a fully secure protocol which does not consider transaction priorities while scheduling and 2PL-HP, which has some deadline cognizance built into it, but is not free from covert channels.

5.1 Secure 2PL Basic two-phase locking does not work for secure databases because a transaction at a lower access class (say Tl ) cannot be blocked due to a conflicting lock held by a transaction at a higher access class (Th ). If Tl were somehow allowed to continue with its execution in spite of the conflict, then noninterference would be satisfied. The basic principle behind the secure two-phase locking protocol is to try to simulate execution of Basic 2PL without blocking the lower access class transactions by higher access class transactions. Consider the two transactions in the following example.

VOL. 12,

NO. 6,

NOVEMBER/DECEMBER 2000

Example 1. T1 (SECRET) : T2 (UNCLASSIFIED) :

r1 ‰xŠ

... c1 w2 ‰xŠ c2

Basic two-phase locking would fail because w2 ‰xŠ would be blocked waiting for T1 to commit and release read-lock on x (i.e., ru1 ‰xŠ). In our modification to the two-phase locking protocol, T2 is allowed to set a virtual lock vwl2 ‰xŠ, write onto a version of x local to T2 , and continue with the execution of its next operation, i.e., c2 . When T1 commits and releases the lock on x, T2 's virtual write lock is upgraded to a real lock and w2 ‰xŠ is performed. Until w2 ‰xŠ is performed, no conflicting action is allowed to set a lock on x. The sequence of operations performed is therefore rl1 ‰xŠ r1 ‰xŠ vwl2 ‰xŠ vw2 ‰xŠ c2    c1 ru1 ‰xŠ wl2 ‰xŠ w2 ‰xŠ wu2 ‰xŠ. This modification alone is not enough, as illustrated in the following example: Example 2. : T1 (SECRET) T2 (UNCLASSIFIED) :

r1 ‰xŠ r1 ‰yŠ w2 ‰xŠ w2 ‰yŠ c2

c1

The sequence of operations that would be performed is rl1 ‰xŠ r1 ‰xŠ vwl2 ‰xŠ vw2 ‰xŠ wl2 ‰yŠ w2 ‰yŠ c2 . After these operations, deadlock would occur because r1 ‰yŠ waits for w2 ‰yŠ to release its virtual lock and vw2 ‰xŠ waits for r1 ‰xŠ to release its lock. This deadlock would not have occurred in basic two-phase locking. Note that our aim of trying to simulate execution of basic two-phase locking is not being achieved. On closer inspection, it is obvious that this problem arises because w2 ‰yŠ is allowed to proceed with its execution even though w2 ‰xŠ could only write onto a local version of x due to the read lock rl1 ‰xŠ set by T1 . To avoid this problem, for each transaction Ti , two lists are maintainedÐbefore…Ti †, which is the list of active transactions that precede Ti in the serialization order, and after…Ti †, which is the list of active transactions that follow Ti in the serialization order. This idea is adapted from [24], where before_cnt and after_cnt are used to dynamically adjust the serialization order of transactions. The following additions are made to the basic twophase locking protocol: 1.

2.

3.

When an action pi ‰xŠ sets a virtual lock on x because of a real lock qlj ‰xŠ held by Tj , then Ti and all transactions in after…Ti † are added to after…Tj †, and Tj and all transactions in before…Tj † are added to before…Ti †. When an action wi ‰xŠ arrives and finds that a previous action wi ‰yŠ (for some data item y) has already set a virtual write lock vwli ‰yŠ, then a dependent lock dvwli ‰xŠ is set, with respect to vwli ‰yŠ. When an action pi ‰xŠ arrives and finds that a conflicting virtual or dependent lock vqlj ‰xŠ or dvqlj ‰xŠ has been set by a transaction Tj which is in after …Ti †, then pi ‰xŠ is allowed to set a lock on x and perform pi ‰xŠ in spite of the conflicting lock.

SON ET AL.: INTEGRATING SECURITY AND REAL-TIME REQUIREMENTS USING COVERT CHANNEL CAPACITY

4.

A dependent virtual lock dvpi ‰xŠ, dependent on some action qi ‰yŠ, is upgraded to a virtual lock when vqli ‰xŠ is upgraded to a real lock. The maintenance of a serialization order and the presence of dependent locks are necessary to prevent uncontrolled acquisition of virtual locks by transactions at lower access classes. For Example 2, the sequence of operations that would now be performed is rl1 ‰xŠ r1 ‰xŠ vwl2 ‰xŠ vw2 ‰xŠ dvwl2 ‰yŠ vw2 ‰yŠ c2 rl1 ‰yŠ r1 ‰yŠ c1 ru1 ‰xŠ ru1 ‰yŠ wl2 ‰xŠ w2 ‰xŠ wu2 ‰xŠ wl2 ‰yŠ w2 ‰yŠ wu2 ‰yŠ. A formal description of the Secure 2PL algorithm and its correctness proofs are given in [6].

5.2 2PL-High Priority In 2PL-HP [1], all data conflicts are resolved in favor of the transaction with higher priority. When a transaction requests a lock on an object held by other transactions in a conflicting mode, if the requester's priority is higher than that of all lock holders, the holders are restarted and the requester is granted the lock; if the requester's priority is lower, it waits for the lock holders to release the lock. In addition, a new read lock requester can join a group of read lock holders only if its priority is higher than that of all waiting write lock operations. A real-time secure concurrency control must possess two characteristicsÐhigh performance and minimal deadline miss percentage. The secure two-phase locking protocol [6] was shown to yield best average case performance among all the secure concurrency control approaches whose performance was evaluated in [26]. We therefore use it as a basis for our approach to the problem of real-time secure concurrency control. From our discussion earlier in this paper, it is clear that priority-based transaction scheduling is not feasible for a fully secure database system. Therefore, for minimizing deadline miss percentage, we take the approach that partial security violations under certain conditions are permissible if it results in substantial gain in time cognizance.

6

COVERT CHANNEL ANALYSIS

6.1 Covert Channels and Mutual Information The systematic study of covert channels began with [14]. As an example of a simple covert channel, consider two processes running on a system that schedules them alternately for exactly one or two time quanta each, the choice being up to the process [16]. One process (the sender) may send information covertly to the other (receiver) by encoding successive symbols (0s and 1s in this paper) in the amount of time taken for its execution. If the receiver had to wait for one quantum before its execution, then it assumes a ª0º was sent; if it waits for two quanta, it assumes a ª1º was sent. In the absence of any other processes, the maximum rate at which information can be transmitted through this channel is one bit per quantum (assuming only 0s are transmitted). Assuming that 0s and 1s are transmitted with equal frequency, the information rate is 1=……0:5†…1† ‡ …0:5…2††, or 2=3 bits per quanta. The presence of other processes in

869

the system interferes with the transmission and can be viewed as ªnoise.º The presence of noise decreases the information rate. Covert channel analysis is just a subset of information theory which is concerned with sending signals from a transmitter to a receiver, with the possibility of noise degrading the signal fidelity. Shannon and Weaver's pioneering work [23] gives an upper limit on the rate at which messages can be passed through the communication channel based solely on how noise affects the transmission of signals. In popular usage, the term ªinformationº is elusive to define. However, information has a precise meaning to a communication theorist, expressed solely in terms of probabilities of source messages and actions of the channel. A precise measurement of information is based on various entropy (or uncertainty) measures associated with the communication process and information exchange is defined by reduction in entropy. Consider a discrete scalar random variable X, which can be regarded as an output of a discrete message source. Suppose the variable X can assume one of K possible outcomes, labeled xi ; i ˆ 0; 1; . . . ; K ÿ 1, with probabilities specified by Pi . The entropy of the random variable X is: H…X† ˆ

K ÿ1 X iˆ0

Pi log

1 : Pi

The entropy measures the ªinformationº or ªsurpriseº of the different values of X. For a particular value xi , the surprise is log…1=Pi †; if xi happens with certainty, then its surprise is zero and if xi never occurs, its surprise is maximal at infinity. Note that base two logarithm is used so that the units of information is in bits. Information theory is concerned with how the input or transmission entropy changes while it travels through the channel. If the channel is noiseless, then the amount of information in a transmission should be unchanged. If there is noise in the channel, then the fidelity of the signal is degraded and the information sent is diminished. If the channel noise is so great and all-encompassing, then there is no more surprise in seeing any symbol over another. This is mathematically modeled by the equivocation or conditional entropy H…X j Y †, where X is the random variable representing the channel input and Y is the random variable representing the channel output. The uncertainty associated with X, given that Y ˆ yj , is given by: H…X j Y ˆ yj † ˆ ÿ

K ÿ1 X

P …xi j yj † log P …xi j yj †:

iˆ0

Conditional entropy can therefore be defined as: X P …yj †H…X j Y ˆ yj † H…X j Y † ˆ j

ˆÿ

XX i

j

P …xi ; yj † log P …xi j yj †:

870

IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING,

Shannon and Weaver defined information as follows: The (average) mutual information shared between random variables X and Y is: I…X; Y † ˆ H…X† ÿ H…X j Y †; i.e., the information Y reveals about X is the prior uncertainty in X less the posterior uncertainty about X after Y is specified. From this definition, we have: X P …xi † log P …xi †‡ I…X; Y † ˆ ÿ i

XX ˆÿ

i

j

i

j

XX

P …xi ; yj † log P …xi j yj † P …xi ; yj † log P …xi †‡

XX i

ˆ

XX i

P …xi ; yj † log P …xi j yj †

j

P …xi ; yj † log

j

P …xi j yj † : P …xi †

Using the definition of conditional probability, I…X; Y † ˆ

XX i

j

P …xi ; yj † log

P …xi ; yj † : P …xi †P …yj †

When transmitting, the transmitter can do nothing about the noise, and the receiver is passive and waits for symbols to be passed over the channel. However, the transmitter can send different symbols with different frequencies; thus, there are different distributions for X. By changing the frequency of the symbols sent, the transmitter can affect the amount of information sent to the receiver. There is a critical difference between covert channels and communication channels, though. The goal of a communication channel designer is to maximize mutual information and minimize the influence of noise. When covert channels exist, the goal of the system designer is exactly the oppositeÐto try to minimize the mutual information, usually by increasing noise.

6.2 A Noisy Covert Channel In any system where a locking mechanism is used for synchronization of concurrently executing transactions, whenever a transaction T1 requests a lock on a data item x on which another transaction T2 holds a conflicting lock, there are two possible options: . T1 could be blocked until T2 releases the lock. . T2 could be aborted and the lock granted to T1 . The latter option is a ªnonsecureº option that is taken by 2PL-HP when T1 has a higher priority than T2 . The former option, along with the additional conditions and actions described in Section 5.1, would be the ªsecureº option if T1 were at a higher security level than T2 . However, this option does not take into account the priorities of T1 and T2 . In our approach, we try to strike a balance between these two options. Consider a Bernoulli random variable X with parameter q (i.e., X takes value 1 with probability q and a 0 with probability 1 ÿ q). Now, whenever a conflict arises between a lock holding transaction (T2 ) and a lock requesting transaction (T1 ) such that priority…T1 † > priority…T2 †, T2 is

VOL. 12,

NO. 6,

NOVEMBER/DECEMBER 2000

aborted if X ˆ 1. Since P …X ˆ 1† ˆ q, T2 is aborted with a probability q (the ªnonsecureº option is taken). If X ˆ 0, then the ªsecureº option is taken. Note that q can be used to control the extent to which security is satisfied. The smaller the value of q, greater the extent to which security is satisfied and, therefore, greater the miss percentage. Unfortunately, this approach is not free from covert channels. Consider two collaborating transactions, one at security level LOW and the other at security level HIGH, each consisting of just one operation. Assume that at the start of a time interval of duration t (henceforth, referred to as a tick), the LOW transaction submits a write on a data item x and, shortly thereafter (within the tick), the HIGH transaction submits a read on x. Also, assume that the transactions collaborate to ensure that the HIGH transaction has an earlier deadline than the LOW transaction. Now, in the absence of other transactions and if q were 1, then the LOW transaction would certainly be aborted due to the HIGH transaction. If the HIGH transaction were not submitted, then the LOW transaction would commit. Therefore, it takes just one tick for the HIGH transaction to transmit either a ª1º (by submitting its operation) or a ª0º (by not submitting its operation). In this case, the mutual information of the channel is 1 bit/tick. There are, however, two factors which introduce noise into this channel: first, the presence of other transactions and, second, the probability q of the lock holding transaction being aborted. The first factor is modeled by a set of parameters: r (Table 1) and p1 through p6 (Table 2). 1 ÿ r is the probability that a transaction Ti (other than T1 and T2 ) with an earlier deadline than the LOW transaction submits a read or a write on x before the end of execution of the LOW transaction, i.e., the aborting of the LOW transaction may be caused by either HIGH transaction or Ti . The probabilities p1 through p6 represent the arrival time of Ti (shown as Si ) with respect to the LOW and HIGH transactions. These are summarized in Table 2. For example, p1 is the probability that Ti does not arrive within L units of arrival of LOW transaction (or TL ). In other words, if the HIGH transaction (TH ) has not been submitted, then, with p1 probability, TL would be committed and ª0º conveyed to the LOW user. Similarly, p2 is the probability with which Ti arrives after TL 's arrival but within the lock holding time (L ) of TL . Since a transaction is often delayed due to other operating system overheads, such as interrupt handling, we have introduced a time-out factor for the transactions. For example, if the LOW user does not get a response (abort or commit of TL ) within L units of the initiation of TL , it is automatically aborted by an explicit operation from the LOW user. Such instances are considered as ERROR by that user. In the next section, we shall derive an equation for mutual information in terms of these factors. An important assumption has to be stated at this point regarding the extent of knowledge that a HIGH user has. We assume that a HIGH user has information only about the transactions that it and its collaborators submit, i.e., all system-maintained information such as current arrival rate

SON ET AL.: INTEGRATING SECURITY AND REAL-TIME REQUIREMENTS USING COVERT CHANNEL CAPACITY

871

TABLE 1 Modeling Parameters for Convert Channel Analysis

of transactions, the deadlines of other transactions in the system, locks held by other transactions, etc., is at a SUPERHIGH level and inaccessible to HIGH users. This assumption is not unfair because the concurrency control manager is trusted and, therefore, should not leak out information that could be used by a malicious user. This assumption is important because if a malicious HIGH user has access to system information, it has control over q. If it knows which transactions could possibly interfere with its transmission of a ª1º to the LOW user, it can then get rid of those transactions as follows: At the start of a tick, the HIGH user first finds a set of active transactions that have an earlier deadline than the collaborating LOW level transaction and a data item on which each transaction holds a lock. This can be represented as a set of tuples f‰T1 ; x1 Š; ‰T2 ; x2 Š; . . . ; ‰Tn ; xn Šg: It then submits transactions with a lesser deadline that access each of these data items, thereby causing the abortion of all the transactions in the set. This does not eliminate the effect of q on the channel, but reduces its value.

6.3 Analysis of Mutual Information To derive an expression for mutual information of the covert channel, we make the following assumptions: . . .

.

The LOW user submits transaction TL periodically. TL has a period of , computation time requirement of L , and a priority of PL . TL requires a write-lock on a data object x at the beginning of execution. The lock is released only at the end of its execution. The HIGH user also has a periodic behavior (with periodicity ). Whenever it intends to send ª1º via the covert channel to the LOW user, it submits transaction TH ; it does not submit TH in a period when it intends to send ª0.º In other words, the time interval between successive arrivals of TH is an integral multiple of . The arrivals of TL and TH are out of phase (or phaseshifted), in the sense that the arrival of TH always takes place at exactly  units from the last arrival of TL . Since the information is conveyed through the abort/commit of TL , L > . In other words, TL should hold the lock on x long enough that it is

TABLE 2 Probabilities Related to Ti 's Lock Request and Release Times

872

IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING,

aborted when the high priority TH requests for a readlock on x. As discussed above, Ti represents other transactions (besides TL and TH ) that may have conflicting data access requirements with TL on x. For simplicity of analysis, we assume that at most one such Ti exists to interfere with the covert operations of TH and TL through the data access of object x. Let us assume that the low user has submitted TL at time t. More precisely, the instance of TL under consideration has arrived and requested a write-lock on x at time t. The final outcome of TL will depend on the behavior of TH as well as Ti . We present the analysis in terms of the two cases: HIGH user sends ª0º and HIGH user send ª1.º Case 1: High user sends ª0º: In this case, since the phaseout time between TL and TH is , the HIGH user does not submit TH at t ‡ . Accordingly, this instance of TL has no interference from TH . However, it may be affected by Ti . The following subcases arise: 1.

(a1 ) x unlocked at t: TL gets writelock at t. However, whether it commits or aborts (prior to t ‡ L ) depends on Ti . We have the following cases. (a11 ) Ti does not arrive prior to t ‡ L . So, TL commits and releases x at t ‡ L . b. (a12 ) Ti with priority Pi < PL arrives prior to t ‡ L . Accordingly, TL commits and releases x at t ‡ L . c. (a13 ) Ti with priority Pi > PL arrives prior to t ‡ L . Now, as per the concurrency control protocol, Ti aborts TL with probability q and TL continues and commits at t ‡ L with probability …1 ÿ q†. (a2 ) x locked by Ti at t: We have the following cases: a.

2.

a.

b.

(a21 ) Pi > PL : TL waits until either the readlock is released or the low-user aborts it intentionally. If Ti releases the lock prior to t ‡ L ÿ L , then TL gets the lock and commits prior to t ‡ L . Otherwise, the lowuser aborts TL , considering it as an error bit. (a22 ) Pi < PL : Hence, with probability q, TL aborts Ti , gets lock, and commits at t ‡ L . However, with probability 1 ÿ q, it waits until Ti releases its lock. If Ti releases the lock prior to t ‡ L ÿ L , then TL gets the lock and commits prior to t ‡ L . Otherwise, the lowuser aborts TL considering it as an error bit.

Case 2: High user sends ª1º: In this case, the HIGH user submits TH at t ‡ . Hence, TL 's outcome may depend on both TH and Ti . The following cases arise: 1.

2.

(a31 ) Ti does not arrive prior to t ‡ L . But, TH arrives at t ‡ . So, TL is aborted by TH with

NO. 6,

NOVEMBER/DECEMBER 2000

probability q and it commits at t ‡ L with probability 1 ÿ q. b. (a32 ) Ti with priority Pi < PL arrives between t and t ‡ . Thus, Ti cannot influence TL . But, TL may be aborted by TH at t ‡  with probability q and TL commits at t ‡ L with probability 1 ÿ q. c. (a33 † Ti with priority Pi > PL arrives between t and t ‡ . Hence, with probability q, TL is aborted by Ti . With probability 1 ÿ q, it continues until t ‡ . At this time, TH arrives. Now, two cases are possible. 1) TH aborts TL with probability q or 2) TL continues and commits at t ‡ L with probability 1 ÿ q. d. (a34 † Ti with priority Pi < PL arrives between t ‡  and t ‡ L . Since TH arrives at t ‡ , TL may have already been aborted by TH at that time with probability q or TL commits at t ‡ L with probability 1 ÿ q. e. (a35 † Ti with priority Pi > PL arrives between t ‡  and t ‡ L . As before, TL may be aborted by TH at t ‡  with probability q or TL is still active when Ti arrives with probability 1 ÿ q. In the latter case, once again, TL may be aborted by Ti with probability q or TL continues and commits at t ‡ L with probability 1 ÿ q. (a4 ) x locked by Ti at t: We have the following cases. a.

(a41 ) Ti with priority Pi < PL has a lock on x at t. Hence, one of the following subcases arises. i.

ii.

(a411 ) Ti is aborted by TL at t with probability q. Further, TL is aborted by TH with probability q at t ‡  or TL commits at t ‡ L with probability 1 ÿ q. (a412 ) With probability 1 ÿ q, TL waits and Ti continues at time t. Further, the following cases arise.

(a4121 ) If Ti releases lock prior to t ‡ L ÿ L (and, hence, prior to t ‡ †, either TL is aborted by TH with probability q or Ti commits prior to t ‡ L with probability 1 ÿ q. . (a4122 ) If Ti releases lock after t ‡ L ÿ L , then the low-user aborts TL at t ‡ L ÿ L considering it as an error bit. iii. (a42 ) Ti with priority Pi > PL has a lock on x at t. Hence, one of the following subcases arises. .

.

(a3 ) x unlocked at t: Whether TL commits or not depends on both TH and TL . We have the following cases. a.

VOL. 12,

.

(a421 ) If Ti releases lock prior to t ‡ L ÿ L (and, hence, prior to t ‡ ). either TL is aborted by TH with probability q or Ti commits prior to t ‡ L with probability 1 ÿ q. (a422 ) If Ti releases lock after t ‡ L ÿ L , then the low-user aborts

SON ET AL.: INTEGRATING SECURITY AND REAL-TIME REQUIREMENTS USING COVERT CHANNEL CAPACITY

TABLE 3 Abort/Commit Probablities

873

P …y0 j x0 † ˆ p1 ‡ p2 …1 ‡ rq ÿ q† ‡ p3 ‡ p4 rq P …y1 j x0 † ˆ p2 q…1 ÿ r† P …ye j x0 † ˆ p4 …1 ÿ rq† P …y0 j x1 † ˆ …1 ÿ q†‰p1 ‡ p3 ‡ p4 rq ‡ …p5 ‡ p6 †…1 ‡ rq ÿ q†Š P …y1 j x1 † ˆ q‰p1 ‡ p3 ‡ p4 rq ‡ …p5 ‡ p6 †…2 ‡ rq ÿ r ÿ q†Š P …ye j x1 † ˆ p4 …1 ÿ rq†: Further, if we assume that HIGH user sends ª0º with probability (i.e., P …x0 † ˆ ) and ª1º with 1 ÿ (i.e., P …x1 † ˆ 1 ÿ ), then we can derive the following: P …x0 ; y0 † ˆ ‰p1 ‡ p2 …1 ‡ rq ÿ q† ‡ p3 ‡ p4 rqŠ P …x0 ; y1 † ˆ p2 q…1 ÿ r† P …x0 ; ye † ˆ p4 …1 ÿ rq† P …x1 ; y0 † ˆ …1 ÿ †…1 ÿ q†‰p1 ‡ p3 ‡ p4 rq ‡ …p5 ‡ p6 †…1 ‡ rq ÿ q†Š P …x1 ; y1 † ˆ …1 ÿ †q‰p1 ‡ p3 ‡ p4 rq ‡ …p5 ‡ p6 †…2 ‡ rq ÿ r ÿ q†Š P …x1 ; ye † ˆ …1 ÿ †p4 …1 ÿ rq† P …y0 † ˆ ‰p1 ‡ p2 …1 ‡ rq ÿ q† ‡ p3 ‡ p4 rqŠ ‡ …1 ÿ †…1 ÿ q†‰p1 ‡ p3 ‡ p4 rq ‡ …p5 ‡ p6 †…1 ‡ rq ÿ q†Š P …y1 † ˆ p2 q…1 ÿ r† ‡ …1 ÿ †q‰p1 ‡ p3 ‡ p4 rq ‡ …p5 ‡ p6 †…2 ‡ rq ÿ r ÿ q†Š P …ye † ˆ p4 …1 ÿ rq†:

TL at t ‡ L ÿ L considering it as an error bit.

Substituting these terms in (1), we get the expression for the mutual information, I. A plot of I vs. r for different values of with q ˆ 1:0 (i.e., LOW always aborted when HIGH arrives) is shown in Fig. 1. In addition, the other parameters are chosen such that it is possible to exchange maximum mutual information through the covert channel. Accordingly, p1 ˆ p3 ˆ p4 ˆ 0:0; p2 ˆ 1:0; and p5 ˆ p6 ˆ 0:5:

All the subcases, the outcomes, and the corresponding probabilities are summarized in Table 3. From these probabilities, we now derive the following factors for covert channel analysis. Here, xi refers to the event when the input x ˆ i. Since the input is binary, i is either 0 or 1. Similarly, yj refers to the event when y ˆ j. Since the output as conceived by the LOW user can be 0, 1, or ERROR (denoted by e), j can take these values. The ERROR value essentially represents the event when the LOW user intentionally aborts TL when its execution is not complete within the time-out period (L ).

Fig. 1. Mutual information (I) vs. r when low priority is always aborted for high priority.

874

IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING,

VOL. 12,

NO. 6,

NOVEMBER/DECEMBER 2000

Fig. 2. Mutual information (I) vs. r when low priority is always aborted for high priority.

Fig. 4. Mutual information (I) vs. q with no interference from other transactions.

It may be observed that the mutual information is the highest when there is least intervention from the other transactions or r ˆ 1:0. Similarly, the mutual information reaches the upper bound of 1:0 when the probability of sending ª0º or ª1º is equal (i.e., ˆ 0:5). The impact of the arrival of other transactions on I is further illustrated in Fig. 2 where different values of pi s are chosen. Once again, to maximize I, it is assumed that an arriving high priority transaction always aborts a low priority holder. Further, the impact of the ªHigh aborting Lowº is illustrated in Fig. 3, where q ˆ 0:5 or a low priority is aborted by a high priority transaction only with probability 0:5. Clearly, the mutual information is smaller in this case. Assuming that there is no interference from other transactions (i.e., r ˆ 1:0), the effect of q on I is illustrated in Fig. 4. Since there is no interference, the pi s are irrelevant. It may be observed that the mutual information increases with the value of q. Finally, a plot of the I versus both q and r with ˆ 0:5 and some chosen values of pi s is displayed in Fig. 5. The results support our intuitive understanding of the effect of

the system parameters on the mutual information transferred through the covert channel.

Fig. 3. Mutual information (I) vs. r when low priority is aborted half the time by high priority.

7

A SECURE REAL-TIME CONCURRENCY CONTROL MECHANISM

From the above discussion, it is clear that the mutual information of a covert channel is determined by the parameters p1 through p6 , q, and r. Clearly, q is a parameter that is completely under the control of our system. The parameter r, however, depends on the characteristics of other transactions in the system. Obviously, r varies with system load and the relative priority of other transactions with respect to the LOW transaction. Larger values of r imply higher interference for the LOW and HIGH users, and, hence, lower transfer of mutual information through the covert channel. Thus, to reduce the mutual information, r can be arbitrarily increased by introducing ªfakeº transactions which do not change the state of the database, but which access data items randomly. This is not a desirable option since these transactions compete for resources and data items that would otherwise be allocated to normal transactions, thereby degrading the performance. The parameters p1 through p6 are influenced by the start and finish times of other transactions that are active during

Fig. 5. Mutual information (I) vs. q and r.

SON ET AL.: INTEGRATING SECURITY AND REAL-TIME REQUIREMENTS USING COVERT CHANNEL CAPACITY

TL . In addition, they are influenced by L , L , and  of the LOW user transaction. In particular, smaller time-out periods (L ÿ L ) for TL imply higher value of p4 and, hence, a higher probability for the LOW-user to receive the error symbol ªe.º On the other hand, higher values of timeout imply larger value of p3 and smaller value of p4 , resulting in larger value of P …x1 ; y0 †Ðprobability that TL is committed even when TH is submitted. Therefore, we shall assume that r is a parameter that cannot be controlled; however, the average value of r can be estimated by the scheduler for each level of transactions, periodically. The parameters p1 through p6 are even more difficult to estimate since they depend on the parameters dictated by the LOW and HIGH user and, hence, are not known to the scheduler (or any other trusted component of the system). For this reason, it is best to make a conservative estimate of these parameters resulting in maximal mutual information for the covert channel. Finally, it is q that is under the control of the scheduler and can be tuned according to the allowable I. Given r and the allowable value for I, the system can adjust the value of q. The two transactions involved in the covert channel can collaborate to reduce the duration of a tick, thereby reducing r. However, there is a certain lower bound below which the duration cannot be reduced. This is because there are three steps involved in the transmission of a symbol (ª0º or ª1º): .

At the start of a tick, the LOW transaction submits its write operation. . If the HIGH user wishes to transmit a ª1,º it submits its read operation. . The system has to send a ªTRANSACTION ABORTEDº message to the LOW user. Or, alternately, .

At the start of a tick, the LOW transaction submits its write operation. . If the HIGH user wishes to transmit a ª0,º no operation is submitted; otherwise, it submits a read operation. . The system sends either a ªTRANSACTION COMMITTEDº or a ªTRANSACTION ABORTEDº message depending on the interference and its decision to abort/not-abort a low-priority transaction for a high-priority transaction. For the covert channel to be effective, the duration of a tick cannot be lower than the overhead involved in performing these three operations in the worst case. There are two requirements on a secure real-time concurrency control mechanismÐa security requirement, expressed as an upper bound on mutual information, and a real-time requirement, expressed as an upper bound on miss percentage. Given I and values for r and p1 through p6 (recall that the value of r is estimated and p1 through p6 are computed based on conservative assumptions), q can be calculated from the equation derived for mutual information in the previous section. It is very difficult to derive a closed form solution for q in terms of r, I, and p1 through p6 . But, a simple iterative solution for q can be obtained easily using the Newton-Raphson method. While there is no direct

875

mathematical relationship between the deadline miss percentage and these parameters, simulation studies [26] indicate that, with increasing arrival rate (and, therefore, increasing r), the deadline miss percentage increases slowly but steadily up to a certain point, after which the system becomes unstable. Similarly, with increasing q (from 0 to 1), the deadline miss percentage first increases (up to a value of r in the range 0:3 to 0:4) and then decreases continuously until q ˆ 1. Our approach to a real-time secure concurrency control mechanism uses a feedback control mechanism to ensure that the mutual information at any given time does not exceed the upper bound specified. The approach is described by the following pseudocode: 1.

Input desired deadline miss percentage (DDMP) and mutual information (I). 2. Calculate q, given I and current r (with computed conservative estimates of p1 through p6 ). 3. Observe resulting deadline miss percentage (DMP). 4. If (DMP  DDMP ), report back to database administrator (DBA); DBA readjusts DDMP and/or I; go to Step 2; 5. Else, If ((DDMP ÿ DMP † > T HRESHOLD), decrease q to 0; = reduce mutual information to 0  = go to Step 3; 6. Else = (DDMP ÿ DMP †  T HRESHOLD  = go to Step 3; This approach provides guarantees only on the mutual information allowed by the resulting channel, not on the deadline miss percentage. If the miss percentage increases above the desired miss percentage specified, there is nothing that the system can do. The only thing that can be done is to report to DBA as in Step 4. The DBA can then either increase the upper bound on I, thereby increasing q and in turn decreasing the miss percentage, or can relax the miss percentage requirement and increase the value of the desired miss percentage. If the deadline miss percentage requirement is being comfortably met by the system, then a drop in miss percentage can be afforded. This is what is done in Step 5, where the covert channel is effectively closed by setting q to 0. When the miss percentage again increases and approaches the desired miss percentage value, normal operation is resumed and the value of q is calculated from I and the current value of r and p1 through p6 .

8

DISCUSSION

The amount of mutual information transferred through a covert channel varies inversely with the degree of randomness in the system. In the scheme that we have discussed, there is not much randomness since we strive to maintain the mutual information at a specified value. One can therefore argue that, since the amount of mutual information allowed is maintained more or less constant, a malicious subject can utilize this channelÐalbeit at a much lower fidelityÐto transmit information. A certain degree of

876

IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING,

VOL. 12,

NO. 6,

NOVEMBER/DECEMBER 2000

TABLE 4 System Resource Parameters

randomness can be introduced by the following procedure: The value of q is calculated from the desired value of I and the current value of r. Instead of using the value of q thus calculated, the value of q is sampled (for example) from a uniform distribution between ‰q ÿ ; q ‡ Š. The greater the value of , the greater the uncertainty in the resulting value of I. This might mean that sometimes the mutual information might increase beyond the upper bound specified, but, due to the uncertainty, it is very difficult for a user to exploit this channel. All the derivations and methods to control I explained in this paper have been for the type of covert channel discussed in Section 6.2. Are there other covert channels that malicious users can exploit and whose allowed mutual information would not be controlled by the feedback monitoring method explained earlier in the previous section? Let us investigate this issue further. From the correctness criteria for secure schedulers, covert channels can be broadly classified into three categoriesÐthose that communicate information through a violation of delay security, those that violate recovery security, and those that violate value security. In [6], it is proven that Secure 2PL satisfies delay security. Our real-time secure concurrency control mechanism explained in Section 7 is based on the Secure 2PL protocol. The approach differs from Secure 2PL only when there is a conflict between a lock holding transaction T1 and a lock requesting transaction T2 and …priorityT2 † > …priorityT1 †. In this case, T1 is aborted and T2 granted the lock, i.e., no transaction is being blocked. Therefore, delay security is not violated at any point. The covert channel studied in Section 6.2 is a canonical example of a channel that exploits a violation of recovery security. There might be other, more complicated channels that could involve more than two transactions, but the parameters on which the mutual information that they could exchange would be dependent on a superset of q and r. A covert channel involving four collaborating transactionsÐone at HIGH and the rest at LOWÐthat exploits a violation in value security can work as follows: . . .

At the start of a tick, a LOW transaction T1 submits a write on a data item x (w1 ‰xŠ). A second LOW transaction T2 then submits a write on x (w2 ‰xŠ). If the HIGH transaction T3 wants to transmit a ª1,º it submits a read on x such that

deadline…T1 † < deadline…T3 † < deadline…T2 †: As a result, T2 is aborted. The ªreceivingº LOW transaction T4 then submits a read on x. If it reads the value written by T1 , then a ª1º is received and if it reads the value written by T2 , a ª0º is received. This covert channel too is dependent on two factorsÐ the probability that a transaction T4 would cause the aborting of T2 before T3 arrives and a probability q that T2 would actually be aborted when T3 submits its operation. In addition, there is also the possibility that T1 could be aborted before T4 submits its read, introducing an additional ªnoiseº factor. As a result, the mutual information allowed by this channel would actually be less than that of the simple channel studied in Section 6.2. Summarizing, we find that the simpler the covert channel, the fewer the number of factors that the mutual information of the channel is dependent on and, therefore, the greater is its I. The covert channel studied in Section 6.2 is the simplest possible channel that can be exploited, given the correctness properties that are violated, and therefore bounding its I is enough to bound the mutual information of more complicated covert channels that could be exploited. .

9

PERFORMANCE EVALUATION

In this section, we present the results of our performance study of the feedback control mechanism for a range of transaction arrival rates. The goal of the analysis is to show the variation in miss percentage for varying amounts of mutual information transferred through the covert channel.

9.1 Simulation Model Central to the simulation model is a single-site disk resident database system operating on shared-memory multiprocessors [15]. The system consists of a disk-based database and a main memory cache. The unit of database granularity is the page. When a transaction needs to perform an operation on a data item, it accesses a page. If the page is not found in the cache, it is read from disk. CPU or disk access is through an M=M=k queuing system, consisting of a single queue with k servers (where k is the number of disks or CPUs). The amounts of CPU and disk I/O times is specified as model parameters in Table 4. Since we are concerned only with providing security at the concurrency control level, the issue of providing security at the operating system or

SON ET AL.: INTEGRATING SECURITY AND REAL-TIME REQUIREMENTS USING COVERT CHANNEL CAPACITY

877

TABLE 5 Workload Parameters

resource scheduling layer is not considered in this paper. That is the reason why we do not consider a secure CPU/ disk scheduling approach. Our assumption is that the lower layers provide the higher concurrency control layer with a fair resource scheduling policy. The feedback approach is implemented as a layer over Secure 2PL. In the model, the execution of a transaction consists of multiple instances of alternating data access requests and data operation steps until all the data operations in it complete or it is aborted. When a transaction makes a data request, i.e., lock request on a data object, the request must go through concurrency control to obtain a lock on the data object. If the transaction's priority is greater than all of the lock holders and its lock request conflicts with that of the holders, then the holders are aborted and the transaction is granted a lock with a probability q else the steps taken by the Secure 2PL protocol are followed; if the transaction's priority is lower, it waits for the lock holders to release the lock [1]. The probability q depends on the factors I and r. I is available directly, but r is calculated based on the arrival rate of transactions, the probability of contention, and their deadlines. The analysis is based on preemptive priority queueing policy with restart. The details of the analysis can be found in [6]. If the request for a lock is granted, the transaction proceeds to perform the data operation, which consists of a possible disk access (if the data item is not present in the cache) followed by CPU computation. However, if only a virtual or dependent lock is granted, the transaction only does CPU computation since the operation should only be performed on a local version. If the request for the lock is denied (the transaction is blocked), the transaction is placed into the data queue. When the waiting transaction is granted a lock, only then can it perform its data operation. Also, when a virtual lock for an operation is upgraded to a real lock, the data operation requires disk access and CPU computation. At any stage, if a deadlock is detected, the transaction to be aborted to break the deadlock is determined, aborted, and restarted. When all the operations in a transaction are completed, the transaction commits. Even if a transaction misses its deadline, it is allowed to execute until all its actions are completed.

9.2 Parameters and Performance Metrics Table 4 gives the names and meanings of the parameters that control system resources. The parameters CPUTime and DiskTime capture the CPU and disk processing times per data page. Our simulation system does not explicitly

account for the time needed for data operation scheduling. We assume that these costs are included in CPUTime on a per data object basis. The use of a database cache is simulated using probability. When a transaction attempts to read a data page, the system determines whether the page is in cache or disk using the probability BufProb. If the page is determined to be in cache, the transaction can continue processing without disk access. Otherwise, disk access is needed. Table 5 summarizes the key parameters that characterize system workload and transactions. Transactions arrive in a Poisson stream, i.e., their interarrival rates are exponentially distributed. The ArriRate parameter specifies the mean rate of transaction arrivals. The number of data objects accessed by a transaction is determined by a normal distribution with mean TranSize and the actual data objects to be accessed are determined uniformly from the database. The assignment of deadlines to transactions is controlled by the parameters MinSlack and MaxSlack, which set a lower and upper bound, respectively, on a transaction's slack time. We use the formula for deadline-assignment to a transaction. Deadline ˆ AT ‡ Uniform…MinSlack; MaxSlack†  ET : AT and ET denote the arrival time and execution time, respectively. The execution time of a transaction used in this formula is not an actual execution time, but a time estimated using the values of parameters TranSize, CPUTime, and DiskTime. The priorities of transactions are decided by the Earliest Deadline First policy. The performance metric used is miss percentage, which is the ratio of the number of transactions that do not meet their deadline to the total number of transactions committed.

9.3 Experimental Results An event-based simulation framework was written in ºC.º For each experiment, we ran the simulation with the same parameters for six different random number seeds. Each simulation run was continued until 200 transactions at each access class were committed. For each run, the statistics gathered during the first few seconds were discarded in order to let the system stabilize after an initial transient condition. For each experiment, the required performance metric was measured over a wide range of workload. All the data reported in this paper have 90 percent confidence intervals whose endpoints are within 10 percent of the point estimate.

878

IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING,

Fig. 6. Miss percentage vs. mutual information (I).

VOL. 12,

NO. 6,

NOVEMBER/DECEMBER 2000

The importance of real-time database systems in an increasing number of applications, such as those used in the military, or the ones used in national infrastructure, such as electric power and telecommunications, is growing. These applications obviously need to support both security and real-time requirements. For example, when an accident or a failure is detected and considered severe, or physical or electronic attack is under way, the system must switch into crisis mode so that critical transactions can be executed by the deadline and essential data can be maintained. In such situations, it would be much more desirable to allow minor security violations to satisfy critical timing constraints. There are a number of issues for future work. In the derivation of the mutual information of the covert channel, we have concentrated mainly on the dependence of I on parameter q. The dependence of I on the presence of other transactions in the system was conveniently abstracted away into a single parameter q. Although an approximate method for the estimation of q was used in the performance analysis, a precise calculation of q has not been considered. A formal queuing model of the system, based on the arrival rate of transactions, a calculation of lock conflict probabilities, blocking time, etc., is important not only for determining q, but could also help in establishing a probabilistic relationship between miss percentage and q and r. This could eliminate the need for raising an ERROR condition when the desired miss percentage is exceeded since the correct setting of r can be obtained mathematically from I and desired miss percentage. Second, in [18], the use of I as a measure of security is questioned. Examples of zero mutual information channels are provided, where short messages can be sent through without any errors (or loss in fidelity). A small message criterion (SMC) is introduced, which is an indication of what will be tolerated by the system in terms of covertly leaking a short covert message of length n (ª0ºs and ª1ºs) in time t and with fidelity of transmission r percent. Further work is needed to design a formal criterion that captures all these factors and has the same mathematical elegance as mutual information.

In the experiment, the miss percentages for the feedback approach are measured for two different arrival rates. The resulting graph is shown in Fig. 6. Since we are considering a real-time database system, we restrict attention to the portion of the graph where miss percentages are less than 10 percent. The performance after the saturation point is not an issue. We also do not consider the section of the graph for I less than 0:1. At such low values of I, the value of q is also very low, which means that the behavior of the system is near identical to the Secure 2PL. Only for higher values of I is a certain degree of deadline cognizance introduced and that is the portion of the graph that we need to concentrate on. At low arrival rates, the dependence of miss percentage on I is minimal. This is because very few transactions miss their deadline, even at low values of I, and further increase in I does not appreciably decrease it either. At high arrival rates, however, the miss percentage rate is quite sensitive to changes in I. As is to be expected, for lower values of I, the miss percentage is the highest. This is obviously because of a low value of q, which signifies that very few transactions are being aborted to give greater priority to transactions with an earlier deadline. As the value of I increases, the value of q increases and the behavior of the system approaches that of 2PL-HP, resulting in decreased misspercentage.

ACKNOWLEDGMENTS

10 CONCLUSION

This work was supported in part by NASA LaRC, ONR, and NSA.

In this paper, we have explored a possible direction for research in scheduling transactions to meet their timing constraints in a secure database. A possible way in which security could be partially compromised for improved miss percentage was explained and an expression for the mutual information (I) of the resultant covert channel derived. A feedback control system was then developed which ensured that the mutual information transferred through the covert channel did not exceed a desired upper bound. Although no guarantees can be provided by the system on the deadline miss percentage, a facility is provided for renegotiation on the desired deadline miss percentage and the desired amount of mutual information when the desired miss percentage is exceeded.

REFERENCES [1] [2] [3] [4] [5] [6]

R.K. Abbott and H. Garcia-Molina, ªScheduling Real-Time Transactions: A Performance Evaluation,º ACM Trans. Database Systems, vol. 17, no. 3, pp. 513±560, Sept. 1992. Q. Ahmed and S. Vrbsky, ªMaintaining Security in Firm RealTime Database Systems,º Proc. 14th Ann. Computer Security Applications Conf., 1998. D.E. Bell and L.J. LaPadula, ªSecure Computer Systems: Unified Exposition and Multics Interpretation,º The Mitre Corp, 1976. P. Bernstein, V. Hadzilcos, and N. Goodman, Concurrency Control and Recovery in Database Systems. Addison Wesley, 1987. P. Boucher et al., ªToward a Multilevel-Secure, Best-Effort, RealTime Scheduler,º Proc. Fourth IFIP Working Conf. Dependable Computing for Critical Applications, Jan. 1994. R. David and S.H. Son, ªA Secure Two Phase Locking Protocol,º Proc. 12th Symp. Reliable Distributed Systems, pp. 126±135, Oct. 1993.

SON ET AL.: INTEGRATING SECURITY AND REAL-TIME REQUIREMENTS USING COVERT CHANNEL CAPACITY

[7] [8] [9] [10] [11] [12]

[13] [14] [15]

[16] [17] [18]

[19] [20] [21]

[22] [23] [24] [25] [26] [27] [28] [29] [30] [31]

B. George and J. Haritsa, ªSecure Transaction Processing in Firm Real-Time Database Systems,º Proc. ACM SIGMOD Conf., May 1997. J.A. Goguen and J. Meseguer, ªSecurity Policy and Security Models,º Proc. IEEE Symp. Security and Privacy, pp. 11±20, 1982. J. Gray, ºOn Introducing Noise into the Bus-Contention Channel,º Proc. IEEE Symp. Security and Privacy, pp. 90±98, 1993. I. Greenberg et al., The Secure Alpha StudyÐFinal Summary Report. CS Lab, SRI Int'l, 1993. W.-M. Hu, ªReducing Timing Channels with Fuzzy Time,º Proc. IEEE Symp. Security and Privacy, pp. 8±20, 1991. S. Jajodia and V. Atluri, ªAlternative Correctness Criteria for Concurrent Execution of Transactions in Multilevel Secure Databases,º Proc. IEEE Symp. Security and Privacy, pp. 216±224, 1992. T.F. Keefe, W.T. Tsai, and J. Srivastava, ªMultilevel Secure Database Concurrency Control,º Proc. Sixth Int'l Conf. Data Eng., pp. 337±344, 1990. B.W. Lampson, ªA Note on the Confinement Problem,º Comm. ACM, vol. 16, no. 10, pp. 613±615, 1973. J. Lee and S.H. Son, ªConcurrency Control Algorithms for RealTime Database Systems,º Performance of Concurrency Control Mechanisms in Centralized Database Systems, V. Kumar, ed., pp. 429±460, Prentice Hall, 1995. J.K. Millen, ªFinite-State Noiseless Covert Channels,º Proc. Second Computer Security Foundations Workshop, pp. 81±86, 1989. I.S. Moskowitz and A.R. Miller, ªThe Channel Capacity of a Certain Noisy Timing Channel,º IEEE Trans. Information Theory, vol. 38, no. 4, pp. 1,339±1,344, July 1992. I.S. Moskowitz and M.H. Kang, ªCovert ChannelsÐHere to Stay?º Proc. Ninth Ann. Conf. Safety, Reliability, Fault Tolerance, Concurrency, and Real Time Security (COMPASS '94), pp. 235±243, 1994. I. Mostowitz, S. Greenwald, and M. Kang, ªAn Analysis of Timed Z-Channel,º Proc. IEEE Symp. Security and Privacy, pp. 2±11, 1996. R. Mukkamala and S.H. Son, ªA Secure Concurrency Control Protocol for Real-Time Databases,º Proc. Database Security IX: Status and Prospects, D.L. Spooner, ed., pp. 215±230, 1996. C. Park, S. Park, and S.H. Son, ºPriority-Driven Secure Multiversion Locking Protocol for Real-Time Secure Database Systems,º Proc. Database Security XI: Status and Prospects, T.Y. Lin and S. Qian, eds., pp. 229±244, 1998. L. Sha, R. Rajkumar, and J.P. Lehoczky, ªPriority Inheritance Protocol: An Approach to Real-Time Synchronization,º technical report, Computer Science Dept., Carnegie-Mellon Univ., 1987. C.E. Shannon and W. Weaver, The Mathematical Theory of Communication. Urbana, IL, Univ. of Illinois Press, 1949. S.H. Son, J. Lee, and Y. Lin, ªHybrid Protocols Using Dynamic Adjustment of Serialization Order for Real-Time Concurrency Control,º Real-Time Systems J., vol. 4, no. 3, pp. 269±276, 1992. S.H. Son and B. Thuraisingham, ªTowards a Multilevel Secure Database Management System for Real-Time Applications,º Proc. IEEE Workshop Real-Time Applications, pp. 131±135, May 1993. S.H. Son and R. David, ªDesign and Analysis of a Secure TwoPhase Locking Protocol,º Proc. 18th Int'l Computer Software and Applications Conf. (COMPSAC '94), pp. 374±379, 1994. S.H. Son, R. David, and C. Chaney, ªDesign and Analysis of an Adaptive Policy for Secure Real-Time Locking Protocol,º J. Information Sciences, vol. 99, nos. 1±2, pp. 101±135, June 1997. S.H. Son, C. Chaney, and N. Thomlinson, ªPartial Security Policies to Support Timeliness in Secure Real-Time Databases,º Proc. IEEE Symp. Security and Privacy, pp. 136±147, 1998. B. Timmerman, ªA Security Model for Dynamic Adaptive Traffic Masking,º Proc. New Security Paradigms Workshop, pp. 1±25, Sept. 1997. J. Wray, ªAn Analysis of Covert Timing Channels,º Proc. IEEE Symp. Security and Privacy, pp. 2±7, 1991. M. Zurko and R. Simon, ªUser-Centered Security,º Proc. New Security Paradigms Workshop, pp. 27±33, 1996.

879

Sang H. Son received the PhD degree in computer science from the University of Maryland, College Park, in 1986. He is a professor in the Department of Computer Science of the University of Virginia. His current research interests include real-time computing, database systems, distributed systems, and information security. Recently, he has been working on supporting multidimensional requirements, including real-time, security, and fault tolerance, in distributed object-oriented database systems. He is an associate editor of the IEEE Transactions on Parallel and Distributed Systems. He served as the guest editor for the IEEE Transactions on Software Engineering, program chair and general chair of several real-time and database conferences, including IEEE Real-Time Systems Symposium, IEEE Workshop on Real-Time Operating Systems and Software, Workshop on Real-Time Database Systems, and International Conference on Real-Time Computing Systems and Applications. He served as an ACM National Lecturer from 1991-1993 and is the editor of the book Advances in Real-Time Systems (Prentice Hall, 1995), coeditor of Real-Time Database Systems: Issues and Applications (Kluwer Academic, 1997), and coauthor of Database Recovery (Kluwer Academic, 1998). He is a senior member of the IEEE and a member of the ACM. Ravi Mukkamala received the PhD degree from the University of Iowa in 1987 and the MBA degree from Old Dominion University in 1993. Since 1987, he has been with the Department of Computer Science at Old Dominion University, Norfolk, Virginia, where he is currently an associate professor. His research interests include distributed systems, real-time systems, data security, performance analysis, and highspeed networks. His research has been sponsored by the NRL, DARPA, and NASA. He is a member of the IEEE. Rasikan David received the BS degree in computer science from the College of Engineering, Anna University, India, and the MS degree in computer science from the University of Virginia, Charlottesville, Virginia, in 1991 and 1994, respectively.