Database Security Chapter 24.1-24.3. Terms Security – all the processes and mechanisms by which computer-based equipment, information and services are.

Slides:



Advertisements
Similar presentations
7- Sicurezza delle basi di dati
Advertisements

Chapter 23 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
Jan. 2014Dr. Yangjun Chen ACS Database security and authorization (Ch. 22, 3 rd ed. – Ch. 23, 4 th ed. – Ch. 24, 6 th )
Access Control RBAC Database Activity Monitoring.
Database Security by Muhammad Waheed Aslam SIS Project Leader ITC/KFUPM.
Chapter 11 Database Security: An Introduction Copyright © 2004 Pearson Education, Inc.
Security and Integrity
Database Management System
Database Security - Farkas 1 Database Security and Privacy.
Access Control Intro, DAC and MAC System Security.
Monday, 08 June 2015Dr. Mohamed Osman1 What is Database Administration A high level function (technical Function) that is responsible for ► physical DB.
Security Fall 2009McFadyen ACS How do we protect the database from unauthorized access? Who can see employee salaries, student grades, … ? Who can.
Security Fall 2006McFadyen ACS How do we protect the database from unauthorized access? Who can see employee salaries, student grades, … ? Who can.
CSCI 5707: Database Security Pusheng Zhang University of Minnesota March 2, 2004.
Chapter 8 Security Transparencies © Pearson Education Limited 1995, 2005.
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.
Role Based Access Control Models Presented By Ankit Shah 2 nd Year Master’s Student.
Lecture slides prepared for “Computer Security: Principles and Practice”, 2/e, by William Stallings and Lawrie Brown, Chapter 4 “Overview”.
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
Security and Integrity
Li Xiong CS573 Data Privacy and Security Access Control.
Chapter 6: Integrity and Security Thomas Nikl 19 October, 2004 CS157B.
Database Security John Ortiz. Lecture 23Database Security2 Secure Passwords  Two main requirements for choosing a secure password:  1) MUST be easy.
Database Security.
Switch off your Mobiles Phones or Change Profile to Silent Mode.
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 5 “Database and Cloud Security”.
SEC835 Practical aspects of security implementation Part 1.
Computer Security: Principles and Practice
CSCE 201 Introduction to Information Security Fall 2010 Access Control.
First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 5 – Database Security.
Next-generation databases Active databases: when a particular event occurs and given conditions are satisfied then some actions are executed. An active.
Copyright © 2013 Curt Hill Database Security An Overview with some SQL.
Metadata, Security, and the DBA Chapter 8.1 V3.0 Napier University Dr Gordon Russell.
Chapter 11 Database Security: An Introduction Copyright © 2004 Pearson Education, Inc.
DATABASE SECURITY MODULE 5.
D ISCRETIONARY A CCESS C ONTROLS Truong Quynh Chi Faculty of Computer Science & Engineering HCMC University of Technology
Li Xiong CS573 Data Privacy and Security Access Control.
Access Control. What is Access Control? The ability to allow only authorized users, programs or processes system or resource access The ability to disallow.
Dale Roberts 1 Department of Computer and Information Science, School of Science, IUPUI Dale Roberts, Lecturer Computer Science, IUPUI
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 6 Data Integrity and Security.
Database Security. Multi-user database systems like Oracle include security to control how the database is accessed and used for example security Mechanisms:
Academic Year 2014 Spring Academic Year 2014 Spring.
Chapter 11 Database Security: An Introduction Copyright © 2004 Pearson Education, Inc.
Database Security Chapter Terms Security – all the processes and mechanisms by which computer-based equipment, information and services are.
Database Security and Authorization. DB security Secrecy: Users should not be able to see things they are not supposed to. – E.g., A student can’t see.
COEN 350: Network Security Authorization. Fundamental Mechanisms: Access Matrix Subjects Objects (Subjects can be objects, too.) Access Rights Example:
CSCE 201 Introduction to Information Security Fall 2010 Access Control Models.
Privilege Management Chapter 22.
Chapter 9 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
Computer Security: Principles and Practice
Oracle 11g: SQL Chapter 7 User Creation and Management.
Database Security. Multi-user database systems like Oracle include security to control how the database is accessed and used for example security Mechanisms:
Context Aware RBAC Model For Wearable Devices And NoSQL Databases Amit Bansal Siddharth Pathak Vijendra Rana Vishal Shah Guided By: Dr. Csilla Farkas Associate.
Database Security. Introduction to Database Security Issues (1) Threats to databases Loss of integrity Loss of availability Loss of confidentiality To.
Database Security and Authorization Introduction to DB Security Access Controls Database Security and the DBA Discretionary Access Control The privileges.
Database Security Database System Implementation CSE 507 Some slides adapted from Navathe et. Al.
Database Security Advanced Database Dr. AlaaEddin Almabhouh.
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.
AdvDB-6 J. Teuhola Database Security Security = protection from unauthorized use 6.1. Security issues Legal / ethical / ownership issues Policy.
CHAPTER 30 Database Security. CHAPTER 30 Database Security.
Database System Implementation CSE 507
Controlling User Access
Access Control Model SAM-5.
Access Control CSE 465 – Information Assurance Fall 2017 Adam Doupé
Database Security and Authorization
Database Security.
Database Security.
Access Control.
Database Security Chapter 30
Presentation transcript:

