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 г.: Сравнение на платформи. източник: Gartner. Чрез: Google.

Google се справя с фрагментирането на версиите с инициативи като Проект Treble, основно преструктуриране на Android, което води до разделяне между компонентите на рамката на Android OS и HAL компонентите на доставчика,

разширено LTS ядро ​​на Linux, задължителни актуализации на корекции за сигурност за 2 години и Препоръчва се Android Enterprise. На Google I/O 2019 компанията обяви най-новата си инициатива за ускоряване на актуализациите на защитата: Project Mainline за Android Q.

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

През последните няколко месеца проследихме нещо, наречено "АПЕКС“ в AOSP. APEX, или Android Pony EXpress, е нов тип пакет, който е подобен на 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 производителите трябва да обединят допълнителни корекции, за да работи. В по-голямата си част само устройства, стартирани с 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:

  • Сигурност: Media Codecs, Media Framework Components, DNS Resolver, Conscrypt
  • поверителност: потребителски интерфейс за документи, контролер на разрешения, ExtServices
  • Последователност: Данни за часовата зона, ANGLE (разработчиците се включват), метаданни на модула, мрежови компоненти, влизане в Captive Portal, конфигурация на мрежови разрешения

Незабавните актуализации на Conscrypt, библиотеката за сигурност на Java и медийните компоненти, които „отчитат почти 40% от наскоро коригираните уязвимости“, ще направят устройствата с Android по-безопасни. Актуализациите на контролера на разрешения ще подобрят поверителността. Стандартизирането на данните за часовата зона ще бъде полезно, за да поддържате устройствата с Android по света на една и съща страница, когато дадена държава реши да промени своята часова зона. Освен това разработчиците на игри ще се възползват от стандартизацията на ЪГЪЛ.

Google започва с тези системни компоненти, но може да добави още в бъдещи версии на Android. От тези 13 компонента Conscrypt, данните за часовата зона, медийните кодеци и компонентите на медийната рамка ще бъдат доставени като APEX пакети. Останалите 9 компонента са системни APK файлове. Въпреки че и APEX, и APK се доставят чрез Google Play, актуализиране на APEX пакет ще изисква рестартиране. Google все още не е споделил UI потока за това как ще се случи това, но след като устройствата започнат да стартират с Android Q, вероятно ще научим повече информация за пакетите Project Mainline и APEX.