In this Chapter
 Overview To Database Security.
Why need of database security.
What is Database Security
Concepts of Database Security.
Threats to Database and counter measures
Methods of securing database.
Through firewall
Database Abstraction
5/2/2014Database security issues
Overview
Threats and risk to database have increased, So there is a need for security of the database.
The majority companies store sensitive data in database. E.g.: Credit card number
If there is no
security to
database what
happens???
Data will be easily corrupted
It is important to restrict access to the
database from authorized users to
protect sensitive data.
5/2/2014Database security issues
Security risk to database includes
Unauthorized database users
Unauthorized Database Administrator
Unauthorized access to Database
Unauthorized alternation to available data
Lack of access to Database services
Sensitive data includes
•Bank/Demat accounts
•Credit card, Salary,
Income tax data
•University admissions,
marks/grades
•Land records, licenses
5/2/2014Database security issues
Definition of Database Security
Database Security is
defined as the process by
which “Confidentiality,
Integrity and Availability”
of the database can be
protected
5/2/2014Database security issues
Database Security Concepts
CONFIDENTIALITY
INTERGRITY
AVAILABILITY
5/2/2014Database security issues
Confidentiality
Enforced by encrypting the data in the stored database
Encryption is a technique or a process by which the data is
encoded in such a way that only that authorized users are able
to read the data.
Encryption is rendering sensitive data unreadable to
unauthorized users.
5/2/2014Database security issues
Integrity
Enforced by defining which user has to be given permission to access the data in the database
For Example:
Data related to employee may have permission for
viewing records and altering only the part of
information like his contact details, where as the
person like Human resource manager will have more
privileges. 5/2/2014Database security issues
Availability
Database must have not unplanned downtime.
To ensure this ,following steps should be taken
Restrict the amount of the storage space given to
each user in the database.
Limit the number of concurrent sessions made
available to each database user.
Back up the data at periodic intervals to ensure
data recovery in case of application users.
5/2/2014Database security issues
Threats to database
SQL Injection.
Unauthorized access
Password Cracking.
Network EavesDropping
5/2/2014Database security issues
SQL Injection
A form of attack on a database-driven Web site in which the attacker executes
unauthorized SQL commands by taking advantage of insecure code on a system connected to
the Internet, bypassing the firewall
Vulnerabilities:
Poor Input validation to web
application.
Unsafe ,dynamically constructed SQL
commands.
Weak permissions that fail to restrict
the application to Database
Countermeasures
Your application should constrain and sanitize input data
before using it in SQL queries.
Use type safe SQL parameters for data access. These can
be used with stored procedures or dynamically constructed
SQL command strings. Using SQL parameters ensures that
input data is subject to type and length checks
Use a SQL Server login that has restricted permissions in
the database. Ideally, you should grant execute permissions
only to selected stored procedures in the database and
provide no direct table access.
5/2/2014Database security issues
Unauthorized Access
Direct access to your database server should be restricted to specific client computers to
prevent unauthorized server access.
Vulnerabilities
Failure to block the SQL Server port at
the perimeter firewall
Lack of IPSec or TCP/IP filtering
policies
Countermeasures
Make sure that SQL Server ports are
not visible from outside of the perimeter
network.
Within the perimeter, restrict direct
access by unauthorized hosts, for
example, by using IPSec or TCP/IP filters.
5/2/2014Database security issues
Password cracking
A common first line of attack is to try to crack the passwords of well known account names, such
as SA (the SQL Server administrator account).
Vulnerabilities
Weak or blank passwords
Passwords that contain everyday
words
Countermeasures
Create passwords for SQL Server login
accounts that meet complexity
requirements.
Avoid passwords that contain common
words found in the dictionary.
5/2/2014Database security issues
Network Eavesdropping
Eavesdropping refers to unauthorized access of reading messages
The deployment architecture of most applications includes a physical separation of the data
access code from the database server. As a result, sensitive data, such as application-specific
data or database login credentials, must be protected from network eavesdroppers.
Vulnerabilities
Insecure communication channels
Passing credentials in clear text to the database; for
example:
Using SQL authentication instead of Windows
authentication
 Using SQL authentication without a server
