LINUXTALKS.CO

Проект по реализации утилит sudo и su на языке Rust

 

L


0

0

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

В настоящее время работа сосредоточена на реализации в Sudo-rs функций, позволяющих использовать утилиту в качестве прозрачной замены sudo в типовых сценариях использования (конфигурации sudoers по умолчанию в Ubuntu, Fedora и Debian). В будущем планируется создать библиотеку, позволяющую встраивать функциональность sudo в другие программы, и предоставить альтернативный метод настройки, дающий возможность обойтись без разбора синтаксиса файла конфигурации sudoers. На базе реализованной функциональности sudo также будет подготовлен вариант утилиты su. Дополнительно в планах упоминается поддержка SELinux, AppArmor, LDAP, средств аудита, возможность аутентификации без использования PAM и реализация всех опций командной строки sudo.

По данным компаний Microsoft и Google около 70% уязвимостей вызваны небезопасной работой с памятью. Предполагается, что использование языка Rust для разработки su и sudo позволит снизить риск появления уязвимостей, вызванных небезопасной работой с памятью, и исключить появление таких ошибок, как обращение к области памяти после её освобождения и выход за границы буфера. Разработка Sudo-rs ведётся инженерами из Ferrous Systems и Tweede Golf на средства, предоставленные такими компаниями, как Google, Cisco, Amazon Web Services.

Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами и учёт времени жизни объектов (области видимости), а также через оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.

// cc-by opennet.ru
// converted with crypt’s opennet autoreposter

>>> Подробности

★★☆☆☆

Ну это хорошо. Может, появится нормальная IDE для языка. Может, хотя бы JetBrains запилят, если не Microsoft.

metalbeaver    
★★★★★★
iPhone / Safari

Предполагается, что использование языка Rust для разработки su и sudo позволит снизить риск появления уязвимостей, вызванных небезопасной работой с памятью

Но ведь эти утилиты вылизаны за десятилетия своего существования. Если их писать – будет куча новых ошибок, пока комьюнити хорошенько и х не протестирует, и пока не будет новых громких взломов из-за уязвимостей в переписанных версиях.

metalbeaver    
★★★★★★
iPhone / Safari
Ответ на: комментарий от metalbeaver

тогда ж повесточка пропихивания раста не будет успешной

Harald    
★★★★★★
Linux / Firefox

Опять кто-то решил изобрести велосипед.

ashot    
★★★★★★
Linux / Firefox
Ответ на: комментарий от metalbeaver

Но ведь эти утилиты вылизаны за десятилетия своего существования.

Так вылизаны, что в sudo регулярно находят критические уязвимости.

X512    
★★★★
Windows / Firefox
Ответ на: комментарий от metalbeaver

я думаю m$ опять уделает опенсорс по реализации. если бы их ОС не была киоском по сбору пользовательских данных, все было бы гораздо проще с ее использованием.

crypt    
★★☆☆☆
FreeBSD / Chrome
Ответ на: комментарий от crypt

если бы их ОС не была киоском по сбору пользовательских данных

Некоторые Линуксы идут в догонку.

X512    
★★★★
Windows / Firefox
Ответ на: комментарий от X512

телеметрия-то сама по себе помогает развивать проект. другое дело, что m$ использует слив персональных данных для таргетинга рекламы, как и google.

crypt    
★★☆☆☆
Последнее исправление: crypt (всего исправлений: 1)

FreeBSD / Chrome
Ответ на: комментарий от crypt

для таргетинга рекламы

Это что-то плохое? Лучше, чтобы тебе рандомную хуйню рекламировали вместо того, что тебе может быть интересно?

metalbeaver    
★★★★★★
Windows / Chrome
Ответ на: комментарий от Minona

Плохо когда реклама лезет когда она не нужна.

Реклама не перестанет лезть, если ты избавишься от таргетинга, просто она станет ~хуёвой~ нерелевантной.

metalbeaver    
★★★★★★
Windows / Chrome

doas наше все

Slack    
★★★★★
OpenBSD / Chrome
Ответ на: комментарий от metalbeaver

