Control Hijacking - Attacks Flashcards
What are the different types of control hijacking attacks?
- Buffer overflow
- Integer overflow
- Stack overflow
- Index overflow
- C++ VTables overflow
Define
Control Hijacking Attacks
An attacker hijacks the control flow by corrupting memory
Describe
Buffer Overflow
Writing more data in the buffer and over its adjacement memory
Describe
Integer Overflow
Unexpected results from comparing, casting, and positive/negative integers
How could integer overflow be prevented?
Using assertions
Describe
Stack Overflow
Overwriting the stack information
What does the stack overflow cause?
Segmentation faults
What can an attacker do after a stack overflow?
Jump to user-defined code, overwrite sensitive data
Describe
Index Overflow
Access an array index beyond boundary check
What does an integer flow allow?
Direct write to memory locations
Describe
C++ VTables Overflow
Overwriting a variable or pointer pointing to the vtable with a fake vtable in order to execute malicious code
A program’s state is described by what
Processor registers and memory
Define
Processor Registers
Loads data for operations copied back/from main memory; stores local data for arithmetic computations
Define
Stack
Collection of push/pop operations and stack frames
Which way does the stack grow and towards what?
Down towards lower memory