Karen Gilmer Kyle Thompson

Slides:



Advertisements
Similar presentations
4/6/2017.
Advertisements

Chapter 23 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
II.I Selected Database Issues: 1 - SecuritySlide 1/20 II. Selected Database Issues Part 1: Security Lecture 2 Lecturer: Chris Clack 3C13/D6.
Database Administration and Security Transparencies 1.
Chapter 11 Database Security: An Introduction Copyright © 2004 Pearson Education, Inc.
Chapter 23 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
Security and Integrity
Database Management System
Monday, 08 June 2015Dr. Mohamed Osman1 What is Database Administration A high level function (technical Function) that is responsible for ► physical DB.
Security Dale-Marie Wilson, Ph.D.. Why Database Security? Data Valuable resource Must be strictly controlled and managed Corporate resource Have strategic.
Chapter 9 - Control in Computerized Environment ATG 383 – Spring 2002.
1 Minggu 7, Pertemuan 13 Security Matakuliah: T0206-Sistem Basisdata Tahun: 2005 Versi: 1.0/0.0.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 24 Database Security.
Chapter 8 Security Transparencies © Pearson Education Limited 1995, 2005.
Chapter 16 Security. 2 Chapter 16 - Objectives u The scope of database security. u Why database security is a serious concern for an organization. u The.
Chapter 19 Security.
Chapter 19 Security Transparencies © Pearson Education Limited 1995, 2005.
Dec 13 th CS555 presentation1 Yiwen Wang --“Securing the DB may be the single biggest action an organization can take to protect its assets” David C. Knox.
DATABASE SECURITY By Oscar Suciadi CS 157B Prof. Sin-Min Lee.
DATABASE ADMINISTRATION AND SECURITY
D ATABASE S ECURITY Proposed by Abdulrahman Aldekhelallah University of Scranton – CS521 Spring2015.
Chapter 19 Security Transparencies. 2 Chapter 19 - Objectives Scope of database security. Why database security is a serious concern for an organization.
1 Introduction to Security and Cryptology Enterprise Systems DT211 Denis Manley.
Chapter 13 Network Security. Contents Definition of information security Role of network security Vulnerabilities, threats and controls Network security.
II.I Selected Database Issues: 1 - SecuritySlide 1/24 II. Selected Database Issues Part 1: Security Lecture 1 Lecturer: Chris Clack 3C13/D6.
© Pearson Education Limited, Chapter 5 Database Administration and Security Transparencies.
D ATABASE A DMINISTRATION L ECTURE N O 4 Muhammad Abrar.
ISOM MIS3150 Data and Info Mgmt Database Security Arijit Sengupta.
Chapter 6: Integrity and Security Thomas Nikl 19 October, 2004 CS157B.
Switch off your Mobiles Phones or Change Profile to Silent Mode.
SEC835 Practical aspects of security implementation Part 1.
Cryptography, Authentication and Digital Signatures
1 Boundary Control Chapter Materi: Boundary controls:  Cryptographic controls  Access controls  Personal identification numbers  Digital signatures.
Chapter 11 Database Security: An Introduction Copyright © 2004 Pearson Education, Inc.
DATABASE SECURITY MODULE 5.
Database Security Outline.. Introduction Security requirement Reliability and Integrity Sensitive data Inference Multilevel databases Multilevel security.
CSCI 3140 Module 6 – Database Security Theodore Chiasson Dalhousie University.
11/4/2012ISC239 Isabelle Bichindaritz1 Database Security.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 6 Data Integrity and Security.
Database Security Tampere University of Technology, Introduction to Databases. Oleg Esin.
Academic Year 2014 Spring Academic Year 2014 Spring.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
Chapter 11 Database Security: An Introduction Copyright © 2004 Pearson Education, Inc.
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.
L o g o Modern DBMSs security problems Nguyen Chi Thanh Nguyen Thanh Toan Group:
Chapter 9 Database Security and Authorization Copyright © 2004 Pearson Education, Inc.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 24 Database Security.
Web Database Security Session 12 & 13 Matakuliah: Web Database Tahun: 2008.
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.
SECURITY. Security Threats, Policies, and Mechanisms There are four types of security threats to consider 1. Interception 2 Interruption 3. Modification.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
Database Security Threats. Database An essential corporate resource Data is a valuable resource Must be strictly controlled, managed and secured May have.
SYSTEMS IMPLEMENTATION TECHNIQUES TRANSACTION PROCESSING DATABASE RECOVERY DATABASE SECURITY CONCURRENCY CONTROL.
Database Security Fundamentals of Database system, 5 th Edition, Ramez Elmasri and Shamkant B. Navathe.
Database Security and Authorization
Database Security and Authorization
CHAPTER 30 Database Security. CHAPTER 30 Database Security.
Database System Implementation CSE 507
Chapter 23 Database Security and Authorization
1 Introduction to Database Security Issues
Database Security and Authorization
Security and Administration Transparencies
By Oscar Suciadi CS 157B Prof. Sin-Min Lee
By Oscar Suciadi CS 157B Prof. Sin-Min Lee
Database Security &Threats
DATABASE SECURITY For CSCL (BIM).
By Oscar Suciadi CS 157B Prof. Sin-Min Lee
Presentation transcript:

Karen Gilmer Kyle Thompson Database Security Karen Gilmer Kyle Thompson

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

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

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

Types of Security Threats to databases Loss of integrity Loss of availability Loss of confidentiality

Security Countermeasures Access Control & Authentication/Authorization Auditing Encryption Backups Application Security

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

Access Protection 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

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.

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

Authorization Forms 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

Database vs. Application Application authenticates/authorizes users Application itself authenticates itself to database Database password Application Program Database

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

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.

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.

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.

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.

Encryption Methods – Public Key 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 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 .

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

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)

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.

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

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.

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.

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.

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 becomes select 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

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

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