Flylib.com

Books Software

 
 
 

Section 6.9. Summary of Database Security


6.9. Summary of Database Security

This chapter has addressed three aspects of security for database management systems: confidentiality and integrity problems specific to database applications, the inference problem for statistical databases, and problems of including users and data of different sensitivity levels in one database.

Both confidentiality and integrity are important to users of databases. Confidentiality can be broken by indirect disclosure of a negative result or of the bounds of a value. Integrity of the entire database is a responsibility of the DBMS software; this problem is handled by most major commercial systems through backups , redundancy, change logs, and two-step updates. Integrity of an individual element of the database is the responsibility of the database administrator who defines the access policy.

The inference problem in a statistical database arises from the mathematical relationships between data elements and query results. We studied controls for preventing statistical inference, including limited response suppression, perturbation of results, and query analysis. One very complex control involves monitoring all data provided to a user in order to prevent inference from independent queries.

Multilevel secure databases must provide both confidentiality and integrity. Separation can be implemented physically, logically, or cryptographically . We explored five approaches for ensuring confidentiality in multilevel secure databases: integrity lock, trusted front end, commutative filters, distributed databases, and restricted views. Other solutions are likely to evolve as the problem is studied further.

The emerging field of data mining shares some security problems with databases. Confidentiality, especially personal privacy, is a challenge to maintain, and inference across multiple databases is a further threat to confidentiality. Each database is usually owned and controlled by one party that is responsible for data correctness. Conversely, data mining applications often deal with multiple databases from different sources, which complicates ensuring the correctness or integrity of data mining results. Using comparable data items as keys becomes an issue with amalgamated databases being mined.

Many of the techniques discussed in this chapter are particular to database management systems. But the analysis of the problems and the derivation of techniques are typical of how we analyze security needs in any software application. In a sense, we must do a threat analysis, trying to imagine ways in which the security of the application can be breached. Once we conjecture ways to destroy integrity, confidentiality, or availability, we conjure up designs to help us build the security into the application's design, rather than after the fact. In the next chapter, we examine the security implications of another specialized form of application, networks.



6.10. Terms and Concepts

database, 319

database administrator, 319

database manager, 319

database management system (DBMS), 319

front end, 319

record, 319

field, 319

element, 319

schema, 320

subschema, 320

attribute, 321

relation, 321

query, 321

project, 321

select, 321

join, 322

database integrity, 324

element integrity, 324

user authentication, 324

field check, 325

access control, 325

change log, 326

auditability , 326

pass-through problem, 326

availability, 328

reliability, 329

committing, 330

commit flag, 330

shadow value, 331

monitor, 334

state constraint, 334

transition constraint, 335

sensitive data, 335

availability of data, 336

access control decision, 337

disclosure, 338

exact disclosure, 339

bounded disclosure, 339

negative disclosure, 339

disclosure of existence, 339

probable value disclosure, 339

security, 340

precision, 340

inference, 341

direct inference, 342

indirect inference, 343

statistical inference, 343

inference by sum, 343

inference by count, 343

inference by mean, 344

inference by median, 344

tracker inference, 345

linear system inference, 346

limited response suppression, 347

combining results to suppress, 348

revealing a random sample, 348

random perturbation of data, 349

restricting output by query analysis, 349

aggregation, 350

multilevel databases, 351

granularity of control, 353

multilevel integrity, 354

multilevel security, 355

polyinstantiation, 355

partitioned database, 356

encryption, 356

integrity lock, 357

sensitivity lock, 359

trusted front end, 360

commutative filter, 361

query modification, 362

window, 363

view, 363

data mining, 367

relationship, 367

correlation, 367

shared key, 369

amalgamation, 369

comparable data, 369

data semantics, 369

false match, 370