Google заявила, что финансирует проект по повышению безопасности Linux, где часть ядра будет написана на языке программирования Rust. Усилия по модернизации могут повысить безопасность в сети и на устройствах.
Такое изменение повлечет за собой технологический и культурный сдвиг для проекта программного обеспечения с открытым исходным кодом, который стал основой операционных систем Google Android и Chrome.
Rust для ядра Linux
Мигель Охеда, автор программного обеспечения для Большого адронного коллайдера, специализирующийся на безопасности языков программирования, уже некоторое время работает над своим проектом Rust для Linux. И недавно Google заявила, что займется финансированием этого проекта.
Google оплачивает контракт через некоммерческую организацию Internet Security Research Group, которая обеспечила безопасность связи на веб-сайтах с помощью Let's Encrypt.
Охеда предложил 13 изменений, необходимых для запуска модулей Rust в Linux. Цель проекта Linux on Rust не в замене всего кода C Linux, а в улучшении отдельных и новых частей.
По мнению программиста, использование Rust в ядре Linux имеет следующие преимущества:
- Новый код, написанный на Rust, снижает риск ошибок безопасности памяти, благодаря отсутствию в языке неопределенного поведения в безопасном подмножестве.
- Новые драйверы и модули станет проще писать, благодаря упрощенным абстракциям, основанным на современных языковых функциях и более подробной документации.
- Повышение надежности рефакторинга и принятии исправлений для модулей благодаря безопасному подмножеству Rust.
- Вовлечение новых разработчиков, благодаря современному языку.
- Преимущества инструментария Rust для соблюдения принципов документации ядра Linux.
Rust – это язык, который успешно использует многолетний опыт работы системного и функционального программирования.
Перспективы
Получение поддержки на самых высоких уровнях проекта ядра Linux означает, что многие другие программные проекты также могут выиграть. «В обозримом будущем мы планируем сосредоточиться на некоторых критически важных для безопасности компонентах и R03;R03;драйверах», – сказал Джош Аас, руководитель проекта ISRG Prossimo по переводу критически важного программного обеспечения на безопасное для памяти.
Неясно поддержат ли Rust создатели ядра Linux. Линус Торвальдс, основатель Linux, сказал, что он открыт для перемен, если сторонники Rust для Linux докажут ценность его применения.
Google уже добавил Rust для низкоуровневого системного кода в Android.
Также компания поддерживает проект ISRG по созданию модуля на основе Rust для веб-сервера Apache HTTP. Это важная часть интернет-инфраструктуры, поскольку она отвечает за криптографическую защиту HTTPS-соединений с широко используемыми веб-серверами Apache.
«У Google есть множество других инвестиций в языки, инструменты и платформы», – сказал представитель Google. «Наличие нескольких связанных, но не обязательно пересекающихся решений позволяет повторно использовать перекрестное опыление хороших идей».