GrapheneOS: taki powinien być Android

Wpis ten nie będzie typowym poradnikiem, a bardziej opisem i recenzją GrapheneOS – systemu opartego o AOSP (Android), którego priorytetem jest zapewnienie bezpieczeństwa i prywatności użytkownikom bez kompromisów. Mimo bezwzględnego nacisku na bezpieczeństwo system ten z powodzeniem nadaje się do codziennego użytku. GrapheneOS wyróżnia się kompleksowym podejściem do bezpieczeństwa – od kernela przez system, usługi aż po infrastrukturę.

Spis treści

Wstęp

Po latach użytkowania zmodyfikowanych wersji Androida, poczynając od bawienia się w modyfikacje i kastrowanie fabrycznych romów, przez instalacje ówczesnego CyanogenModa aż do LineageOS (zarówno z microG jak i bez) – przyszedł czas na bardziej dojrzały i odpowiedni krok. Jest nim przesiadka na GrapheneOS. Zaspoileruję trochę: system ten pozostanie u mnie już na długi czas.

Dlaczego GrapheneOS?

GrapheneOS (w dalszej części wpisu będę używał zamiennie skrótu GOS) jest forkiem AOSP, czyli inaczej mówiąc czystego Androida. Priorytetem twórców jest bezwzględne bezpieczeństwo i prywatność użytkowników. GrapheneOS w swojej kategorii jest prawie jedynakiem. Dość wspomnieć, że część funkcji bezpieczeństwa wprowadzonych w GrapheneOS na przestrzeni ostatnich lat została zaadoptowana do AOSP. Jako że GOS jest względnie dużym projektem, raczej nie grozi mu zamknięcie jak to się stało w przypadku jednoosobowego DivestOS. Dzisiaj dostępnych jest wiele innych projektów z LineageOS na czele, jednak żaden z nich nie kładzie nawet w połowie takiego nacisku na bezpieczeństwo jak GrapheneOS. Wspomniany wcześniej DivestOS był mu pod tym względem najbliższy, jednak został jakiś czas temu zakończony. Istnieje jeszcze CalyxOS, który dostępny jest na nieco szerszą gamę urządzeń niż GrapheneOS, jednak w kategorii bezpieczeństwa pozostaje daleko w tyle. Oczywiście wszystkie z wydawanych dzisiaj forków Androida niosą na sztandarach poszanowanie dla prywatności, jednak bez bezpieczeństwa nasza prywatność jest w dalszym ciągu zagrożona.

Tabela porównawcza uwzględniająca historyczny już DivestOS

źródło: https://eylenburg.github.io/old/android_comparison_2024old.htm

Ale do brzegu, co takiego wyróżnia GrapheneOS na tle AOSP jak i również innych jego forków? Zacznijmy od tego, że bazuje na AOSP a nie jak w przypadku większości forków – na LineageOS. Nie jest to przypadek, ponieważ im większa ilość funkcji/modyfikacji względem AOSP, tym większa możliwa powierzchnia ataku. Poza tym infrastruktura (serwery) – dzięki niej takie aspekty jak sprawdzanie łączności, czas sieciowy czy usługi lokalizacyjne są rozwiązywane bez pośrednictwa Google. We wpisie wymienię tylko najważniejsze cechy GrapheneOS, kompletna lista dostępna jest pod tym adresem. Z góry przepraszam za ewentualne niedopowiedzenia czy przekręcenia – wszak jestem tylko hobbystą, nie specem od bezpieczeństwa.

Ochrona przed wykorzystaniem nieznanych luk w zabezpieczeniach (0-day)

