Две основные Unix-подобные утилиты sudo и su переписываются в Rust

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

Две основные Unix-подобные утилиты sudo и su переписываются в Rust. Фото: СС0

Команда из Ferrous Systems и Tweede Golf при поддержке Amazon Web Services повторно реализует sudo и su. Эти утилиты позволяют пользователю выполнять действия с привилегиями другого пользователя (обычно суперпользователя более высокого уровня) без необходимости вводить пароль. 

Из сообщения команды разработчиков:

«Sudo впервые был разработан в 1980-х годах. За десятилетия он стал важным инструментом для внесения изменений при минимизации риска для операционной системы. Но поскольку он написан на C, sudo имеет множество уязвимостей, связанных с проблемами безопасности памяти».

Команда sudo полностью соответствует критериям проектов Prossimo для повторной реализации. Она используется почти на каждом сервере и клиенте, находится на критической границе, выполняет критическую функцию и написан на языках, небезопасных для памяти, таких как C и asm. Отследить работу команды можно на GitHub.

Sudo был разработан в 1980 году Роббером Коггесхоллом и Клиффом Спенсером в Государственном университете Нью-Йорка в Буффало на VAX-11/750 под управлением 4.1BSD. Коггесхолл продолжил развитие sudo в Университете Колорадо в Боулдере; в конечном итоге инструмент был обнародован и поддерживался Тоддом С. Миллером. Команда su была частью версии 1 Unix.

Хорошо финансируемые усилия по повторной реализации ключевого аспекта Unix-подобных систем, даже на таком хорошо известном языке, как Rust, почти гарантированно будут положительно приняты сообществом. Несмотря на то, что команда sudo разрабатывалась десятилетиями и реализована почти в каждой системе, она не лишена недостатков. Как сообщалось в 2019 году, некоторые версии sudo были уязвимы для ошибки переполнения буфера, предоставляющей root.

На странице вех группы Prossimo не объясняется, как будет продвигаться более широкое внедрение sudo и su на основе Rust.

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

Статьи по теме

Упомянутые сервисы

GitHub Сервис для хостинга кода, хранения IT-проектов и их совместной разработки.
Сервис для хостинга кода, хранения IT-проектов и их совместной разработки.
Amazon Web Services Инфраструктура облачных сервисов для предоставления таких услуг как: хранение данных, аренда серверов и предоставление мощностей.
Инфраструктура облачных сервисов для предоставления таких услуг как: хранение данных, аренда серверов и предоставление мощностей.

Больше интересного

Актуальное

Новое вредоносное ПО LOBSHOT дает хакерам скрытый VNC-доступ к устройствам Windows
В Google Chat расширили возможности удаления сообщений
Microsoft Edge в Windows 11 предлагает модульную работу с дополнительными загрузками функций
Ещё…