Android получит поддержку языка программирования Rust
Представители компании Google объявили, что версия операционной системы Android с открытым исходным кодом (Android Open Source Project) получит поддержку языка программирования Rust для предотвращения проблем, связанных с безопасностью памяти. С этой целью компания в течение последних 18 месяцев создавала части AOSP с помощью Rust.
«Такие языки, как Java и Kotlin, являются лучшим вариантом для разработки Android-приложений. ОС широко использует Java, эффективно защищая большие части платформы Android от проблем памяти. К сожалению, для нижних уровней ОС Java и Kotlin не подходят», — пояснили эксперты.
Написанный на языках C и C++ код требует надежной изоляции при синтаксическом анализе ненадежных входных данных, а метод содержания такого кода в жестко ограниченной и непривилегированной песочнице может быть дорогостоящим, вызывая проблемы с задержкой и дополнительное использование памяти. Поскольку проблемы безопасности памяти в C и C++ составляют около 70% опасных уязвимостей в Android, возникла идея перейти на безопасный для памяти язык, такой как Rust, и в первую очередь предотвратить их появление.
Несмотря на очевидные преимущества Rust, Google не намеревается переписывать весь свой существующий код на языках C и C++ в базовой ОС, вместо этого сосредотачивая свои усилия на новом или недавно измененном коде, который имеет более высокую вероятность наличия уязвимостей памяти.
Некоторые из текущих усилий Google касательно Rust включают полное переписывание Bluetooth-стека Android Gabeldorsche, тестирование которого компания начала в версии Android 11 в прошлом году. Также в разработке сетевой стек на основе Rust для операционной системы Fuchsia с открытым исходным кодом.