Last time Finish OTR Database Security Introduction to Databases

Slides:



Advertisements
Similar presentations
CHAPTER OBJECTIVE: NORMALIZATION THE SNOWFLAKE SCHEMA.
Advertisements

Relational Algebra, Join and QBE Yong Choi School of Business CSUB, Bakersfield.
21-1 Last time Database Security  Data Inference  Statistical Inference  Controls against Inference Multilevel Security Databases  Separation  Integrity.
©Silberschatz, Korth and Sudarshan12.1Database System Concepts Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree.
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
Database Security CS461/ECE422 Spring Overview Database model – Relational Databases Access Control Inference and Statistical Databases Database.
Computer Science CSC 405 Introduction to Computer Security Topic 6.2 Multi-Level Databases.
Statistical database security Special purpose: used only for statistical computations. General purpose: used with normal queries (and updates) as well.
Information Security Principles & Applications
1 7 Concepts of Database Management, 4 th Edition, Pratt & Adamski Chapter 7 DBMS Functions.
Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection.
Transaction Processing IS698 Min Song. 2 What is a Transaction?  When an event in the real world changes the state of the enterprise, a transaction is.
Database Design Concepts INFO1408 Term 2 week 1 Data validation and Referential integrity.
Security in Databases. 2 Outline review of databases reliability & integrity protection of sensitive data protection against inference multi-level security.
Access Tutorial 3 Maintaining and Querying a Database
SE571 Security in Computing
IT 221: Introduction to Information Security Principles Lecture 11: Database Security For Educational Purposes Only Revised: November 13, 2002.
CSC271 Database Systems Lecture # 6. Summary: Previous Lecture  Relational model terminology  Mathematical relations  Database relations  Properties.
Lecture 2 The Relational Model. Objectives Terminology of relational model. How tables are used to represent data. Connection between mathematical relations.
Chapter 4 The Relational Model.
Chapter 6 – Database Security  Integrity for databases: record integrity, data correctness, update integrity  Security for databases: access control,
The University of Akron Dept of Business Technology Computer Information Systems DBMS Functions 2440: 180 Database Concepts Instructor: Enoch E. Damson.
Concepts of Database Management, Fifth Edition
RAJIKA TANDON DATABASES CSE 781 – Database Management Systems Instructor: Dr. A. Goel.
19-1 Last time Internet Application Security and Privacy  Application-layer security and privacy: r ers, PGP/gpg, OTR.
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.
Chapter 6 – Database Security  Integrity for databases: record integrity, data correctness, update integrity  Security for databases: access control,
Database Security DBMS Features Statistical Database Security.
Sensitive Data  Data that should not be made public  What if some but not all of the elements of a DB are sensitive Inherently sensitiveInherently sensitive.
Week 9 - Friday.  What did we talk about last time?  Database security requirements  Database reliability and integrity  Sensitive data.
Polyinstantiation Problem
1 Polyinstantiation. 2 Definition and need for polyinstantiation Sea View model Jajodia – Sandhu model.
MIS 301 Information Systems in Organizations Dave Salisbury ( )
Chapter 12 Information Systems. 2 Managing Information Information system Software that helps the user organize and analyze data Electronic spreadsheets.
SEC835 Practical aspects of security implementation Part 1.
Computer Security: Principles and Practice
Databases Collections of data. Set of rules to organize data. Types ◦ Relational: use (rows) & columns to organize. ◦ Object oriented: complex data (audio,
Disclosure risk when responding to queries with deterministic guarantees Krish Muralidhar University of Kentucky Rathindra Sarathy Oklahoma State University.
Next-generation databases Active databases: when a particular event occurs and given conditions are satisfied then some actions are executed. An active.
Chapter No 4 Query optimization and Data Integrity & Security.
CHAPTER 5 Database Security 1. Objectives  Explain briefly the concept of databases  Identify the security requirement of the databases  List and explain.
Database Security Outline.. Introduction Security requirement Reliability and Integrity Sensitive data Inference Multilevel databases Multilevel security.
Chapter 10 Normalization Pearson Education © 2009.
Computer Science and Engineering Computer System Security CSE 5339/7339 Session 21 November 2, 2004.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 16 Using Relational Databases.
Data and Applications Security Developments and Directions Dr. Bhavani Thuraisingham The University of Texas at Dallas Inference Problem - I September.
Academic Year 2014 Spring Academic Year 2014 Spring.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 The Relational Algebra and Relational Calculus.
The Relational Model. 2 Relational Model Terminology u A relation is a table with columns and rows. –Only applies to logical structure of the database,
Archictecture for MultiLevel Database Systems Jeevandeep Samanta.
Trustworthy Semantic Web Dr. Bhavani Thuraisingham The University of Texas at Dallas Inference Problem March 4, 2011.
Inference Problem. Access Control Policies Direct access Information flow Not addressed: indirect data access CSCE Farkas 2 Lecture 19.
Inference Problem Privacy Preserving Data Mining.
Database Security Database System Implementation CSE 507 Some slides adapted from Navathe et. Al.
SECURITY. Security Threats, Policies, and Mechanisms There are four types of security threats to consider 1. Interception 2 Interruption 3. Modification.
SQL Basics Review Reviewing what we’ve learned so far…….
1 The Relational Data Model David J. Stucki. Relational Model Concepts 2 Fundamental concept: the relation  The Relational Model represents an entire.
Lecture 2 Page 1 CS 236 Online Security Policies Security policies describe how a secure system should behave Policy says what should happen, not how you.
1 Section 1 - Introduction to SQL u SQL is an abbreviation for Structured Query Language. u It is generally pronounced “Sequel” u SQL is a unified language.
Chapter 7 Database Security. SCSR 3413 Computer Security Protecting data is a primary concern to secure systems, user count on the DataBase Management.
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
Database Security (Chapter 8, Sections 4-7)
Database Security Jagdish S. Gangolly School of Business
Trustworthy Semantic Web
Security in Computing, Fifth Edition
Presentation transcript:

Last time Finish OTR Database Security Introduction to Databases Security Requirements Integrity Auditability, Access Control, and Availability

This time Database Security Multilevel Security Databases Data Inference Statistical Inference Controls against Inference Multilevel Security Databases Separation Integrity Locks Designs of MLS Databases

Security vs. Precision Security: Forbid any queries that access sensitive data, even if (aggregated) result is no longer sensitive Precision: Aggregated result should reveal as much non- sensitive data as possible

Data Inference Derivation of sensitive data from non-sensitive data Direct attack Attacker issues query that directly yields sensitive data Might obfuscate query to make it less obvious SELECT salary FROM staff WHERE lastname = 'Adams' OR (sex != 'M' AND sex != 'F')‏ Indirect attack Infer sensitive data from statistical results As released by governments or pollers Data inference is related to data aggregation Derivation of sensitive data from less sensitive data

Statistical Inference Attacks Sum Leaks sensitive data if sum covers only one record or if attacker can control set of covered records SELECT SUM(salary)‏ SELECT SUM(salary) WHERE lastname != 'Adams' Count Useful in attack above Mean sum = count * mean Median Intersecting medians might leak sensitive data See text for example

Tracker Attacks Focus on queries of type SUM or COUNT Assume that DBMS refuses to answer a query if number of matching records is smaller than k or larger than N-k (Why?)‏ N: number of records in database A tracker T is a query whose result matches between 2k and N-2k records DBMS will answer T (and not T)‏ Assume that there is a query C that DBMS refuses to answer since it matches fewer than k or more than N-k records

Tracker Attacks (cont.)‏ Let q() be the result of a query and S the set of all records Using Venn diagrams, we can show that q(C) = q(C or T) + q(C or not T) – q(S)‏ Use right-hand side for computing q(C) if q(C) matches fewer than k records q(C) = 2 * q(S) - q(not C or T) - q(not C or not T) Use right-hand side for computing q(C) if q(C) matches more than n-k records In general, simple logic or linear algebra might allow an attacker to convert a forbidden query into multiple, allowed queries

Controls for Statistical Inference Attacks Apply control to query or to data items As seen, former is difficult Suppression and concealing are two controls applied to data items Suppression Suppress sensitive data from result Concealing Answer is close to actual value, but not exactly

Controls (cont.)‏ n-item k-percent rule Combined results Random sample If there are n records and they represent over k percent of reported result, omit these records from result However, omission itself might leak information or omitted value could be derived with other means Combined results Report set or range of possible values Random sample Compute result on random sample of database Need to use same sample for equivalent queries

Controls (cont.)‏ Random data perturbation Query analysis Add or subtract small random error to/from each value before computing result Expectation is that statistical properties are maintained Query analysis Maintain history of user’s queries and observe possible inferences Costly, fails for colluding users

Aggregation Building sensitive results from less sensitive inputs, typically from different sources (e.g., people)‏ Aggregation can take place outside of a DBMS, which makes it difficult to control People talking to each other Closely related to data mining (see later), where information from different databases is combined

Multilevel Security (MLS) Databases Support classification/compartmentalization of information according to its confidentiality/integrity Two levels (sensitive and not sensitive) might not be sufficient At element level if necessary Salary might be sensitive only for some employees Other information in employee’s record might not be sensitive In an MLS database, each object has a classification and maybe a compartment Object can be element, aggregate, column, or row

*-Property Implementing the *-property in an MLS database is difficult User doing a write-up though user cannot read data at higher level (Blind writes)‏ Write-downs need a sanitization mechanism Trusted processes that can do anything DBMS must have read and write access at all levels to answer user queries, perform back-ups, optimize database,… Must trust DBMS

Confidentiality Depending on a user’s level, he/she might get different answers for a query Less precision for low-level users Existence of a record itself could be confidential Keeping existence hidden can lead to having multiple records with the same primary key (polyinstantiation)‏ Admin notices that there is no record for Bob Hill and creates one However, Bob Hill is a secret agent, so there already is a record, which admin cannot see DBMS must allow admin’s request, else admin would get suspicious

Partitioning Have separate database for each classification level Simple, often used in practice Might lead to data stored redundantly in multiple databases Doesn’t address the problem of a high-level user needing access to low-level data combined with high- level data

Encryption Separate data by encrypting it with a key unique to its classification level Must be careful to use encryption scheme in the right way E.g., encrypting the same value in different record with the same key should lead to different ciphertexts Processing of a query becomes expensive, many records might have to be decrypted Doing the processing directly on the encrypted data is an active research area

Integrity Lock Provides both integrity and access control Each data item consists of The actual data item A sensitivity label (maybe concealed)‏ A cryptographic signature (or MAC) covering the above plus the item’s attribute name and its record number Signature protects against attacks on the above fields, such as attacks trying to modify the sensitivity label, and attacks trying to move/copy the item in the database This scheme does not protect against replay attacks

Integrity Lock (cont.)‏ Any (untrusted) database can be used to store data items and their integrity locks Locks can consume lots of space (maybe multiple locks per record)‏ (Trusted) procedure handles access control and manages integrity locks E.g., updates sensitivity level to enforce *-property or re-computes signature after a write access Expensive Have to encrypt items and locks if there are other ways to get access to data in database Makes query processing even more expensive

Trusted Front End Front end authenticates a user and forwards user query to old-style DBMS Front end gets result from DBMS and removes data items that user is not allowed to see Allows use of existing DBMS and databases Inefficient if DBMS returns lots of items and most of them are being dropped by front end

Commutative Filters Front end re-writes user query according to a user’s classification Remove attributes that user is not allowed to see Add constraint expressing user’s classification Benefits from DBMS’ superior query processing capabilities and discards forbidden data items early on Front end might still have to do some post processing

Distributed/Federated Databases Based on partitioning Front end forwards user query only to databases that user can access based on classification Front end might have to combine the results from multiple databases Complex process, front end essentially becomes a DBMS Doesn’t scale to lots of classification levels

Views Many DBMS support views A view is logical database that represents a subset of some other database CREATE VIEW foo AS SELECT * FROM bar WHERE… Element in view can correspond to an element in underlying database or be a combination of multiple elements E.g., their sum Views can be used for access control A user’s view of a database consists of only the data that the user is allowed to access Hide attribute/row unless user is allowed to access at least one element, set to UNDEFINED any elements that user can’t access

Truman vs. Non-Truman semantics Truman semantics: the DBMS pretends that the data the user is allowed to access is all the data there is Like “The Truman Show” All queries will succeed, even if they return imprecise results Non-Truman semantics: the DBMS can reject queries that ask for data the user is not allowed to access Any queries that succeed will produce precise answers Some queries will fail

Recap Database Security Multilevel Security Databases Data Inference Statistical Inference Controls against Inference Multilevel Security Databases Separation Integrity Locks Designs of MLS Databases

Next time Data Mining Integrity and Availability Privacy and Data Mining Privacy-Preserving Data Mining