- Address Space Layout Randomization
-
Address space layout randomization (ASLR) — технология, применяемая в операционных системах, при использовании которой случайным образом изменяется расположение в адресном пространстве процесса важных структур, а именно: образа исполняемого файла, подгружаемых библиотек, кучи и стека.
Технология ASLR значительно усложняет успешную эксплуатацию нескольких типов уязвимостей. Например, даже если при помощи переполнения буфера или другим методом атакующий получит возможность передать управление по произвольному адресу, ему нужно будет угадать, где же именно расположен стек или куча или другие места в памяти в которые он может поместить шелл-код. Сходные проблемы возникнут и при атаке типа Возврат в библиотеку (return-to-libc), так как атакующий не знает адреса, по которому загружена библиотека. В данных примерах от нападающего скрыты конкретные адреса. Если ему не удастся угадать правильный адрес, приложение скорее всего аварийно завершится, тем самым лишив атакующего возможности повторной атаки и привлекая внимание системного администратора.
Содержание
Реализации
OpenBSD
Одна из ранних реализаций ASLR. Включено по умолчанию
Linux
С 2005 года (ядро 2.6.12) Линукс имеет простой вариант ASLR. Различные патчи безопасности (PaX, ExecShield, и др) реализуют более сложные и полные варианты ASLR. В дистрибутивах, содержащих в названии «Hardened», а также в современных версиях Ubuntu, сильные варианты включены по умолчанию.
Для случайного расположения в памяти образа исполняемого файла он должен быть скомпилирован в режиме Position-independent executable (вариант Позиционно-независимого кода для исполняемых файлов).
Microsoft Windows
Включено по умолчанию в Windows Vista (2007), Windows Server 2008, Windows 7, Windows Server 2008 R2. Отключается для приложений собранных сo специальными флагами и при работе в режиме совместимости с более ранними версиями Windows. При помощи набора средств от Майкрософта- EMET (Enhanced Mitigation Experience Toolkit) включается для любых выбранных приложений на Windows XP и Windows Server 2003.
Mac OS X
Некоторая случайность при загрузке библиотек добавлена в Mac OS X v10.5 (2007). В OS X Mountain Lion является частью ядра системы.
В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники.
Эта отметка установлена 15 июня 2012.Ссылки
- ASLR Bypass in Windows - Brian Mariani
- PaX documentation on ASLR
- Comparison of PaX to Exec Shield and W^X
- ASLR for Windows Vista beta 2
- ASLR for Windows 2000/XP/2003 (WehnTrust)
- Набор средств EMET- реализация ASLR для Windows XP/2003
- Bypassing PaX ASLR protection
- On the effectiveness of address space layout randomization
- Microsoft Finds (Random) Way to Secure Vista
- Windows Vista Randomization Gets OEM Thumbs Up
- Test Applications (or libraries) for their ASLR and DEP support
- ASLR Smack & Laugh Reference
Категория:- Информационная безопасность
Wikimedia Foundation. 2010.