Database Security Chapter

Terms Security – all the processes and mechanisms by which computer-based equipment, information and services are protected from unintended or unauthorized access, change or destruction Authorization – function of specifying access rights to resources –To authorize – to define access policy Authentication – verifying identity of user Privacy and confidentiality guaranteed by security

Database Security Different aspects of database security 1.data encryption - encoding, transmission, decoding 2.retrieval of statistical information protect individual information (could be deduced by smart queries)

Access Control 3.Access control for a whole DBMS - account numbers and passwords login procedure, login session, database audit and audit trail 4.Access control for portions of a database in a multiuse DBMS different users may be entitled access to different portions of the same DB

Access Control for portions of DB –Secure portions of a DB against unauthorized access 3 approaches: – Discretionary Access Control (DAC) – Role Based Access Control (RBAC) – Mandatory Access Control (MAC)

DBA DBA is responsible for the overall security of the DB system. In particular: –Account creation - access to the whole DBMS –Privilege granting – DAC, RBAC –Privilege revocation – DAC, RBAC –Security level assignment – MAC, RBAC

Discretionary Access Control Based on granting and revoking privileges Assign privileges –account level (subject) independent of the relations create schema, create table, create view –relation level (object) on a particular base relation or view

Access (authorization) matrix model row - subject column - object M(i,j) -> read, write, update for example M(a,B) = read means that subject a holds a read privilege on object B Owner of the relation (typically the creator) is assigned the owner account for that relation and is given all privileges on that relation

Grant/Revoke Grant the following privileges to other accounts (relation level) – system and object privileges –Select (retrieval) –Modify (update, delete, insert tuples) –References (can reference the relation or specific attributes of the relation when specifying integrity constraints)

Grant SQL statement Grant {privileges} on {table | view} to {user | public | role} –Where privileges are: Select, alter, delete, update, index, references, insert, all Can specify list of (columns) after privileges only for insert, update Cannot specify list of columns for select privileges Grant select, delete on Employee, Department to rsmith

To access tables granted permission User granted access to table must qualify name of that table with owner Select * from svrbsky.Employee where dno = 4

Grant/Revoke Revoking privileges Revoke {privilege} on {table | view} from {user | public | role} Revoke delete on Department from rsmith

Example of grant/revoke Example: U1 issues Create table Employee(SSN, Fname, Lname, Salary) Propagating/Revoking privileges - horizontal and vertical Use WITH GRANT OPTION U1 can issue the following statements: Grant select on Employee to A2; Grant select on Employee to A3 with grant option; Revoke select on Employee from A3;

Using views Create view EMP5 as (select Fname, Lname from Employee where dno=5); Grant select on EMP5 to Bob;

Roles - RBAC Role-based access control (RBAC) Sandhu, R., Coyne, Feinstein, Youman: “Role- Based Access Control Models” –Semantic construct –System administrator creates roles according to job functions

Motivation Many organizations: –Base access control in role of individual users –Want to centrally control and maintain access rights –Access control needs are unique

RBAC Role –Specific task competency –duty assignments –Embody authority and responsibility Grant permissions to users in these roles –Roles & permissions –Users & roles

Motivation Roles define individuals and extent of resource access Combination of users and permissions can change –E.g. user membership in roles Permissions associated with roles stable Administration of roles rather than permissions Role permission predefined –Easier to add/remove users membership than create new roles/permissions Roles part of SQL3 Supported by many software products –Roles used in Windows NT, XP (system admin)

