Почему АВФ?

Мобильные вычислительные устройства обрабатывают все большие объемы конфиденциальных персональных данных. Наличие таких данных, подкрепленное постоянной связью с внешним миром, привело к увеличению инвестиций со стороны злоумышленников, заинтересованных в использовании уязвимостей для достижения своих целей.

Операционные системы, с помощью аппаратных блоков управления памятью (MMU), обеспечивают абстракцию, которая изолирует несвязанные процессы друг от друга. Только компоненты, входящие в состав доверенной вычислительной базы (TCB), имеют право напрямую программировать эти MMU.

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

Ядро Linux содержит более 20 миллионов строк кода, и темпы изменений и переписывания поразительны. Этот рост оказывает огромную помощь Android и нашей экосистеме. Однако его большой общий бюджет затрудняет обеспечение отсутствия эксплуатируемых уязвимостей.

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

Главный недостаток подобных решений заключается в слишком крупнозернистой структуре областей: только защищенные и незащищенные. По мере появления все большего числа сценариев использования, требующих изоляции от операционной системы, поверхность атаки увеличивается, и уязвимости с большей вероятностью могут привести к компрометации всего устройства.

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

Кроме того, API, используемые вне операционной системы Android, фрагментированы и ограничивают наши возможности по развертыванию сценариев использования в масштабах Android, включая такие базовые инструменты, как Keymint и Gatekeeper.

Для устранения этих ограничений и обеспечения возможности использования Android в качестве надежной основы для сценариев применения следующего поколения, в Android 13 представлена ​​безопасная виртуализация в виде Android Virtualization Framework (AVF).

Главная цель AVF — обеспечить безопасную и конфиденциальную среду выполнения для сценариев использования следующего поколения.