Computer Security:
Computer Security:
Principles and Practice
Principles and Practice
First Edition First Edition
by William Stallings and Lawrie Brown by William Stallings and Lawrie Brown
Chapter 5 –
Agenda
Agenda
AnnouncementsAnnouncements Questions and ReviewQuestions and Review
Database Security LectureDatabase Security Lecture
BreakBreak
Announcements
Announcements
IT Club this Tuesday and WednesdayIT Club this Tuesday and Wednesday
7:00 to 9:007:00 to 9:00 Extra helpExtra help
PMI project updatePMI project update
Quiz for CITA-250 this FridayQuiz for CITA-250 this Friday
Supplemental Readings posted to WebsiteSupplemental Readings posted to Website
Questions and Review
Questions and Review
Are there questions about previous Are there questions about previous
material? material?
Quiz will be multiple choiceQuiz will be multiple choice Covers chapters 1 – 4Covers chapters 1 – 4
Database Security Overview
Database Security Overview
Issues regarding privacy and informationIssues regarding privacy and information Database review (very brief)Database review (very brief)
Database Security MechanismsDatabase Security Mechanisms Database VulnerabilitiesDatabase Vulnerabilities
Database CountermeasuresDatabase Countermeasures
Advanced Technologies for Database Advanced Technologies for Database
Database Security Issues
Database Security Issues
Information Scoped by PrivacyInformation Scoped by Privacy Individuals have a right to privacyIndividuals have a right to privacy
Society has a right to informationSociety has a right to information
How do we balance these conflicting How do we balance these conflicting
needs? needs?
Example: medical informationExample: medical information
ThesisThesis: as the use of databases increases, : as the use of databases increases,
the conflict between privacy and the conflict between privacy and
Database Security: Outline
Relational Databases
Relational Databases
constructed from tables of dataconstructed from tables of data
each column holds a particular type of dataeach column holds a particular type of data each row contains a specific value theseeach row contains a specific value these
ideally has one column where all values are ideally has one column where all values are
unique, forming an identifier/key for that row unique, forming an identifier/key for that row
have multiple tables linked by identifiershave multiple tables linked by identifiers
use a query language to access data use a query language to access data
Relational Database Example
Relational Database Elements
Relational Database Elements
relation / table / filerelation / table / file
tuple / row / recordtuple / row / record
attribute / column / fieldattribute / column / field
primary keyprimary key
uniquely identifies a rowuniquely identifies a row
foreign keyforeign key
links one table to attributes in anotherlinks one table to attributes in another
Relational Database Elements
Structured Query Language
Structured Query Language
Structure Query Language (SQL)Structure Query Language (SQL)
originally developed by IBM in the mid-1970soriginally developed by IBM in the mid-1970s standardized language to define, manipulate, standardized language to define, manipulate,
and query data in a relational database and query data in a relational database
several similar versions of ANSI/ISO standardseveral similar versions of ANSI/ISO standard
CREATE TABLE department (
Did INTEGER PRIMARY KEY, Dname CHAR (30),
Dacctno CHAR (6) )
CREATE TABLE employee ( Ename CHAR (30), Did INTEGER,
SalaryCode INTEGER,
Eid INTEGER PRIMARY KEY, Ephone CHAR (10),
FOREIGN KEY (Did) REFERENCES department (Did) )
CREATE VIEW newtable (Dname, Ename, Eid, Ephone)
AS SELECT D.Dname E.Ename, E.Eid, E.Ephone
FROM Department D Employee E
Database Security
Database Security
Mechanisms
Mechanisms
Database Access ControlDatabase Access Control SQL Access ControlSQL Access Control EncryptionEncryption
Database Security depends onDatabase Security depends on
Physical SecurityPhysical Security
Database Access Control
Database Access Control
DBMS provide access control for databaseDBMS provide access control for database assume have authenticated userassume have authenticated user
DBMS provides specific access rights to portions DBMS provides specific access rights to portions
of the database of the database
e.g. create, insert, delete, update, read, writee.g. create, insert, delete, update, read, write
to entire database, tables, selected rows or columnsto entire database, tables, selected rows or columns possibly dependent on contents of a table entrypossibly dependent on contents of a table entry
can support a range of policies:can support a range of policies:
centralized administrationcentralized administration
SQL Access Controls
SQL Access Controls
two commands:two commands:
GRANT { privileges | role } [ON table] GRANT { privileges | role } [ON table]
TO { user | role | PUBLIC } [IDENTIFIED TO { user | role | PUBLIC } [IDENTIFIED BY password] [WITH GRANT OPTION]
BY password] [WITH GRANT OPTION]
• e.g. GRANT SELECT ON ANY TABLE TO ricflaire.g. GRANT SELECT ON ANY TABLE TO ricflair
REVOKE { privileges | role } [ON table] REVOKE { privileges | role } [ON table]
FROM { user | role | PUBLIC } FROM { user | role | PUBLIC }
• e.g. REVOKE SELECT ON ANY TABLE FROM ricflaire.g. REVOKE SELECT ON ANY TABLE FROM ricflair
typical access rights are:typical access rights are:
Cascading Authorizations
Role-Based Access Control
Role-Based Access Control
role-based access control work well for DBMSrole-based access control work well for DBMS
eases admin burden, improves securityeases admin burden, improves security
categories of database users:categories of database users:
application ownerapplication owner
end userend user
administratoradministrator
Database Encryption
Database Encryption
databases typical a valuable info resourcedatabases typical a valuable info resource
protected by multiple layers of security: firewalls, protected by multiple layers of security: firewalls, authentication, O/S access control systems, DB
authentication, O/S access control systems, DB
access control systems, and database encryption
access control systems, and database encryption
can encryptcan encrypt
entire database - very inflexible and inefficiententire database - very inflexible and inefficient individual fields - simple but inflexible individual fields - simple but inflexible
records (rows) or columns (attributes) - bestrecords (rows) or columns (attributes) - best
• also need attribute indexes to help data retrievalalso need attribute indexes to help data retrieval
Database Encryption
Database Security
Database Security
Vulnerabilities
Vulnerabilities
Due to dependencies, databases suffer Due to dependencies, databases suffer
from the same kinds of vulnerabilities as from the same kinds of vulnerabilities as
other system services other system services
Availability can be compromised with DoSAvailability can be compromised with DoS Integrity and Confidentiality can be Integrity and Confidentiality can be
compromised with authentication and compromised with authentication and
authorization problems authorization problems
Confidentiality also suffers from something Confidentiality also suffers from something
Inference
Inference
DefinitionDefinition: the process of performing : the process of performing
authorized queries and deducing authorized queries and deducing
unauthorized information from legitimate unauthorized information from legitimate
responses received responses received
Occurs whenOccurs when
Combinations of data are highly sensitiveCombinations of data are highly sensitive Combinations of data can be used to infer Combinations of data can be used to infer
Inference
Inference Example
Inference Countermeasures
Inference Countermeasures
inference detection at database designinference detection at database design
alter database structure or access controlsalter database structure or access controls
inference detection at query timeinference detection at query time
by monitoring and altering or rejecting queriesby monitoring and altering or rejecting queries
need some inference detection algorithm need some inference detection algorithm
a difficult problema difficult problem
Statistical Databases
Statistical Databases
provides data of a statistical natureprovides data of a statistical nature
e.g. counts, averagese.g. counts, averages
two types:two types:
pure statistical databasepure statistical database
ordinary database with statistical accessordinary database with statistical access
• some users have normal access, others statisticalsome users have normal access, others statistical
access control objective to allow statistical access control objective to allow statistical
Statistical Database Security
Statistical Database Security
use a characteristic formula Cuse a characteristic formula C
a logical formula over the values of attributesa logical formula over the values of attributes
e.g.e.g.
(Sex=Male) AND ((Major=CS) OR (Major=EE))
query set X(query set X(CC) of characteristic formula ) of characteristic formula CC, ,
is the set of records matching C is the set of records matching C
a statistical query is a query that produces a statistical query is a query that produces
Statistical Database Example
Countermeasures
Countermeasures
Query RestrictionQuery Restriction
Rejects a query that can lead to a Rejects a query that can lead to a
compromise compromise
Perturbation (data or output)Perturbation (data or output)
Answers all queries but answers are Answers all queries but answers are
Protecting
Protecting
Against
Against
Inference
Query Restriction
Query Restriction
Query Size RestrictionQuery Size Restriction
Limit query size to number larger than nLimit query size to number larger than n
Defeated by issuing several queries with Defeated by issuing several queries with
considerable overlap considerable overlap
Tracker Attacks
Tracker Attacks
divide queries into partsdivide queries into parts
C = C1.C2C = C1.C2
count(C.D) = count(C1) - count (C1. ~count(C.D) = count(C1) - count (C1. ~C2)C2)
combination is called a trackercombination is called a tracker
Other Query Restrictions
Other Query Restrictions
query set overlap controlquery set overlap control
limit overlap between new & previous querieslimit overlap between new & previous queries has problems and overheads: cooperationhas problems and overheads: cooperation
partitioningpartitioning
cluster records into exclusive groupscluster records into exclusive groups only allow queries on entire groupsonly allow queries on entire groups
query denial and information leakagequery denial and information leakage
denials can leak informationdenials can leak information
Perturbation
Perturbation
add noise to statistics generated from dataadd noise to statistics generated from data
will result in differences in statisticswill result in differences in statistics
data perturbation techniquesdata perturbation techniques
data swappingdata swapping
generate statistics from probability distributiongenerate statistics from probability distribution
output perturbation techniquesoutput perturbation techniques
Advanced Technologies for
Advanced Technologies for
DB Security
DB Security
Negative DatabasesNegative Databases A negative image of a set of data records is A negative image of a set of data records is
represented rather than the actual records represented rather than the actual records
U represents the universe of finite-length recordsU represents the universe of finite-length records
DB represents the positive records (positive)DB represents the positive records (positive)
NDB = U – DB represents the records NOT in the NDB = U – DB represents the records NOT in the
DB (negative)
DB (negative)
Negative Databases
Negative Databases
Online Demo Online Demo
Why is this so important?Why is this so important?
Protects against casual observersProtects against casual observers Can protect against inferenceCan protect against inference
Huge benefit for public policyHuge benefit for public policy
Collect negative information from peopleCollect negative information from people
• No privacy concernNo privacy concern
Summary
Summary
introduced databases and DBMSintroduced databases and DBMS
relational database reviewrelational database review
database access control issuesdatabase access control issues
SQL, role-basedSQL, role-based
inferenceinference
statistical database security issuesstatistical database security issues
database encryptiondatabase encryption Negative databasesNegative databases
Break
Break
Please enjoy a short breakPlease enjoy a short break
When we return, we will consider the When we return, we will consider the
impact of technology on privacy in our impact of technology on privacy in our
Case Study 2:
Case Study 2:
What was privacy?
What was privacy?
Dog Poop GirlDog Poop Girl Where does an individual's right to privacy Where does an individual's right to privacy
end and society's right to quality end and society's right to quality
information begin? information begin?
Read the Case StudyRead the Case Study
Answer the questionsAnswer the questions
Develop a point of view and discussDevelop a point of view and discuss