Project Mainline от Google в Android Q поможет ускорить обновления безопасности

Во время конференции разработчиков Google I/O 2019 компания Google анонсировала Project Mainline — попытку ускорить обновления безопасности с помощью модулей в Android Q.

Фрагментация версий Android — одна из самых больших проблем, которую предстоит решить Google. Хотя смартфоны Google Pixel являются одними из самых безопасных смартфонов на рынке благодаря невероятным усилиям Pixel и Инженеры AOSP, многие другие смартфоны уязвимы для эксплойтов из-за устаревших версий ОС или устаревших патчей безопасности. уровни. Последний отчет Gartner показывает, что Android 9 Pie — невероятно безопасная операционная система. всего около 10% всех смартфонов находятся в стадии выпуска.

Обзор отчета «Мобильные ОС и безопасность устройств: сравнение платформ» за 2019 год. Источник: Гартнер. С помощью: Google.

Google решает проблему фрагментации версий с помощью таких инициатив, как Проект Требл, серьезная переработка Android, приводящая к разделению компонентов платформы ОС Android и компонентов HAL поставщика,

расширенное ядро ​​Linux LTS, обязательные обновления исправлений безопасности на 2 года и Рекомендуется Android для предприятий. На Google I/O 2019 компания анонсировала свою последнюю инициативу по ускорению обновлений безопасности: Project Mainline для Android Q.

Основная ветка проекта: Обновление модулей системы Android Q через Google Play

За последние несколько месяцев мы отслеживали нечто под названием "АПЕКС" в АОСП. АПЕКС или Андроид Пони Экспресс— это новый тип пакета, похожий на APK. Однако вместо приложения Android APEX является домом для собственной библиотеки или библиотеки классов. предварительно скомпилированный код, который может вызываться приложениями Android, уровнями аппаратной абстракции (HAL) и Android. Время выполнения (ART). Как и APK, пакеты APEX могут предоставляться пользователям традиционными методами установки пакетов в Android: через Google Play Store/менеджер пакетов или ADB.

Модули APEX можно использовать гораздо раньше в процессе загрузки, чем модули на основе APK, а также они поддерживаются dm-verity и Android Verified Boot для повышения безопасности. Для монтирования образов полезной нагрузки в пакете APEX требуется драйвер цикла ядра Linux, поэтому устройствам требуется ядро ​​Linux версии 4.9+. Для управления пакетами APEX требуется новый демон APEX, представленный в Android Q. Хотя устройства, обновляющиеся до Android Q с ядром Linux 4.4, могут поддерживать APEX (например, Google Pixel 3), OEM-производителям необходимо объединить дополнительные исправления, чтобы это заработало. По большей части Project Mainline будут поддерживать только устройства, работающие под управлением Android Q.

Дистрибутивы GNU/Linux уже давно могут обновлять компоненты системы независимо от полных обновлений системы, но Android всегда требовал обновления системы для их обновления. Google решила не распространять эти пакеты с помощью традиционных систем управления пакетами Linux, таких как dpkg и rpm, поскольку они не защищают пакеты после установки с помощью dm-verity.

Поскольку производителям устройств требуется много времени для развертывания обновлений, многие устройства могут иметь устаревшие системные компоненты на несколько дней, недель или даже месяцев. Распространяя эти компоненты в виде пакетов APEX, Google может избежать долгого ожидания, пока OEM-производители выпустят обновление системы.

Преимущества Project Mainline. Источник: Гугл.

Однако Google не осуществляет полный контроль над всеми компонентами системы. Компания работала со своими OEM-партнерами над выбором набора системных приложений (в виде APK) и системных компонентов (в виде APEX). пакеты) для модульной структуры, чтобы они могли улучшить безопасность, конфиденциальность и согласованность для всех пользователей устройств, которые запускаются с Андроид Кью. Хотя Google не раскрыла, как именно они пришли к первоначальному набору системных компонентов, у них есть предоставил нам список системных компонентов на устройствах с Android Q, которые будут обновляться Google:

  • Безопасность: Медиа-кодеки, компоненты Media Framework, преобразователь DNS, Conscrypt.
  • Конфиденциальность: Пользовательский интерфейс документов, контроллер разрешений, ExtServices
  • Последовательность: данные часового пояса, ANGLE (согласие разработчиков), метаданные модуля, сетевые компоненты, вход в авторизованный портал, конфигурация сетевых разрешений.

Немедленные обновления Conscrypt, библиотеки безопасности Java и мультимедийных компонентов, на которые «приходилось почти 40% недавно исправленных уязвимостей», сделают устройства Android более безопасными. Обновления контроллера разрешений улучшат конфиденциальность. Стандартизация данных о часовом поясе будет полезна, чтобы устройства Android по всему миру были на одной странице, когда страна решит изменить свой часовой пояс. Кроме того, разработчики игр получат выгоду от стандартизации УГОЛ.

Google начинает с этих системных компонентов, но может добавить больше в будущих выпусках Android. Из этих 13 компонентов Conscrypt, данные часового пояса, медиакодеки и компоненты Media Framework будут поставляться в виде пакетов APEX. Остальные 9 компонентов — это системные APK. Хотя и APEX, и APK-файлы доступны через Google Play, обновление пакета APEX потребуется перезагрузка. Google пока не поделился информацией о том, как это будет происходить в пользовательском интерфейсе, но как только устройства начнут запускаться с Android Q, мы, вероятно, узнаем больше информации о пакетах Project Mainline и APEX.