Aktualizacja zabezpieczonej platformy Android GrapheneOS

Dostępna jest wersja zabezpieczonej mobilnej platformy GrapheneOS 2024011300, będącej odgałęzieniem od kodu źródłowego Android (AOSP, Android Open Source Project), rozszerzonego i zmodyfikowanego w celu zwiększenia bezpieczeństwa i zapewnienia prywatności. Projekt wcześniej rozwijany był pod nazwą AndroidHardening, a przedtem odgałęził się od projektu CopperheadOS po konflikcie jego założycieli. W GrapheneOS oficjalnie wspierane są większość aktualnych urządzeń Google Pixel (Pixel 4/5/6/7/8, Pixel Fold, Pixel Tablet). Dorobek projektu jest udostępniany na licencji MIT.

W skład GrapheneOS wchodzi wiele eksperymentalnych technologii związanych z wzmacnianiem izolacji aplikacji, szczegółowym zarządzaniem dostępem, blokowaniem przejawów typowych podatności oraz utrudnianiem pracy exploitów. Na przykład, w platformie stosowana jest własna implementacja malloc i zmodyfikowana wersja libc z zabezpieczeniem przed uszkodzeniem pamięci, a także surowsze podział adresowego przestrzeni procesów. Zamiast JIT w Android Runtime stosowana jest tylko kompilacja wstępna (AOT, ahead-of-time). W jądrze Linux wbudowane są liczne dodatkowe mechanizmy zabezpieczeń, na przykład w slub dodawane są kanaryjne etykiety do blokowania przepełnień buforów. Do wzmocnienia izolacji aplikacji wykorzystywane są SELinux i seccomp-bpf.

Istnieje możliwość przyznania dostępu do operacji sieciowych, czujników, książki adresowej oraz urządzeń peryferyjnych (USB, kamery) tylko wybranym aplikacjom. Odczyt z schowka jest dozwolony tylko dla aplikacji, w których aktualnie aktywne jest pole wprowadzania. Domyślnie zabronione jest uzyskiwanie informacji o IMEI, adresie MAC, numerze seryjnym karty SIM i innych identyfikatorach sprzętowych. Podjęto dodatkowe środki w celu izolacji procesów związanych z Wi-Fi i Bluetooth oraz zapobiegania wyciekom na skutek aktywności bezprzewodowej. Wiele z mechanizmów wzmocnienia bezpieczeństwa opracowanych w ramach projektu przeniesiono do głównej bazy kodowej Android.

W GrapheneOS zastosowano kryptograficzną weryfikację ładowanych komponentów oraz zaawansowane szyfrowanie danych na poziomie systemów plików ext4 i f2fs (dane są szyfrowane przy użyciu AES-256-XTS, a nazwy plików — AES-256-CTS z użyciem HKDF-SHA512 do generowania oddzielnego klucza dla każdego pliku), a nie na poziomie urządzenia blokowego. Dane w systemowych partycjach oraz w każdym profilu użytkownika szyfrowane są różnymi kluczami. Wykorzystywane są dostępne możliwości sprzętowe do przyspieszania operacji szyfrowania. Na ekranie blokady wyświetlana jest przycisk zakończenia sesji, po naciśnięciu którego klucze do deszyfrowania są resetowane, a magazyn przechodzi w stan nieaktywowany. Istnieje opcja, która uniemożliwia instalację dodatkowych aplikacji dla wybranych profili użytkowników. Aby chronić przed atakami metodą brute force, zastosowano system opóźnień, uzależniony od liczby nieudanych prób (od 30 sekund do 1 dnia).

Do GrapheneOS nie są zasadniczo włączane aplikacje i usługi Google, ani alternatywne implementacje usług Google, takie jak microG. Istnieje jednak możliwość instalacji usług Google Play w osobnym, izolowanym środowisku, które nie ma specjalnych przywilejów. Projekt rozwija również kilka własnych aplikacji, skupionych na ochronie informacji i prywatności. Oferowany jest na przykład przeglądarka Vanadium oparta na Chromium oraz zmodyfikowana wersja silnika WebView, bezpieczny przeglądarka PDF, zapora sieciowa, aplikacja Auditor do weryfikacji urządzeń i wykrywania włamań, aplikacja do zarządzania kamerą, skoncentrowana na zapewnieniu prywatności, oraz system tworzenia szyfrowanych kopii zapasowych Seedvault.

Wśród zmian w nowej wersji:

  • Całkowicie przearanżowano realizację mechanizmu automatycznego ponownego uruchamiania, który został przeniesiony na użycie timera w procesie init, a nie w procesie system_server, co pozwoliło zwiększyć bezpieczeństwo i wyeliminować ponowne uruchamianie jeszcze nigdy nie odblokowanego urządzenia. Czas automatycznego ponownego uruchamiania zmniejszono z 72 do 18 godzin. Główna idea automatycznego ponownego uruchamiania polega na przywróceniu aktywowanych (odszyfrowanych) partycji z danymi użytkownika do pierwotnego, nieodszyfrowanego stanu po określonym czasie nieaktywności.

    Dane profilu użytkownika po ponownym uruchomieniu urządzenia są przechowywane w formie zaszyfrowanej i odszyfrowywane dopiero po wprowadzeniu hasła przez użytkownika. Jeśli użytkownik nie odblokował aktywnej sesji przez więcej niż 18 godzin — urządzenie zostanie automatycznie ponownie uruchomione (czas oczekiwania można zmienić w ustawieniach Ustawienia > Zabezpieczenia > Automatyczne ponowne uruchomienie), aby zapobiec analizie kluczy pozostających w pamięci w przypadku, gdy urządzenie trafi w inne ręce.

    Jako przykład konieczności zastosowania funkcji automatycznego ponownego uruchamiania, deweloperzy GrapheneOS wspomnieli o niedawno odkrytych lukach w smartfonach Google Pixel i Samsung Galaxy, które umożliwiają firmom specjalizującym się w analizie kryminalistycznej szpiegowanie użytkowników i wyciąganie danych, gdy urządzenie jest w stanie aktywnym (gdy sesja jest aktywna i dane są odszyfrowane).

  • Dodano przeglądarkę logów (Ustawienia > System > Wyświetl logi), umożliwiającą ocenę pojawiających się problemów i uproszczenie przygotowywania raportów o błędach.
  • Przebudowano interfejs do wysyłania raportów o awariach.
  • W narzędziu adevtool dodano wsparcie dla Pixel Camera Service, umożliwiające korzystanie z trybu nocnego w aplikacjach na smartfonach Pixel 6.
  • W narzędziu adevtool zakończono wsparcie dla urządzeń, które nie są wspierane w Android 14.
  • Dodano powiadomienia o aktywacji detektora uszkodzenia pamięci w malloc.
  • Wsparcie sysrq zostało wyłączone w jądrze Linux.
  • Jądro Linux zaktualizowano do najnowszej wersji GKI (Generic Kernel Image) 5.10.206 dla urządzeń Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet, Pixel Fold, oraz do wersji 5.15.145 dla urządzeń Pixel 8 i Pixel 8 Pro. Dodatkowo przygotowano kompilacje z jądrem 6.1.69.
  • Przeglądarka Vanadium została zaktualizowana do podstawy kodu Chromium 120.0.6099.210.0.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster