Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts...

29
Database Security Karen Gilmer Kyle Thompson

Transcript of Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts...

Page 1: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Database SecurityKaren GilmerKyle Thompson

Page 2: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Database Security•Protection from malicious attempts to

steal (view) or modify data.•The mechanism that protect the database

against intentional or accidental threats.▫Threat: Any situation or event, whether

intentional or accidental, that may adversely affect a system & consequently the organization

Page 3: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Importance of Data• Bank accounts• Credit card, Salary, Income tax data, address• University admissions, marks/grades• Land records, licenses• Recent headlines:

▫ Personal information of millions of credit card users stolen Laws on privacy in the US Theft of US data in India

▫ Earlier this year in South Carolina More than 3.3 million unencrypted bank account numbers and 3.8

million tax returns were stolen from Department of Revenue

Page 4: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Why is Security Important?• Security problems are real

▫ Over 52 Million people impacted in past years▫ Veterans Administration - 26.5 million veterans impacted▫ UCLA - 800,000 students, parents, faculty▫ ChoicePoint - 145,000 people impacted▫ Las Vegas DMV - 8,900 drivers impacted▫ B of A - 1.2 million federal employees

impacted▫ GAP - 800,000 job applicants information

• Regulatory Compliance is a global concern• Bar is continually being raised – and legislated• Cost of security breaches escalating

Page 5: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Types of Security• Threats to databases

▫ Loss of integrity▫ Loss of availability▫ Loss of confidentiality

Page 6: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Security Countermeasures

•Access Control & Authentication/Authorization

•Auditing •Encryption•Backups•Application Security

Page 7: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

• Access Control: provisions for restricting access to the database as a whole by creating user accounts and passwords to control login process by the DBMS

• Inference Control: associated with controlling the access to a statistical database, which is used to provide statistical information or summaries of values based on various criteria.

• Flow Control: prevents information from flowing in such a way that it reaches unauthorized users▫ Channels that are pathways for information to flow implicitly in

ways that violate the security policy of an organization are called covert channels.

• Encryption: data is encoded using some encoding algorithm to protect sensitive data (credit card numbers) that is being transmitted via some type communication network

Page 8: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

• The DBA account in the DBMS - Sometimes called a system or superuser account▫ These accounts provide powerful capabilities such

as: 1. Account creation 2. Privilege granting “GRANT” 3. Privilege revocation “REVOKE” 4. Security level assignment

Access Protection

Page 9: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Closed Vs Open Systems

Closed Systems Some DBMS required authorization for

authorized DBMS users to access specific objects.

Open Systems Allow users to have complete access to

all objects within the database.

Page 10: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

10

Security at the Database/Application Program

•Authentication and authorization mechanisms to allow specific users access only to required data

•Authentication: who are you? Prove it!

•Authorization: what you are allowed to do

Page 11: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

11

AuthorizationForms of authorization on (parts of) the

database:•Read authorization - allows reading, but

not 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

Page 12: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

12

Database vs. Application

•Application authenticates/authorizes users

•Application itself authenticates itself to database▫Database password

DatabaseApplicationProgram

Page 13: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Auditing• The database system must keep track of all

operations on the database that are applied by a certain user throughout each login session.▫ To keep a record of all updates applied to the

database and of the particular user who applied each update, we can modify system log, which includes an entry for each operation applied to the database that may be required for recovery from a transaction failure or system crash.

▫ A database audit can be performed if any tampering with the database is suspected

Page 14: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Backup

•Copying and archiving of computer data so it may be used to restore the original after a data loss event.

•Purpose is to recover data after it is lost from corruption or deletion.

•Second purpose is to recover data from an earlier time.

Page 15: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Encryption• Encryption is a means of maintaining secure data in an

insecure environment.• Encryption consists of applying an encryption

algorithm to data using some specified encryption key.• The resulting data has to be decrypted using a

decryption key to recover the original data.

Page 16: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Encryption Methods - DES• The Data Encryption Standard (DES) is a system

developed by the U.S. government for use by the general public.▫ It has been widely accepted as a cryptographic standard both

in the United States and abroad.▫ DES can provide end-to-end encryption on the channel

between the sender A and receiver B.• DES algorithm is a careful and complex combination of

two of the fundamental building blocks of encryption:▫ substitution and permutation (transposition).

• The DES algorithm derives its strength from repeated application of these two techniques for a total of 16 cycles.▫ Plaintext (the original form of the message) is encrypted as

blocks of 64 bits.

Page 17: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Encryption Methods - AES

•After questioning the adequacy of DES, the National Institute of Standards (NIST) introduced the Advanced Encryption Standards (AES).▫This algorithm has a block size of 128 bits

and thus takes longer time to crack.

Page 18: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

• Public key algorithms are based on mathematical functions rather than operations on bit patterns.▫ They also involve the use of two separate keys

in contrast to conventional encryption, which uses only one key.

• The two keys used for public key encryption are referred to as the public key and the private key.▫ the private key is kept secret, but it is referred to as private key

rather than a secret key• The essential steps are as follows:

▫ Each user generates a pair of keys to be used for the encryption and decryption

▫ Each user places one of the two keys in a public register or other accessible file. This is the public key. The companion key is kept private (private key).

▫ If a sender wishes to send a private message to a receiver, the sender encrypts the message using the receiver’s public key.

