1 Database Security Floris Geerts. Course organization One introductory lecture (this one) Then, a range of db security topics presented by you You will.

Slides:



Advertisements
Similar presentations
Chapter 23 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
Advertisements

II.I Selected Database Issues: 1 - SecuritySlide 1/20 II. Selected Database Issues Part 1: Security Lecture 2 Lecturer: Chris Clack 3C13/D6.
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke1 Security and Authorization Chapter 21.
Database Security CS461/ECE422 Spring Overview Database model – Relational Databases Access Control Inference and Statistical Databases Database.
Ragib Hasan University of Alabama at Birmingham CS 491/691/791 Fall 2011 Lecture 10 09/15/2011 Security and Privacy in Cloud Computing.
Security and Authorization. Introduction to DB Security Secrecy: Users shouldn’t be able to see things they are not supposed to. –E.g., A student can’t.
Database Query Security
Database Security by Muhammad Waheed Aslam SIS Project Leader ITC/KFUPM.
Chapter 11 Database Security: An Introduction Copyright © 2004 Pearson Education, Inc.
Security and Integrity
Database Management System
Data security 1. 2 Overview  generalities  discretionary access control  mandatory access control  data encryption.
Security and Authorization. Introduction to DB Security Secrecy: Users shouldn’t be able to see things they are not supposed to. –E.g., A student can’t.
ICS 421 Spring 2010 Security & Authorization Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 4/20/20101Lipyeow.
Monday, 08 June 2015Dr. Mohamed Osman1 What is Database Administration A high level function (technical Function) that is responsible for ► physical DB.
1 Current Trends in Data Security Dan Suciu Joint work with Gerome Miklau.
1 Lecture 13: Security Wednesday, October 26, 2006.
Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection.
DBSYSTEMS 1 of 13 Chapter 10 DB System Administration (Part II) 1 Based on G. Post, DBMS: Designing & Building Business Applications University of Manitoba.
Security and Authorization. Introduction to DB Security Secrecy: Users shouldn’t be able to see things they are not supposed to. –E.g., A student can’t.
CSCI 5707: Database Security Pusheng Zhang University of Minnesota March 2, 2004.
Chapter 8 Security Transparencies © Pearson Education Limited 1995, 2005.
Security in Databases. 2 Outline review of databases reliability & integrity protection of sensitive data protection against inference multi-level security.
View n A single table derived from other tables which can be a base table or previously defined views n Virtual table: doesn’t exist physically n Limitation.
Security Architecture Dr. Gabriel. Security Database security: –degree to which data is fully protected from tampering or unauthorized acts –Full understanding.
DATABASE SECURITY By Oscar Suciadi CS 157B Prof. Sin-Min Lee.
1 Lecture 15-16: Security Wednesday, May 17, 2006.
1 Lecture 14: Midterm Review Security Friday, February 4, 2005.
ISOM MIS3150 Data and Info Mgmt Database Security Arijit Sengupta.
Database Integrity and Security HAP 709 – Healthcare Databases George Mason University Janusz Wojtusiak, PhD Fall, 2010.
Introduction to Databases A line manager asks, “If data unorganized is like matter unorganized and God created the heavens and earth in six days, how come.
Database Security And Audit. Databasics Data is stored in form of files Record : is a one related group of data (in a row) Schema : logical structure.
Switch off your Mobiles Phones or Change Profile to Silent Mode.
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 5 “Database and Cloud Security”.
SEC835 Practical aspects of security implementation Part 1.
Computer Security: Principles and Practice
First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 5 – Database Security.
CS 3630 Database Design and Implementation Dr. Qi Yang 213 Ullrich My Home Page: The Class Page:
Chapter 11 Database Security: An Introduction Copyright © 2004 Pearson Education, Inc.
Database Security Outline.. Introduction Security requirement Reliability and Integrity Sensitive data Inference Multilevel databases Multilevel security.
INFO1408 Database Design Concepts Week 15: Introduction to Database Management Systems.
CSCI 3140 Module 6 – Database Security Theodore Chiasson Dalhousie University.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 16 Using Relational Databases.
1 Lecture 16: Data Storage Friday, November 5, 2004.
MBA 664 Database Management Dave Salisbury ( )
Database Security Lesson Introduction ●Understand the importance of securing data stored in databases ●Learn how the structured nature of data in databases.
Academic Year 2014 Spring Academic Year 2014 Spring.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
Chapter 11 Database Security: An Introduction Copyright © 2004 Pearson Education, Inc.
Chapter 9 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
Database Management Systems, 2 nd Edition, R. Ramakrishnan and J. Gehrke1 Security Lecture 17.
Database Security. Introduction to Database Security Issues (1) Threats to databases Loss of integrity Loss of availability Loss of confidentiality To.
Database Security and Authorization Introduction to DB Security Access Controls Database Security and the DBA Discretionary Access Control The privileges.
Database Security Database System Implementation CSE 507 Some slides adapted from Navathe et. Al.
Database Management Systems, 3ed, R. Ramakrishnan and J. Gehrke1 Database architecture and security Workshop 4.
Database Security Advanced Database Dr. AlaaEddin Almabhouh.
IST 210 Security. IST 210 Introduction to DB Security Secrecy: Users should not be able to see things they are not supposed to. E.g., A student can’t.
Database System Implementation CSE 507
Design for Security Pepper.
Database Security and Authorization
Lecture 13: Midterm Review and Security
By Oscar Suciadi CS 157B Prof. Sin-Min Lee
By Oscar Suciadi CS 157B Prof. Sin-Min Lee
DATABASE SECURITY For CSCL (BIM).
By Oscar Suciadi CS 157B Prof. Sin-Min Lee
Lecture 14: Security Friday, October 28, 2005.
Security in Computing, Fifth Edition
Presentation transcript:

