grsec guida disabilitare caricamento moduli kernel

11/10/2006 by - kernel, Linux

Con la nuova versione di grsecurity

http://www.grsecurity.net/grsecurity-2.1.9-2.4.33.3-200609031224.patch.gz

è stato inserita una nuova voce: Runtime module disabling

Grsecurity è una suite di patch che permettono una gestione security oriented del kernel. Guide per la compilazione di un kernel+grsec ce ne sono a decine

CONFIG_GRKERNSEC_MODSTOP

Settando qeusta opzione a Y il sistema non permetterà nè agli utenti nè a root di abilitare o disabilitare moduli. In fase di boot verranno caricati i moduli necessati per il funzionamento, poichè l’opzione all’avvio è disabilitata

all’avvio della macchina sotto

/proc/sys/kernel/grsecurity

si troverà un file “disable_modules” con valore “0”
in questo modo si ha la possibilità di caricare tutti i moduli ancora
necessari come ad esempio quelli di iptables

una volta caricati i moduli necessari si può disabilitare in questo modo

echo "1" > /proc/sys/kernel/grsecurity/disable_modules

da questo momento in poi non è piu possibile aggiungerne o toglierne, non
è possibile nemmeno disabilitare l’opzione che inibisce l’inserimento

—————————–
kernel:/proc/sys/kernel/grsecurity# cat disable_modules
1
kernel:/proc/sys/kernel/grsecurity# echo “0” > disable_modules
kernel:/proc/sys/kernel/grsecurity# cat disable_modules
1
kernel:/proc/sys/kernel/grsecurity#
—————————-

se provo a caricare un nuovo modulo, sempre iptables ad esempio, otterrò un errore.

———————————————–
kernel:/proc/sys/kernel/grsecurity# iptables -nL
/lib/modules/2.4.33.3-grsecblindato/kernel/net/ipv4/netfilter/ip_tables.o:
create_module: Operation not permitted
/lib/modules/2.4.33.3-grsecblindato/kernel/net/ipv4/netfilter/ip_tables.o:
insmod /lib/modules/2.4.33.3-grsecblindato/kerneld
/lib/modules/2.4.33.3-grsecblindato/kernel/net/ipv4/netfilter/ip_tables.o:
insmod ip_tables failed
iptables v1.2.11: can’t initialize iptables table `filter’: iptables who?
(do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
———————————————–

una volta attivata l’opzione bisogna riavviare per aggiungere un modulo, disable_modules torna disabilitato cioè al valore 0

————————————————
kernel:/proc/sys/kernel/grsecurity# cat disable_modules
0
————————————————

Questa opzione dovrebbe proteggerci dalla maggior parte dei rootkit, bisogna tenere conto che bisognerebbe associare anche l’opzione per proteggere /dev/mem.

Esistono ancora semplici strade per bypassare questa protezione, basta ad esempio modificare uno degli script di init che vengono lanciati all’avvio: scrivendo una semplice riga “insmod rootkitexec” un attaccante al prossimo reboot troverà il rootkit già caricato in memoria pronto per essere usato. In questo caso ci viene in aiuto un tool come samhain che controlla periodicamente l’integrità dei file. Samhain può essere paragonato a un IDS, maggiori informazioni sul sito dell’autore Rainer Wichmann

Grsec http://www.grsecurity.net
Kernel http://kernel.org
Samhain http://la-samhna.de



Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.