Database Security
CS 645 Apr 10, 2008 Gerome Miklau, UMass Amherst
Database Security CS 645 Apr 10, 2008 Gerome Miklau, UMass Amherst - - PowerPoint PPT Presentation
Database Security CS 645 Apr 10, 2008 Gerome Miklau, UMass Amherst Outline Security basics Access control in Databases Privacy foundations Beyond access control Security properties Confidentiality Authenticity
CS 645 Apr 10, 2008 Gerome Miklau, UMass Amherst
from inference & outside knowledge
encryption
A guarantee that data has not been disclosed to an unauthorized party.
Also called: data integrity
A guarantee that data has not been modified from its original state by an unauthorized party.
database.
concern of databases
A guarantee that data is available when needed.
authenticity
The ability to determine for ourselves when, how, and to what extent information about us is communicated to others.
Informational Privacy
authority and global rules determine privileges.
database systems:
System R authorization model [Griffith and Wadeʼ76], [Faginʼ78]
SQL query/update Parser
Server
Result
Client
File system
tables
Query engine
tables tables
DB system
OS
Access Control
13
GRANT privileges ON object TO users [WITH GRANT OPTIONS]
privileges = SELECT | INSERT(column-name) | UPDATE(column-name) | DELETE | REFERENCES(column-name)
14
GRANT INSERT, DELETE ON Customers TO Yuppy WITH GRANT OPTIONS
Queries allowed to Yuppy: Queries denied to Yuppy:
INSERT INTO Customers(cid, name, address) VALUES(32940, ‘Joe Blow’, ‘Seattle’) DELETE Customers WHERE LastPurchaseDate < 1995 SELECT Customer.address FROM Customer WHERE name = ‘Joe Blow’
15
GRANT SELECT ON Customers TO Michael
Now Michael can SELECT, but not INSERT or DELETE
16
GRANT SELECT ON Customers TO Michael WITH GRANT OPTIONS
Michael can say this: GRANT SELECT ON Customers TO Yuppi Now Yuppi can SELECT on Customers
17
GRANT UPDATE (price) ON Product TO Leah
Leah can update, but only Product.price, but not Product.name
18
GRANT REFERENCES (cid) ON Customer TO Bill
Customer(cid, name, address, balance) Orders(oid, cid, amount) cid= foreign key
Now Bill can INSERT tuples into Orders Bill has INSERT/UPDATE rights to Orders. BUT HE CAN’T INSERT ! (why ?)
19
CREATE VIEW PublicCustomers SELECT Name, Address FROM Customers; GRANT SELECT ON PublicCustomers TO Fred
David says
Name Address Balance Mary Huston 450.99 Sue Seattle
Joan Seattle 333.25 Ann Portland
David owns
Customers:
Fred is not allowed to see this
20
Name Address Balance Mary Huston 450.99 Sue Seattle
Joan Seattle 333.25 Ann Portland
CREATE VIEW BadCreditCustomers SELECT * FROM Customers WHERE Balance < 0; GRANT SELECT ON BadCreditCustomers TO John
David says
David owns
Customers:
John is allowed to see only <0 balances
21
CREATE VIEW CustomerMary SELECT * FROM Customers WHERE name = ‘Mary’ GRANT SELECT ON CustomerMary TO Mary
Doesn’t scale. Need row-level access control !
Name Address Balance Mary Huston 450.99 Sue Seattle
Joan Seattle 333.25 Ann Portland
David says
CREATE VIEW CustomerSue SELECT * FROM Customers WHERE name = ‘Sue’ GRANT SELECT ON CustomerSue TO Sue
22
REVOKE [GRANT OPTION FOR] privileges ON object FROM users { RESTRICT | CASCADE }
Administrator says:
REVOKE SELECT ON Customers FROM David CASCADE
John loses SELECT privileges on BadCreditCustomers
Joe: REVOKE [….] FROM Art CASCADE
Same privilege, same object, GRANT OPTION
What happens ??
5
Admin
Joe
Art Cal Bob
1 2 3 4
Revoked
Everyone keeps the privilege:
REVOKE removes privileges to all users who hold the privilege SOLELY through a grant command executed by the revoking user.
24
Limitations:
… or spectacular failure:
– And then to protect entire tables, not columns
Access control = great success story of the DB community...
27
Virtually every department of government and law enforcement agency, every credit bureau, insurance company, big business, every important educational establishment, ... is using computer technology to gather personal information on as many people as they can.
Excerpted from Miller: The Assault on Privacy
published in 1971
28
Except US, Ireland, India
30
protection from being brought to the attention of others
Privacy is a complex of concepts concerned with the accessibility
inaccessible to others.
31
the ability to determine for ourselves when, how, and to what extent information about us is communicated to others.
the power to selectively reveal oneself to the world.
32
33
erosion
info given choice and notice
Jennicam, 1996
35
economic agents protecting or divulging their personal info
Acquisti/Grossklags 2005
36
fighting surveillance technology.
govern data operations.
protect oneself.
Privacy can be achieved by limiting information flow
37
Increasing flow of info may help all parties Brin
notification of collection, use, dissemination
right to inspect, right to correct, controlled release.
right to access, right to request correction of errors, informed of use, confidential communication.
http://www.privacyrights.org/index.htm Much more at
39
weak standards for empowering FBI to collect personal information about individuals.
library records
Communications Assistance for Law Enforcement Act of 1994 (FCC)
telephone companies must make their networks “wiretap” ready.
now VOIP, ISPs, university networks
40
about your parents and relatives.