Jako że nie da się załatać nieznanych jeszcze luk w zabezpieczeniach, developerzy GrapheneOS przeciwdziałają temu zagrożeniu poprzez redukcję możliwych powierzchni i wektorów ataku. Można tego dokonać np. poprzez ograniczenie zbędnego kodu. Jest to według twórców „pierwsza linia obrony”. Drugą linią jest uniemożliwienie lub ograniczenie wykorzystania luk poprzez uniemożliwienie lub utrudnienie wykonania złośliwego kodu. Trzecią i ostatnią linią obrony jest kilkupoziomowe izolowanie w piaskownicy (ang. sandboxing). Kolejnym sposobem na redukowane zagrożeń jest utwardzanie (ang. hardening) kodu z kernelem na czele. Poza tym GrapheneOS wykorzystuje weryfikowany rozruch systemu oraz sprzętową atestację. Pierwsza funkcja pozwala nam być pewnym że nie doszło do naruszenia integralności systemu podczas rozruchu, druga zaś przedstawia nasz system na zewnątrz jako zaufany. Innym istotnym czynnikiem wpływającym na bezpieczeństwo jest łatanie luk. Twórcy GrapheneOS kładą większy nacisk na łatanie kernela. Łatki te są dostępne z dużo mniejszym opóźnieniem niż ma to miejsce w przypadku fabrycznych romów.

Izolowane usługi Google

Jedno z ciekawszych rozwiązań, dostępne wyłącznie w GrapheneOS. Mowa o izolowanych usługach Google działających w oparciu o specjalną warstwę stworzoną przez developerów GOS o nazwie GmsCompat. Sam system instalujemy domyślnie bez jakichkolwiek usług, jednak możemy pobrać i zainstalować sobie usługi od wujka G. Największą zaletą jest to, że instalujemy je jak normalną aplikację bez dodatkowych uprawnień jak ma to miejsce w fabrycznych romach producentów telefonów. Drugą zaleta to możliwość zainstalowania usług tylko w wybranych przez nas profilach. To samo tyczy się Android Auto. A jeśli chcemy żyć bez Google? W takim przypadku nie musimy nic robić 🙂

Dostęp do internetu i czujników

Względem standardowego systemu uprawnień w Androidzie dodano uprawnienia dostępu do internetu oraz dostępu do zestawu sensorów (żyroskop, kompas itp.). Bardzo ważną i przydatną funkcją jest wyświetlanie przełącznika z dostępem do internetu podczas instalacji danej aplikacji, czyli możemy zabronić programowi dostępu już zanim zostanie zainstalowany. Oczywiście możemy to zmienić później w ustawieniach danej aplikacji. Dostęp do sensorów dla aplikacji jest domyślnie włączony w systemie ze względu na kwestie kompatybilności, jednak możemy go wyłączyć samemu globalnie lub w opcjach aplikacji.

Dostęp do pamięci i kontaktów

Kolejną funkcją dostępną tylko w GrapheneOS jest Storage Scopes, czyli dostęp do wydzielonej wirtualnej przestrzeni dysku. Polega na wydzieleniu dla danej aplikacji fizycznie tylko jednego folderu, ale program uważa, że ma dostęp do całego dysku. Podobnie sprawa ma się z kontaktami (Contact Scopes). W przypadku włączenia tej opcji aplikacja dostaje dostęp do pustej specjalnie dla niej wydzielonej książki telefonicznej, innymi słowy nie widzi ani jednego naszego kontaktu.

Lokalizacja sieciowa

GrapheneOS zapewnia własną implementację lokalizacji sieciowej. Działa ona na podobnej zasadzie jak ta od Apple z tą różnicą że rozwiązywanie lokalizacji odbywa się lokalnie na naszym telefonie za pośrednictwem serwerów proxy od GrapheneOS. W ustawieniach lokalizacji mamy pozycję geolokalizacji A-GNSS (SUPL), czyli wsparcie GPS poprzez nadajniki sieciowe. Możemy wybrać czy chcemy się łączyć bezpośrednio (z serwerami Apple), czy pośrednio przez serwery proxy GrapheneOS. Kolejną opcją jest Usługa danych satelitarnych (PSDS). Tutaj z kolei możemy wybrać czy chcemy łączyć się z serwerami GrapheneOS czy standardowymi (Apple).

Prywatność jako domyślna opcja

GrapheneOS nie używa żadnych aplikacji czy usług od Google, w to miejsce wchodzą własne serwery GrapheneOS. Wymusza to sporo zmian w systemie, główne z nich to:

  • Sprawdzanie łączności przez serwery GOS zamiast Google
  • Czas sieciowy ustalany na podstawie serwerów GOS zamiast Google
  • Vanadium WebView
  • wspomniane wcześniej wsparcie lokalizacji (PSDS, SUPL)