▫ The receiver decrypts the message using the receiver’s private key. No other recipient can decrypt the message because only the

receiver knows his or her private key.

Encryption Methods – Public Key

Page 19: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Encryption Methods – Public Key

• The RSA Public Key Encryption algorithm - one of the first public key schemes was introduced in 1978 ▫ The RSA algorithm operates with modular arithmetic – mod n,

where n is the product of two large prime numbers.

• Two keys, d and e, are used for decryption and encryption.▫ An important property is that d and e can be interchanged.▫ n is chosen as a large integer that is a product of two large distinct prime

numbers, a and b.▫ The encryption key e is a randomly chosen number between 1 and n that is

relatively prime to (a-1) x (b-1). ▫ The plaintext block P is encrypted as Pe mod n.▫ Because the exponentiation is performed mod n, factoring Pe to uncover the

encrypted plaintext is difficult.▫ The decryption key d is carefully chosen so that (Pe)d mod n = P.▫ The decryption key d can be computed from the condition that

d x e= 1 mod ((a-1)x(b-1)). ▫ Thus, the legitimate receiver who knows d simply computes

(Pe)d mod n = P and recovers P without having to factor Pe .

Page 20: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

DBMS Security Mechanisms

•A DBMS typically includes a database security and authorization subsystem that is responsible for ensuring the security portions of a database against unauthorized access.

•Two types of database security mechanisms:▫Discretionary security mechanisms▫Mandatory security mechanisms

Page 21: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Discretionary Access Protection

• The typical method of enforcing discretionary access control in a database system is based on the granting and revoking privileges.

• The account level:▫ At this level, the DBA specifies the particular privileges

that each account holds independently of the relations in the database.

▫ Privileges: CREATE SCHEMA, CREATE TABLE, CREATE VIEW, ALTER, DROP, MODIFY, SELECT

• The relation level (or table level):▫ At this level, the DBA can control the privilege to access

each individual relation or view in the database.▫ Read/Write/ Update Matrix M(i,j)

Page 22: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Inference Control• For example, we may want to retrieve the

number of individuals in a population or the average income in the population – This is considered a statistical query▫ However, statistical users are not allowed to

retrieve individual data, such as the income of a specific person.

• Statistical database security techniques must prohibit the retrieval of individual data.

• This can be achieved by prohibiting queries that retrieve attribute values and by allowing only queries that involve statistical aggregate functions such as COUNT, SUM, MIN, MAX, AVERAGE, and STANDARD DEVIATION.

Page 23: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Flow Control• Flow control regulates the distribution or flow of

information among accessible objects.• A flow between object X and object Y occurs when a

program reads values from X and writes values into Y.▫ Flow controls check that information contained in some

objects does not flow explicitly or implicitly into less protected objects.

• A flow policy specifies the channels along which information is allowed to move.▫ The simplest flow policy specifies just two classes of

information: confidential (C) and nonconfidential (N)

▫ and allows all flows except those from class C to class N

Page 24: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

Flow Control & Covert Channels

• A covert channel allows a transfer of information that violates the security or the policy.▫ allows information to pass from a higher classification level to a lower

classification level through improper means.

• Covert channels can be classified into two broad categories:▫ Storage channels do not require any temporal synchronization, in

that information is conveyed by accessing system information or what is otherwise inaccessible to the user.

▫ Timing channel allow the information to be conveyed by the timing of events or processes.

• Some security experts believe that one way to avoid covert channels is for programmers to not actually gain access to sensitive data that a program is supposed to process after the program has been put into operation.

Page 25: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

RAID(Redundant Array of Independent Disks)

The hardware that the DBMS is running on must be fault-tolerant, meaning that the DBMS should continue to operate even if one of the hardware components fails.

Page 26: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

RAID (Cont)

RAID works on having a large disk array comprising an arrangement of several independent disks that are organized to improve reliability and at the same time increase performance.

Page 27: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

27

SQL Injections• E.g. application takes accnt_number as input

from user and creates an SQL query as follows:▫ string query = "select balance from account where

account_number =‘" + accnt_number +"‘"▫ Suppose instead of a valid account number, user types in

‘; delete from r;then (oops!) the query becomesselect balance from account where account_number =‘ ‘;

delete from r;

• Hackers can probe for SQL injection vulnerability by typing, e.g. ‘*** in an input box▫ Tools can probe for vulnerability▫ Error messages can reveal information to hacker

Page 28: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

28

Passwords in Scripts• E.g.: file1.jsp (or java or other source file)

located in publicly accessible area of web server▫ Intruder looks for http://<urlpath>/file1.jsp~

or .jsp.swp, etc▫ If jsp has database userid/password in clear text, big

trouble Happened at IITB

• Morals▫ Never store scripts (java/jsp) in an area accessible to

http▫ Never store passwords in scripts, keep them in config

files▫ Never store config files in any web-accessible areas▫ Restrict database access to only trusted clients

At port level, or using database provided functionality

Page 29: Database Security Karen Gilmer Kyle Thompson. Database Security Protection from malicious attempts to steal (view) or modify data. The mechanism that.

References

•Elmasri & Navathe - Fundamentals of Database Systems

•Bertino, E-Database Security- Concepts, approaches, and challenges

•Hugo Shebbeare-Database Security Best Practices for the Vigilant Database Administrator and Developer

•http://www.mcafee.com/us/products/database-security/index.asp- Database Security