1 Database Security Floris Geerts

Course organization One introductory lecture (this one) Then, a range of db security topics presented by you You will be graded on the quality of presentation, technical depth, critical assessment of the topic and ability to answer questions raised in class No exam. 2

Course organization Today, after this lecture: –Send me an –with your name and at most two partners (in case we need to assign multiple persons to the same topic) –A ranked list of the top 10 topics (11 topics) Then I will assign the topics. You’ll get time to study and prepare presentations You send the slides to me, and incorporate comments 3

Topics 1.Access control Getting access Access control mechanisms 2.Safety & integrity Redundancy Data integrity 3.Intrusion DB specific Software specific 4

Topics 4.Cryptography Symmetric Asymmetric Quantum (optional) 4.Privacy & Security Statistical DB Privacy preservation 5

6 Data Security Dorothy Denning, 1982: Data Security is the science and study of methods of protecting data (...) from unauthorized disclosure and modification Data Security = Confidentiality + Integrity

7 Data Security Distinct from systems and network security –Assumes these are already secure Tools: –Cryptography, information theory, statistics, … Applications: –Everywhere

Topic 1 Access methods: “Getting in” It is all about passwords and authentication -How are passwords used for authentication in DBMS? -What kind of password control mechanisms do DBMS have? (e.g., Oracle,…) -What makes a password good or bad? -Techniques to check this -Techniques to generate one -Alternatives to passwords (e.g., captcha) 8

Captcha CAPTCHA stands for Completely Automated Public Turing test to tell Computers and Humans Apart A.K.A. Reverse Turing Test, Human Interaction Proof The challenge: develop a software program that can create and grade challenges most humans can pass but computers cannot 9

Topic 2: Access methods: control mechanisms How do DBMS control access to different users? How do DBMS assure that users can only change/query data to which they have access? As an example 10

11 Discretionary Access Control (DAC) in SQL GRANT privileges ON object TO users [WITH GRANT OPTIONS] GRANT privileges ON object TO users [WITH GRANT OPTIONS] privileges = SELECT | INSERT(column-name) | UPDATE(column-name) | DELETE | REFERENCES(column-name) object = table | attribute

12 Examples GRANT INSERT, DELETE ON Customers TO Yuppy WITH GRANT OPTIONS 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 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 ’ SELECT Customer.address FROM Customer WHERE name = ‘ Joe Blow ’

13 Examples GRANT SELECT ON Customers TO Michael Now Michael can SELECT, but not INSERT or DELETE

14 Examples 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

15 Examples GRANT UPDATE (price) ON Product TO Leah Leah can update, but only Product.price, but not Product.name

16 Examples 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 ?)

17 Views and Security CREATE VIEW PublicCustomers SELECT Name, Address FROM Customers GRANT SELECT ON PublicCustomers TO Fred CREATE VIEW PublicCustomers SELECT Name, Address FROM Customers GRANT SELECT ON PublicCustomers TO Fred David says NameAddressBalance MaryHuston SueSeattle-240 JoanSeattle AnnPortland-520 David owns Customers: Fred is not allowed to see this

