Perubahan dilakukan pada OpenBSD untuk lebih melindungi memori proses

Theo de Raadt telah menambahkan serangkaian patch pada basis kode OpenBSD untuk lebih melindungi memori proses di ruang pengguna. Pengembang ditawari panggilan sistem baru dan fungsi perpustakaan terkait dengan nama yang sama, mimmutable, yang memungkinkan Anda untuk memperbaiki hak akses saat mencerminkan ke dalam memori (pemetaan memori). Setelah melakukan, hak yang ditetapkan untuk area memori, misalnya, larangan penulisan dan eksekusi, tidak dapat diubah selanjutnya melalui panggilan berikutnya ke fungsi mmap(), mprotect() dan munmap(), yang akan menghasilkan kesalahan EPERM saat mencoba Untuk mengganti.

Untuk mengontrol kemampuan mengubah hak memori yang dipantulkan untuk file objek, bagian BSS yang Dapat Diubah (.openbsd.mutable, Simbol Awal Blok yang Dapat Diubah) telah diusulkan, dan flag baru PF_MUTABLE dan UVM_ET_IMMUTABLE telah ditambahkan. Menambahkan dukungan pada linker untuk mendefinisikan bagian "openbsd.mutable" dan menempatkannya di area terpisah di BSS, selaras dengan batas halaman memori. Dengan memanggil fungsi mimmutable, dimungkinkan untuk menandai semua area yang dicerminkan sebagai tidak dapat diubah, dengan pengecualian bagian yang bertanda "openbsd.mutable". Fitur baru ini akan diluncurkan kepada pengguna pada rilis OpenBSD 7.3.

Sumber: opennet.ru

Tambah komentar