Lec 8: Software Security 1: Implementation Vulnerabilities 1: Stack Flashcards

1
Q

When is a program secure?

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

What is a software vulnerability?

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

What is a buffer overflow?

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

What makes buffer overflow attacks able to occur?

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

What steps do you need to do to hijack control of a system?

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

What do stack activations for C look like in memory?

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

What does this example look like in Windows x86?

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

Why is strcpy() unsafe?

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

Why is it called shellcode?

A
  • trying to run a shell
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are some challenges for an buffer overflow attacker?

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

What are some examples of string-based bufer overflows that have happened in history?

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

Why are string-based buffer overflows able to happen? What are solutions to this problem?

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

What is the problem with using strncpy() to prevent buffer overflows?

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

How is this a bigger problem than just strings?

A
17
Q

What are the key issues that let buffer overflows happen?

A
18
Q

What is the debate behind bugs vs vulnerabilities?

A
19
Q

Explain the off-by-one buffer overflow example

A
20
Q

What can we do to prevent buffer overflows?

A
21
Q

What are compile time solutions to buffer overflow problems?

A
22
Q

What is stack validation?

A
23
Q

How is a cookie secret in stack validation?

A
24
Q

How does stack validation work?

A
25
Q

What are the issues of stack validation?

A
26
Q

What is memory protection?

A
27
Q

What are the issues with memory protection?

A
28
Q

What is address randomization? What are the challenges?

A
29
Q

How can heap spray be used for randomization?

A
30
Q

How does heap spraying work?

A
31
Q

What makes return-oriented programming possible?

A
32
Q

How does return-oriented programming (bleeding edge) work?

A
33
Q

What is the end result of bleeding edge?

A