アドレス空間配置のランダム化
アドレスのランダム化に16ビットを使用する2004年時点の32ビットシステムについて、Shachamと共同研究者は以下のように述べている。「...16ビットのアドレスランダム化はブルートフォース攻撃により数分で破れる」 この研究者の主張は攻撃者が同じアプリケーションに対していかなる遅延もなく複数回攻撃できる能力に依存していることに注意されたい。grsecurityに含まれているような、ASLRの適切な実装は、このようなブルートフォース攻撃を不可能にするいくつかの手法を提供している。ひとつの方法は、ある一定の時間内に設定された回数以上クラッシュした実行ファイルの実行を妨げることである。
一部のシステムはライブラリロード順序のランダム化を実装する。これはライブラリがロードされる順序をランダム化する、ASLRの一形態である。これにより供給されるエントロピーはほとんどない。必要なライブラリ1つごとに供給されるエントロピーのビット数の見積りを以下に示す。これは可変のライブラリサイズを考慮に入れていないため、実際に得られるエントロピーはもう少し大きくなる。攻撃者は通常1つのライブラリしか必要としないことに注意されたい。複数ライブラリの場合の計算式はより複雑になるがこれも以下に示す。攻撃者が1つのライブラリしか使用しない場合は、複雑な式を l = 1 {\displaystyle l=1} として単純化したものであることに注意。
l = number of libraries loaded {\displaystyle l={\mbox{number of libraries loaded}}}
Solaris 11.1 よりサポートされた。
アドレス空間配置のランダム化(英語: address space layout randomization, ASLR)とは、重要なデータ領域 の位置(通常、プロセスのアドレス空間における実行ファイルの基底とライブラリ、ヒープ、およびスタックの位置が含まれる)を無作為に配置するコンピュータセキュリティの技術である。
PaXプロジェクトが最初に「ASLR」という造語を発明した。PaXはASLRの最初の設計と実装を 2001年7月に発行した。これは現在でも最も完全な実装であり、2002年10月からはカーネルスタックのランダム化も提供している。PaXは他の実装と比べて、各ランダム化されたレイアウトごとに最大のエントロピーを与える実装であり続けている。