NFsec Logo

Kernel Address Space Layout Randomization

18/07/2017 w Bezpieczeństwo Brak komentarzy.

J

ak zostało to wspomniane we wcześniejszym wpisie – w wersji Linuksa v3.14 został wprowadzony mechanizm Kernel Address Space Layout Randomization. Wiele dystrybucji od jakiegoś czasu i tak zdecydowało o włączeniu KASLR dlatego od wersji v4.12 jądra Ingo Molnar podjął decyzję o jego aktywacji w standardowej konfiguracji. Oznacza to, że kod jądra będzie losowo umieszczany w pamięci RAM przy każdym starcie systemu:

# 1'wsze uruchomienie
root@darkstar:~# cat /proc/kallsyms | grep ' commit_creds\| prepare_kernel'
ffffffff8109eb60 T commit_creds
ffffffff8109ee40 T prepare_kernel_cred
# 2'gie uruchomienie
root@darkstar:~# cat /proc/kallsyms | grep ' commit_creds\| prepare_kernel'
ffffffffaa0a3bd0 T commit_creds
ffffffffaa0a3fc0 T prepare_kernel_cred

Na temat efektywności tego rozwiązania wypowiedział się Brad Spengler z PaX Team. Warto również zapoznać się z prezentacją Black Hat – „Breaking Kernel Address Space Layout Randomization (KASLR) With Intel TSX”. Dlatego rozwiązanie to należy traktować jako jedną z wielu warstw do ochrony systemu.

Więcej informacji: Kernel address space layout randomization

Address Space Layout Randomization

13/04/2014 w Bezpieczeństwo Brak komentarzy.

O

d wersji jądra 2.6.12 (w innych dystrybucjach jak np. CentOS poszczególne patche mogą być aplikowane do niższych wersji) włączony jest mechanizm ASLRAddress Space Layout Randomization, czyli Losowe Ułożenie Przestrzeni Adresowej, który umożliwia wprowadzenie losowości do schematu adresowania danych procesu, które ładowane są do pamięci. Oznacza to, że ASLR może ulokować położenie kodu wykonalnego, bibliotek, sterty oraz stosu w losowych pozycjach przestrzeni adresowej procesu. Utrudnia to przewidywanie przez atakujący program adresu następnych instrukcji i zabezpieczenie systemu przed atakami typu ret2libc.
[ czytaj całość… ]