Inference and Flow Control

Slides:



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

CMPT 354 Views and Indexes Spring 2012 Instructor: Hassan Khosravi.
Group functions cannot be used in the WHERE clause: SELECT type_code FROM d_songs WHERE SUM (duration) = 100; (this will give an error)
Exploring Microsoft Access
Database Security CS461/ECE422 Spring Overview Database model – Relational Databases Access Control Inference and Statistical Databases Database.
Database Programming Sections 5 & 6 – Group functions, COUNT, DISTINCT, NVL, GROUP BY, HAVING clauses, Subqueries.
4 Copyright © 2004, Oracle. All rights reserved. Reporting Aggregated Data Using the Group Functions.
5 Copyright © 2007, Oracle. All rights reserved. Reporting Aggregated Data Using the Group Functions.
4 การใช้ SQL Functions. Copyright © 2007, Oracle. All rights reserved What Are Group Functions? Group functions operate on sets of rows to give.
Chapter 11 Group Functions
Structure Query Language (SQL) COMSATS INSTITUTE OF INFORMATION TECHNOLOGY, VEHARI.
Database Management System
Information Security Principles & Applications
Monday, 08 June 2015Dr. Mohamed Osman1 What is Database Administration A high level function (technical Function) that is responsible for ► physical DB.
The University of Akron Dept of Business Technology Computer Information Systems The Relational Model: Query-By-Example (QBE) 2440: 180 Database Concepts.
Security in Databases. 2 Srini & Nandita (CSE2500)DB Security Outline review of databases reliability & integrity protection of sensitive data protection.
Introduction to Oracle9i: SQL1 SQL Group Functions.
SQL SQL stands for Structured Query Language SQL allows you to access a database SQL is an ANSI standard computer language SQL can execute queries against.
Structured Query Language Part I Chapter Three CIS 218.
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.
Last time Finish OTR Database Security Introduction to Databases
Xin  Syntax ◦ SELECT field1 AS title1, field2 AS title2,... ◦ FROM table1, table2 ◦ WHERE conditions  Make a query that returns all records.
Chapter 6 Group Functions. Chapter Objectives  Differentiate between single-row and multiple-row functions  Use the SUM and AVG functions for numeric.
Database Security DBMS Features Statistical Database Security.
Copyright 2007, Paradigm Publishing Inc. ACCESS 2007 Chapter 4 BACKNEXTEND 4-1 LINKS TO OBJECTIVES Query Design Query Criteria Modify a Query Using OR.
Database Queries. Queries Queries are questions used to retrieve information from a database. Contain criteria to specify the records and fields to be.
Introduction to: 1.  Goal[DEN83]:  Provide frequency, average, other statistics of persons  Challenge:  Preserving privacy[DEN83]  Interaction between.
Programming using C# Joins SQL Injection Stored Procedures
Computer Security: Principles and Practice
4 Copyright © 2004, Oracle. All rights reserved. Reporting Aggregated Data Using the Group Functions.
Using Special Operators (LIKE and IN)
Structured Query Language. Group Functions What are group functions ? Group Functions Group functions operate on sets of rows to give one result per group.
Querying a Database - A question or an inquiry (dictionary.com) - WHAT ARE WE ASKING QUESTIONS ABOUT? THE DATA - BY ASKING QUESTIONS OF THE DATA WE OBTAIN?
SQL for Data Retrieval. Running Example IST2102 Data Preparation Login to SQL server using your account Select your database – Your database name is.
Intro to SQL Management Studio. Please Be Sure!! Make sure that your access is read only. If it isn’t, you have the potential to change data within your.
Privacy Framework for RDF Data Mining Master’s Thesis Project Proposal By: Yotam Aron.
What are queries? Queries are a way of searching for and compiling data from one or more tables. Running a query is like asking a detailed question of.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 16 Using Relational Databases.
© Jalal Kawash Database Queries Peeking into Computer Science.
Mining real world data RDBMS and SQL. Index RDBMS introduction SQL (Structured Query language)
Course title: Database-ii Chap No: 03 “Advanced SQL” Course instructor: ILTAF MEHDI.
L o g o Modern DBMSs security problems Nguyen Chi Thanh Nguyen Thanh Toan Group:
Introduction Database Security Overview. Readings This lecture: This lecture: –Textbook: Chapter 5.2 –Lecture materials from CSCE 522, Nov. 3, Lecture.
Structured Query Language SQL Unit 4 Solving Problems with SQL.
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.
Aggregator  Performs aggregate calculations  Components of the Aggregator Transformation Aggregate expression Group by port Sorted Input option Aggregate.
Supporting Join Queries Talk by: Andy Cooke Collaborators: Alasdair Gray, Lisha Ma, and Werner Nutt Heriot-Watt University.
Overview of Database Security Introduction Security Problems Security Controls Designing Database Security.
Paul A. Harris, Ph.D. Director, GCRC Informatics How to use query function in Microsoft Access.
Day 5 - More Complexity With Queries Explanation of JOIN & Examples Explanation of JOIN & Examples Explanation & Examples of Aggregation Explanation &
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 Security and Authorization
Security.
Review of Main Database Features
Database Queries.
Sections 4– Review of Joins, Group functions, COUNT, DISTINCT, NVL
SQL – Entire Select.
Chapter 4 Summary Query.
Access: SQL Participation Project
SQL Aggregation.
User Interface Tutorial
Query Functions.
Overview of Database Security
Aggregate Functions.
LINQ to SQL Part 3.
CS222/CS122C: Principles of Data Management UCI, Fall 2018 Notes #03 Row/Column Stores, Heap Files, Buffer Manager, Catalogs Instructor: Chen Li.
Some contents are borrowed from Adam Smith’s slides
Differential Privacy (1)
Presentation transcript:

Inference and Flow Control

Inference Control Often databases contain information that is sensitive as individual rows, but not sensitive as a group. Example: Salary data across the company, individuals want their salary private, but knowing the average salary for each department is fine. Statistical database security involves allowing aggregate functions (count, sum, min, max, avg, std_dev) to be run on subsets of the data, but not allowing individual records. However, it is possible to infer the state of particular rows if you are allowed to do repeated statistics on small subsets of rows. Example: If a department only has 2 people (and you are one of them), you can infer the salary of the other.

How could you protect against inference? 1. Disallow queries that involve a small number of rows. 2. Add noise to the results returned. 3. Track which queries are being performed and determine if they can reveal additional information. 4. Lobby for the reduction of statistics education in the US to reduce the problem.

Flow Control Some databases have only parts of themselves that contain sensitive information. In such cases, it is important that the sensitive information is not allowed to move from the protected regions (tables) into the less protected regions. A flow policy specifies the channels along which information is allowed to move. Even if an authorized user is allowed to access and write to both sides of a database, flow control prevents the authorized movement of information. http://www.valve.bz/Flow_Control_Valve.html

Covert Channels A covert channel allows information to pass from a protected level to a less protected level though improper means. Tracking the SELECT and modification queries stops the easy attacks, but there are more subtle mechanisms. A timing channel relies on timing how long a query takes to respond. The time a query takes can be indicative of what rows exist in a table, even if a query doesn't yield any data. Example: I can query the "Bad Reviews" table for a particular student, and longer response times means the student wrote a bad review of me. A storage channel uses information conveyed by system information or other means to determine information about a protected region. Example: A query on the table "Bad Reviews" uses up more memory if a row exists than if it doesn't.