App store

GrapheneOS posiada swój własny sklep z aplikacjami. Co prawda nie znajdziemy w nim za wiele programów (na tą chwilę jest ich 12), jednak jego rola jest nieco inna niż znanych nam sklepów z aplikacjami. App store służy nam do aktualizacji systemowych aplikacji jak np. Wiadomości i Kamera. Przede wszystkim jednak tutaj możemy zainstalować usługi Google czy Android Auto.

Vanadium – Domyślna przeglądarka i WebView

Vanadium jest domyślną przeglądarką internetową, zaś Vanadium WebView to systemowy silnik WebView oparty o Vanadium. Pełni funkcję silnika będącego niejako wbudowaną przeglądarką dla instalowanych aplikacji. Jest to dalece zmodyfikowany Chromium pod względem bezpieczeństwa i prywatności. Lista zmian jest bardzo długa, możemy ją przejrzeć pod tym linkiem.

Ulepszone profile użytkowników

GrapheneOS posiada wiele ulepszeń w kwestii profili użytkowników względem czystego Androida. Możemy ich utworzyć 32 zamiast 4, łatwiej możemy się wylogować (zakończyć sesję), możemy wyłączyć możliwość instalowania aplikacji, czy wreszcie otrzymywać powiadomienia z dodatkowego profilu podczas używania profilu głównego.

Poza wyżej wymienionymi cechami istnieje wiele innych, takich jak: możliwość wyłączenia zainstalowanych aplikacji, tryb łączności Tylko LTE, dwuskładnikowe odblokowanie telefonu z użyciem odcisku palca i PINu, automatyczny restart telefonu, bezpieczniejsze implementacje metod odblokowania telefonu i wiele więcej.

Urządzenia

Żeby zainstalować GrapheneOS musimy posiadać telefon od Google. Taki paradoks – chcąc uwolnić się od wujka G musimy kupić od niego telefon. Dlaczego akurat Google? Przecież jest powszechnie krytykowane za „luźne” podejście do naszej prywatności. Tutaj musimy jednak na chwilę oddzielić pojęcie prywatności od bezpieczeństwa. W temacie bezpieczeństwa smartfony Google Pixel są póki co bezkonkurencyjne. W związku z bardzo obszerną listą wymagań, jakie twórcy GrapheneOS stawiają przed smartfonami które mogą objąć swoim wsparciem, raczej nieprędko zobaczymy na tej liście telefon od innego producenta. Pozwolę sobie wymienić wg. mnie kilka istotniejszych wymogów:

  • Wsparcie producenta dla możliwości wgrania alternatywnych systemów operacyjnych – rozumiem przez to m. in. możliwość zablokowania bootloadera po wgraniu niefabrycznego systemu,
  • Co najmniej 5 lat aktualizacji urządzenia od daty premiery. Mowa tu o łatkach bezpieczeństwa, aktualizowaniu firmware i sterowników,
  • Comiesięczne aktualizacje biuletynów bezpieczeństwa wydawane bez opóźnień,
  • Sprzętowe wsparcie dla wirtualizacji, tagowania pamięci oraz CFI,
  • Izolowanie radia (sieć komórkowa, WiFi, bluetooth, NFC),
  • Sprzętowe wsparcie dla wyłączenia transferu po USB,

Aktualnie tylko Pixele od Google spełniają rozbudowaną listę wymagań. Ale nawet nie wszystkie z Pixeli objęte są wsparciem, możliwość instalacji zaczyna się od modelu Pixel 4 wzwyż.

  • Pixel 4, 4a, 4 XL – ze względu na brak uaktualnień bezpieczeństwa dla firmware i sterowników posiadają tzw. rozszerzone wsparcie bazujące na Android 13. Portowane są tylko poprawki bezpieczeństwa z wyższych wersji Androida oraz inne drobne zmiany wymagane do poprawnego działania naszych smartfonów,
  • Pixel 4a (5G), 5, 5a – identyczna sytuacja jak wyżej, z tą różnicą że tutaj zostajemy z Android 14 na pokładzie,
  • Pixel 6, 6a, 6 PRO, 7, 7a, 7 PRO, 8, 8a, 8 PRO, 9, 9a, 9 PRO, 9 PRO XL, 9 PRO Fold, Fold, Tablet – posiadają pełne wsparcie GrapheneOS z najnowszą wersją Androida na pokładzie.