RBAC basics Access control in RBAC exists in: –Role-permission (stable) –User-role (dynamic) –Role-role relationships (stable) RBAC supports principles: –Least privilege –Separation of duties- mutually exclusive roles –Data abstraction- abstract permissions (not just R/W) Limitations –RBAC cannot enforce way principles applied – system admin could configure to violate

Constraints Mutually exclusive roles –User at most 1 role in ME set –Combinations of roles and permissions can be prohibited Cardinality –Maximum number of members in a role –Minimum cardinality difficult to implement Prerequisite role –User assigned to role B, only if assigned to A –Permission p assigned to role only if role has permission q

In Oracle Rather than grant privileges to individual users, can grant them to groups using roles Create role role_name [identified by pw] Grant {privilege} [on {table}] to role_name Grant role_name to user The user must enable the role if a pw is specified with the command: Set role role_name identified by pw

Mandatory Access Control- MAC Motivated by government in late 1980’s/early 1990’s Utilize security classifications

Mandatory Access Control Security classes: TS(Top Secret), S (Secret), C(Classified), U (Unclassified) TS > S > C > U each subject and object are classified into one of the security classifications (TS, S, etc.) Bell-LaPadulla properties (restrictions on data access) – simple property: No READ UP – star (*) property: No WRITE DOWN (write at own level)

MLS multilevel relation (MLS) schema –classification attribute C –tuple classification TC –R(A1, C1, A2, C2,...An, Cn, TC) Jajodia- Sandhu

MLS Relation Example Vessel ObjectiveDestination TC Micra U Shipping U Moon U U Vision U Spying U Saturn U U Avenger C Spying C Mars C C Logos S Shipping S Venus S S

MLS Level U sees first 2 tuples Level C sees first 3 tuples Level S sees all tuples

MLS Relation Example Vessel ObjectiveDestination TC Micra U Shipping U Moon U U Vision U Spying U Saturn U U Avenger C Spying C Mars C C Logos S Shipping S Venus S S

MLS Insert What if a U user wants to insert a tuple with vessel = Avenger? If reject the insert – what will happen? –Covert channel

Covert Chanel Indirect downward flow of information – must be avoided since it allows downward flow of information –Can occur if reject update –Can be used maliciously (higher level user can signal lower level user) So what to do instead?

MLS Insert If insert another Avenger, what about the primary key? Will have 2 Avengers –PK + Classification

MLS Relation Vessel ObjectiveDestination TC Micra U Shipping U Moon U U Vision U Spying U Saturn U U Avenger U Shipping U Mars U U Avenger C Spying C Mars C C Logos S Shipping S Venus S S

MLS Update What if the S level wants to update one of the tuples at the U level? –U cannot see the update –Replicate the tuple –E.g update Vision so Destination is Venus

Jajodia Sandhu MLS Model Vessel ObjectiveDestination TC Micra U Shipping U Moon U U Vision U Spying U Null U U Vision U Spying U Venus S S Avenger U Shipping U Moon U U Avenger C Spying C Mars C C Logos S Shipping S Venus S S

MLS Relation – Better Solution Vessel ObjectiveDestination TC Micra U Shipping U Moon U U Vision U Spying U Saturn U U Vision U Spying U Venus S S Avenger U Shipping U Moon U U Avenger C Spying C Mars C C Logos S Shipping S Venus S S

Extensions to MLS model Winslett-Smith Model –Tuples at user’s level believe info –See info at lower levels –R(K, KC, A1, A2,... An, TC) Smith-Winslett –Every tuple has a base tuple – level at which first inserted

Extensions to MLS model MLR – Sandu-Chen –Relational operations still messy in Winslett/Smith –Try to eliminate semantic ambiguity –Borrowing to indicate belief in lower level tuples Does it mean T or F? Cannot indicate disbelief

Extensions to MLS model Belief consistent model (Jukic-Vrbsky) –Can easily see what others believe at lower levels –Can assert if one level believes lower level belief is false –Reduces tuple propagation –Can even have a cover story for a PK

Why do you think MAC never became popular??

In Oracle Can have MLS database by using: –Oracle Label Security in 11g Sensitivity labels and security clearances

DAC, MAC vs. RBAC DAC vs. MAC emerged from defense security research RBAC independent of access control RBAC can be used to implement DAC, MAC