De release van het beveiligde mobiele platform GrapheneOS 2024011300 is beschikbaar en vormt een afsplitsing van de Android-broncode (AOSP, Android Open Source Project), uitgebreid en gewijzigd om de beveiliging en privacy te verbeteren. Het project ontwikkelde zich voorheen onder de naam AndroidHardening en daarvoor is het afgeleid van het CopperheadOS-project na een conflict tussen de oprichters. GrapheneOS ondersteunt officieel de meeste actuele Google Pixel-apparaten (Pixel 4/5/6/7/8, Pixel Fold, Pixel Tablet). De ontwikkelingen van het project worden verspreid onder de MIT-licentie.
GrapheneOS bevat veel experimentele technologieën die verband houden met het verbeteren van de isolatie van applicaties, gedetailleerd beheer van toegang, het blokkeren van typische kwetsbaarheden en het bemoeilijken van exploits. Bijvoorbeeld, het platform maakt gebruik van een eigen implementatie van malloc en een gemodificeerde versie van libc met bescherming tegen geheugenbeschadiging, evenals een striktere scheiding van het adresruimte tussen processen. In plaats van JIT wordt in Android Runtime alleen vooruitlopende (AOT, ahead-of-time) compilatie toegepast. In de Linux-kernel zijn veel extra beschermingsmechanismen opgenomen, bijvoorbeeld, in slub worden canary-labels toegevoegd om buffer-overflows te blokkeren. Voor het verbeteren van de isolatie van applicaties worden SELinux en seccomp-bpf ingezet.
Het is mogelijk om toegang te geven tot netwerkbewerkingen, sensoren, het adresboek en randapparatuur (USB, camera) alleen voor geselecteerde applicaties. Lezen van het klembord is alleen toegestaan voor applicaties waarin op dat moment de invoerfocus actief is. Standaard is het verboden om informatie over IMEI, MAC-adres, serienummer van de SIM-kaart en andere hardware-identificaties te ontvangen. Er zijn extra maatregelen genomen om de isolatie van Wi-Fi- en Bluetooth-processen te versterken en om lekken als gevolg van draadloze activiteit te voorkomen. Veel van de beveiligingsmechanismen die binnen het project zijn ontwikkeld, zijn overgebracht naar de hoofdcodebasis van Android.
GrapheneOS past een cryptografische verificatie toe voor de geladen componenten en geavanceerde encryptie van gegevens op de besturingssystemen ext4 en f2fs (gegevens worden versleuteld met AES-256-XTS, en bestandsnamen met AES-256-CTS, waarbij HKDF-SHA512 wordt gebruikt om een aparte sleutel voor elk bestand te genereren), en niet op blokapparaten. Gegevens in systeempartities en in elk gebruikersprofiel worden versleuteld met verschillende sleutels. De beschikbare hardwarecapaciteiten worden benut om de versleutelingsoperaties te versnellen. Op het vergrendelingsscherm wordt een uitlogknop weergegeven, die na te zijn ingedrukt de sleutels voor decryptie reset en de opslag in een niet-geactiveerde toestand plaatst. Er is een instelling om de installatie van extra applicaties voor geselecteerde gebruikersprofielen te verbieden. Ter bescherming tegen wachtwoordgissingen wordt een systeem van vertragingen gebruikt, afhankelijk van het aantal mislukte pogingen (van 30 seconden tot 1 dag).
GrapheneOS bevat principieel geen Google-applicaties of -diensten, noch alternatieve implementaties van Google-diensten zoals microG. Er is echter de mogelijkheid om Google Play-diensten te installeren in een aparte geïsoleerde omgeving zonder speciale privileges. Het project ontwikkelt ook verschillende eigen applicaties die gericht zijn op informatiebeveiliging en privacy. Bijvoorbeeld wordt de browser Vanadium op basis van Chromium aangeboden en een gemodificeerde versie van de WebView-engine, een beveiligde PDF-lezer, een firewall, de Auditor-app voor apparaatverificatie en intrusiebeveiliging, een camera-app gericht op privacybescherming, en een systeem voor het maken van versleutelde back-ups genaamd Seedvault.
Onder de wijzigingen in de nieuwe versie:
- De implementatie van het automatische herstartmechanisme is volledig herzien, en is overgestapt naar het gebruik van een timer tijdens het init-proces, in plaats van tijdens het system_server-proces, wat de beveiliging heeft verhoogd en de herstart van een nog niet ontgrendeld apparaat heeft uitgesloten. De tijd voor automatische herstart is verkort van 72 naar 18 uur. Het belangrijkste idee achter automatische herstart is om geactiveerde (gedecodeerde) partities met gebruikersgegevens terug te zetten naar de oorspronkelijke niet-gedecodeerde staat na een bepaalde periode van inactiviteit.
De gebruikersprofielgegevens worden na het opnieuw opstarten van het apparaat versleuteld opgeslagen en alleen ontgrendeld na invoer van het gebruikerswachtwoord. Als de gebruiker de geactiveerde sessie langer dan 18 uur niet heeft ontgrendeld, wordt het apparaat automatisch opnieuw opgestart (de tijdslimiet kan worden gewijzigd in de instellingen Instellingen > Beveiliging > Automatisch opnieuw opstarten) om te voorkomen dat de sleutels in het geheugen worden geanalyseerd in het geval het apparaat in andere handen valt.
Als voorbeeld van de noodzaak van automatische herstart noemden de ontwikkelaars van GrapheneOS onlangs ontdekte kwetsbaarheden in Google Pixel en Samsung Galaxy smartphones, die bedrijven die zich specialiseren in forensisch onderzoek in staat stellen om gebruikers te bespioneren en gegevens te extraheren wanneer het apparaat in een actieve staat verkeert (wanneer de sessie actief is en de gegevens zijn ontsleuteld).
- Er is een logviewer toegevoegd (Instellingen > Systeem > Logs bekijken), waarmee problemen kunnen worden beoordeeld en het opstellen van bugrapporten kan worden vereenvoudigd.
- De interface voor het indienen van foutrapporten is herzien.
- In adevtool is ondersteuning toegevoegd voor Pixel Camera Service, waardoor de nachtmodus in apps op Pixel 6+ smartphones kan worden gebruikt.
- In adevtool is de ondersteuning voor apparaten die niet worden ondersteund in Android 14 stopgezet.
- Er zijn meldingen toegevoegd voor de activatie van de geheugenbeschadigingsdetector in malloc.
- De ondersteuning voor sysrq is uit de Linux-kernel verwijderd.
- De Linux-kernel is bijgewerkt naar de nieuwste GKI (Generic Kernel Image) versie 5.10.206 voor de Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet, Pixel Fold, evenals naar versie 5.15.145 voor de Pixel 8 en Pixel 8 Pro. Daarnaast zijn er builds voorbereid met kernel 6.1.69.
- De Vanadium-browser is bijgewerkt naar de Chromium-codebase 120.0.6099.210.0.
Bron: opennet.ru