Powyższa lista wyczerpuje ilość wspieranych urządzeń. Jednak lista polecanych modeli jest trochę węższa ze względu na pozostały czas wsparcia smartfonów przez producenta. Kształtuje się ona następująco:

  • Pixel 7, 7a, 7 PRO, Tablet, Fold – 5 lat wsparcia od daty premiery. koniec wsparcia w 2027/2028 roku.

Szczególnie polecane głównie ze względu na przedłużony okres wsparcia do 7 lat są modele:

  • Pixel 8, 8a, 8 PRO – 7 lat wsparcia od daty premiery. koniec wsparcia w 2030/2031 roku.
  • Pixel 9, 9a, 9 PRO, 9 PRO XL, 9 PRO Fold – 7 lat wsparcia od daty premiery. koniec wsparcia w 2031/2032 roku.

Mimo pełnego wsparcia, nie są polecanie do zakupu modele serii Pixel 6 gdyż w ich przypadku okres 5-letniego wsparcia producenta kończy się w 2026/2027 roku. Po tym czasie trafią na listę rozszerzonego wsparcia GrapheneOS o ograniczonych aktualizacjach razem z poprzednikami.

Podsumowując, jeśli posiadamy aktualnie smartfona serii Pixel 4, 5 czy 6 to śmiało możemy zainstalować GrapheneOS. Na pewno podniesiemy tym poziom bezpieczeństwa i prywatności naszych telefonów względem fabrycznego systemu.

Jeśli jednak zamierzamy dopiero zakupić nowy lub używany egzemplarz, to najbardziej polecane będą modele z serii Pixel 8 i 9. W przypadku ograniczonego budżetu warunkowo można rozważyć model Pixel 7a, gdyż jest to złoty środek pomiędzy ceną a końcem okresu wsparcia (2028 rok). Jeżeli jednak ktoś bardzo nie chce dać zarobić gigantowi z Mountain View to może kupić używany egzemplarz. Przy okazji będzie to wybór pro-ekologiczny 😉

Instalacja

Instalacja GrapheneOS jest bardzo łatwa, cały proces może przebiec bez wpisywania ani jednej komendy. Szczegółowy i wyczerpujący opis dostępny jest na oficjalnej stronie. W moim wpisie postaram się go uprościć jeszcze bardziej poprzez zawężenie możliwych sposobów instalacji do tych najłatwiejszych.

W kwestii sprzętu do instalacji potrzebować będziemy oczywiście komputera oraz przewodu USB.

W temacie wspieranych systemów operacyjnych nie ma niespodzianek, znajdują się tutaj Windows 10 i 11, MacOS, jak i najpopularniejsze dystrybucje Linuxa, tj, Arch, Debian, Ubuntu, Mint.

Delikatny problem zaczyna się w przypadku wspieranych przeglądarek, a mianowicie brakuje pośród nich Firefoxa. Zmuszeni jesteśmy korzystać z przeglądarki opartej na silniku Chromium, tj. samo Chromium, Chrome, Edge lub Brave. Osobiście problem rozwiązałem instalując Ungoogled Chromium z AUR w Archu. W przypadku Debiana i pochodnych możemy zainstalować paczkę z Flathuba. Przeglądarka będzie nam potrzebna, ponieważ skorzystamy z metody instalacji Web installer.

