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?
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:
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:
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