Auditing Compliance with a Hippocratic Database Javier Salinas Martín.

Slides:



Advertisements
Similar presentations
© Abdou Illia MIS Spring 2014
Advertisements

Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification.
Outline  Introduction  Background  Distributed DBMS Architecture  Distributed Database Design  Semantic Data Control ➠ View Management ➠ Data Security.
1 Constraints, Triggers and Active Databases Chapter 9.
Relational Database Design UNIT II 1. 2 Advantages of Using Database Systems Centralized control of a firm’s data Redundancy can be reduced (avoid keeping.
Relational Algebra Dashiell Fryer. What is Relational Algebra? Relational algebra is a procedural query language. Relational algebra is a procedural query.
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3 The Basic (Flat) Relational Model.
1 Minggu 4, Pertemuan 8 SQL: Data Manipulation (Cont.) Matakuliah: T0206-Sistem Basisdata Tahun: 2005 Versi: 1.0/0.0.
Chapter 3. 2 Chapter 3 - Objectives Terminology of relational model. Terminology of relational model. How tables are used to represent data. How tables.
A Guide to Oracle9i1 Advanced SQL And PL/SQL Topics Chapter 9.
Database Systems More SQL Database Design -- More SQL1.
A Guide to SQL, Seventh Edition. Objectives Understand, create, and drop views Recognize the benefits of using views Grant and revoke user’s database.
Chapter 6 SQL: Data Manipulation Cont’d. 2 ANY and ALL u ANY and ALL used with subqueries that produce single column of numbers u ALL –Condition only.
Hippocratic Databases Paper by Rakesh Agrawal, Jerry Kiernan, Ramakrishnan Srikant, Yirong Xu CS 681 Presented by Xi Hua March 1st,Spring05.
PL / SQL P rocedural L anguage / S tructured Q uery L anguage Chapter 7 in Lab Reference.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 3: Introduction.
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 7 INTRODUCTION TO STRUCTURED QUERY LANGUAGE (SQL) Instructor Ms. Arwa.
Context Tailoring the DBMS –To support particular applications Beyond alphanumerical data Beyond retrieve + process –To support particular hardware New.
CSE314 Database Systems More SQL: Complex Queries, Triggers, Views, and Schema Modification Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson.
Rakesh Agrawal Roberto Bayardo Christos Faloutsos Jerry Kiernan Ralf Rantzau Ramakrishnan Srikant Intelligent Information Systems Research IBM Almaden.
Extreme Blue © 2004 IBM Corporation Eunomia HDB Compliance Auditing System Architecture.
Eurotrace Hands-On The Eurotrace File System. 2 The Eurotrace file system Under MS ACCESS EUROTRACE generates several different files when you create.
Physical Database Design Chapter 6. Physical Design and implementation 1.Translate global logical data model for target DBMS  1.1Design base relations.
Chapter 9 Joining Data from Multiple Tables
©Silberschatz, Korth and Sudarshan2.1Database System Concepts - 5 th Edition, Oct 5, 2006 Outer Join n An extension of the join operation that avoids loss.
Chapter 2 Adapted from Silberschatz, et al. CHECK SLIDE 16.
Access Project 3 Notes. Introduction Maintaining the Database  Modifying the data to keep it up-to-date Restructure the Database  To change the database.
IST 220 Introduction to Databases Course Wrap-up.
603 Database Systems Senior Lecturer: Laurie Webster II, M.S.S.E.,M.S.E.E., M.S.BME, Ph.D., P.E. Lecture 17 A First Course in Database Systems.
SQL Basics. What is SQL? SQL stands for Structured Query Language. SQL lets you access and manipulate databases.
XML and Database.
CSE314 Database Systems Lecture 3 The Relational Data Model and Relational Database Constraints Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson.
Views, Algebra Temporary Tables. Definition of a view A view is a virtual table which does not physically hold data but instead acts like a window into.
Constraints Lesson 8. Skills Matrix Constraints Domain Integrity: A domain refers to a column in a table. Domain integrity includes data types, rules,
Session 1 Module 1: Introduction to Data Integrity
©Silberschatz, Korth and Sudarshan1 Structured Query Language (SQL) Data Definition Language Domains Integrity Constraints.
Temporal Data Modeling
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Chapter 4: Intermediate.
IS2803 Developing Multimedia Applications for Business (Part 2) Lecture 5: SQL I Rob Gleasure robgleasure.com.
Unit-8 Introduction Of MySql. Types of table in PHP MySQL supports various of table types or storage engines to allow you to optimize your database. The.
CPT-S Advanced Databases 11 Yinghui Wu EME 49.
LM 5 Introduction to SQL MISM 4135 Instructor: Dr. Lei Li.
Access Control and Audit Indrakshi Ray Computer Science Department Colorado State University Fort Collins CO
SQL: Interactive Queries (2) Prof. Weining Zhang Cs.utsa.edu.
Understand Data Definition Language (DDL) Database Administration Fundamentals LESSON 1.4.
Insert, Update, and Delete Statements DBMS Course.
1 Agenda TMA02 M876 Block 4. 2 Model of database development data requirements conceptual data model logical schema schema and database establishing requirements.
Data Integrity & Indexes / Session 1/ 1 of 37 Session 1 Module 1: Introduction to Data Integrity Module 2: Introduction to Indexes.
Extending and Creating Dynamics AX OLAP Cubes
More SQL: Complex Queries, Triggers, Views, and Schema Modification
Fundamentals of DBMS Notes-1.
Trigger used in PosgreSQL
Temporal Databases Microsoft SQL Server 2016
Chapter 6: Integrity (and Security)
Indexes By Adrienne Watt.
Module 2: Intro to Relational Model
Creating Database Triggers
Temporal Databases Microsoft SQL Server 2016
Chapter 2: Relational Model
ATS Application Programming: Java Programming
Chapter 2: Intro to Relational Model
Chapter 4 The Relational Model Pearson Education © 2009.
Chapter 4 The Relational Model Pearson Education © 2009.
SQL Fundamentals in Three Hours
The Relational Model Transparencies
Contents Preface I Introduction Lesson Objectives I-2
Relational Database Design
Example of a Relation attributes (or columns) tuples (or rows)
Chapter 2: Intro to Relational Model
Presentation transcript:

Auditing Compliance with a Hippocratic Database Javier Salinas Martín

Outline Introduction System architecture: – Logs – Audits – Audit queries Performance

Introduction Responsibly managing privacy sensitive data is mandatory Approaches: – Physically logging the results of each query – New system to audit whether the database executed a query in the past that accessed private data

System properties Non-disruptive Fast and precise Fine-grained Convenient

System architecture

Logs Query log: timestamp, user ID Temporal extensions: for each table T, a backlog table T b is created – Time stamped – Interval stamped

Time stamped organization A tuple in T b has two additional columns: – TS: time of storage – OP: operation {‘insert’, ‘delete’, ‘update’} Triggers are used to capture updates Recover state of T at time τ: take a snapshot

Interval stamped organization Period of time for wich each tuple was alive: – TS: time of storage – TE: end time Insert trigger adds t to T b, setting TE to null Update trigger searches for tuple b such that b.P=t.P and b.TE=null and sets b.TE to the current time and inserts new tuple t Delete trigger searches for tuple b such that b.P=t.P and b.TE=null and sets b.TE to the current time

Audit expressions Identical to that of a select query No disctinct in the select list “Audit” replaces “Select” U: cross product of all the base tables in the database Cells that satisfy the expression are marked in U

Schema used for examples

Example of audit expression Audit if the disease information of anybody living in the ZIP code was diclosed Cells corresponding to the disease column of those tuples in the Customer x Treatment table that have c.cid=t.pcid and c.zip = are marked

Some definitions Tuple t, Query Q, Audit A Indispensable tuple: omitting t makes a difference on Q Candidate query: Q accesses all columns A specifies in its audit list Suspicious query: Q and A share an indispensable tuple

Example 1 Q is a candidate query with respect to A Q is suspicious with respect to A if there is a customer who lived in the ZIP code and was treated for diabetes

Example 2 Q is not suspicious with respect to A Anyone who looks at the output of the query will not learn that Alice has cancer

System architecture

Audit query generation Full audit expression Two steps: – Static analysis: select candidate queries from the query log – Audit query generation: augment every candidate query with information from the audit expression and combine them into an audit query that unions their output

Static analysis Select candidate queries Four steps: – Check whether Q is a candidate query – Check whether timestamp of Q isout of range – Check whether the purpose-recipient pair of Q matches any of the purpose-recipient specified in the otherthan clause of A – Check for contradictions between predicates Set of candidate queries Q= {Q 1,…,Q n }

Audit Query Generation Augment every Q i with A Result is another query AQ i, defined against the backlog database at time τ i τ i is the timestamp of Q i as recorded in the query log All AQ i are combined into one AQ audit query whose output is the union of the output of the individual AQ i AQ is executed against the backlog database

Audit Query Generation example Example:

Audit Query Generation example

Performance Cost of maintaining backlog tables

Performance Execution time of an audit query

Questions?