Это что-то плохое? Лучше, чтобы тебе рандомную хуйню рекламировали вместо того, что тебе может быть интересно?

ну это ты у нас мальчик-дрон, который рекламой заправляется и которому она помогает закупать всякое барахло. я предпочитаю фильтровать то, что попадает в мою голову и меня не очень интересуют покупки.

crypt    
★★☆☆☆
FreeBSD / Chrome
Ответ на: комментарий от metalbeaver

Может, появится нормальная IDE для языка

Idea community поддерживает rust, правда без дебаггера, в платной возможно и дебаггер есть. Я в ней hello world писал и пытался разобраться с обладанием и лайфтаймами в русте.

Aber    
★★★★★★
Ubuntu / Firefox
Ответ на: комментарий от X512

Она вроде отключаемая. У меня сейчас ubuntu 23.04, она у меня периодически спрашивала отправить ли статистику на сервер canoncial, я отказывал, потому как в тот момент я её ставил через виртуалку на внешний диск, и статистика была бы не релевантна.
Сейчас диск физически поставлен в мой рабочий ноут, но я уже не помню, таки отправил я инфу или нет.

А вообще к подобным вещам я привык в IDE, такое есть в Idea, такое было в Eclipse, наверное в VSCode, короче я не вижу проблем.

Aber    
★★★★★★
Ubuntu / Firefox
Ответ на: комментарий от crypt

который рекламой заправляется

У тебя есть опция видеть релевантную рекламу и опция видеть нерелевантную. На какой стул сядешь?

Я, конечно, тоже предпочитаю её не видеть. И хорошо, когда, например, на ютубе можно купить подписку и её не видеть. А вот в той же инсте – нельзя.

metalbeaver    
★★★★★★
iPhone / Safari
Ответ на: комментарий от metalbeaver

я блокирую рекламу своими средствами везде, кроме видеовставок на ютубе. в инсте бываю редко. не знаю, блокирую ее там или просто не замечал.

crypt    
★★☆☆☆
FreeBSD / Chrome
Ответ на: комментарий от metalbeaver

я хожу только к конкретным людям

crypt    
★★☆☆☆
FreeBSD / Chrome
Ответ на: комментарий от metalbeaver

Естественно лучше нерелевантную, она просто отфильтруется как белый шум

TheAnonymous    
★★★★★★★★★★
Linux / Firefox
Ответ на: комментарий от metalbeaver

Это что-то плохое? Лучше, чтобы тебе рандомную хуйню рекламировали вместо того, что тебе может быть интересно?

Так как любая принудительная реклама на компьютере не нужна, то вопрос её интересности значения не имеет.

X512    
★★★★
Windows / Firefox
Ответ на: комментарий от metalbeaver

Выбор между сортами говна.

X512    
★★★★
Windows / Firefox
Ответ на: комментарий от metalbeaver

У тебя есть опция видеть релевантную рекламу и опция видеть нерелевантную. На какой стул сядешь?

Я отдаю предпочтение не отдавать врагу (рекламодателям) какую-либо информацию о себе. Так что пусть показывают рандом, так спокойнее.

X512    
★★★★
Windows / Firefox
Ответ на: комментарий от X512

Так как любая принудительная реклама на компьютере не нужна, то вопрос её интересности значения не имеет.

Тогда тебе прийдётся выковырять себе глаза, чтобы не видеть рекламу на биллбордах.

metalbeaver    
★★★★★★
Windows / Chrome
Ответ на: комментарий от X512

Я отдаю предпочтение не отдавать врагу (рекламодателям) какую-либо информацию о себе. Так что пусть показывают рандом, так спокойнее.

Боишься, что при свидетелях всплывёт реклама резиновых хуёв?

metalbeaver    
★★★★★★
Windows / Chrome
Ответ на: комментарий от metalbeaver

У меня с детства рекламная слепота и мне пофиг что там на билбордах. Покупки по рекламе делают лохи. Нормальные люди планируют покупки.

X512    
★★★★
Последнее исправление: X512 (всего исправлений: 3)

Windows / Firefox
Ограничение на отправку комментариев: только для зарегистрированных пользователей, score>=90