Re: where does the stack of a process start

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Prabhu,

On Sun, Oct 17, 2010 at 7:47 PM, Prabhu nath <gprabhunath@xxxxxxxxx> wrote:
> What I have understood is, the stack segment and the heap segment in the
> virtual address space of an application is allocated by the kernel and the
> starting address of these segments vary for every execution of a program (
> on the premise that the program is not changed). Unlike the program's .text
> and .data sections where the starting address is defined by the linker
> script and will be same for a program unless one changes the program
> contents.
>
> Even I am interested in knowing the exact reason/algorithm adopted by the
> kernel.

The reason for doing this is to make it more difficult for certain
exploits to work. Stack overwrite exploits typically require that the
stack be at a particular location. By randomizing it, it makes this
particular type of exploit much more difficult to create.

-- 
Dave Hylands
Shuswap, BC, Canada
http://www.DaveHylands.com/

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux