Rust шаарында sudo жана su утилиталарын ишке ашыруу боюнча долбоор

ISRG (Internet Security Research Group) уюму, Let's Encrypt долбоорунун негиздөөчүсү жана HTTPS жана Интернеттин коопсуздугун жогорулатуу үчүн технологияларды өнүктүрүүгө көмөктөшөт, sudo жана su утилиталарын ишке ашыруу үчүн Sudo-rs долбоорун сунуштады. Rust тилинде жазылган, башка колдонуучулардын атынан буйруктарды аткарууга мүмкүндүк берет. Sudo-rs алдын ала версиясы Apache 2.0 жана MIT лицензиялары астында жарыяланган, бирок кеңири жайылтууга азырынча даяр эмес. Иш 2022-жылдын декабрь айында башталган долбоордун 2023-жылдын сентябрында бүтүшү пландалууда.

Азыркы учурда, иш Sudo-rs'те функцияларды ишке ашырууга багытталган, алар аны жалпы колдонулуучу учурларда sudo үчүн тунук алмаштыруу катары колдонууга мүмкүндүк берет (Ubuntu, Fedora жана Debianдагы демейки sudoers конфигурациялары). Келечекте sudo функционалдуулугун башка программаларга киргизүүгө мүмкүндүк берген китепкананы түзүү жана sudoers конфигурация файлынын синтаксисин талдоо зарылдыгын жокко чыгарган альтернативалуу конфигурация ыкмасын берүү пландалууда. Ишке ашырылган sudo функционалдуулугунун негизинде su утилитасынын версиясы да даярдалат. Кошумчалай кетсек, пландарда SELinux, AppArmor, LDAP, аудит куралдары, PAM колдонбостон аутентификациялоо мүмкүнчүлүгү жана бардык sudo буйрук сабынын варианттарын ишке ашыруу жөнүндө сөз болот.

Майкрософт жана Google компаниясынын маалыматы боюнча, кемчиликтердин 70% кооптуу эс тутум менен иштөөдөн улам келип чыгат. Rust тилин su жана sudo иштеп чыгуу үчүн колдонуу эс менен кооптуу иштөөдөн улам келип чыккан алсыздыктардын коркунучун азайтат жана эстутумдун аймагын бошоткондон кийин жетүү жана буферди ашып кетүү сыяктуу каталардын пайда болушун жок кылат деп күтүлүүдө. Sudo-rs иштеп чыгуу Google, Cisco, Amazon Web Services сыяктуу компаниялар тарабынан берилген каражаттар менен Ferrous Systems жана Tweede Golf инженерлери тарабынан ишке ашырылат.

Эстутумдун коопсуз иштөөсү Rust программасында компиляция убагында маалымдама текшерүү, объектке ээлик кылуу жана объекттин иштөө мөөнөтүн (ааламында) эсепке алуу, ошондой эле кодду аткаруу учурунда эстутумга кирүүнүн тууралыгын баалоо аркылуу камсыз кылынат. Rust ошондой эле бүтүн сандардын ашып кетишинен коргоону камсыздайт, өзгөрмөлөрдү колдонуудан мурун инициализациялоону талап кылат, стандарттык китепканада каталарды жакшыраак иштетет, демейки боюнча өзгөрүлгүс шилтемелер жана өзгөрмөлөр концепциясын колдонот жана логикалык каталарды азайтуу үчүн күчтүү статикалык терүүнү сунуштайт.

Source: opennet.ru

Комментарий кошуу