Defense Against Control Hijacking - Platform Defenses
Defense Against Control Hijacking - Platform Defenses
Defense Against Control Hijacking - Platform Defenses
4
Defense Against Control Hijacking
Platform Defenses
Control Hijacking
Platform Defenses
Preventing hijacking attacks
1. Fix bugs:
Audit software
Automated tools: Coverity, Prefast/Prefix.
Rewrite software in a type safe languange (Java, ML)
Difficult for existing (legacy) code
localbuf /bin/sh
Response: randomization
ASLR: (Address Space Layout Randomization)
Map shared libraries to rand location in process
memory
Attacker cannot jump directly to exec function
Deployment: (/DynamicBase)
Windows 7: 8 bits of randomness for DLLs
aligned to 64K page in a 16MB region 256 choices
Windows 8: 24 bits of randomness on 64-bit processors
Other randomization methods:
Sys-call randomization: randomize sys-call ids
Instruction Set Randomization (ISR)
ASLR Example
Booting twice loads libraries into different locations: