| previous | index | next |
|
| ||
|
The hijack of control breaks assumptions on how the program behaves, violating its execution model. For example, nearly all programs follow a calling convention where a return address must point to the caller. Yet the hardware imposes no restrictions on return address targets, allowing an attacker who overwrites a return address to successfully divert control flow to malicious code. | ||
| Copyright © 2004 Derek Bruening | ||