DBMS Security
DBMS Security
Database security
Security
▪ Introduction to Database Security
▪ Discretionary Access Control
▪ Mandatory Access Control
▪ Additional Issues Related to Security
Introduction To DB Security
▪Three main objectives
▪ Secrecy/Confidentiality
▪ Integrity
▪ Availability
Secrecy/Confidentiality
▪Information should not be disclosed to
unauthorized users.
If Bill did not have the REFERENCES privilege on the bid column of Boats,
he cannot execute this CREATE statement because the FOREIGN KEY
clause requires this privilege.
Specifying just the INSERT privilege in a GRANT command is
not the same as specifying SELECT (column-name) for each
column currently in the table.
Bo
Cal b
Important points:
▪A view may be dropped because a SELECT privilege
is revoked from the user who created the view.
▪If the creator of a view gains additional privileges
on the underlying tables, he or she automatically
gains additional privileges on the view.
▪The distinction between the REFERENCES and
SELECT privileges is important.
Mandatory access control
▪It is based on system wide policies that can not be
changed by individual users
▪In this approach each database object is assigned a
security class , each user is assigned clearance for a
security class, and rules are imposed on reading and
writing of database object by users
▪Discretionary access control is susceptible to Trojan horse
Schemes whereby a devious unauthorized user can trick an
authorized user into disclosing sensitive data
▪Mandatory access control aims at the loopholes in discretionary
access control
Role of Database Administrator (DBA)
▪Responsible for the overall security of the system !
▪Why?
▪DBA is the owner of data
▪DBA contributes to developing a security policy
▪DBA has a special account called system account
The DBA deals with…
▪Creating a new accounts
▪ Each new user or group of users must be
assigned an authorization id and a password
▪ Application programs that access the database
have the same authorization id as the user
executing the program
▪Mandatory control issues
▪ Assign security classes to each database object
and assign security clearance to each
authorization
SQL injection attacks
▪One of the most prevalent and dangerous network-
based security threats
▪Sends malicious SQL commands to the database
server
▪Depending on the environment SQL injection can
also be exploited to:
▪ Modify or delete data
▪ Execute arbitrary operating system commands
▪ Launch denial-of-service (DoS) attacks
A typical injection attack
Sample SQL injection
The SQLi attack typically works by prematurely terminating a text string
and appending a new command
SELECT fname
FROM student
where fname is ‘user prompt’;