アドレス空間配置のランダム化
アドレス空間のランダム化は、攻撃者が標的のアドレスを予測することをより困難にすることによって、ある種のセキュリティ攻撃を妨害する。たとえば、return-to-libc攻撃で実行を試みる攻撃者は実行されるコードの位置を特定しなければならず、スタック上に注入されたシェルコードの実行を試みる他の攻撃者はまずスタックを見つけなければならない。どちらの場合も、関連するメモリアドレスは攻撃者から隠されている。攻撃者はこれらの値を推測しなくてはならず推測が失敗すると通常アプリケーションはクラッシュするため、回復は不可能である。
E m = entropy bits of mmap() base {\displaystyle E_{m}={\mbox{entropy bits of mmap() base}}\,}
E x = entropy bits of main executable base {\displaystyle E_{x}={\mbox{entropy bits of main executable base}}\,}
E h = entropy bits of heap base {\displaystyle E_{h}={\mbox{entropy bits of heap base}}\,}
A s = attacked bits per attempt of stack entropy {\displaystyle A_{s}={\mbox{attacked bits per attempt of stack entropy}}\,}
A m = attacked bits per attempt of mmap() base entropy {\displaystyle A_{m}={\mbox{attacked bits per attempt of mmap() base entropy}}\,}
A x = attacked bits per attempt of main executable entropy {\displaystyle A_{x}={\mbox{attacked bits per attempt of main executable entropy}}\,}