[devel] Q: AltLinux/Kernels, prelink and address space randomization (and PIE)
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Июл 14 00:07:20 MSD 2006
On Thu, Jul 13, 2006 at 01:01:05PM +0400, Dmitry V. Levin wrote:
> On Thu, Jul 13, 2006 at 10:14:20AM +0300, Michael Shigorin wrote:
> > Здравствуйте.
> > Есть маленький вопрос по поводу http://lwn.net/Articles/189546/
>
> Предварительно следует ознакомиться с Дреперровской статьёй
> (http://people.redhat.com/drepper/nonselsec.pdf "ELF Data Hardening").
Типа круто. Я только что понял, зачем нужны PIE.
У разделяемых библиотек появляется ещё одно преимущество по сравнению
со статическими библиотеками, по части security: если ядро поддерживает
рандомизацию адресов загрузки разделяемых библиотек, то атаки типа
return-to-libc осуществить гораздо сложнее.
С другой стороны, Дреппер как бы немного лжот вот в каком отношении.
Рандомизация на самом деле происходит не per-process, а per-exec.
Это значит, что в схеме с privilege separation, когда главный процесс
форкается и сбрасывает права, карта адресов у каждого детёныша будет
одна и та же. Если хакер не угадывает нужного адреса с первого раза,
то детёныш мрёт, но это является ненулевой информацией для последующих
попыток.
То есть если у детёныша нет прослойки из exec'а, тогда
последовательность угадываний имеет смысл. От рандомизации в основном
выигрывают "суперсерверы" типа inetd.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060714/b033e715/attachment-0001.bin>
Подробная информация о списке рассылки Devel