Computer Security: Principles and Practice, 1/e

Download Report

Transcript Computer Security: Principles and Practice, 1/e

COMPUTER SECURITY: PRINCIPLES
AND PRACTICE
Chapter 5 – Database Security
First Edition
by William Stallings and Lawrie Brown
Lecture slides by Lawrie Brown
DATABASE SECURITY
RELATIONAL DATABASES

constructed from tables of data
 each
column holds a particular type of data
 each row contains a specific value these
 ideally has one column where all values are unique,
forming an identifier/key for that row
have multiple tables linked by identifiers
 use a query language to access data items
meeting specified criteria

RELATIONAL DATABASE EXAMPLE
RELATIONAL DATABASE ELEMENTS
relation / table / file
 tuple / row / record
 attribute / column / field
 primary key

 uniquely

foreign key
 links

identifies a row
one table to attributes in another
view / virtual table
RELATIONAL DATABASE ELEMENTS
STRUCTURED QUERY LANGUAGE

Structure Query Language (SQL)
 originally
developed by IBM in the mid-1970s
 standardized language to define, manipulate,
and query data in a relational database
 several similar versions of ANSI/ISO standard
CREATE TABLE department (
Did INTEGER PRIMARY KEY,
Dname CHAR (30),
Dacctno CHAR (6) )
CREATE VIEW newtable (Dname, Ename, Eid, Ephone)
AS SELECT D.Dname E.Ename, E.Eid, E.Ephone
FROM Department D Employee E
WHERE E.Did = D.Did
CREATE TABLE employee (
Ename CHAR (30),
Did INTEGER,
SalaryCode INTEGER,
Eid INTEGER PRIMARY KEY,
Ephone CHAR (10),
FOREIGN KEY (Did) REFERENCES department (Did) )
DATABASE ACCESS CONTROL

Three Keywords:




DBMS provide access control for database
assume have authenticated user
DBMS provides specific access rights to portions of the
database




MAC, DAC, RBAC
e.g. create, insert, delete, update, read, write
to entire database, tables, selected rows or columns
possibly dependent on contents of a table entry
can support a range of policies:



centralized administration
ownership-based administration
decentralized administration
SQL ACCESS CONTROLS

two commands:

GRANT { privileges | role } [ON table] TO
{ user | role | PUBLIC } [IDENTIFIED BY
password] [WITH GRANT OPTION]


REVOKE { privileges | role } [ON table]
FROM { user | role | PUBLIC }


e.g. GRANT SELECT ON ANY TABLE TO ricflair
e.g. REVOKE SELECT ON ANY TABLE FROM ricflair
typical access rights are:

SELECT, INSERT, UPDATE, DELETE, REFERENCES
CASCADING AUTHORIZATIONS
ROLE-BASED ACCESS CONTROL

role-based access control work well for DBMS
 eases

admin burden, improves security
categories of database users:
 application
owner
 end
user
 administrator

DB RBAC must manage roles and their users
 cf.
RBAC on Microsoft’s SQL Server
INFERENCE
INFERENCE EXAMPLE
INFERENCE COUNTERMEASURES

inference detection at database design
 alter

inference detection at query time
 by

database structure or access controls
monitoring and altering or rejecting queries
need some inference detection algorithm
a
difficult problem
 cf. employee-salary example
STATISTICAL DATABASES

provides data of a statistical nature
 e.g.

counts, averages
two types:
 pure
statistical database
 ordinary database with statistical access
 some
users have normal access, others statistical
access control objective to allow statistical
use without revealing individual entries
 security problem is one of inference

STATISTICAL DATABASE SECURITY

use a characteristic formula C
a

logical formula over the values of attributes
e.g. (Sex=Male) AND ((Major=CS) OR (Major=EE))
query set X(C) of characteristic formula C, is the
set of records matching C
 a statistical query is a query that produces a
value calculated over a query set

STATISTICAL DATABASE EXAMPLE
PROTECTING
AGAINST
INFERENCE
TRACKER ATTACKS

divide queries into parts
C
= C1.C2
 count(C.D) = count(C1) - count (C1. ~C2)
combination is called a tracker
 each part acceptable query size
 overlap is desired result

OTHER QUERY RESTRICTIONS

query set overlap control
 limit
overlap between new & previous queries
 has problems and overheads

partitioning
 cluster
records into exclusive groups
 only allow queries on entire groups

query denial and information leakage
 denials
can leak information
 to counter must track queries from user
PERTURBATION

add noise to statistics generated from data


data perturbation techniques



data swapping
generate statistics from probability distribution
output perturbation techniques



will result in differences in statistics
random-sample query
statistic adjustment
must minimize loss of accuracy in results
DATABASE ENCRYPTION

databases typical a valuable info resource


protected by multiple layers of security: firewalls,
authentication, O/S access control systems, DB access
control systems, and database encryption
can encrypt



entire database - very inflexible and inefficient
individual fields - simple but inflexible
records (rows) or columns (attributes) - best


also need attribute indexes to help data retrieval
varying trade-offs
DATABASE ENCRYPTION
SUMMARY
introduced databases and DBMS
 relational databases
 database access control issues

 SQL,
role-based
inference
 statistical database security issues
 database encryption