certificate
Vulnerabilities
Insecure communication channels
Passing credentials in clear text to the database; for
example:
Using SQL authentication instead of Windows
authentication
 Using SQL authentication without a server
certificate
5/2/2014Database security issues
Diagrammatic Representation
5/2/2014Database security issues
Methods of securing the database
Authorization - privileges, views.
Authentication – passwords.
Encryption - public key / private
key, secure sockets.
Logical - firewalls, net proxies.
5/2/2014Database security issues
Security of the database through
FIREWALLS
A FIREWALL is dedicated software on another computer which inspects network traffic passing
through it and denies (or) permits passage based on set of rules. Basically it is a piece of
software that monitors all traffic that goes from your system to another via the Internet or
network and Vice Versa
Database Firewalls are a type of Web Application Firewalls that monitor databases to identify
and protect against database specific attacks that mostly seek to access sensitive information
stored in the databases.
5/2/2014Database security issues
How Database FIREWALL works
The Database Firewalls include a set of pre-defined, customizable security audit policies and they
can identify database attacks based on threat patterns called signatures.
The SQL input statements (or) queries are compared to these signatures, which are updated
frequently by the vendors to identify known attacks on the database.
But all the attacks on the databases may not be familiar.
Database Firewalls build (or come with) white list of approved SQL commands(or) statements that
are safe.
All the input commands are compared with this white list and only those that are already present
in the white list are sent to the database.
5/2/2014Database security issues
Diagrammatic Representation
5/2/2014Database security issues
Advantages of using FIREWALL
Database Firewalls maintains the black list of certain specific and potentially harmful
commands(or) SQL statements and do not allow these type of inputs.
Database Firewalls identifies the database, operating system and protocol vulnerabilities in the
databases and intimate the administrator, who can take steps to patch them.
Database Firewalls monitors for database responses (from the DB server) to block potential data
leakage.
Database Firewalls notifies the suspicious activities, instead of blocking them right away.
Database Firewalls can evaluate factors like IP address, time, location, type of applications
(source), etc from which the abnormal database access requests are emanating and then decide
whether to block them or not, based on these factors as per the policies set by the administrator.
5/2/2014Database security issues
Security of the database Through
Abstraction
Data encryption enables to encrypt sensitive data, such as credit card numbers, stored in table
columns.
Encrypted data is decrypted for a database user who has access to the data.
Data encryption helps protect data stored on media in the event that the storage media or data
file gets stolen.
5/2/2014Database security issues
How data Encryption Works
Data encryption is a key-based access control system. Even if the encrypted data is retrieved, it
cannot be understood until authorized decryption occurs, which is automatic for users authorized
to access the table.
When a table contains encrypted columns, a single key is used regardless of the number of
encrypted columns. This key is called the column encryption key.
The column encryption keys for all tables, containing encrypted columns, are encrypted with the
database server master encryption key and stored in a dictionary table in the database.
The master encryption key is stored in an external security module that is outside the database
and accessible only to the security administrator.
5/2/2014Database security issues
Case: Oracle Server
5/2/2014Database security issues
Advantages of Data Encryption
As a security administrator, one can be sure that sensitive data is safe in case the storage media or
data file gets stolen.
You do not need to create triggers or views to decrypt data. Data from tables is decrypted for the
database user.
Database users need not be aware of the fact that the data they are accessing is stored in
encrypted form. Data is transparently decrypted for the database users and does not require any
action on their part.
Applications need not be modified to handle encrypted data. Data encryption/decryption is
managed by the database.
5/2/2014Database security issues
Authorization
Read authorization - allows reading, butnot modification of data
Insert authorization - allows insertion of new data, but not modification of existing data.
Update authorization - allows modification, but not deletion of data.
Delete authorization - allows deletion of data
5/2/2014Database security issues
Privileges in Database
select: allows read access to relation, or the ability to query using the view
insert: the ability to insert tuples
update: the ability to update using the SQL update statement
delete: the ability to delete tuples.
5/2/2014Database security issues
Privilege To Grant Privileges
With grant option:
allows a user who is
granted a privilege to
pass the privilege on to
other users.
Example:
grant select on branch
to U1 with grant option
gives U1 the select
privileges on branch and
allows U1 to grant this
privilege to others
5/2/2014Database security issues
THANK
YOU
5/2/2014Database security issues

