Database Security (ppt)


Published on

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Database Security (ppt)

  1. 1. Database Security Tampere University of Technology, 2003. 8102300 Introduction to Databases. Oleg Esin. [email_address]
  2. 2. What is database security? <ul><li>Database security – The mechanisms that protect the database against intentional or accidental threats. </li></ul><ul><li>Major areas of loss: </li></ul><ul><ul><ul><li>theft and fraud </li></ul></ul></ul><ul><ul><ul><li>loss of confidentiality </li></ul></ul></ul><ul><ul><ul><li>loss of privacy </li></ul></ul></ul><ul><ul><ul><li>loss of integrity </li></ul></ul></ul><ul><ul><ul><li>loss of availability </li></ul></ul></ul>
  3. 3. Threats <ul><li>Treat – Any situation or event, whether intentional or accidental, that may adversely affect a system and consequently the organization. </li></ul><ul><ul><ul><li>Using another person’s means of access </li></ul></ul></ul><ul><ul><ul><li>Illegal entry by hacker </li></ul></ul></ul><ul><ul><ul><li>Creating “trapdoor” into system </li></ul></ul></ul><ul><ul><ul><li>Theft of data, programs, and equipment </li></ul></ul></ul><ul><ul><ul><li>Staff shortages or strikes </li></ul></ul></ul><ul><ul><ul><li>Inadequate staff training </li></ul></ul></ul><ul><ul><ul><li>Viewing and disclosing unauthorized data </li></ul></ul></ul><ul><ul><ul><li>Data corruption owning to power loss or surge </li></ul></ul></ul><ul><ul><ul><li>Physical damage to equipment </li></ul></ul></ul><ul><ul><ul><li>Introduction of viruses </li></ul></ul></ul>
  4. 4. Potential threats to computer system <ul><li>DBMS and Application Software - Failure of security mechanisms giving greater access; Program alteration; Theft of programs. </li></ul><ul><li>Communication networks - Wire tapping; Breaking of cables; Electronic interference and radiation. </li></ul><ul><li>Data/Database Administrator - Inadequate security policies and procedures. </li></ul><ul><li>Hardware - fire/flood/bombs; Data corruption due to power loss; Theft of equipment; </li></ul><ul><li>Database - Unauthorized amendment or copying of data; Theft of data; Data corruption due to power loss. </li></ul><ul><li>Users - Using another person’s means of access; Viewing and disclosing unauthorized data; Inadequate Staff training; Introduction of viruses. </li></ul><ul><li>Programmers/Operators - Creating trapdoors; Program alteration; Inadequate security policies; Staff shortage or strikes. </li></ul>
  5. 5. Countermeasures – Computer-Based Controls <ul><ul><ul><li>Authorization and Authentication </li></ul></ul></ul><ul><ul><ul><li>Views </li></ul></ul></ul><ul><ul><ul><li>Backup and Recovery </li></ul></ul></ul><ul><ul><ul><li>Integrity </li></ul></ul></ul><ul><ul><ul><li>Encryption </li></ul></ul></ul><ul><ul><ul><li>RAID technology </li></ul></ul></ul>
  6. 6. Authorization and Authentication <ul><li>Authorization – The granting of a right or privilege that enables a subject to have legitimate access to a system or a system’s objects. </li></ul><ul><li>Authentication – A mechanism that determines whether a user is who he/she claims to be. </li></ul>
  7. 7. 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.
  8. 8. 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.
  9. 9. 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-data Algorithm and password Encrypted data
  10. 10. RAID - Redundant Array of Independent Disks <ul><li>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. </li></ul><ul><ul><ul><ul><li>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. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Level 1: Provides disk mirroring. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>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. </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Level 5: Provides data striping at the byte level and also stripe error correction information. This results in excellent performance and good fault tolerance. </li></ul></ul></ul></ul>
  11. 11. 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.
  12. 12. DBMSs and Web Security <ul><ul><ul><li>Proxy servers </li></ul></ul></ul><ul><ul><ul><li>Firewalls </li></ul></ul></ul><ul><ul><ul><li>Message Digest Algorithms and Digital Signature </li></ul></ul></ul><ul><ul><ul><li>Digital Certificates </li></ul></ul></ul><ul><ul><ul><li>SSL and S-HTTP </li></ul></ul></ul>
  13. 13. 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
  14. 14. Firewalls <ul><li>Firewall - is a system that prevents unauthorized access to or from private network. Implemented in software, hardware or both. </li></ul><ul><ul><ul><li>Packet filter </li></ul></ul></ul><ul><ul><ul><li>Application gateway </li></ul></ul></ul><ul><ul><ul><li>Circuit-level gateway (TCP, UDP protocols) </li></ul></ul></ul><ul><ul><ul><li>Proxy server </li></ul></ul></ul>
  15. 15. 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 key of organization. Digital signature is used to verify that the message comes from this organization.
  16. 16. 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.
  17. 17. Secure Sockets Layer and Secure HTTP <ul><li>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. </li></ul><ul><li>Allow Web browsers and servers to authenticate each other </li></ul><ul><li>Permit Web site owners to control access to particular servers, directories, files </li></ul><ul><li>Allow sharing of sensitive information (credit card numbers) only between browser and server </li></ul><ul><li>Ensure that data exchange between browser and server is reliable </li></ul>