ACLs Flashcards

(30 cards)

1
Q

What is an ACL?

A

Access Control List, a security mechanism defining permissions for resources.

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

Why are good ACLs important?

A

Prevent unauthorized access or modification of sensitive data.

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

What is an example of a vulnerable ACL?

A

Everyone (Full Control) on a registry key.

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

What does Everyone (Full Control) allow?

A

Any user can modify or delete data in the registry key.

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

What is the buggy code issue in the provided example?

A

Assumes registry data is 64 bytes or less, risking buffer overrun.

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

What function is used in the buggy code?

A

RegQueryValueEx, which may return data larger than 64 bytes.

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

What is a buffer overrun in this context?

A

Data exceeding the 64-byte buffer, overwriting memory.

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

How does a weak ACL increase threat level?

A

Allows any user to set large data, triggering a buffer overrun.

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

What can an attacker do with Everyone (Full Control)?

A

Set a buffer larger than 64 bytes or deny app access.

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

How can an attacker deny app access?

A

Set ACL to Everyone (Deny Full Control).

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

Does a good ACL eliminate secure coding needs?

A

No, secure coding is still required.

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

What is the first solution to fix the code?

A

Dynamically allocate buffer based on registry key length.

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

What is the problem with dynamic allocation?

A

Attackers can force large allocations, causing memory exhaustion.

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

What is the second solution to fix the code?

A

Check data length and read only up to buffer’s maximum.

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

What is a safer ACL configuration?

A

Admins (Full Control), Everyone (Read).

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

What does Admins (Full Control) mean?

A

Only admins can modify data or ACLs.

17
Q

What does Everyone (Read) mean?

A

Non-admins can only read the registry key.

18
Q

What is WRITE_DAC in ACLs?

A

Permission to modify the ACL, included in Full Control.

19
Q

Why is the threat less severe with Admins (Full Control)?

A

Only admins can set large data or change ACLs.

20
Q

What is the risk if an attacker is an admin?

A

Can fully control the system, bypassing ACL protections.

21
Q

What is the registry in Windows?

A

A database storing system and application configuration data.

22
Q

What is HKEY_LOCAL_MACHINE?

A

A registry hive storing machine-wide settings.

23
Q

What does ZeroMemory do in the code?

A

Initializes the buffer to zero before use.

24
Q

Why is a fixed 64-byte buffer problematic?

A

Cannot handle larger registry data, risking overflow.

25
What happens if an app runs out of memory?
PC slows drastically, impacting performance.
26
Why validate registry data length?
Prevents buffer overruns and memory issues.
27
What is the threat of a weak ACL?
High, as any user can exploit the registry key.
28
Why is secure coding still necessary with good ACLs?
ACLs don’t prevent coding errors like buffer overruns.
29
What is a registry key?
A container in the registry holding configuration values.
30
Why check buffer length before reading?
Ensures data fits within allocated memory, avoiding overruns.