Android 13 Virtualization Hack uruchamia system Windows (i Doom) na maszynie wirtualnej Androida

Android 13 Virtualization Hack uruchamia system Windows (i Doom) na maszynie wirtualnej Androida

Oto zabawna nowa funkcja w systemie Android 13: działająca obsługa wirtualizacji. Google wbudowuje wirtualizację w Androida z własnych powodów, ale programista Androida kdrag0n przywłaszczył sobie tę funkcję dla rozruchu systemu Windows 11 ARM i stacjonarnego systemu Linux . Deweloper uruchomił nawet wersję Dooma dla systemu Windows na maszynie wirtualnej Pixel 6.

kdrag0n mówi, że Android 13 ma „pełną funkcjonalność KVM” z „prawie natywną wydajnością”. Potrzebujesz roota, aby włączyć funkcje, które nie obsługują akceleracji GPU. Funkcjonalność nie obsługuje również wirtualizacji zagnieżdżonej, więc chociaż możesz teraz uruchamiać Androida w systemie Windows i Windows na Androidzie, tworzenie nieskończenie zagnieżdżonego systemu operacyjnego nie wchodzi w rachubę.

To sprawia, że ​​schludne demo wcale nie jest tym, co Google chce zrobić z nadchodzącą obsługą maszyn wirtualnych z Androidem. Mishaal Rahman z Esper od pewnego czasu dokładnie monitoruje postępy wirtualizacji Androida, a oczywistym planem jest kiedyś (być może w Androidzie 13) wykorzystanie maszyn wirtualnych jako piaskownicy bezpieczeństwa i prywatności dla różnych funkcji. Wyobraź sobie, że zamiast obsługiwać wrażliwe dane na normalnym poziomie uprawnień aplikacji, dane mogłyby być obsługiwane w oddzielnym systemie operacyjnym, więc osoby atakujące musiałyby złamać model bezpieczeństwa aplikacji, następnie Androida, następnie hiperwizora, a następnie inny, prywatny system operacyjny.

Pierwszą częścią prac Google nad wirtualizacją jest standaryzacja jądra Linuksa dostarczanego z urządzeniem z Androidem. Obecnie jądro Androida to powszechna historia fragmentacji Androida, a każdy model telefonu jest dostarczany ze specjalną wersją jądra Linuksa załadowaną z pewnymi zmianami i dyskami. Jądra w zasadzie nigdy nie są aktualizowane i bardzo trudno jest wdrożyć jakiekolwiek funkcje wirtualizacji na poziomie systemu operacyjnego, gdy istnieje dosłownie 10 000 różnych jąder Androida. Plan Google dotyczący standaryzacji jądra Linuksa nosi nazwę „GKI” lub „Generic Kernel Image”.

Generic Kernel to jądro Androida z minimalnymi zmianami, a wszelkie zmiany producenta lub wsparcie sprzętowe są obsługiwane przez system modułów. Główne jądro jest teraz ustandaryzowane i ma znany zestaw funkcji. Pewnego dnia jądro może nawet zostać zaktualizowane. GKI jest pierwszy na Pixelu 6, więc Pixel 6 jest pierwszym (i jak dotąd jedynym) telefonem z Androidem, który może to zrobić.

Google wdraża menedżera maszyn wirtualnych KVM i systemu operacyjnego Chrome OS, crosvm. Firma buduje również okrojoną, bezgłową wersję Androida do uruchamiania na maszynie wirtualnej.

Wcześniej uważano, że ten mały system operacyjny nosi nazwę „Microdroid”, ale ten pseudonim wydaje się być tylko skrótem w oprogramowaniu Google VM. Dokładniejsza nazwa wydaje się być „CompOS”, jak w systemie operacyjnym przeznaczonym do przeprowadzania izolowanej kompilacji. Cały ten kod zostanie ostatecznie dostarczony na każdy telefon z Androidem za pośrednictwem nowego modułu Mainline „virt”.

Google zakłada, że ​​główna dystrybucja Androida i bezpieczna maszyna wirtualna działają na hiperwizorze urządzenia, dzięki czemu dane maszyny wirtualnej stanowią dodatkową warstwę prywatności i ochrony przed nawet najbardziej restrykcyjnymi ustawieniami Androida. Po pierwsze, Google chce użyć go jako zamiennika TrustZone ARM (działającego na przykład DRM) i kryptografii. Google chce pozbyć się TrustZone, ponieważ TrustZone jest pełen uprzywilejowanego, zastrzeżonego kodu strony trzeciej i ponieważ TrustZone działa wolno. Dzięki szybszemu i bezpieczniejszemu środowisku pracy Google może zacząć wykonywać bardziej wymagające czasowo zadania, takie jak rozpoznawanie głosu, na jednej z tych prywatnych maszyn wirtualnych. Jak dotąd firma wydaje się robić postępy!

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *