Direncanakake kanggo port mekanisme isolasi janji menyang Linux

Bubar penulis perpustakaan standar Cosmopolitan C lan platform Redbean announced liwat a announced, implementasine saka ikrar () mekanisme isolasi kanggo Linux.

Was wiwitane dikembangake dening proyek OpenBSD y ngijini sampeyan kanggo selektif ban sing ing aplikasi ngakses panggilan sistem sing ora digunakake (jinis whitelist telpon sistem kawangun kanggo aplikasi lan telpon liyane dilarang). Beda karo mekanisme kontrol akses syscall sing kasedhiya ing Linux, kayata seccomp, mekanisme ikrar dirancang saka awal supaya bisa gampang pangguna.

Inisiatif gagal kanggo ngisolasi aplikasi ing lingkungan basis OpenBSD nggunakake mekanisme systrace nuduhake yen isolasi ing tingkat panggilan sistem individu rumit banget lan butuh wektu.

Minangka alternatif, janji diusulake, sing diijini nggawe aturan isolasi tanpa arep rincian lan manipulasi kelas akses disiapake.

Contone, kelas sing ditawakake yaiku stdio (input/output), rpath (file mung diwaca), wpath (tulis file), cpath (gawe file), tmppath (bisa nganggo file sementara), inet (jaringan soket), unix (soket unix). ), dns (resolusi DNS), getpw (akses maca menyang database pangguna), ioctl (panggilan ioctl), proc (kontrol proses), exec (proses wiwitan), lan id (kontrol ijin).

Aturan kanggo nggarap panggilan sistem ditemtokake ing wangun anotasi sing kalebu dhaptar kelas panggilan sistem sing diidini lan Uploaded path file ngendi akses diijini. Sawise nyusun lan mbukak aplikasi sing diowahi, kernel njupuk alih tugas ngawasi kepatuhan karo aturan sing ditemtokake.

Kapisah, implementasi ikrar kanggo FreeBSD lagi dikembangake, sing dibedakake kanthi kemampuan kanggo ngisolasi aplikasi tanpa ngganti kode kasebut, dene ing OpenBSD panggilan janji ditujokake kanggo integrasi sing ketat karo lingkungan dhasar lan nambah anotasi menyang kode kasebut. saka saben siji.

Ikrar iku kaya woh terlarang sing kita kabeh pengin nalika pimpinan ujar manawa kita kudu nggunakake barang kaya Linux. Apa sebabe? Iku amarga janji () bener ndadekake keamanan dingerteni. Linux ora tau duwe lapisan keamanan sing bisa dingerteni manungsa.

Pangembang port janji Linux njupuk isyarat saka FreeBSD lan tinimbang nggawe owah-owahan kode, dheweke nyiapake sarana tambahan saka pledge.com sing ngidini sampeyan ngetrapake watesan tanpa ngganti kode aplikasi. Contone, kanggo mbukak utilitas curl kanthi akses mung menyang kelas telpon sistem stdio, rpath, inet, lan threadstdio, mung mbukak "./pledge.com -p 'stdio rpath inet thread' curl http://example.com » .

Utilitas kasebut bisa digunakake ing kabeh distribusi Linux wiwit RHEL6 lan ora mbutuhake akses root. Kajaba iku, adhedhasar perpustakaan kosmopolitan, API diwenehake kanggo ngatur watesan ing kode program basa C, sing ngidini, antara liya, nggawe enclave kanggo mbatesi akses kanthi selektif ing hubungane karo fungsi aplikasi tartamtu. .

Ana sawetara pangembang ing jaman kepungkur sing wis nyoba iki. Aku ora bakal ngarani jeneng, amarga umume proyek kasebut durung rampung. Nalika nerangake SECOMP, tutorial online mung nerangake carane nelpon sistem whitelist, supaya akeh wong ilang kapentingan sadurunge ngerteni carane nyaring argumen. Proyèk-proyèk sing maju uga duwé kelalaian kaya ngidini bit setuid/setgid/sticky diganti. Mulane, ora ana alternatif sing saiki kudu digunakake. Aku iki gaweyan ndadekke kita akeh nyedhaki duwe janji () saka tau sadurunge.

Implementasine ora mbutuhake owah-owahan kernel: watesan sarana diterjemahake menyang aturan SECCOMP BPF lan diproses nggunakake mekanisme isolasi panggilan sistem asli Linux. Contone, nelpon janji ("stdio rpath", 0) bakal diowahi dadi filter BPF

Pungkasan, yen sampeyan kepengin ngerti luwih akeh babagan iki, sampeyan bisa menehi rincian babagan rincian kasebut Ing link ing ngisor iki.


Konten artikel kasebut sesuai karo prinsip kita yaiku etika editorial. Kanggo nglaporake klik kesalahan Kene.

Dadi pisanan komentar

Ninggalake komentar sampeyan

Panjenengan alamat email ora bisa diterbitake. Perangkat kothak ditandhani karo *

*

*

  1. Tanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Kontrol SPAM, manajemen komentar.
  3. Legitimasi: idin sampeyan
  4. Komunikasi data: Data kasebut ora bakal dikomunikasikake karo pihak katelu kajaba kanthi kewajiban ukum.
  5. Panyimpenan data: Database sing dianakake dening Occentus Networks (EU)
  6. Hak: Kapan wae sampeyan bisa matesi, mulihake lan mbusak informasi sampeyan.