Ada dek slide dari Skala 7x 2009 berjudul:Merongrong Kernel Linux:Injeksi Kode Berbahaya melalui /dev/mem yang berisi 2 poin ini.
Siapa yang butuh ini?
- Server X (Memori Video &Register Kontrol)
- DOSEmu
Dari semua yang saya temukan dari penelusuran sejauh ini, tampaknya 2 peluru ini adalah yang terdepan untuk penggunaan yang sah.
Referensi
- Anthony Lineberry di /dev/mem Rootkits - LJ 8/2009 oleh Mick Bauer
- Siapa yang membutuhkan /dev/kmem?
Perlu dicatat bahwa meskipun Anda menonaktifkan /dev/mem
dan /dev/kmem
memori itu masih bisa dibuang; lihat man proc
untuk mengungkapkan /proc/kcore
; itu adalah memori fisik sistem. Rekall toolkit forensik yang sangat bagus memiliki alat yang sudah melakukan ini; itu membuang memori (dan /boot
file) agar dapat dianalisis.
Faktanya, Ubuntu secara default menonaktifkan /dev/kmem
:
Tidak ada penggunaan modern dari
/dev/kmem
lebih dari penyerang yang menggunakannya untuk memuat rootkit kernel.CONFIG_DEVKMEM
diatur ke "n". Sedangkan/dev/kmem
node perangkat masih ada di Ubuntu 8.04 LTS hingga Ubuntu 9.04, sebenarnya tidak dilampirkan ke apa pun di kernel.
Ubuntu tidak menonaktifkan /dev/mem
karena dibutuhkan oleh aplikasi.
Beberapa aplikasi (Xorg) memerlukan akses langsung ke memori fisik dari ruang pengguna. File khusus
/dev/mem
ada untuk menyediakan akses ini. Dulu, dimungkinkan untuk melihat dan mengubah memori kernel dari file ini jika penyerang memiliki akses root.CONFIG_STRICT_DEVMEM
opsi kernel diperkenalkan untuk memblokir akses memori non-perangkat (aslinya bernamaCONFIG_NONPROMISC_DEVMEM
).
Cara menonaktifkan /proc/kcore
?
Jangan aktifkan CONFIG_PROC_KCORE
saat membangun kernel.
Bagaimana Anda menonaktifkan /dev/mem
?
Lihat man mem
memberi kami beberapa detail tentang cara pembuatannya:
mknod -m 660 /dev/mem c 1 1
chown root:kmem /dev/mem
Anda seharusnya hanya dapat rm -rf /dev/mem
; Anda dapat menonaktifkan selama fase pembuatan kernel dengan tidak mengaktifkan CONFIG_STRICT_DEVMEM
.
Cara menonaktifkan /dev/kmem
?
Pastikan bahwa CONFIG_DEVKMEM
tidak diaktifkan pada pembuatan kernel.
Bagaimana cara mencegah serangan cold-boot?
Bagaimana jika saya dapat menonaktifkan /proc/kcore
, /dev/mem
, /dev/kmem
dan kemudian menggunakan partisi swap terenkripsi atau tidak menggunakan swap sama sekali? Nah, memori Anda bisa saja dibekukan dan diakses dengan cara itu. Bagaimana Anda mencegah serangan ini? Anda mengenkripsi RAM Anda; bagaimana Anda mengenkripsi RAM Anda? Anda tidak bisa. Lihat TRESOR untuk detailnya.