17
Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. [email protected]

Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. [email protected]

Embed Size (px)

Citation preview

Page 1: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

Database Security

Tampere University of Technology, 2003.8102300 Introduction to Databases.

Oleg Esin.

[email protected]

Page 2: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

What is database security?

Database security – The mechanisms that protect the database against intentional or accidental threats.

Major areas of loss:

theft and fraudloss of confidentialityloss of privacyloss of integrityloss of availability

Page 3: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

Threats

Treat – Any situation or event, whether intentional or accidental, that may adversely affect a system and consequently the organization.

Using another person’s means of accessIllegal entry by hackerCreating “trapdoor” into systemTheft of data, programs, and equipmentStaff shortages or strikesInadequate staff trainingViewing and disclosing unauthorized dataData corruption owning to power loss or surgePhysical damage to equipmentIntroduction of viruses

Page 4: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

Potential threats to computer system

DBMS and Application Software - Failure of security mechanisms giving greater access; Program alteration; Theft of programs.

Communication networks - Wire tapping; Breaking of cables; Electronic interference and radiation.

Data/Database Administrator - Inadequate security policies and procedures.

Hardware - fire/flood/bombs; Data corruption due to power loss; Theft of equipment;

Database - Unauthorized amendment or copying of data; Theft of data; Data corruption due to power loss.

Users - Using another person’s means of access; Viewing and disclosing unauthorized data; Inadequate Staff training; Introduction of viruses.

Programmers/Operators - Creating trapdoors; Program alteration; Inadequate security policies; Staff shortage or strikes.

Page 5: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

Countermeasures – Computer-Based Controls

Authorization and AuthenticationViewsBackup and RecoveryIntegrityEncryptionRAID technology

Page 6: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

Authorization and Authentication

Authorization – The granting of a right or privilege that enables a subject to have legitimate access to a system or a system’s objects.

Authentication – A mechanism that determines whether a user is who he/she claims to be.

Page 7: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

Views

View - A view is the dynamic result of one or more relational operations operating on the base relations to produce another relation. A view is a virtual relation that does not actually exist in the database, but is produced upon request by a particular user, at the time of request.

The view mechanism provides a powerful and flexible security mechanism by hiding parts of the database from certain users.

Page 8: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

Backup and Recovery

Backup - The process of periodically taking a copy of the database and log file on to offline storage media.

Journaling - The process of keeping and maintaining a log file (or journal) of all changes made to the database to enable recovery to be undertaken effectively in the event of a failure.

Page 9: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

Encryption

Encryption - The encoding of the data by a special algorithm that renders the data unreadable by any program without the decryption key.

Symmetric encryption - DES, IDEA, RC4, BlowFish, AES.Asymmetric encryption - RSA, Diffie-Helman.

Plain-dataAlgorithm and

passwordEncrypted

data

Page 10: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

RAID - Redundant Array of Independent Disks

RAID is a category of disk drives that employ two or more drives in combination for fault tolerance and performance. RAID disk drives are used frequently on servers running the databases.

Level 0: Provides data striping (spreading out blocks of each file across multiple disks) but no redundancy. This improves performance but does not deliver fault tolerance.

Level 1: Provides disk mirroring.

Level 3: Same as Level 0, but also reserves one dedicated disk for error correction data. It provides good performance and some level of fault tolerance.

Level 5: Provides data striping at the byte level and also stripe error correction information. This results in excellent performance and good fault tolerance.

Page 11: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

Microsoft Access and Oracle DBMS

Microsoft Access:System level security - password.User-level security - identification as a member of groups (Administrators and Users), permissions are granted (Open/Run, Read, Update, Delete, etc).

Oracle DBMS:System level security - name, password.User-level security is based on a privilege, i.e a right to execute a particular type of SQL statements or to access another user’s object. System privileges and object privileges.

Page 12: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

DBMSs and Web Security

Proxy serversFirewallsMessage Digest Algorithms and Digital SignatureDigital CertificatesSSL and S-HTTP

Page 13: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

Proxy servers

Proxy servers is a computer that sits between a Web browser and a Web servers. It intercepts all requests for web pages and saves them locally for some time. Proxy server provides improvement in performance and filters requests.

Computer A

Computer B

Proxy-server Internet

Page 14: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

Firewalls

Firewall - is a system that prevents unauthorized access to or from private network. Implemented in software, hardware or both.

Packet filterApplication gatewayCircuit-level gateway (TCP, UDP protocols)Proxy server

Page 15: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

Message Digest Algorithms and Digital Signatures

Message digest algorithm is the one-way hash function that produces a fixed-length string (hash) from an arbitrary-sized message. It’s computationally infeasible that there is another message with the same digest, the digest does not reveal anything about the message.

Digital signature consist of two parts: a string of bits that is computed from the message and the private keyof organization. Digital signature is used to verify that the message comes from this organization.

Page 16: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

Digital Certificates

Digital Certificate is an attachment to an electronic message used for security purposes, most commonly to verify that a user sending a message is who he/she claims to be, and provide the receiver with the means to encrypt a reply.

Protocol - X.509.

Digital Certificate Authorities - VeriSign, Thwate.

Page 17: Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. Oleg@cc.tut.fi

Secure Sockets Layer and Secure HTTP

SSL creates a secure connection between a client and a server, over which any amount of data can be sent securely. S-HTTP is designed to transmit individual messages securely. Both use asymmetric encryption.

Allow Web browsers and servers to authenticate each otherPermit Web site owners to control access to particular servers, directories, filesAllow sharing of sensitive information (credit card numbers) only between browser and serverEnsure that data exchange between browser and server is reliable