Корпорация Google создаст мобильную операционную систему для повышения безопасности использования устройств. Проект запущен под рабочим названием microdroid.
Android для виртуальных машин
Новая ОС представляет собой сильно урезанную версию Android. Распространять ее предполагается как GSI (generic system image — типовой образ системы) для запуска на виртуальных машинах. По сути, GSI microdroid — это базовая сборка с открытым исходным кодом, в которую включены только основные компоненты Android.
Судя по комментариям в репозитории проекта, систему можно будет запускать поверх гипервизора. Это позволит виртуализовать отдельное приложение Android вместо того, чтобы создавать вторичную рабочую среду. Таким образом, можно будет сэкономить ресурсы и разграничить доступ к данным.
Microdroid будет иметь минимум компонентов для связи с базовым хостом Android: вероятно, только службы init и binder. Проект презентуют уже для гипервизора Type-1 в новом топовом мобильном процессоре Qualcomm Snapdragon 888. По словам представителей Qualcomm, он позволяет изолировать данные между приложениями и операционными системами в рамках устройства, а также мгновенно переключаться между отделенными друг от друга операционными системами без снижения производительности.
Зачем нужен microdroid
Эксперты по кибербезопасности полагают, что создание microdroid — часть масштабной программы Google по внедрению виртуализации на оборудовании Android в целях повышения безопасности. В рамках той же инициативы сотрудники компании работают над внедрением механизма виртуализации ядра Linux под названием KVM. Оно предназначено для устройств Android на базе процессоров ARM64.
Поддержка KVM «лишает привилегий» код, который написан сторонними разработчиками и функционирует на одном из высших уровней исключений ARMv8. Технология защиты предполагает, что такое ПО, например, для защиты прав на цифровой контент, криптографии и т.д., можно будет запускать только на виртуальной машине на том же уровне, что и сама Android — то есть на более низком, чем сейчас.
Чтобы управлять такими виртуальными машинами, Google адаптирует под Android среду crossvm, которая используется для запуска приложений Linux в Chrome OS. Кросс-виртуальная машина может стать частью нового пакета APEX под названием «Виртуализация». Кроме того, проект защищенного KVM будет доступен для архитектуры ARM64 для форков ядра Linux.
Возможно также, что Google хочет распространить использование crossvm на приложения для Android в рамках текущего проекта ARCVM. Это вариант прослойки для запуска Android-приложений, который заменит ARC++ (Android Runtime for Chrome).
В ARCVM вместо контейнера с ограниченными возможностями предполагается использовать полноценную виртуальную машину. Технологии, заложенные в этом проекте, уже применяются в подсистеме Crostini, созданной для запуска Linux-приложений в Chrome OS.