Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
aslr [2018/08/18 14:26] rpjdayaslr [2018/08/18 14:35] (current) – [Basics] rpjday
Line 7: Line 7:
   * [[https://lwn.net/Articles/569635/|Kernel address space layout randomization (LWN, 2013)]]   * [[https://lwn.net/Articles/569635/|Kernel address space layout randomization (LWN, 2013)]]
   * [[https://linux-audit.com/linux-aslr-and-kernelrandomize_va_space-setting/|Linux and ASLR: kernel/randomize_va_space]]   * [[https://linux-audit.com/linux-aslr-and-kernelrandomize_va_space-setting/|Linux and ASLR: kernel/randomize_va_space]]
 +  * [[https://securityetalii.es/2013/02/03/how-effective-is-aslr-on-linux-systems/|How Effective is ASLR on Linux Systems? (2013)]]
  
-===== Checking =====+Questions: 
 + 
 +  * What about kernel ASLR (KASLR)? Look for ''RANDOMIZE'' options. 
 + 
 +===== Basics ===== 
 + 
 +Binaries must be position-independent executables, so worthless on statically-compiled binaries. Possible settings: 
 + 
 +  * 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 and changing ===== 
 + 
 +Checking:
  
 <code> <code>
Line 14: Line 30:
 kernel.randomize_va_space = 2 kernel.randomize_va_space = 2
 $ $
 +</code>
 +
 +Changing:
 +
 +<code>
 +# echo 2 > /proc/sys/kernel/randomize_va_space
 +# sysctl -w kernel.randomize_va_space=2
 </code> </code>
  • aslr.1534602404.txt.gz
  • Last modified: 2018/08/18 14:26
  • by rpjday