Rust станет одним из основных языков разработки Android

14.04.2021      35598

С целью уменьшения количества ошибок, связанных с безопасностью памяти, Google объявил, что Android будет поддерживать Rust в низкоуровневом системном коде ОС. Об этом 6 апреля сообщили члены команды разработчиков Android в блоге Google Security.

Безопасность памяти

Команда разработчиков Android заявила, что будет использовать Rust для разработки низкоуровневого кода OC.

Приложения на Android могут быть написаны с использованием Java и Kotlin, но эти языки не обладают «контролем и предсказуемостью» языков более низкого уровня, таких как C, C++ и Rust.

 

 

Rust обеспечит безопасность памяти при производительности равной C и C ++. При этом последние не предоставляют таких же гарантий безопасности и требуют надежной изоляции.

Правило двух

Все процессы Android изолированы, и чтобы решить, требует ли функциональность дополнительной изоляции и лишения прав, инженеры Google следуют «правилу двух».

 

 

Правило двух гласит: при наличии трех вариантов, разработчики могут выбрать только два из них:

  • ненадежные материалы;
  • небезопасный язык реализации;
  • высокая привилегия.

Для Android это означает, что если код написан на C или C++ и анализирует ненадежный ввод, он должен находиться в жестко ограниченной и непривилегированной песочнице.

Однако песочница не устраняет уязвимости в коде, и ее эффективность снижается из-за высокой плотности ошибок. Это позволяет злоумышленникам объединять несколько уязвимостей в цепочку.

Безопасные для памяти языки, такие как Rust, помогают преодолеть эти ограничения. Они снижают количество ошибок в коде и уменьшают потребность в песочнице.

Переписывать старое не будут

По данным Google, половина ошибок памяти связана с кодом младше одного года. Следовательно Rust можно использовать в новом коде и не переписывать код старше одного года.

«Даже если бы мы привлекли к переписке кода всех разработчиков из команды Android, изменить десятки миллионов строк кода просто невозможно», – заявила команда. «То, что в старом коде редко встречаются ошибки памяти, может стать для кого-то неожиданным фактом, но мы обнаружили, что старый код не нуждается в срочном улучшении».

Ожидаемые улучшения

По словам Google, одно из преимуществ Rust – наличие дополнительных ограничений и проверок, таких как принудительная инициализация переменных. Это может предотвратить до 5% уязвимостей безопасности в Android.

Компания ожидает, что Rust также модернизирует ряд языковых аспектов, и это приведет к повышению корректности кода:

  • Улучшение безопасность памяти за счет комбинации проверок компилятора и времени выполнения.
  • Параллелизм данных предотвратит скачки данных.
  • Выразительная система типов Rust поможет избежать ошибок логического программирования.
  • Ссылки и переменные по умолчанию неизменяемы – это позволит разработчикам следовать принципу безопасности с наименьшими привилегиями. Компилятор Rust поможет избежать случайных аннотаций изменяемости.
  • Компилятор потребует от пользователей проверку ошибок даже для функций, которые не возвращают нужное значение.
  • Инициализация потребует, чтобы все переменные были инициализированы перед использованием.
  • Безопасная обработка целых чисел – очистка от переполнения включена для отладочных сборок Rust по умолчанию. Если программист намерен вычислять переполнение, то он указывает функцию wrapping_add, если не намерен – saturating_add.

Разработчики Google работали над добавлением поддержки Rust в Android в течение последних 18 месяцев и обещают продемонстрировать некоторые из проектов в ближайшее время.

Напомним, что в феврале этого года Google заявила, что поощряет разработчиков переходить на безопасные языки программирования, чтобы предотвратить ошибки памяти, которые составляют 70% уязвимостей в безопасности Android.


Автор:
Обозреватель


См. также

Новость Искусственный интеллект ИТ-Новость

ИИ научат разработке цифровых интегральных микросхем – несколько российских научных институтов заявили об участии в проекте. Проект рассчитан на 3 года – с 2024 по 2026.

23.07.2024    197    user1915669    0       

1

Новость Дата-центры Искусственный интеллект ИТ-Новость

Развитие искусственного интеллекта и цифровых сервисов в России стало причиной роста потребности в мощных центрах обработки данных. Эксперты прогнозируют, что дефицит ЦОД, который уже наблюдается сегодня, в ближайшие годы будет только усиливаться.

18.07.2024    356    AnastasiaKl    0       

1

Новость ИТ-Новость

В сентябре 2024 года видеоигры в России начнут маркировать – пока на добровольной основе. Геймерам будут сообщать о семи видах чувствительного (неприятного) контента в игре.

17.07.2024    409    user1915669    0       

1

Новость Законодательство ИТ-Новость

Депутаты Госдумы работают над законопроектом по ужесточению контроля за электросамокатами. Среди мер: обязательная регистрация СИМ (средств индивидуальной мобильности) и разработка системы отслеживания их перемещений.

10.07.2024    521    AnastasiaKl    2       

1

Новость Искусственный интеллект ИТ-Новость

В 2024 году «Сколково» выделит пилотным проектам в сфере искусственного интеллекта гранты на общую сумму 554 млн рублей. В результате отбора финансирование получат проекты с применением ИИ в областях производства, операционной деятельности и в работе предоставляемых сервисов.

12.04.2024    1057    AnastasiaKl    3       

3

Новость ИТ-Новость

Пятничное: в России вступил в силу стандарт подготовки по дисциплине «спортивное программирование». В стандарт вошли требования к физическим показателям спортсменов и скорости набора текста.

16.02.2024    858    VKuser24342747    2       

1

Новость ИТ-Новость

Федеральное агентство по техническому регулированию и метрологии (Росстандарт) утвердило национальный стандарт протокола LoRaWAN RU, таким образом он получил официальный статус. Технология используется для беспроводной передачи данных между устройствами интернета вещей.

19.01.2024    651    VKuser24342747    0       

2

Новость Законодательство ИТ-Новость

12 декабря вступил в силу Федеральный закон, меняющий срок, к которому все владельцы сайтов должны внести изменения в порядок авторизации пользователей на сайте. Закон вводит переходный период до 1 января 2025 года.

20.12.2023    795    VKuser24342747    2       

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 785 14.04.21 14:07 Сейчас в теме
Жду следующую статью: "Rust станет одним из основных языков разработки в 1С"
2. Sh00rick 1011 14.04.21 17:11 Сейчас в теме
(1)
Дальше больше: "Rust станет основным языком программирования везде" )
3. NoRazum 29 16.04.21 13:52 Сейчас в теме
Как в ядро Linux добавят.
Там и мелгомягкие подтянуться
SKravchenko; +1 Ответить
Оставьте свое сообщение