Satu projek untuk melaksanakan utiliti sudo dan su dalam Rust

ISRG (Kumpulan Penyelidikan Keselamatan Internet), yang merupakan pengasas projek Let's Encrypt dan mempromosikan HTTPS dan pembangunan teknologi untuk meningkatkan keselamatan Internet, membentangkan projek Sudo-rs untuk mencipta pelaksanaan sudo dan utiliti su yang ditulis dalam Karat yang membolehkan anda melaksanakan arahan bagi pihak pengguna lain. Di bawah lesen Apache 2.0 dan MIT, versi pra-keluaran Sudo-rs telah pun diterbitkan, belum lagi sedia untuk kegunaan umum. Projek itu, yang mula berfungsi pada Disember 2022, dijadualkan siap pada September 2023.

Kerja kini tertumpu pada pelaksanaan ciri dalam Sudo-rs yang membolehkannya digunakan sebagai pengganti telus untuk sudo dalam kes penggunaan biasa (konfigurasi sudoers lalai pada Ubuntu, Fedora dan Debian). Pada masa hadapan, terdapat rancangan untuk mencipta perpustakaan yang membenarkan membenamkan fungsi sudo ke dalam program lain dan menyediakan kaedah konfigurasi alternatif yang mengelakkan menghuraikan sintaks fail konfigurasi sudoers. Berdasarkan fungsi sudo yang dilaksanakan, varian utiliti su juga akan disediakan. Selain itu, rancangan tersebut menyebut sokongan untuk SELinux, AppArmor, LDAP, alat audit, keupayaan untuk mengesahkan tanpa menggunakan PAM dan pelaksanaan semua pilihan baris arahan sudo.

Menurut Microsoft dan Google, kira-kira 70% daripada kelemahan disebabkan oleh pengurusan memori yang tidak selamat. Menggunakan bahasa Rust untuk membangunkan su dan sudo sepatutnya mengurangkan risiko kelemahan yang disebabkan oleh pengendalian memori yang tidak selamat dan menghapuskan ralat seperti mengakses kawasan memori selepas ia dibebaskan dan penimbal melebihi. Sudo-rs sedang dibangunkan oleh jurutera dari Ferrous Systems dan Tweede Golf dengan dana yang disediakan oleh syarikat seperti Google, Cisco, Amazon Web Services.

Keselamatan memori disediakan dalam Rust pada masa penyusunan melalui semakan rujukan, menjejaki pemilikan objek dan jangka hayat objek (skop), serta melalui penilaian ketepatan akses memori semasa pelaksanaan kod. Rust juga menyediakan perlindungan terhadap limpahan integer, memerlukan permulaan mandatori nilai pembolehubah sebelum digunakan, mengendalikan ralat dengan lebih baik dalam perpustakaan standard, menggunakan konsep rujukan tidak berubah dan pembolehubah secara lalai, menawarkan penaipan statik yang kuat untuk meminimumkan ralat logik.

Sumber: opennet.ru

Tambah komen