Rozpoczynamy instalację

  1. Aktywujemy odblokowanie OEM w naszym Pixelu:
    • Ustawienia -> Informacje o telefonie,
    • Tapiemy około 7 razy w Numer kompilacji aż pojawi nam się komunikat o odblokowanym menu Opcji programisty,
    • Następnie wchodzimy w Ustawienia -> System -> Opcje programisty,
    • Aktywujemy opcję Zdjęcie blokady OEM,
  2. Przygotowujemy peceta:
    • W Arch Linux i pochodnych instalujemy android-udev
    • W Debianie, Ubuntu i Mint instalujemy android-sdk-platform-tools-common
  3. Uruchamiamy naszego Pixela w trybie bootloader,
    • Wyłączamy telefon,
    • Włączamy telefon przytrzymując jednocześnie przycisk Vol- (zmniejszania głośności),
    • gdy telefon uruchomi się nam w trybie Fastboot Mode puszczamy przyciski,
  4. Podłączamy telefon przewodem do komputera,
  5. Otwieramy oficjalną stronę GrapheneOS na zakładce Unlocking the bootloader,
    • klikamy przycisk Unlock bootloader,
  6. Zobaczymy pytanie czy chcemy odblokować bootloader, przyciskami głośności wybieramy Tak i zatwierdzamy przyciskiem zasilania
  7. Następnie otwieramy stronę na zakładce Flashing factory images
    • klikamy Flash release
  8. Rozpocznie się proces wgrywania GrapheneOS na naszego smartfona. Gdy zakończy się wgrywanie GrapheneOS, przechodzimy do następnego kroku,
  9. Otwieramy zakładkę Locking the bootloader
    • klikamy Lock bootloader. Nastąpi ponowne zablokowanie naszego bootloadera
  10. Jeśli wszystkie czynności wykonały się poprawnie, możemy włączyć telefon naciskając przycisk zasilania.
  11. W nowo zainstalowanym systemie pozostaje nam wykonać ostatnią czynność jaką jest ponowne zablokowanie możliwości odblokowania bootloadera:
    • Wchodzimy w Ustawienia -> System -> Opcje programisty,
    • Deaktywujemy opcję Zdjęcie blokady OEM
  12. Gratulacje, tą czynnością zakończyliśmy instalację GrapheneOS.

Recenzja

Po ponad dwóch miesiącach użytkowania mojego Pixela 8 z GrapheneOS na pokładzie przyszedł czas na recenzję systemu, który na pierwszy rzut oka może wydawać się mało przyjazny w użytkowaniu, w końcu nie uświadczymy tu żadnych fajerwerków ani pełnego pakietu „przydatnych” aplikacji. Jednak jak to często bywa, pozory mogą mylić. GrapheneOS cechuje się wzorową kompatybilnością z aplikacjami i ogólną stabilnością systemu.

Pierwsze wrażenia po uruchomieniu

Już odwiedzając oficjalną stronę możemy dostrzec jej ascetyczny charakter – znajdziemy na niej praktycznie tylko tekst. I to dużo tekstu. Żadnych zrzutów ekranu, czy grafik zachęcających do pobrania i wypróbowania. Nie inaczej jest z samym GrapheneOS. Po uruchomieniu wita nas cały czarny ekran z kilkoma biało-czarnymi ikonami. Podobnie jest po otwarciu szuflady z aplikacjami. Znajdziemy tutaj tylko minimum aplikacji niezbędnych do działania telefonu takich jak Dialer, Kontakty, Wiadomości, Kamera, Przeglądarka i App Store. Jednak w tym właśnie cała siła omawianego systemu – żadnych rozpraszaczy i zbędnego oprogramowania.

Po wejściu w App Store czyli do sklepu od GrapheneOS zobaczymy nasze systemowe aplikacje, zewnętrzny bezpieczny sklep Accrescent oraz Usługi Google Play. Poza tym znajdziemy tu też Android Auto i apkę Markup. I to by było na tyle. Najmniejszy sklep z aplikacjami jaki widziałem 😉 A tak na poważnie App Store celowo jest taki mały, ponieważ służy on do aktualizowania aplikacji systemowych oraz bezpiecznego instalowania usług od Google.

Żeby uzyskać dostęp do dodatkowych aplikacji, musimy z App Store zainstalować sklep Accrescent. Po zainstalowaniu zyskujemy dostęp już do nieco większej ilości przydatnych aplikacji jak np. Molly (fork Signala), IronFox (fork Firefoxa) czy Organic Maps. Jako że Accrescent jest dopiero w powijakach stąd ilość dostępnych aplikacji nie powala (na moment pisania artykułu jest ich 32), możemy jednak liczyć na sukcesywne zapełnianie się sklepu. Potraktujmy go póki co jako źródło uzupełnienia naszego GrapheneOS w pakiet podstawowych aplikacji których domyślnie brak w systemie jak np. odtwarzacze, notatki, mapy itp. Znakomita większość użytkowników jednak i tak zainstaluje sobie F-droida.

