Database Security
Database Security
Database Security
• Database Security - protection from malicious attempts to steal (view) or modify data.
• Database security is the technique that protects and secures the database against intentional or
accidental threats. Security concerns will be relevant not only to the data resides in an
organization's database: the breaking of security may harm other parts of the system, which may
ultimately affect the database structure.
Enforcing adequate database security practices is vital for any
organizations for a variety of reasons. These include:
• The security problem associated with databases is that of controlling the access to a statistical
database, which is used to provide statistical information or summaries of values based on various
criteria.
• The countermeasures to statistical database security problem is called
inference control measures.
Database Security Issues
• Another security is that of flow control, which 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.
• A final security issue is data encryption, which is used to protect sensitive data (such as credit
card numbers) that is being transmitted via some type communication network.
• The data is encoded using some encoding algorithm.
• An unauthorized user who access encoded data will have difficulty
deciphering it, but authorized users are given decoding or decrypting
algorithms (or keys) to decipher data.
Database Security Counter Measures
• RAID: Redundant Array of Independent Disks which protect against data loss due to
disk failure. 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.
• Backup: At every instant, backup should be done. In case of any disaster,
Organizations can retrieve their data.
Database Security and the DBA
8
Database and Application Security, Nov 2006
Physical/OS Security
• Physical level
• Traditional lock-and-key security
• Protection from floods, fire, etc.
• E.g. WTC (9/11), fires in IITM, WWW conf website, etc.
• Protection from administrator error
• E.g. delete critical files
• Solution
• Remote backup for disaster recovery
• Plus archival backup (e.g. DVDs/tapes)
• Operating system level
• Protection from virus/worm attacks critical
Database Encryption
• E.g. What if a laptop/disk/USB key with critical data is lost?
• Partial solution: encrypt the database at storage level, transparent to
application
• Main issue: key management
• E.g. user provides decryption key (password) when database is
started up
• Supported by many database systems
• Standard practice now to encrypt credit card information, and other
sensitive information
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
Network Security
• Network level: must use encryption to prevent
• Eavesdropping: unauthorized reading of messages
• Masquerading:
• pretending to be an authorized user or legitimate site, or
• sending messages supposedly from authorized users
• Handled by secure http - https://
• Typical security classes are top secret (TS), secret (S), confidential (C), and unclassified (U),
where TS is the highest level and U the lowest: TS ≥ S ≥ C ≥ U
• The commonly used model for multilevel security, known as the Bell-LaPadula model, classifies
each subject (user, account, program) and object (relation, tuple, column, view, operation) into
one of the security classifications, T, S, C, or U:
• Clearance (classification) of a subject S as class(S) and to the classification
of an object O as class(O).
Threats
Threat is any intentional or accidental event that may adversely
affect the system.
Examples of threats:
- Using another person’s log-in name to access data
- Unauthorized copying data
- Program/Data alteration
- Illegal entry by hacker
- Viruses
- Etc.
Security Layers in DBMS
• Authorization
• Authentication
Security Layers in DBMS
• Authorization
Authorization means allowing access to the system.
• Authentication
Authentication means confirmation of your identity.
Authentication
Authentication Authorization
It helps decide whether users are what they claim they It helps to decide which user is allowed to access what.
are.
User identity has to be verified via a username and It verifies whether the given access is allowed by
password or answering a security question. following rules and policies.
Typically this process takes place before Authorization. It takes place once Authentication is completed.
Different ways of Authentication are: Other forms of Authorization are:
Captcha test Permissions – Read & Write access to files and allowing
Biometric Authentication access to the database.
Passwords Deciding the roles of users for accessing data
It’s controlled through the server for finding out who’s The server helps to decide that client has the authority
accessing what data or site. to access a resource or not.
Example: Employees authenticating through the network Example: Once an employee is authenticated, the
before opening the company mails. different system decides which information will be
accessed by which employee.
Threats in Database