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 Defenses1. Parameterize Queries2. Encode data3. Validate all inputs4. Implement appropriate access controls5. Establish identity and authentication controls6. Protect Data and Privacy7. Implement logging, error handling, and intrusion detection8. Leverage security features of frameworks and security libraries9. Include security­specific requirements10. 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