Die Dokumentation für randomize_va_space
sysctl Einstellung ist in Documentation/sysctl/kernel.txt
im Kernel-Quellbaum. Grundsätzlich
0 - Schaltet die Randomisierung des Adressraums des Prozesses aus.
1 - Machen Sie die Adressen von Mmap-Basis, Stack und VDSO-Seite randomisiert.
2 - Aktivieren Sie zusätzlich die Heap-Randomisierung.
Der beste Weg, ASLR auf einem Linux-basierten System lokal zu deaktivieren, ist die Verwendung von Prozesspersönlichkeits-Flags. Der Befehl zum Manipulieren von Persönlichkeits-Flags ist setarch
mit
-R
, --addr-no-randomize
Deaktiviert die Randomisierung des virtuellen Adressraums (schaltet ADDR_NO_RANDOMIZE ein).
So gehen Sie vor:
$> setarch $(uname -m) -R /bin/bash
Dieser Befehl führt eine Shell aus, in der ASLR deaktiviert wurde. Alle Nachkommen dieses Prozesses erben die Persönlichkeits-Flags des Vaters und haben somit eine deaktivierte ASLR. Die einzige Möglichkeit, die Vererbung der Flags zu unterbrechen, wäre der Aufruf eines setuid-Programms (es wäre eine Sicherheitsverletzung, eine solche Funktion zu unterstützen).
Beachten Sie, dass der uname -m
ist hier, um die Architektur Ihrer Plattform nicht fest zu codieren und diesen Befehl portabel zu machen.