Jeśli komuś wbudowane możliwości instalowania dodatkowego oprogramowania wydają się skąpe, to proponuję dla porównania zainstalować czystego LineageOS. Nie znajdziemy tam żadnego sklepu, więc w tym porównaniu GrapheneOS wypada na plus.

Ochrona przed exploitami

To co wyróżnia GrapheneOS to ich „znak firmowy” jakim jest ochrona przed exploitami. Po wejściu w menu Bezpieczeństwo i prywatność, podmenu Exploit protection znajdziemy przede wszystkim dostęp do przełączników odpowiedzialnych za ochronę przed zagrożeniami ze strony instalowanych aplikacji.

Po wejściu w przełącznik wybranego rodzaju zabezpieczeń mamy krótki opis jego działania. Są to przełączniki globalne. Zaleca się pozostawienie domyślnych ustawień (poza jednym wyjątkiem, o czym później), gdyż ich zmiana może wiązać się z ryzykiem wystąpienia problemów z działaniem lub nawet problemem z uruchomieniem niektórych aplikacji. Te same przełączniki mamy dostępne także dla każdej aplikacji oddzielnie i najlepiej w tam włączać dane ustawienia ochrony. Jak widać na zrzutach ekranu, funkcje związane z bezpieczeństwem nie zostały przetłumaczone, ale o tym później.

Profile użytkowników

Profile użytkowników tak jak i przestrzeń prywatna czy profil służbowy dostępne są w czystym Androidzie / AOSP. Na tym polu twórcy GOS postanowili jednak rozszerzyć funkcjonalność profili, dzięki temu mogą one służyć jako element systemu zwiększający bezpieczeństwo i prywatność. Istotną zmianą jest zwiększenie limitu ilości profili, czyli w praktyce możemy utworzyć osobne profile np. zawierający usługi Google, profil do gier, czy innych niewolnych aplikacji. Profile między sobą nie mogą się komunikować w żaden sposób. Dla każdego profilu z osobna możemy także zezwolić lub nie na działanie w tle. Jeśli dany profil działa w tle, będziemy otrzymywać powiadomienia z zainstalowanych w nim aplikacji w naszym profilu głównym. Kolejnym wyróżnikiem od GOS jest możliwość wyłączenia możliwości korzystania z funkcji telefonu jak połączenia czy smsy. Możemy także wyłączyć możliwość instalowania aplikacji czy skopiować zainstalowane aplikacje z głównego profilu. Oczywiście na każdym z profili możemy używać innego VPN. Powyższe modyfikacje profili od twórców GOS w przeciwieństwie do AOSP pozwalają nam na korzystanie z wielu profili jednocześnie dzięki powiadomieniom.

Wydajność

Można się spodziewać, że wprowadzone przez twórców GOS funkcje zwiększające nasze bezpieczeństwo mogą wpłynąć negatywnie na responsywność systemu. W końcu izolowanie aplikacji powoduje pewien narzut dla systemu, który w teorii może wpłynąć na wydajność. W praktyce (poza jednym wyjątkiem) nie zauważymy żadnej różnicy. Responsywność GrapheneOS jest na podobnym poziomie jak w przypadku czystego AOSP. Pisząc o wyjątku mam na myśli funkcję Secure app spawning, czyli „uruchamianie aplikacji w bardziej bezpieczny sposób” niż standardowo. W opisie funkcji jest zaznaczone że może ona wpływać nieznacznie na wydajność poprzez dłuższe uruchamianie aplikacji i większą zajętość pamięci RAM. Jakież było moje zdziwienie gdy przesiadłem się z mojego Oneplus 8T z LineageOS na pokładzie na Pixela 8 który w syntetycznych benchmarkach wypadał wyraźnie lepiej. W praktyce okazał się jednak dużo wolniejszy. Winowajcą okazał się właśnie Secure app spawning. Po testach okazało się że jego wpływ jest zdecydowanie większy niż „nieznaczny”. Responsywność całego systemu była zdecydowanie gorsza. Co więcej bardzo często wyrzucało aplikacje z pamięci, przez co uruchamiały się one znacznie dłużej. Funkcja Secure app spawning jest domyślnie włączone po instalacji systemu, więc początkowo możecie być rozczarowani wydajnością podobnie jak ja. Spodziewałem się, że po którejś aktualizacji systemu problem zniknie, okazało się, że jednak nie. Wychodzi na to, że obniżenie wydajności to cecha tejże funkcji. Na szczęście wystarczy tapnąć jeden przełącznik, żeby system wrócił do żywych. Tutaj niestety stoimy przed nie lada dylematem, ponieważ jest to jedna z flagowych funkcji GrapheneOS. W tym przypadku każdy sam musi odpowiedzieć sobie na pytanie na ile mój telefon ma być bezpieczny, a na ile wydajny. Jednak nie popadajmy w paranoję, jest to tylko jedna z wielu funkcji bezpieczeństwa dostępnych na naszym systemie.

