C'è una presentazione di Scale 7x 2009 intitolata:Indebolimento del kernel Linux:iniezione di codice dannoso tramite /dev/mem che conteneva questi 2 proiettili.
Chi ne ha bisogno?
- X Server (memoria video e registri di controllo)
- DOSEmu
Da tutto ciò che ho trovato finora dalla ricerca sembrerebbe che questi 2 proiettili siano i primi per usi legittimi.
Riferimenti
- Anthony Lineberry su /dev/mem Rootkits - LJ 8/2009 di Mick Bauer
- Chi ha bisogno di /dev/kmem?
Vale la pena notare che anche se hai disabilitato /dev/mem
e /dev/kmem
quella memoria può ancora essere scaricata; dai un'occhiata a man proc
per rivelare /proc/kcore
; è la memoria fisica del sistema. Un ottimo toolkit forense rekall ha uno strumento che lo fa già; scarica la memoria (e /boot
file) in modo che possano essere analizzati.
Di fatto, Ubuntu per impostazione predefinita disabilita /dev/kmem
:
Non esiste un uso moderno di
/dev/kmem
più oltre agli aggressori che lo utilizzano per caricare i rootkit del kernel.CONFIG_DEVKMEM
è impostato su "n". Mentre il/dev/kmem
device node esiste ancora in Ubuntu 8.04 LTS fino a Ubuntu 9.04, in realtà non è collegato a nulla nel kernel.
Ubuntu non disabilita /dev/mem
perché è necessario per le applicazioni.
Alcune applicazioni (Xorg) richiedono l'accesso diretto alla memoria fisica dallo spazio utente. Il file speciale
/dev/mem
esiste per fornire questo accesso. In passato, era possibile visualizzare e modificare la memoria del kernel da questo file se un utente malintenzionato disponeva dell'accesso root. IlCONFIG_STRICT_DEVMEM
L'opzione del kernel è stata introdotta per bloccare l'accesso alla memoria non del dispositivo (originariamente chiamatoCONFIG_NONPROMISC_DEVMEM
).
Come disabilitare /proc/kcore
?
Non abilitare CONFIG_PROC_KCORE
durante la compilazione del kernel.
Come si disabilita /dev/mem
?
Bene, guardando oltre man mem
ci fornisce alcuni dettagli su come è stato creato:
mknod -m 660 /dev/mem c 1 1
chown root:kmem /dev/mem
Dovresti essere in grado di eseguire solo rm -rf /dev/mem
; puoi disabilitare durante la fase di compilazione del kernel non abilitando CONFIG_STRICT_DEVMEM
.
Come disabilitare /dev/kmem
?
Assicurati che CONFIG_DEVKMEM
non è abilitato alla compilazione del kernel.
Come prevenire gli attacchi di avvio a freddo?
E se potessi disabilitare /proc/kcore
, /dev/mem
, /dev/kmem
e poi ha utilizzato una partizione di swap crittografata o non ha utilizzato affatto lo swap? Bene, la tua memoria potrebbe essere semplicemente congelata e accessibile in quel modo. Come prevenire questo attacco? Crittografi la tua RAM; come si crittografa la RAM? Non puoi. Vedi TRESOR per i dettagli.