Buffer Overflows Flashcards

1
Q

What is a Buffer Overflow?

A

Occurs when a process stores data outside the memory range allocated by the developer.

Essentially its an attempt to but more data into memory than the memory was designed to hold.

Note: 85% of data breaches were started with a buffer overflow.

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

What is a Buffer?

A

A temporary storage area that a program uses to “preload” or store data.

EXA: In a word document, the text written is stored in a buffer until you save it.

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

What is a Stack and how is it related to a Buffer?

A

A reserved area of memory where a program saves the return address when a function call instruction is received.

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

How does an attacker “Smash the Stack”?

A

It occurs when an attacker fills up the buffer with a “NOP” (Non Operation) so that the return address may hit a NOP and continue until it finds the malicious code.

Note: Essentially, the attacker wants to overflow the buffer, overwrite the instructions with the NOP, and get the program to find the attackers code instead.

Note: This requires a bit of guess work on the attackers part to know where the buffer is.

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

How does Address Space Layout Randomization prevent Buffer Overflows?

A

Method used by programmers to randomly arrange the different address spaces used by a program to prevent buffer overflow exploits.

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