Canaries: Difference between revisions
Jump to navigation
Jump to search
(Created page with "=What are canaries?= From wiki: http://en.wikipedia.org/wiki/Buffer_overflow_protection#Canaries "Canaries are known values that are placed between a buffer and control data...") |
No edit summary |
||
Line 2: | Line 2: | ||
From wiki: http://en.wikipedia.org/wiki/Buffer_overflow_protection#Canaries | From wiki: http://en.wikipedia.org/wiki/Buffer_overflow_protection#Canaries | ||
"Canaries are known values that are placed between a buffer and control data on the stack to monitor buffer overflows." | "Canaries are known values that are placed between a buffer and control data on the stack to monitor buffer overflows." | ||
Those are also present in the PS3 system and they're initialized at kernel startup from timebase counter (ticks). | Those are also present in the PS3 system and they're initialized at kernel startup from timebase counter (ticks). | ||
You can't control them however. These are one of the obstacles against kernel(lv2) exploits. | You can't control them however. These are one of the obstacles against kernel(lv2) exploits. | ||
Revision as of 11:22, 30 April 2014
What are canaries?
From wiki: http://en.wikipedia.org/wiki/Buffer_overflow_protection#Canaries
"Canaries are known values that are placed between a buffer and control data on the stack to monitor buffer overflows."
Those are also present in the PS3 system and they're initialized at kernel startup from timebase counter (ticks).
You can't control them however. These are one of the obstacles against kernel(lv2) exploits.
What functions should have these guards?
Theoretically, only syscalls, but it's unknown for sure.