Lokalizacja

Zależność współczesnych smartfonów od Google widoczna jest także w aspekcie funkcji lokalizacyjnych dostępnych w naszych Androidach. Innymi słowy jeśli zainstalujemy czysty AOSP bez usług od wujka G, to działanie lokalizacji sieciowej jak i samego GPS staje się problematyczne. Nawet LineageOS nie jest w tym temacie niezależny. GOS aktualnie niestety też nie jest całkiem niezależny od zewnętrznych usługodawców (w tym wypadku Apple, gdyż zapewnia więcej prywatności), jednak zapewnia nam anonimowość i prywatność poprzez pośredniczenie przez swoje serwery w kwestii pobierania sieciowych danych lokalizacyjnych. Twórcy GOS są jednak w trakcie tworzenia własnej bazy lokalizacyjnej, która w przyszłości zastąpi korzystanie z tych zewnętrznych.

Aparat

Jednym z głównych atutów Pixeli są oczywiście zainstalowane w nich aparaty. Poza tym bardzo istotne jest oprogramowanie obsługujące wspomniane aparaty. Jak się domyślacie, GrapheneOS oferuje swoją aplikację do robienia zdjęć i nagrywania filmów. Jeśli komuś nie zależy specjalnie na funkcjach, jakości i rozdzielczości zdjęć, to powinna ona w zupełności wystarczyć. Aplikacja posiada podstawową funkcjonalność i spełnia swoje zadanie niezawodnie. Problem zaczyna się, jeśli chcielibyśmy korzystać z pełnych możliwości oraz ze wszystkich dostępnych obiektywów. W tym przypadku przydałaby się oryginalna aplikacja do obsługi aparatu od Google.

W tej sytuacji z pomocą przychodzi nam mod Gcam, czyli zmodyfikowana aplikacja aparatu od Google nie wymagająca usług Google ani aplikacji Zdjęcia Google. Jeśli także posiadacie model Pixel 8, to umieszczam bezpośrednie linki do odpowiedniej wersji aplikacji Gcam oraz pliku konfiguracyjnego. Po zainstalowaniu aplikacji pobieramy plik konfiguracyjny i wrzucamy go do katalogu /Download/AGC.9.2/configs/, otwieramy aplikację aparatu i wczytujemy plik konfiguracyjny (ikona w prawym górnym rogu -> Load config). Od tej pory mamy dostęp do wszystkich obiektywów oraz odblokowujemy pełną rozdzielczość 50Mpix. Pozostanie nam już tylko wejście w ustawienia -> zaawansowane i odhaczenie Use Google Photos

Aplikacja Aparat od GrapheneOS:

Aplikacja Gcam:

Nie muszę chyba dodawać, że aplikacji udzielamy tylko niezbędnych uprawnień czyli dostępu do pamięci telefonu. Na etapie instalacji blokujemy dostęp do internetu a później możemy włączyć dodatkowe opcje ochrony przed exploitami.

Kompatybilność

