メモリー領域に格納するデータのアドレスをランダム化すること。セキュリティ技術の一つで,Linuxをはじめ,Windows Vistaでも採用されている。主にバッファ・オーバーフロー攻撃の対策として利用される。

 LinuxのASLRでは,プログラムの実行時に,メモリー領域に格納される命令や文字配列のアドレスをランダム化する。ASLRが無効の状態では,異なるコンピュータであっても,同じようなシステム上で同一のプログラムを起動すると,データ領域の同じアドレスに命令や文字配列が格納される。この状態でバッファ・オーバーフローを起こす可能性があるプログラムを起動すると,攻撃者は不正な命令を送りつけて,その命令を起動するアドレスを指定しやすい。アドレスがランダム化されることで,指定しづらくなる。

 ASLRは,Fedora Core 6など,主なLinuxディストリビューションの初期設定で有効になっている。

 一方,WindowsのASLRは,共有ライブラリを格納するメモリーのアドレスをランダム化する。バッファー・オーバーフロー攻撃の際に実行する不正な命令が,共有ライブラリを呼び出しにくくすることで,攻撃を受けづらくしている。