Code Reuse Attacks Flashcards

1
Q

ROP

A

Return Oriented Programming

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

When is ROP suitable?

A

When your data is not executable.

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

ROP Gadgets

A

Snippets of executable code that end in a ret instruction.

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

In system call 64 bit convention, which register changes for what argument and to which?

A

Argument 4, from RCX to R10

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

Register that gives the reference to which syscall is being called

A

RAX

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

SROP

A

Signal Return Oriented Programming

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

Advantage of SROP

A

Only need a sigreturn trampoline a.k.a. syscall gadget for it to work in addition to ROP requirements.

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

When to use SROP?

A

You are missing ROP gadgets.
Portable exploits.

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

ret2csu

A

csu_init function adds code that gives us a gadget to control rbx,rbp,r12,r13,r14,r15 and allows us to call an arbitrary function pointer with three controlled arguments.

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

JOP

A

Jump Oriented Programming

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

Definition of JOP

A

Uses dispatchers in order to jump between code and circumvent back-edge CFI checks by not executing ret instructions.

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

Dispatcher Gadget

A

Snippet of code executable code that ends with a call or jump instruction.

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