3

32 ビット x86 Ubuntu デスクトップを使用しています。/proc/[pid]/mmaps を調べたところ、スタック ベース アドレスが常に変更されていることがわかりました (たとえば、次の場合は 0xbfe76000)。したがって、カーネル (または ELF ローダー) は、プロセスが開始されるたびにスタックの場所をランダム化する必要があると思います。

スタックベースアドレスのランダム化のための正確なコード (カーネルまたは ELF ローダー内) はどこにあるのか疑問に思っています。0xC0000000 のすぐ下にいくつかのページを (たとえば mmap 経由で) 割り当てたいのですが、スタックがたとえば 0xbffff000 にある可能性があるかどうかはわかりません。ありがとうございました!

... ...
b7762000-b7763000 rw-p 00020000 fc:00 1188263    /lib/i386-linux-gnu/ld-2.19.so
bfe55000-bfe76000 rw-p 00000000 00:00 0          [stack]
4

1 に答える 1