Z tytułu braku uprawnień roota w systemie, zablokowanego bootloadera oraz sprzętowej atestacji nie powinniśmy mieć problemów z działaniem aplikacji, głownie bankowych. Wszystkie aplikacje, których używam działają bez żadnych problemów, nawet bez zainstalowanych usług Google. Oczywiście mogą się zdarzyć aplikację które odmówią działania jak chociażby Revolut, który sprawdza czy posiadamy na telefonie fabryczny system. Jako że sprzętowa atestacja jest bezpieczniejsza i bardziej wiarygodna, niż atestacja poprzez API Play Integrity, aplikacje powinny w pierwszej kolejności sprawdzać sprzętową atestację. Mimo tego niektóre aplikacje uparcie korzystają z tej drugiej. Pozostaje nam tylko głosować portfelem i/lub zgłaszać problemy z działaniem twórcom aplikacji, tudzież wystawiać negatywne opinie w sklepie Play.

Aktualizacje

Aktualizacje systemowe przebiegają automatycznie i niezauważalnie. Jedyny komunikat jaki zobaczymy na naszych ekranach, to informacja o potrzebie zrestartowania telefonu aby aktualizacja została zastosowana. Możemy tylko zmienić w ustawieniach kanał aktualizacji z stabilnego na betę lub alfę oraz wybrać czy mają być pobierane przez wszystkie sieci, czy tylko przez WiFi. Częstotliwość aktualizacji to około tydzień, podobnie jak w LineageOS.

Wady

Przez cały okres użytkowania przeze mnie GrapheneOS rzuciło się w oczy kilka mniej istotnych niedoskonałości wymienionego systemu. Do tych najbardziej widocznych należy brak tłumaczenia modyfikacji od GrapheneOS względem czystego AOSP. Widać to chociażby na umieszczonych wcześniej zrzutach ekranu. Twórcy tłumaczą się tym, że (mimo chętnych do tłumaczenia elementów interfejsu) tłumaczenie musi być wykonane profesjonalnie, a w tej chwili znajduje się to na dole listy z priorytetami. Jak dla mnie jest to trochę dziwne tłumacznie, gdyż po ich stronie leży tylko wyrażenie na to zgody. Z drugiej strony dzięki temu możemy łatwo wychwycić wszystkie modyfikacje od GrapheneOS, gdyż żadna z nich nie została przetłumaczona 😉

kolejną wadą w moim odczuciu jest brak udogodnień i opcji dostosowania systemu pod siebie jakie znajdziemy w LineageOS czy w nakładkach od producentów smartfonów. Wiąże się to z tym, że system bazuje na czystym AOSP. Wytłumaczenie jest takie, że każda modyfikacja to zwiększona możliwa powierzchnia ataku, więc nie ma w planach żadnych zmian za wyjątkiem tych zwiększających bezpieczeństwo.

Ostatnia oczywiście największa wada to dostępność systemu na dane telefony. GrapheneOS zainstalujemy niestety tylko na Pixelach od Google. Rozumiem to że twórcy podchodzą do tematu bezpieczeństwa bardzo poważnie czy wręcz paranoicznie, jednak nie pogardziłbym forkiem o nieco luźniejszym podejściu do bezpieczeństwa za to z tymi samymi funkcjami dostępnym dla telefonów od innych producentów.

Podsumowanie

Z mojego Pixela korzystam już ponad dwa miesiące i nie zauważyłem żadnych problemów czy niedogodności które mogły by być związane z restrykcyjnym podejściem autorów do spraw bezpieczeństwa. Użytkowanie Pixela z GrapheneOS nie różni się niczym od korzystania z telefonów z fabrycznym softem na pokładzie. Jako ciekawostkę podam fakt, że developerzy GOS nie stworzyli jeszcze systemu dostępnego na nasze laptopy nie z powodu problemów z kompatybilnością czy brakiem umiejętności. Według nich obecnie na rynku nie istnieje żaden laptop spełniający ich wymogi dotyczące bezpieczeństwa. Może to Wam uzmysłowi podejście i ideę twórców GrapheneOS w temacie bezpieczeństwa. Warto też obserwować profil GrapheneOS na Mastodonie, bardzo szczegółowo komunikują na nim wszystko co się aktualnie dzieje z projektem, jakie mają plany itp. Pozostaje mieć nadzieję, że system ten nie podzieli losów DivestOS i zostanie z nami jeszcze na długo. Do następnego!

Dodaj komentarz

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