Re: git: b014e0f15bc7 - main - Enable ASLR by default for 64-bit executables
- In reply to: Shawn Webb : "Re: git: b014e0f15bc7 - main - Enable ASLR by default for 64-bit executables"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 18 Nov 2021 15:28:52 UTC
On Wed, 17 Nov 2021 at 00:40, Shawn Webb <shawn.webb@hardenedbsd.org> wrote:
>
> It also doesn't make much sense to toggle AS{L}R for the different
> parts of an executable image. AS{L}R is an "all or nothing" thing.
There's not toggles for different parts of an executable image.
The aslr_enable and pie_aslr_enable sysctls are for two different
types of ELF objects. As for aslr_honor_sbrk, sbrk(2) is a legacy
memory management interface - from the man page:
The brk() and sbrk() functions are legacy interfaces from before the
advent of modern virtual memory management. They are deprecated and not
present on the arm64 or riscv architectures. The mmap(2) interface
should be used to allocate pages instead.
The brk() and sbrk() functions are used to change the amount of memory
allocated in a process's data segment. They do this by moving the
location of the “break”. The break is the first address after the end of
the process's uninitialized data segment (also known as the “BSS”).
aslr_honor_sbrk determines whether the kernel reserves a region for
brk/sbrk to grow into. If set to 1 the kernel reserves this area, and
randomly-addressed mappings will not be placed there.