Mekanisme isolasi yang mirip dengan plegde sedang dikembangkan di FreeBSD

Terungkap bahwa implementasi telah diusulkan sebuah mekanisme isolasi aplikasi untuk FreeBSD, yang mengingatkan pada flip dan mengungkap panggilan sistem yang dikembangkan oleh proyek OpenBSD.

Isolasi dalam plegde dilakukan dengan melarang akses ke panggilan sistem yang tidak digunakan oleh aplikasi dan mengungkapkan dengan secara selektif membuka akses hanya ke jalur file tertentu yang dapat digunakan oleh aplikasi. Untuk aplikasi, semacam daftar putih panggilan sistem dan jalur file terbentuk, dan semua panggilan dan jalur lainnya dilarang.

Perbedaan antara dilipat dan dibuka, dikembangkan untuk FreeBSD, intinya memberikan lapisan tambahan yang memungkinkan Anda untuk mengisolasi aplikasi tanpa atau sedikit perubahan pada kodenya. Ingatlah bahwa dalam OpenBSD, janjikan dan buka kunci bertujuan untuk integrasi yang erat dengan lingkungan dasar dan diimplementasikan dengan menambahkan anotasi khusus ke kode setiap aplikasi.

Untuk menyederhanakan organisasi perlindungan, filter memungkinkan Anda untuk menghindari detail pada tingkat panggilan sistem individual dan untuk memanipulasi kelas panggilan sistem (input/output, pembacaan file, penulisan file, soket, ioctl, sysctl, awal proses, dll) . Fungsi pembatasan akses dapat dipanggil dalam kode aplikasi saat tindakan tertentu dilakukan, misalnya, akses ke soket dan file dapat ditutup setelah membuka file yang diperlukan dan membuat koneksi jaringan.

Penulis flip dan mengungkapkan port untuk FreeBSD dimaksudkan untuk memberikan kemampuan untuk mengisolasi aplikasi sewenang-wenang, yang diusulkan utilitas tirai, yang memungkinkan penerapan aturan yang ditentukan dalam file terpisah untuk aplikasi. Konfigurasi yang diusulkan mencakup file dengan pengaturan dasar yang menentukan kelas panggilan sistem dan jalur file khas khusus untuk aplikasi tertentu (bekerja dengan suara, jaringan, logging, dll), serta file dengan aturan akses untuk aplikasi tertentu.

Utilitas tirai dapat digunakan untuk mengisolasi sebagian besar utilitas, proses server, aplikasi grafis, dan bahkan seluruh sesi desktop yang belum dimodifikasi. Berbagi tirai dengan mekanisme isolasi yang disediakan oleh subsistem Penjara dan Capsicum didukung.

juga dimungkinkan untuk mengatur isolasi bersarang, ketika aplikasi yang diluncurkan mewarisi aturan yang ditetapkan oleh aplikasi induk, melengkapi mereka dengan kendala terpisah. Beberapa operasi kernel (alat debugging, POSIX/SysV IPC, PTY) juga dilindungi oleh mekanisme penghalang yang mencegah akses ke objek kernel yang dibuat oleh proses selain proses saat ini atau proses induk.

Suatu proses dapat mengonfigurasi isolasinya sendiri dengan memanggil curtainctl atau dengan menggunakan fungsi plegde() dan unveil() yang disediakan oleh perpustakaan libcurtain, mirip dengan OpenBSD. Sysctl 'security.curtain.log_level' disediakan untuk melacak kunci saat aplikasi sedang berjalan.

Akses ke protokol X11 dan Wayland diaktifkan secara terpisah dengan menentukan opsi "-X"/"-Y" dan "-W" saat memulai tirai, tetapi dukungan untuk aplikasi grafis belum cukup stabil dan memiliki serangkaian masalah yang belum terselesaikan ( masalah muncul terutama saat menggunakan X11, dan dukungan Wayland jauh lebih baik). Pengguna dapat menambahkan batasan tambahan dengan membuat file aturan lokal (~/.curtain.conf). Sebagai contoh,

Implementasinya mencakup modul kernel mac_curtain untuk kontrol akses wajib (MAC), satu set tambalan untuk kernel FreeBSD dengan implementasi driver dan filter yang diperlukan, pustaka libcurtain untuk menggunakan plegde dan fungsi yang diungkapkan dalam aplikasi, tirai utilitas, menunjukkan konfigurasi file, rangkaian pengujian, dan patch untuk beberapa program ruang pengguna (misalnya, menggunakan $TMPDIR untuk menyatukan bekerja dengan file sementara). Bila memungkinkan, penulis mencoba meminimalkan jumlah perubahan yang memerlukan patch kernel dan aplikasi.

Akhirnya jika Anda tertarik untuk mengetahui lebih banyak tentang itu, Anda dapat memeriksa detailnya Di tautan berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.