
[ad_1]
Инструмент командной строки sudo был реализован в языке программирования Rust, чтобы избавить его от любых уязвимостей безопасности памяти.
Prossimo, проект, курируемый некоммерческой исследовательской группой по интернет-безопасности (ISRG), объявил на этой неделе о выпуске первой стабильной версии sudo-rs. Эта база кода включает соответствующую программу командной строки su, опять же на Rust.
Утилита sudo позволяет привилегированным пользователям Unix-подобных систем (например, Linux и FreeBSD) запускать команды от имени пользователя root. Это представляет собой некоторый риск, поскольку мошеннические пользователи или программное обеспечение с низкими привилегиями могут найти способ злоупотребить им, например, используя ошибку в коде, чтобы повысить свой доступ до уровня root или суперпользователя. В идеале sudo и su должны быть максимально безопасными и свободными от уязвимостей, поскольку они действуют как шлюзы для полного контроля над системой.
К ошибкам безопасности памяти относятся такие проблемы, как чтение и запись за пределами памяти, а также использование функции после освобождения(). И некоторые из этих уязвимостей, которые можно использовать, были обнаружены в sudo.
По словам Джоша Ааса, исполнительного директора проекта Prossimo ISRG, каждая третья ошибка безопасности в оригинальном sudo связана с проблемами управления памятью.
«Первая стабильная версия sudo-rs, наша переработка важнейшего инструмента sudo в Rust, является важной вехой», — сказал Аас в электронном письме Регистр.
Мы видим интерес со стороны дистрибутивов Linux и надеемся, что улучшения безопасности станут доступны гораздо большему количеству людей.
«Люди могут начать использовать его для достижения большей безопасности за счет безопасности памяти, уменьшения поверхности атаки и всестороннего тестирования. Мы видим интерес со стороны дистрибутивов Linux и надеемся, что улучшения безопасности сделают доступными гораздо большему количеству людей».
Аас сказал, что следующим шагом станет аудит безопасности третьей стороной. «Мы ищем дополнительное финансирование для работы над корпоративными функциями и усилением безопасности», — сказал он.
Переписывание sudo в Rust должно устранить потенциальные ошибки безопасности памяти, которые в последние несколько лет стали предметом широкой озабоченности, по крайней мере, среди технологических компаний и правительственных учреждений США. Эти недостатки могут быть использованы, среди прочего, для взлома приложений или систем и кражи данных. Их также можно использовать для проникновения в цепочки поставок программного обеспечения.
Большинство современных языков программирования, так или иначе, позволяют разработчикам писать код таким образом, чтобы он был безопасен для памяти, и Rust особенно хорошо подходит для этой задачи. К небезопасным языкам программирования относятся C, C++ и ассемблер. Однако создатель C++ Бьерн Страуструп ранее рассказал: Регистр что совместимый с ISO C++ с помощью статического анализатора также может быть безопасным — утверждение, по поводу которого Аас ранее выражал скептицизм.
В версии sudo-rs, как сообщил Аас в своем блоге, исключены менее часто используемые функции, чтобы уменьшить поверхность атаки на программное обеспечение. Это также привело к разработке набора тестов, который помог выявить ошибки в исходной реализации C, созданной примерно в 1980 году Бобом Коггешхоллом и Клиффом Спенсером из SUNY/Buffalo и в настоящее время поддерживаемой Тоддом Миллером.
Chainguard, которая выпускает ориентированный на контейнеры дистрибутив Linux под названием Wolfi, включила sudo-rs в свои образы.
«Утилита sudo — прекрасный пример инструмента, критически важного для безопасности, который одновременно широко распространен и недооценен», — сказал Дэн Лоренц, генеральный директор и соучредитель Chainguard, в своем заявлении. «Усовершенствования безопасности подобных инструментов окажут огромное влияние на всю отрасль».
Работа над перезаписью sudo началась в декабре 2022 года, через месяц после того, как Агентство национальной безопасности США опубликовало руководство, призывающее организации использовать языки, безопасные для памяти. Федеральное агентство радиотехнической разведки отмечает, что Google и Microsoft заявили, что около 70 процентов уязвимостей, с которыми они сталкиваются, возникают из-за ошибок безопасности памяти.
«Проблемы управления памятью эксплуатировались на протяжении десятилетий и до сих пор слишком распространены», — сказал в тогдашнем заявлении Нил Зиринг, технический директор по кибербезопасности АНБ. «Мы должны постоянно использовать безопасные для памяти языки и другие средства защиты при разработке программного обеспечения, чтобы устранить эти слабости от злонамеренных киберпреступников».
В прошлом месяце Белый дом опубликовал запрос на информацию. [PDF] сбор мнений о безопасности программного обеспечения с открытым исходным кодом и языках программирования, безопасных для памяти. Комментарии должны быть представлены до 17:00 по восточному времени 9 октября. ®
[ad_2]