P1L7 Database Security Flashcards

1
Q

Importance of DB security

A
  • -Databases store massive amounts of sensitive data
  • -Data has structure that influences how it is accessed
  • -Accessed via queries or programs written in languages like SQL
  • -Transactional nature of queries (done completely or not done at all)
  • -Derived data or database views
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Who are the biggest threats to DB?

A

Insiders and unauthorized users

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Databases are attractive to users because

A
  • -they store info that is easily monetized
  • -they store info about a lot of users
  • -query languages used to access data can be abused
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Relational Databases

A

–Consists of relations or tables

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

RDBS table

A

A table is defined by a schema and consists of tuples

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Tuples

A

Store attribute values as defined by schema

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Keys

A

Used to access data in tuples

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Primary Key

A

A unique key for each tuple in the table

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Foreign Key

A

A primary key from another table

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

T/F: A database view enhances data security.

A

True. It can exclude sensitive attributes that should not be accessible to certain users

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

DB Access Control

A

GRANT or REVOKE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Privileges

A

SELECT, INSERT, UPDATE, or DELETE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

SQL injections

A

Malicious SQL commands sent to a database

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

SQL Injection Defenses

A

–Input checking (all input is evil)
Top 10 Defenses
1. Parameterize Queries
2. Encode data
3. Validate all inputs
4. Implement appropriate access controls
5. Establish identity and authentication controls
6. Protect Data and Privacy
7. Implement logging, error handling, and intrusion detection
8. Leverage security features of frameworks and security libraries
9. Include security­specific requirements
10. Design and architect security libraries

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Inference attacks

A

Using the data to make an inference about the results returned. Sometimes requires additional outside info.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Defenses against inference attacks

A
  • -Do not allow aggregate query results when the set of tuples selected is either too small or too large (Perturbation)
  • -De-identification: transform data by removing identifying info.
  • -Anonymization: replace exact values with a more general values