Isang proyekto para ipatupad ang sudo at su utilities sa Rust

Ang ISRG (Internet Security Research Group), na siyang nagtatag ng proyektong Let's Encrypt at nagpo-promote ng HTTPS at ang pagbuo ng mga teknolohiya upang mapataas ang seguridad ng Internet, ay nagpakita ng proyektong Sudo-rs upang lumikha ng mga pagpapatupad ng sudo at su utilities na nakasulat sa kalawang na nagbibigay-daan sa iyong magsagawa ng mga utos sa ngalan ng ibang mga user. Sa ilalim ng mga lisensya ng Apache 2.0 at MIT, isang pre-release na bersyon ng Sudo-rs ay nai-publish na, hindi pa handa para sa pangkalahatang paggamit. Ang proyekto, na nagsimulang magtrabaho noong Disyembre 2022, ay nakatakdang makumpleto sa Setyembre 2023.

Kasalukuyang nakatuon ang trabaho sa pagpapatupad ng mga feature sa Sudo-rs na nagbibigay-daan dito na magamit bilang isang transparent na kapalit para sa sudo sa mga karaniwang kaso ng paggamit (mga default na configuration ng sudoers sa Ubuntu, Fedora, at Debian). Sa hinaharap, may mga planong gumawa ng library na nagbibigay-daan sa pag-embed ng sudo functionality sa ibang mga program at magbigay ng alternatibong paraan ng configuration na umiiwas sa pag-parse ng syntax ng sudoers configuration file. Batay sa ipinatupad na pagpapagana ng sudo, maghahanda din ng isang variant ng su utility. Bukod pa rito, binabanggit ng mga plano ang suporta para sa SELinux, AppArmor, LDAP, mga tool sa pag-audit, ang kakayahang mag-authenticate nang hindi gumagamit ng PAM, at ang pagpapatupad ng lahat ng mga opsyon sa command line ng sudo.

Ayon sa Microsoft at Google, humigit-kumulang 70% ng mga kahinaan ay sanhi ng hindi ligtas na pamamahala ng memorya. Ang paggamit ng Rust na wika upang bumuo ng su at sudo ay dapat na mabawasan ang panganib ng mga kahinaan na dulot ng hindi ligtas na paghawak ng memorya at alisin ang mga error tulad ng pag-access sa isang lugar ng memorya pagkatapos na ito ay mapalaya at buffer overruns. Ang Sudo-rs ay binuo ng mga inhinyero mula sa Ferrous Systems at Tweede Golf na may mga pondong ibinibigay ng mga kumpanya tulad ng Google, Cisco, Amazon Web Services.

Ang kaligtasan ng memorya ay ibinibigay sa Rust sa oras ng pag-compile sa pamamagitan ng pagsuri sa sanggunian, pagsubaybay sa pagmamay-ari ng bagay at panghabambuhay ng bagay (saklaw), gayundin sa pamamagitan ng pagsusuri ng kawastuhan ng pag-access sa memorya sa panahon ng pagpapatupad ng code. Nagbibigay din ang kalawang ng proteksyon laban sa mga overflow ng integer, nangangailangan ng mandatoryong pagsisimula ng mga variable na halaga bago gamitin, mas mahusay na pinangangasiwaan ang mga error sa karaniwang library, inilalapat ang konsepto ng hindi nababagong mga sanggunian at mga variable bilang default, nag-aalok ng malakas na static na pag-type upang mabawasan ang mga lohikal na error.

Pinagmulan: opennet.ru

Magdagdag ng komento