ASLR (address space layout randomization) — технология, при которой в операционных системах случайным образом изменяется расположение в адресном пространстве процесса важных структур данных: образов исполняемого файла, подгружаемых библиотек, кучи и стека. 1
В разных операционных системах реализация ASLR отличается: 35
- OpenBSD. 1 В 2003 году OpenBSD стала первой среди широкодоступных операционных систем, поддерживающих ASLR по умолчанию. 1
- Linux. 1 В ядре Linux простой вариант ASLR имеется с 2005 года (с версии 2.6.12). 1 Более сложные и полные варианты ASLR предлагаются в виде патчей (PaX, Exec Shield и др.). 1 В дистрибутивах, содержащих в названии слово «hardened», а также в современных версиях дистрибутива Ubuntu, сильные варианты включены по умолчанию. 1
- Microsoft Windows. 1 В ОС Windows технология ASLR поддерживается, начиная с Windows Vista (2007 год) для исполнимых файлов и библиотек, собранных со специальными флагами. 1 ASLR не используется для приложений, собранных без специальных флагов, и при работе в режиме совместимости с более ранними версиями Windows. 1
- Mac OS X. 1 Некоторая случайность при загрузке библиотек добавлена в ОС Mac OS X v10.5 Leopard (2007 год). 1 В OS X 10.8 Mountain Lion (2012) ASLR является частью ядра системы. 1
- iOS. 1 В ОС iOS технология ASLR используется начиная с версии 4.3, для ядра — с iOS 6. 1
ASLR создана для того, чтобы затруднить эксплуатацию нескольких типов уязвимостей. 1