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.