[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