Mekanisme pengasingan yang serupa dengan plegde sedang dibangunkan di FreeBSD

Telah diumumkan bahawa pelaksanaan mekanisme pengasingan aplikasi telah dicadangkan untuk FreeBSD , yang mengingatkan panggilan sistem foldde dan unveil yang dibangunkan oleh projek OpenBSD.

Pengasingan dalam plegde dilakukan dengan melarang akses kepada panggilan sistem yang tidak digunakan oleh aplikasi dan mendedahkan dengan membuka akses secara terpilih hanya kepada laluan fail tertentu yang boleh digunakan oleh aplikasi. Untuk aplikasi, sejenis senarai putih panggilan sistem dan laluan fail dibentuk, dan semua panggilan dan laluan lain adalah dilarang.

Perbezaan antara `pledge` dan `unveil` , yang dibangunkan untuk FreeBSD , adalah untuk menyediakan lapisan tambahan yang membolehkan aplikasi diasingkan dengan perubahan minimum atau tiada perubahan pada kodnya. Ingat bahawa dalam OpenBSD, `pledge` dan `unlock` bertujuan untuk penyepaduan yang ketat dengan persekitaran asas dan dilaksanakan dengan menambah anotasi khas pada kod setiap aplikasi.

Untuk memudahkan organisasi perlindungan, penapis membolehkan anda mengelakkan butiran pada tahap panggilan sistem individu dan untuk memanipulasi kelas panggilan sistem (input/output, baca fail, tulis fail, soket, ioctl, sysctl, permulaan proses, dll) . Fungsi sekatan akses boleh dipanggil dalam kod aplikasi kerana tindakan tertentu dilakukan, contohnya, akses kepada soket dan fail boleh ditutup selepas membuka fail yang diperlukan dan mewujudkan sambungan rangkaian.

Pengarang port FreeBSD untuk lipatan dan pembukaan bertujuan untuk menyediakan keupayaan untuk mengasingkan aplikasi sewenang-wenangnya. Untuk mencapai matlamat ini, mereka mencadangkan utiliti tirai, yang membolehkan penggunaan peraturan yang ditakrifkan dalam fail berasingan pada aplikasi. Konfigurasi yang dicadangkan termasuk fail dengan tetapan asas yang menentukan kelas panggilan sistem dan laluan fail biasa khusus untuk aplikasi tertentu (berfungsi dengan bunyi, rangkaian, pembalakan, dll.), serta fail dengan peraturan akses untuk aplikasi tertentu.

Utiliti tirai boleh digunakan untuk mengasingkan kebanyakan utiliti, proses pelayan, aplikasi grafik, dan juga keseluruhan sesi desktop yang belum diubah suai. Berkongsi tirai dengan mekanisme pengasingan yang disediakan oleh subsistem Jail dan Capsicum disokong.

Pengasingan bersarang juga mungkin, di mana aplikasi yang dilancarkan mewarisi peraturan yang ditetapkan oleh aplikasi utama, melengkapkannya dengan sekatan berasingan. Sesetengah operasi kernel (alat penyahpepijatan, POSIX/SysV IPC, PTY) dilindungi selanjutnya oleh mekanisme penghalang yang menghalang akses kepada objek kernel yang dicipta oleh proses selain daripada proses semasa atau utama.

Sesuatu proses boleh mengkonfigurasi pengasingannya sendiri dengan memanggil curtainctl atau menggunakan fungsi pledge() dan unveil() yang disediakan oleh pustaka libcurtain, sama seperti yang terdapat dalam OpenBSD. Sysctl 'security.curtain.log_level' disediakan untuk menjejaki kunci semasa aplikasi sedang berjalan.

Akses kepada protokol X11 dan Wayland didayakan secara berasingan dengan menentukan pilihan "-X"/"-Y" dan "-W" apabila memulakan tirai, tetapi sokongan untuk aplikasi grafik belum cukup stabil dan mempunyai beberapa siri isu yang tidak dapat diselesaikan ( masalah muncul terutamanya apabila menggunakan X11, dan sokongan Wayland adalah lebih baik). Pengguna boleh menambah sekatan tambahan dengan mencipta fail peraturan tempatan (~/.curtain.conf). Sebagai contoh,

Pelaksanaan termasuk modul kernel mac_curtain untuk kawalan capaian mandatori (MAC), satu set patch untuk kernel FreeBSD dengan pelaksanaan pemacu dan penapis yang diperlukan, perpustakaan libcurtain untuk menggunakan fungsi plegde dan didedahkan dalam aplikasi, tirai utiliti, menunjukkan konfigurasi fail, set ujian dan tampalan untuk beberapa program ruang pengguna (contohnya, untuk menggunakan $TMPDIR untuk menyatukan kerja dengan fail sementara). Apabila boleh, pengarang cuba meminimumkan bilangan perubahan yang memerlukan penampalan kernel dan aplikasi.

Akhir sekali, jika anda berminat untuk mengetahui lebih lanjut , anda boleh mendapatkan butiran lanjut di pautan berikut.


Tambahkan sebagai sumber pilihan dalam Google