How are Buffer Overflow attacks harmful?
Attacker can exploit to make an app run arbitary code.
E.g: SQL attacks, countless worms.
What are the elements of x86 architecture?
Text: Instructions
Data: Static variables
Heap
Stack: command line args
What are ESP and EBP?
ESP: Points to stack top.
EBP: Points to base of stack frame.
Describe the NX bit?
Provides hardware distinction between text and stack.
Program will crash if EIP points to stack.
What is an attack against the NX bit?
Reuse code from executable memory.
E.g: Jump to another function, jump to library function
What is ASLR?
Address Space Layout Randomization.
Adds random stack offset code base offset each time it runs.