Мобильные компьютерные устройства обрабатывают все большие объемы конфиденциальных данных. Наличие таких конфиденциальных данных, а также постоянная связь с внешним миром привели к увеличению инвестиций со стороны злоумышленников, заинтересованных в использовании уязвимостей для достижения своих целей.
Операционные системы с помощью аппаратных модулей управления памятью (MMU) предоставляют абстракции, изолирующие несвязанные процессы друг от друга. Только компоненты, являющиеся частью Trusted Computing Base (TCB), могут напрямую программировать эти MMU.
Эта модель стала основой реализации конфиденциальности и безопасности с момента появления Unix-подобных операционных систем. Однако это требование стало проблематичным, поскольку сегодня TCB слишком велик: он включает в себя большинство драйверов устройств и шин, сложные планировщики, файловые системы, сетевой стек и протоколы, кэши, анализаторы и загрузчики исполняемых файлов, а также сокеты. Стало очень сложно обеспечить безопасность каждого уголка этой сложной системы.
Ядро Linux содержит более 20 миллионов строк кода, а скорость изменений и переписывания просто поражает. Этот рост является огромной помощью для Android и нашей экосистемы. Однако большой размер TCB затрудняет обеспечение отсутствия уязвимостей, которые можно использовать.
Поставщики оборудования разработали решения, такие как TrustZone от Arm, которые позволяют процессорам работать в безопасном режиме и помечать транзакции памяти как «безопасные» или «небезопасные». В таких системах конфиденциальные данные хранятся и доступны только в безопасном мире, который предоставляет услуги незащищенному миру по требованию.
Основным ограничением такого рода решений является то, что домены слишком грубы: только безопасные и незащищенные. По мере появления большего количества случаев использования, требующих изоляции от операционной системы, увеличивается поверхность атаки, а уязвимости могут привести к компрометации всего устройства.
Еще одним ограничением сегодняшних решений является то, что они разработаны для относительно статического мира, в котором все ресурсы сценариев использования учитываются и распределяются заранее. Эти решения недостаточно хороши для динамических случаев использования, в которых ресурсы выделяются по требованию.
Кроме того, API, используемые вне операционной системы Android, фрагментированы и ограничивают нашу способность развертывать варианты использования в масштабе Android, включая такие фундаментальные функции, как Keymint и Gatekeeper.
Чтобы устранить эти ограничения и позволить Android обеспечить надежную основу для сценариев использования следующего поколения, в Android 13 представлена безопасная виртуализация в виде Android Virtualization Framework (AVF).
Основная цель AVF — предоставить безопасную и конфиденциальную среду выполнения для сценариев использования следующего поколения.
,Мобильные компьютерные устройства обрабатывают все большие объемы конфиденциальных данных. Наличие таких конфиденциальных данных, а также постоянная связь с внешним миром привели к увеличению инвестиций со стороны злоумышленников, заинтересованных в использовании уязвимостей для достижения своих целей.
Операционные системы с помощью аппаратных модулей управления памятью (MMU) предоставляют абстракции, изолирующие несвязанные процессы друг от друга. Только компоненты, являющиеся частью Trusted Computing Base (TCB), могут напрямую программировать эти MMU.
Эта модель стала основой реализации конфиденциальности и безопасности с момента появления Unix-подобных операционных систем. Однако это требование стало проблематичным, поскольку сегодня TCB слишком велик: он включает в себя большинство драйверов устройств и шин, сложные планировщики, файловые системы, сетевой стек и протоколы, кэши, анализаторы и загрузчики исполняемых файлов, а также сокеты. Стало очень сложно обеспечить безопасность каждого уголка этой сложной системы.
Ядро Linux содержит более 20 миллионов строк кода, а скорость изменений и переписывания просто поражает. Этот рост является огромной помощью для Android и нашей экосистемы. Однако большой размер TCB затрудняет обеспечение отсутствия уязвимостей, которые можно использовать.
Поставщики оборудования разработали решения, такие как TrustZone от Arm, которые позволяют процессорам работать в безопасном режиме и помечать транзакции памяти как «безопасные» или «небезопасные». В таких системах конфиденциальные данные хранятся и доступны только в безопасном мире, который предоставляет услуги незащищенному миру по требованию.
Основным ограничением такого рода решений является то, что домены слишком грубы: только безопасные и незащищенные. По мере появления большего количества случаев использования, требующих изоляции от операционной системы, увеличивается поверхность атаки, а уязвимости могут привести к компрометации всего устройства.
Еще одним ограничением сегодняшних решений является то, что они разработаны для относительно статического мира, в котором все ресурсы вариантов использования учитываются и распределяются заранее. Эти решения недостаточно хороши для динамических случаев использования, в которых ресурсы выделяются по требованию.
Кроме того, API, используемые вне операционной системы Android, фрагментированы и ограничивают наши возможности развертывания вариантов использования в масштабе Android, включая такие фундаментальные функции, как Keymint и Gatekeeper.
Чтобы устранить эти ограничения и позволить Android обеспечить надежную основу для сценариев использования следующего поколения, в Android 13 представлена безопасная виртуализация в виде Android Virtualization Framework (AVF).
Основная цель AVF — предоставить безопасную и конфиденциальную среду выполнения для сценариев использования следующего поколения.