Database security

  • 2.
    In this Chapter Overview To Database Security. Why need of database security. What is Database Security Concepts of Database Security. Threats to Database and counter measures Methods of securing database. Through firewall Database Abstraction 5/2/2014Database security issues
  • 3.
    Overview Threats and riskto database have increased, So there is a need for security of the database. The majority companies store sensitive data in database. E.g.: Credit card number If there is no security to database what happens??? Data will be easily corrupted It is important to restrict access to the database from authorized users to protect sensitive data. 5/2/2014Database security issues
  • 4.
    Security risk todatabase includes Unauthorized database users Unauthorized Database Administrator Unauthorized access to Database Unauthorized alternation to available data Lack of access to Database services Sensitive data includes •Bank/Demat accounts •Credit card, Salary, Income tax data •University admissions, marks/grades •Land records, licenses 5/2/2014Database security issues
  • 5.
    Definition of DatabaseSecurity Database Security is defined as the process by which “Confidentiality, Integrity and Availability” of the database can be protected 5/2/2014Database security issues
  • 6.
  • 7.
    Confidentiality Enforced by encryptingthe data in the stored database Encryption is a technique or a process by which the data is encoded in such a way that only that authorized users are able to read the data. Encryption is rendering sensitive data unreadable to unauthorized users. 5/2/2014Database security issues
  • 8.
    Integrity Enforced by definingwhich user has to be given permission to access the data in the database For Example: Data related to employee may have permission for viewing records and altering only the part of information like his contact details, where as the person like Human resource manager will have more privileges. 5/2/2014Database security issues
  • 9.
    Availability Database must havenot unplanned downtime. To ensure this ,following steps should be taken Restrict the amount of the storage space given to each user in the database. Limit the number of concurrent sessions made available to each database user. Back up the data at periodic intervals to ensure data recovery in case of application users. 5/2/2014Database security issues
  • 10.
    Threats to database SQLInjection. Unauthorized access Password Cracking. Network EavesDropping 5/2/2014Database security issues
  • 11.
    SQL Injection A formof attack on a database-driven Web site in which the attacker executes unauthorized SQL commands by taking advantage of insecure code on a system connected to the Internet, bypassing the firewall Vulnerabilities: Poor Input validation to web application. Unsafe ,dynamically constructed SQL commands. Weak permissions that fail to restrict the application to Database Countermeasures Your application should constrain and sanitize input data before using it in SQL queries. Use type safe SQL parameters for data access. These can be used with stored procedures or dynamically constructed SQL command strings. Using SQL parameters ensures that input data is subject to type and length checks Use a SQL Server login that has restricted permissions in the database. Ideally, you should grant execute permissions only to selected stored procedures in the database and provide no direct table access. 5/2/2014Database security issues
  • 12.
    Unauthorized Access Direct accessto your database server should be restricted to specific client computers to prevent unauthorized server access. Vulnerabilities Failure to block the SQL Server port at the perimeter firewall Lack of IPSec or TCP/IP filtering policies Countermeasures Make sure that SQL Server ports are not visible from outside of the perimeter network. Within the perimeter, restrict direct access by unauthorized hosts, for example, by using IPSec or TCP/IP filters. 5/2/2014Database security issues
  • 13.
    Password cracking A commonfirst line of attack is to try to crack the passwords of well known account names, such as SA (the SQL Server administrator account). Vulnerabilities Weak or blank passwords Passwords that contain everyday words Countermeasures Create passwords for SQL Server login accounts that meet complexity requirements. Avoid passwords that contain common words found in the dictionary. 5/2/2014Database security issues
  • 14.
    Network Eavesdropping Eavesdropping refersto unauthorized access of reading messages The deployment architecture of most applications includes a physical separation of the data access code from the database server. As a result, sensitive data, such as application-specific data or database login credentials, must be protected from network eavesdroppers. Vulnerabilities Insecure communication channels Passing credentials in clear text to the database; for example: Using SQL authentication instead of Windows authentication  Using SQL authentication without a server certificate Vulnerabilities Insecure communication channels Passing credentials in clear text to the database; for example: Using SQL authentication instead of Windows authentication  Using SQL authentication without a server certificate 5/2/2014Database security issues
  • 15.
  • 16.
    Methods of securingthe database Authorization - privileges, views. Authentication – passwords. Encryption - public key / private key, secure sockets. Logical - firewalls, net proxies. 5/2/2014Database security issues
  • 17.
    Security of thedatabase through FIREWALLS A FIREWALL is dedicated software on another computer which inspects network traffic passing through it and denies (or) permits passage based on set of rules. Basically it is a piece of software that monitors all traffic that goes from your system to another via the Internet or network and Vice Versa Database Firewalls are a type of Web Application Firewalls that monitor databases to identify and protect against database specific attacks that mostly seek to access sensitive information stored in the databases. 5/2/2014Database security issues
  • 18.
    How Database FIREWALLworks The Database Firewalls include a set of pre-defined, customizable security audit policies and they can identify database attacks based on threat patterns called signatures. The SQL input statements (or) queries are compared to these signatures, which are updated frequently by the vendors to identify known attacks on the database. But all the attacks on the databases may not be familiar. Database Firewalls build (or come with) white list of approved SQL commands(or) statements that are safe. All the input commands are compared with this white list and only those that are already present in the white list are sent to the database. 5/2/2014Database security issues
  • 19.
  • 20.
    Advantages of usingFIREWALL Database Firewalls maintains the black list of certain specific and potentially harmful commands(or) SQL statements and do not allow these type of inputs. Database Firewalls identifies the database, operating system and protocol vulnerabilities in the databases and intimate the administrator, who can take steps to patch them. Database Firewalls monitors for database responses (from the DB server) to block potential data leakage. Database Firewalls notifies the suspicious activities, instead of blocking them right away. Database Firewalls can evaluate factors like IP address, time, location, type of applications (source), etc from which the abnormal database access requests are emanating and then decide whether to block them or not, based on these factors as per the policies set by the administrator. 5/2/2014Database security issues
  • 21.
    Security of thedatabase Through Abstraction Data encryption enables to encrypt sensitive data, such as credit card numbers, stored in table columns. Encrypted data is decrypted for a database user who has access to the data. Data encryption helps protect data stored on media in the event that the storage media or data file gets stolen. 5/2/2014Database security issues
  • 22.
    How data EncryptionWorks Data encryption is a key-based access control system. Even if the encrypted data is retrieved, it cannot be understood until authorized decryption occurs, which is automatic for users authorized to access the table. When a table contains encrypted columns, a single key is used regardless of the number of encrypted columns. This key is called the column encryption key. The column encryption keys for all tables, containing encrypted columns, are encrypted with the database server master encryption key and stored in a dictionary table in the database. The master encryption key is stored in an external security module that is outside the database and accessible only to the security administrator. 5/2/2014Database security issues
  • 23.
  • 24.
    Advantages of DataEncryption As a security administrator, one can be sure that sensitive data is safe in case the storage media or data file gets stolen. You do not need to create triggers or views to decrypt data. Data from tables is decrypted for the database user. Database users need not be aware of the fact that the data they are accessing is stored in encrypted form. Data is transparently decrypted for the database users and does not require any action on their part. Applications need not be modified to handle encrypted data. Data encryption/decryption is managed by the database. 5/2/2014Database security issues
  • 25.
    Authorization Read authorization -allows reading, butnot modification of data Insert authorization - allows insertion of new data, but not modification of existing data. Update authorization - allows modification, but not deletion of data. Delete authorization - allows deletion of data 5/2/2014Database security issues
  • 26.
    Privileges in Database select:allows read access to relation, or the ability to query using the view insert: the ability to insert tuples update: the ability to update using the SQL update statement delete: the ability to delete tuples. 5/2/2014Database security issues
  • 27.
    Privilege To GrantPrivileges With grant option: allows a user who is granted a privilege to pass the privilege on to other users. Example: grant select on branch to U1 with grant option gives U1 the select privileges on branch and allows U1 to grant this privilege to others 5/2/2014Database security issues
  • 28.