18 Views and Security NameAddressBalance MaryHuston SueSeattle-240 JoanSeattle AnnPortland-520 CREATE VIEW BadCreditCustomers SELECT * FROM Customers WHERE Balance > 0 GRANT SELECT ON BadCreditCustomers TO John 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

19 Revocation 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

20 Revocation Joe: GRANT [….] TO Art … Art: GRANT [….] TO Bob … Bob: GRANT [….] TO Art … Joe: GRANT [….] TO Cal … Cal: GRANT [….] TO Bob … Joe: REVOKE [….] FROM Art CASCADE Same privilege, same object, GRANT OPTION What happens ??

21 Revocation Admin JoeArt CalBob Revoke According to SQL everyone keeps the privilege

22 Other approaches Discretionary Access Control (DAC) Label-based Access Control (LBAC) Role-based Access Control (RBAC) Mandatory Access Control (MAC) Pro’s and con’s of these control mechanisms?

Topic: Safety & Integrity 23 It is about keeping our precious bits safe from harm. Disk failure which mostly goes together with data loss System failure which can cause data inconsistency. (For example a Denial-Of-Service attack can result in system failures because of the exhaustion of system resources.

Topic 3: Recovery Mostly solved by redundancy: – having and organizing redundant information so that the data stored can be recovered in case there is a disk failure. –Where and how to store? Secondary storage, RAIDs –How to assure that all the data has a copy somewhere 24

Topic 4: Integrity How to assure that all data is consistent –The same data in all copies How to assure that nothing gets corrupted during transmission –Error correcting codes How to keep track of changes and possible unauthorized access –Transaction log/data auditing 25

Topic 5: DB intrusion Intrusion prevention –detecting ongoing attacks in real time in order to prevent damage to the database. Intrusion detection –Use of database auditing Example: SQL injection 26

27 Search claims by: SQL Injection Your health insurance company lets you see the claims online: Now search through the claims : Dr. Lee First login: User: Password: fred ******** SELECT…FROM…WHERE doctor= ‘ Dr. Lee ’ and patientID= ‘ fred ’

28 SQL Injection Now try this: Search claims by: Dr. Lee ’ OR patientID = ‘ suciu ’ ; -- Better: Search claims by: Dr. Lee ’ OR 1 = 1; -- …..WHERE doctor= ‘ Dr. Lee ’ OR patientID= ‘ suciu ’ ; -- ’ and patientID= ‘ fred ’

29 SQL Injection When you ’ re done, do this: Search claims by: Dr. Lee ’ ; DROP TABLE Patients; --

30 SQL Injection The DBMS works perfectly. So why is SQL injection possible so often ?

Topic 6: Software intrusion Leveraging Stack and Buffer overflow in programs How to prevent/detect such intrusions? 31

Topic 7: Cryptography - symmetric 32 Commonly used techniques Same encryption and decryption key DES, AES

Topic 8: Cryptography – asymmetric Different encoding and decoding keys Public key RSA 33

Topic 9: Cryptography - Quantum Newest methods based on quantum computing You need to ask if you want this – it is a bit math heavy. 34

35 Topic 10: Security in Statistical DBs Goal: Allow arbitrary aggregate SQL queries Hide confidential data Inference SELECT count(*) FROM Patients WHERE age=42 and sex= ‘ M ’ and diagnostic= ‘ schizophrenia ’ SELECT count(*) FROM Patients WHERE age=42 and sex= ‘ M ’ and diagnostic= ‘ schizophrenia ’ OK SELECT name FROM Patient WHERE age=42 and sex= ‘ M ’ and diagnostic= ‘ schizophrenia ’ SELECT name FROM Patient WHERE age=42 and sex= ‘ M ’ and diagnostic= ‘ schizophrenia ’ Not OK

36 FirstLastAgeRace HarryStone34Afr-Am JohnReyser36Cauc BeatriceStone47Afr-am JohnRamos22Hisp FirstLastAgeRace *Stone30-50Afr-Am JohnR*20-40* *Stone30-50Afr-am JohnR*20-40* Topic 11: Privacy preservation k-Anonymity/Randomization Definition: each tuple is equal to at least k-1 others Anonymizing: