Saya mengerti itu /dev/kmem
dan /dev/mem
memberikan akses ke memori (yaitu RAM mentah) dari sistem. Saya juga sadar, itu /dev/kmem
bisa sepenuhnya dinonaktifkan di kernel dan akses itu bisa dibatasi /dev/mem
.
Menurut saya, memiliki akses mentah ke memori dapat bermanfaat bagi pengembang dan peretas, tetapi mengapa saya harus memerlukan akses ke memori /dev/mem
. AFAIK tidak dapat dinonaktifkan di kernel (tidak seperti /dev/kmem
). Memiliki akses ke memori mentah yang dapat berpotensi disalahgunakan / dieksploitasi tampaknya bagi saya hanya meminta masalah.
Apakah ada kegunaan praktis untuk itu? Apakah ada program pengguna yang mengharuskannya bekerja dengan baik?
/dev/mem
. Tidak yakin itu masih relevan./dev/mem
. Muat modul, jalankan kode dalam mode kernel. Dan di atas itu, pengerasan terhadap penyerang dengan akses root hanya bermanfaat jika ada hal-hal yang root tidak dapat lakukan, yang cenderung tidak menjadi kasus pada instalasi yang umum.man mem
, akses tulis ke / dev / mem dinonaktifkan oleh tambalan penguncian kernel yang digunakan untuk mendukung "boot aman" (penguncian dapat diaktifkan tanpa boot aman). phoronix.com/…Jawaban:
Ada slide deck dari Scale 7x 2009 berjudul: Undermining the Kernel Linux: Malicious Code Injection via / dev / mem yang berisi 2 peluru ini.
Dari semua yang saya temukan dari pencarian sejauh ini akan tampak bahwa 2 peluru ini adalah pelari terdepan untuk penggunaan yang sah.
Referensi
sumber
X server
server saya, dan dengan demikian tidak perlu/dev/mem
. Apakah ada cara untuk menonaktifkan/dev/mem
sepenuhnya kernel? Saya hanya dapat menemukan "Filter akses ke / dev / mem" (CONFIG_STRICT_DEVMEM
).Perlu dicatat bahwa meskipun Anda dinonaktifkan
/dev/mem
dan/dev/kmem
memori itu masih dapat dibuang; lihatman proc
untuk mengungkapkan/proc/kcore
; itu adalah memori fisik sistem. Rekall forensik toolens yang sangat bagus memiliki alat yang sudah melakukan ini ; itu membuang memori (dan/boot
file) sehingga mereka dapat dianalisis.Faktanya, Ubuntu secara default menonaktifkan
/dev/kmem
:Ubuntu tidak dinonaktifkan
/dev/mem
karena dibutuhkan oleh aplikasi .Bagaimana cara menonaktifkan
/proc/kcore
?Jangan aktifkan
CONFIG_PROC_KCORE
saat membangun kernel.Bagaimana cara Anda menonaktifkan
/dev/mem
?Nah, melihat ke atas
man mem
memberi kita beberapa detail tentang cara pembuatannya:Anda harus bisa adil
rm -rf /dev/mem
; Anda dapat menonaktifkan selama tahap pembuatan kernel dengan tidak mengaktifkanCONFIG_STRICT_DEVMEM
.Bagaimana cara menonaktifkan
/dev/kmem
?Pastikan itu
CONFIG_DEVKMEM
tidak diaktifkan pada kernel build.Bagaimana mencegah serangan cold-boot?
Bagaimana jika saya bisa menonaktifkan
/proc/kcore
,/dev/mem
,/dev/kmem
dan kemudian menggunakan partisi swap terenkripsi atau tidak menggunakan swap sama sekali? Nah, memori Anda bisa dibekukan dan diakses dengan cara itu. Bagaimana Anda mencegah serangan ini? Anda mengenkripsi RAM Anda; bagaimana Anda mengenkripsi RAM Anda? Kamu tidak bisa Lihat TRESOR untuk detailnya .sumber
/dev/kmem
kernel saya, dan saya tidak melihatnya/proc/kcore
di sistem saya. Tapi saya punya/dev/mem
, dan saya ingin menonaktifkannya./proc/mem
seharusnya/dev/mem
, sama untuk/proc/kmem
.Seperti yang Anda ketahui,
/dev/mem
memberikan akses ke memori fisik sistem yang sedang berjalan./dev/kmem
menyediakan akses ke memori virtual kernel. Kedua perangkat karakter ini dapat terus-menerus dinonaktifkan melalui opsi konfigurasi kernel (kode adalah sumber informasi yang paling otoritatif sehingga digunakan untuk referensi). Membatalkan dua opsi pertama di bawah ini akan menonaktifkan perangkat yang sesuai.CONFIG_DEVKMEM
: menentukan apakah/dev/kmem
dibuat saat bootCONFIG_DEVMEM
: menentukan apakah/dev/mem
dibuat saat bootCONFIG_STRICT_DEVMEM
: jika/dev/mem
ada, tentukan apakah akses ke sana dibatasiTergantung pada distribusi Anda, konfigurasi kernel Anda saat ini dapat terlihat menggunakan sesuatu seperti
zless /proc/config.gz
atauless /boot/config-$(uname -r)
.Saya pikir maksud awalnya
/dev/mem
adalah untuk mendukung interaksi dengan perangkat yang dipetakan dengan memori . Implikasi keamanan negatif yang jelas dari memiliki perangkat virtual ini tersedia (misalnya penyerang dapat dengan cepat menambal memori proses lain atau bahkan kernel) telah diketahui setidaknya selama satu dekade. Membatasi akses ke/dev/mem
telah didukung di kernel arus utama sejak awal 2008 ,/dev/kmem
juga telah opsional sejak sekitar itu juga.Satu dekade yang lalu tampaknya
X
bergantung pada/dev/mem
, saya tidak berpikir ini masih benar. Untuk menguji klaim tentangX
perlunya/dev/mem
saya menghapus perangkat virtual dari laptop saya kemarin dan telah berfungsi sepertinya sempurna. Pada 2017 tampaknya tidak ada penggunaan praktis untuk perangkat ini di luar penelitian dan pengembangan.Dari perspektif keamanan, sebaiknya hapus perangkat ini. Perlu dicatat bahwa penyerang jarak jauh , dengan hak istimewa yang tinggi, dapat membaca memori di luar ruang alamatnya. Memori aplikasi ruang pengguna lain dapat diakses menggunakan
/proc/<pid>/mem
. Memori kernel dapat diakses menggunakan/proc/kcore
.sumber
Saya tidak memasukkan
/dev/mem
sistem saya sejak awal. Saya menggunakan Gentoo Linux, jadi ini mungkin tidak mengejutkan, karena dengan distribusi Linux ini Anda membuat sendiri setiap paket, termasuk kernel Linux.Saya tidak pernah melihat adanya masalah karena kurangnya
/dev/mem
, bahkan ketika menggunakan X.org X11. Baru hari ini saya perhatikan bahwa emerge dari paketx11-drivers/xf86-video-vesa
mencetak pesan yang menyatakan bahwa diperlukan/dev/mem
, seperti ini:Karena saya tidak menginstal driver VESA untuk XServer dengan sengaja, atau bahkan jika hanya sebagai mundur saya sebenarnya tidak pernah harus menggunakan dan karena itu tidak menyadarinya - sampai sekarang.
Tetapi ini membuktikan bahwa a) X11 tidak perlu
/dev/mem
lagi, dan b) bahwa beberapa driver video X11 mungkin masih tetap melakukannya.Driver video yang lebih baru untuk perangkat keras tertentu kemungkinan besar akan berfungsi tanpa itu. Sama seperti X.org-X11 modern (di Gentoo,
x11-base/xorg-server
) bahkan tidak harus menjadi suid root lagi, seperti itulah kemajuannya ...sumber