Dlaczego AVF?

Urządzenia mobilne przetwarzają coraz większe ilości danych osobowych. Obecność takich danych wrażliwych, a także stałe połączenie z ze światem zewnętrznym, spowodowały zwiększone inwestycje ze strony osób o złych zamiarach, które chcą wykorzystać luki w zabezpieczeniach, aby osiągnąć swoje cele.

Systemy operacyjne, korzystając z urządzeń zarządzania pamięcią (MMU), zapewniają abstrakcje, które izolują od siebie niepowiązane procesy. Tylko komponenty wchodzące w skład Trusted Computing Base (TCB) mogą być programowane bezpośrednio przez te jednostki MMU.

Ten model jest podstawą wdrażania ochrony prywatności i zabezpieczeń od czasu wprowadzenia systemów operacyjnych typu Unix. Wymaganie to stało się jednak problematyczne, ponieważ obecnie TCB jest zbyt duży: obejmuje większość sterowników urządzeń i szyn, złożone harmonogramy, systemy plików, stos sieci i protokoły, pamięci podręczne, parsery i ładowarki plików wykonywalnych oraz gniazda. Trudno jest zapewnić bezpieczeństwo wszystkich elementów tego skomplikowanego systemu.

Rdzeń systemu Linux ma ponad 20 milionów linii kodu, a częstotliwość zmian i przepisywania jest zadziwiająca. Ten wzrost jest ogromną pomocą dla Androida i naszego ekosystemu. Jednak duży TCB utrudnia zapewnienie braku podatności, które można wykorzystać.

Dostawcy sprzętu opracowali rozwiązania, takie jak TrustZone firmy Arm, które umożliwiają procesorom działanie w trybie bezpiecznym i oznaczanie transakcji pamięci jako „bezpieczne” lub „niebezpieczne”. W takich systemach dane wrażliwe są przechowywane w bezpiecznym środowisku i są dostępne tylko w tym środowisku. Bezpieczne środowisko zapewnia usługi niepewnemu środowisku na żądanie.

Głównym ograniczeniem tego typu rozwiązań jest to, że domeny są zbyt ogólne: tylko bezpieczne i niepewne. Wraz z poszerzaniem się zakresu zastosowań wymagających izolacji od systemu operacyjnego rośnie powierzchnia ataku, a podatność na luki w zabezpieczeniach może doprowadzić do skompromitowania całego urządzenia.

Kolejnym ograniczeniem obecnych rozwiązań jest to, że są one zaprojektowane z myślą o świecie stosunkowo statycznym, w którym zasoby dla wszystkich przypadków użycia są uwzględniane i przydzielane z wyprzedzeniem. Te rozwiązania nie są wystarczające w przypadku dynamicznych zastosowań, w których zasoby są przydzielane na żądanie.

Ponadto interfejsy API używane poza systemem operacyjnym Androida są sfragmentowane i ograniczają naszą zdolność do wdrażania przypadków użycia na skalę Androida, w tym podstawowych interfejsów API, takich jak Keymint i Gatekeeper.

Aby rozwiązać te ograniczenia i umożliwić Androidowi zapewnienie solidnej podstawy dla zastosowań nowej generacji, Android 13 wprowadza bezpieczną wirtualizację w ramach platformy wirtualizacji Androida (AVF).

Głównym celem AVF jest zapewnienie bezpiecznego i prywatnego środowiska wykonawczego dla zastosowań nowej generacji.