Anonymous user
Stack Smashing Protector: Difference between revisions
Rephrase the explanation for why the method works
[unchecked revision] | [unchecked revision] |
m (formatting) |
(Rephrase the explanation for why the method works) |
||
Line 35:
defusing such attacks.
The detection
trial and error. Since one incorrect canary value prevents further alterations,
above, if the canary contained a zero byte, it would be impossible to guess its
existence and position by trial and error. This forces the attacker to either
not attack, or be detected and be unable to alter the stack any further. This
does not mean that the buffer cannot be exploited. For example, if 16 bytes are
written to the buffer above and it is not null-terminated, unintended behaviour
can still take place later on during program execution.
Note how there is only a single protective value, not every variable is
|