30
Security in Databases

Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

  • View
    226

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

Security in Databases

Page 2: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

2Srini & Nandita (CSE2500)DB Security

Outline

• review of databases• reliability & integrity• protection of sensitive data• protection against inference• multi-level security

CSE2500 System Security & Privacy

Page 3: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

3Srini & Nandita (CSE2500)DB Security

Database

DBMS

DB Administrator

users

Page 4: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

4Srini & Nandita (CSE2500)DB Security

Database concepts

• database– data + rules

• components of data– records: composed of fields / elements

• logical structure schema• attribute name of a column• relation a set of columns

Page 5: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

5Srini & Nandita (CSE2500)DB Security

A sample database

NAME SEX AID FINES DRUGS DORM Adams M 5000 45.0 1 Holmes Bailey M 0 0.0 0 Grey Chin F 3000 20.0 0 West Dewitt M 1000 35.0 3 Grey Earhart F 2000 95.0 1 Holmes Fein F 1000 15.0 0 West

Page 6: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

6Srini & Nandita (CSE2500)DB Security

DB should deliver (advantages)

• shared access• minimal redundancy• data consistency• data integrity• controlled access

Page 7: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

7Srini & Nandita (CSE2500)DB Security

Security requirements

• physical DB integrity• logical DB integrity• element (field) integrity• auditability• access control• user authentication• availability

– (integrity, confidentiality & availability)

Page 8: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

8Srini & Nandita (CSE2500)DB Security

Reliability & integrity

• three dimensions:– database integrity– element integrity– element accuracy

• various techniques– 2-phase update– introducing redundancy– recovery– concurrency/consistency control– using monitors

Page 9: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

9Srini & Nandita (CSE2500)DB Security

2-phase update

• phase-1: Intent– gathering info & resources– no harm in the case of failure– writing of a commit flag to data base

• phase-2: Commit– set commit flag in the database– causing permanent changes– may be repairable in the case of failure

Page 10: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

10Srini & Nandita (CSE2500)DB Security

2-Phase Update (Example)

• Suppose DB query asks to add 1 to fields X and Y.• Phase 1 (Intent):

– Compute updated values in temporary “Shadow” variables Xnew and Ynew:

> Xnew := X + 1, Ynew := Y + 1

• Phase 2 (Commit):– Set “Commit” flag (i.e. DB changes started, do not

repeat Intent phase!)– Copy shadow values into DB:

> X := Xnew, Y := Ynew– Write “Update Complete”, Clear Commit flag.

Page 11: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

11Srini & Nandita (CSE2500)DB Security

Redundancy/internal consistency

• using error detection / correction codes– entire database

– records

– fields / elements

• shadow fields– duplication of attributes / records

Page 12: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

12Srini & Nandita (CSE2500)DB Security

Recovery

• one way to achieve this is to have a log file for all recent changes (since last backup)

Page 13: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

13Srini & Nandita (CSE2500)DB Security

Concurrency/Consistency

• In a multi-user/process/client environment, concurrency and consistency control is vitally important.

• Basic techniques– using “atomic operation”

> Read-then-(if OK)Write: A Write query to a field is conditioned on its current contents being as specified (in case it was modified recently by someone else)

– using “locking” mechanisms> Read queries to a record are blocked while a write is

performed to the record by someone else

Page 14: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

14Srini & Nandita (CSE2500)DB Security

Monitors

• checking the structural consistency of data entered or modified

– range comparison -- field specific– state constraints

> describe of the condition of entire DB> (Properties which should be satisfied by DB contents at all times)

– transition constraints> describe the conditions necessary before a change can be made

• (Properties which should be satisfied by DB contents so that a change to DB is valid) Collectively called Integrity Constraints

Page 15: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

15Srini & Nandita (CSE2500)DB Security

On sensitive data

• factors that make data sensitive– inherently sensitive

– from a sensitive source

– declared sensitive

– of a sensitive attribute or a sensitive record

– sensitive in relation to previously disclosed information

• sensitivity of data in a DB may vary !

Page 16: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

16Srini & Nandita (CSE2500)DB Security

A sample database

