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

Під час конференції розробників Google I/O 2019 компанія Google анонсувала проект Mainline — спробу прискорити оновлення безпеки за допомогою модулів в Android Q.

Фрагментація версій Android є однією з найбільших проблем, яку Google має вирішити. Хоча смартфони Google Pixel є одними з найбезпечніших смартфонів на ринку завдяки неймовірним зусиллям Pixel і Інженери AOSP, багато інших смартфонів уразливі до експлойтів через застарілі версії ОС або застаріле оновлення безпеки рівнях. Останній звіт Gartner показує, що Android 9 Pie все ж є неймовірно безпечною ОС лише приблизно 10% з усіх смартфонів у випуску.

Огляд звіту Mobile OSs and Device Security: A Comparison of Platforms за 2019 рік. Джерело: Gartner. Через: Google.

Google бореться з фрагментацією версій за допомогою таких ініціатив, як Проект Treble, серйозна реархітектура Android, яка призвела до поділу між компонентами фреймворку ОС Android і компонентами HAL постачальника, розширене ядро ​​Linux LTS, обов'язкові оновлення безпеки на 2 роки, і

Рекомендовано Android Enterprise. На Google I/O 2019 компанія оголосила про свою останню ініціативу щодо прискорення оновлень безпеки: Project Mainline для Android Q.

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

Протягом останніх кількох місяців ми відстежували щось під назвою "APEX" в AOSP. APEX, або Android Pony EXpress, це новий тип пакета, схожий на APK. Однак замість розміщення програми Android APEX є рідною бібліотекою або бібліотекою класів, попередньо скомпільований код, який можна викликати програмами Android, апаратними рівнями абстракції (HAL) і Android Час виконання (ART). Як і APK, пакети APEX можуть надаватися користувачам через традиційні методи встановлення пакетів в Android: магазин Google Play/менеджер пакетів або 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-виробникам потрібно об’єднати додаткові виправлення, щоб це запрацювало. Здебільшого лише пристрої, які запускаються з Android Q, підтримуватимуть Project Mainline.

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

Оскільки виробникам пристроїв потрібно багато часу, щоб розгорнути оновлення, багато пристроїв можуть мати застарілі системні компоненти протягом днів, тижнів або навіть місяців. Розповсюджуючи ці компоненти як пакети APEX, Google може уникнути тривалого очікування, поки OEM-виробники випустять оновлення системи.

Переваги Project Mainline. Джерело: Google.

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

  • Безпека: Медіакодеки, компоненти медіафреймворку, DNS Resolver, Conscrypt
  • Конфіденційність: Інтерфейс користувача документів, контролер дозволів, ExtServices
  • Послідовність: Дані часового поясу, ANGLE (за згодою розробників), метадані модуля, мережеві компоненти, вхід на адаптивний портал, конфігурація дозволу мережі

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

Google починає з цих компонентів системи, але може додати більше в наступних версіях Android. З цих 13 компонентів Conscrypt, дані часового поясу, медіакодеки та компоненти медіафреймворку постачатимуться як пакети APEX. Інші 9 компонентів є системними APK. Хоча і APEX, і APK доступні через Google Play, оновлюючи пакет APEX вимагатиме перезавантаження. Google поки що не поділився інтерфейсом користувача щодо того, як це станеться, але коли пристрої почнуть запускати з Android Q, ми, ймовірно, дізнаємося більше інформації про пакети Project Mainline і APEX.