Dokumentace pro randomize_va_space
sysctl nastavení je v Documentation/sysctl/kernel.txt
ve zdrojovém stromu jádra. V podstatě
0 - Vypněte randomizaci adresního prostoru procesu.
1 - Udělejte náhodné adresy základny mmap, zásobníku a stránky VDSO.
2 – Dále povolit randomizaci haldy.
Nejlepším způsobem, jak lokálně zakázat ASLR v systému založeném na Linuxu, je použít příznaky osobnosti procesů. Příkaz pro manipulaci s příznaky osobnosti je setarch
s
-R
,--addr-no-randomize
Zakáže randomizaci virtuálního adresového prostoru (zapne ADDR_NO_RANDOMIZE).
Zde je návod, jak postupovat:
$> setarch $(uname -m) -R /bin/bash
Tento příkaz spustí shell, ve kterém byla deaktivována ASLR. Všichni potomci tohoto procesu zdědí příznaky osobnosti otce, a tak mají zakázanou ASLR. Jediný způsob, jak prolomit dědičnost příznaků, by bylo zavolat program setuid (podpora takové funkce by byla porušením zabezpečení).
Všimněte si, že uname -m
je zde proto, aby nekódoval architekturu vaší platformy a učinil tento příkaz přenositelným.