8. Database Security – 3marks Flashcards
How does privacy differ to security?
Privacy involves the ability of individuals to control the terms under which their sensitive data (personal information) is acquired and used
In contrast;
Security is required building block for privacy, and includes
• Preventing storage of sensitive data
• Ensuring appropriate/authorized use of sensitive data
What are the forms of sensitive data?
- Inherently sensitive
- From a sensitive source
- Declared sensitive
- A sensitive attribute or sensitive record
- Sensitivity in relation to previously disclosed data
Why is there typically a trade-off between accessibility and security?
Ensuring data kept safe from corruption and access suitably controlled can mean reduced accessibility (and the inverse).
Threats to database security include the loss of:
( Acronym to remember: CIA )
Confidentiality
– Unauthorized disclosure of confidential information
Integrity
– Improper modification of information
Availability
– Legitimate user cannot access data objects
Database control measures include:
(acronym to remember: AIFE)
Access control
– Handled by creating user accounts and passwords
Inference control
– Must ensure information about individuals cannot be accessed
Flow control
– Prevents information from flowing to unauthorized users
Encryption of Data
– Used to protect sensitive transmitted data
The 3 Access control measures include:
Discretionary Access Control – Used to grant privileges to users Mandatory Access Control – Classify data and users into various security classes – Implement security policy Role-based Access Control
What is the most common threat to a database system? Describe it?
SQL injection, where:
Attacker injects a string input through the (often web) application which changes or manipulates SQL statement to attacker’s advantage
Threats to database security include:
- SQL injection
- Unauthorized privilege escalation – Privilege abuse
- Denial of service
- Weak authentication
The 3 main SQL injection methods include:
SQL manipulation
– Changes an SQL command in the application
– Example: adding conditions to the WHERE clause Typical
manipulation attack occurs during database login
Code injection
– Add additional SQL statements or commands that are then processed
Function call injection
– Database or operating system function call inserted into vulnerable SQL statement to manipulate data or make a privileged system call
Risks Associated with SQL Injection are:
- Database fingerprinting
- Denial of service
- Bypassing authentication
- Identifying injectable parameters
- Executing remote commands
- Performing privilege escalation
Three Protection Techniques for SQL injection are:
Blind variables (using parameterized statements)
– Protects against injection attacks
– Improves performance
Filtering input (input validation)
– Remove escape characters from input strings
– Escape characters can be used to inject manipulation attacks
Function security
– Standard and custom functions should be restricted