NAME SEX AID FINES DRUGS DORM Adams M 5000 45.0 1 Holmes Bailey M 0 0.0 0 Grey Chin F 3000 20.0 0 West Dewitt M 1000 35.0 3 Grey Earhart F 2000 95.0 1 Holmes Fein F 1000 15.0 0 West

Page 17: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

17Srini & Nandita (CSE2500)DB Security

Access decisions on sensitive data

• factors to be considered when permitting “user x to access data y”

– availability of data> Record is blocked from read while it is modified

– acceptability of access> No disclosure (even ‘partial’) of sensitive values to

unauthorized users

– assurance of authenticity of user> Limit access based on other considerations (time of

access, previous accesses,…)

Page 18: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

18Srini & Nandita (CSE2500)DB Security

Types of disclosure of sensitive data

• exact data (field = x)• Bounds

– x < field < y• negative result

– field is not equal to x• Existence

– an Attribute of a field exists in DB• probable value

– reducing the number of possible values for a field, Improving knowledge of their relative likelihoods.

Page 19: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

19Srini & Nandita (CSE2500)DB Security

Inference Problem

• definition:– infer or derive sensitive data from non-

sensitive or (seemingly) un-related data

• “inference” is a subtle vulnerability in database security

Page 20: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

20Srini & Nandita (CSE2500)DB Security

A sample database

NAME SEX AID FINES DRUGS DORM Adams M 5000 45.0 1 Holmes Bailey M 0 0.0 0 Grey Chin F 3000 20.0 0 West Dewitt M 1000 35.0 3 Grey Earhart F 2000 95.0 1 Holmes Fein F 1000 15.0 0 West

Page 21: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

21Srini & Nandita (CSE2500)DB Security

Direct attack

• list NAME where SEX = M & DRUGS = 1

• list NAME where(SEX = M & DRUGS = 1) |(SEX != M & SEX != F) |(DORM != East)

Page 22: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

22Srini & Nandita (CSE2500)DB Security

Indirect attack (statistical inference)

• Sum

sum of financial aid by dorm & sex

Holmes Grey West Total M 5000 1000 0 6000F 2000 0 4000 6000Total 7000 1000 4000 12000

Page 23: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

23Srini & Nandita (CSE2500)DB Security

Indirect attack (cont.)

• Count– count of students by dorm & sex

Holmes Grey West Total M 1 2 0 3F 1 0 2 3 Total 2 2 2 6

– can be used in combination with “sum”

Page 24: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

24Srini & Nandita (CSE2500)DB Security

Indirect attack (cont.)

• Median

highest value forattribute 1

lowest value forattribute 1

lowest value forattribute 2

highest value forattribute 2

median forattribute 1 &median forattribute 2

Page 25: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

25Srini & Nandita (CSE2500)DB Security

revealing Earhart’s drug

• Earhart is the only person who has the median of AID and DRUGS, so if data on AID is known, the following query reveals Earhart’s DRUGS:

p = median (DRUGS where AID=2000)

Page 26: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

26Srini & Nandita (CSE2500)DB Security

Indirect attack (cont.)

• Linear system attack– by solving a set of equations

e.g.

q1 = c1 + c2 + c3

q2 = c2 + c3

q3 = c1 + c3

Page 27: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

27Srini & Nandita (CSE2500)DB Security

Controls for statistical inference

• 2 types of control– applied to queries --- very hard !

– applied to data items --- relatively easy> suppression --- sensitive data are not

provided> concealing --- precise data are not provided

Page 28: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

28Srini & Nandita (CSE2500)DB Security

Summary of inference

• no perfect solution to inference problem• 3 common approaches

– suppress obviously sensitive data fairly easy

– track what the user knows costly

– disguise data may result in incorrect or wrong responses to legitimate queries

Page 29: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

29Srini & Nandita (CSE2500)DB Security

Multi-level security

• The 2 level security model, sensitive or non-sensitive, is inadequate in many practical applications:

– The security of a data element may be different from that of other elements in the same row or column.

– In practice many grades of security may be needed.

– The security of an aggregate may be different from that of the individual elements

Page 30: Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection

30Srini & Nandita (CSE2500)DB Security

Realising Multi-level Security

• Partitioning– each sub-database corresponds to a security level

• Encryption– each record (or field) can be encrypted using a

different key

• Integrity lock• Trusted Front End• Commutative Filter• Window/View