アドレス空間配置のランダム化
攻撃者は単純な情報漏洩から、攻撃1回あたりの複数ビットエントロピー攻撃(heap sprayingによる攻撃など)まで、いくつかの方法を使ってランダム化されたアドレス空間に現れるエントロピーを削減できる。これに対抗する手段はほとんどない。
書式文字列攻撃を使用したメモリレイアウトに関する情報の漏洩がありうる。printf()のような書式文字列関数は可変長引数リストを使用して作業を行う。書式指定子は引数リストがどのように見えるかを記述する。引数が渡される通常の方法のために、各種書式指定子はスタックフレームの先頭近くに移動する。最終的に、戻り先のポインタとスタックフレームポインタの抽出が可能であり、脆弱なライブラリのアドレスと既知のスタックフレームのアドレスが現れる。これにより攻撃者に対する障害としてのライブラリとスタックのランダム化の効果はまったくなくなる。
スタックやヒープのエントロピーを減らすこともできる。スタックは通常16バイトの倍数境界に配置されなければならないので、ランダム化の間隔もそれより小さくはできない。さらにヒープはページ(通常4096バイト)境界に配置されなければならない。攻撃を試みるとき、重複した攻撃をこれらの境界に合わせることが可能である。