Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| aslr [2018/08/18 14:27] – [Overview] rpjday | aslr [2018/08/18 14:35] (current) – [Basics] rpjday | ||
|---|---|---|---|
| Line 7: | Line 7: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | Questions: | ||
| + | |||
| + | * What about kernel ASLR (KASLR)? Look for '' | ||
| ===== Basics ===== | ===== Basics ===== | ||
| - | * Binaries must be position-independent executables. | + | Binaries must be position-independent executables, so worthless on statically-compiled binaries. Possible settings: |
| - | ===== Checking ===== | + | * 0 – No randomization. Everything is static. |
| + | * 1 – Conservative randomization. Shared libraries, stack, mmap(), VDSO and heap are randomized. | ||
| + | * 2 – Full randomization. In addition to elements listed in the previous point, memory managed through brk() is also randomized. | ||
| + | |||
| + | |||
| + | ===== Checking | ||
| + | |||
| + | Checking: | ||
| < | < | ||
| Line 18: | Line 30: | ||
| kernel.randomize_va_space = 2 | kernel.randomize_va_space = 2 | ||
| $ | $ | ||
| + | </ | ||
| + | |||
| + | Changing: | ||
| + | |||
| + | < | ||
| + | # echo 2 > / | ||
| + | # sysctl -w kernel.randomize_va_space=2 | ||
| </ | </ | ||