Case-study
AegisOS
Mijn eigen securitygerichte Android-distributie op GrapheneOS. Gebouwd, gesigned en op een fysieke Pixel 7a bewezen, niet alleen op papier.
GrapheneOS basisPixel 7a hardware80+ beslissingen
Hoe AegisOS is opgebouwd
Hardware
Titan keystore en Verified Boot controleren de keten voordat er iets laadt.
Basis
GrapheneOS: kernel, SELinux, sandbox en FBE, ongewijzigd geërfd.
Signing
een offline, netwerk-geïsoleerde host tekent elke partition-image.
Services
privileged patches hangen aan Android APIs. Geen almachtige superservice.
UI
SystemUI en Settings lezen alleen status en vragen typed acties aan.
01
Guardian
Bescherming die je kunt uitleggen, niet een zwarte doos.
Guardian is een event-driven bewaker tegen misbruik van Android-permissies, zoals een app die stiekem op de achtergrond je locatie blijft opvragen. Op fysieke hardware bleek Android's AppOps twee onafhankelijke dispatch-kanalen te hebben. Een watcher die er maar één beluistert mist de helft van de echte events. Dat vind je niet in een emulator.
Sensor
Ziet alleen goedgekeurde AppOps events zoals achtergrondlocatie. Nooit ruwe content.
Detectie
Schema validatie en vaste regels. Onbekende velden worden geweigerd, niet genegeerd.
Remediation
Vooraf geregistreerde acties, altijd geverifieerd en altijd omkeerbaar.
Audit & Undo
Elke actie staat in een logboek en kan expliciet worden teruggedraaid.
Duress Unlock
Een paniek-PIN die zich moet gedragen als een gewone telefoon.
Duress Unlock is een aparte PIN. Voer die in en het toestel schakelt naar een volledig apart decoy-profiel, terwijl je echte profiel op de achtergrond vergrendeld blijft. GrapheneOS heeft al een eigen wipe-on-duress-functie. Dit is een aparte, ernaast bestaande laag voor situaties waarin wissen niet is wat je wilt.
Het lastigste deel was niet de switch zelf, maar onzichtbaar zijn. Een decoy-sessie die zich net anders gedraagt dan een normaal, single-owner-toestel is zelf al een lek. Tientallen van dat soort kleine tells zijn gevonden en één voor één dichtgezet: een gebruikersschakelaar die per ongeluk de echte naam liet zien, avatar-kleuren die per profiel verschilden, een sessie beëindigen-knop die een telefoon met maar één eigenaar nooit zou tonen.
Een decoy-PIN op een net opgestart toestel liet ooit de hele telefoon crashen en rebooten. Precies het scenario waarvoor de feature bestaat.
Cost-symmetric
Een mislukte inlog duurt ongeveer even lang, of er nu wel of geen decoy-profiel bestaat.
Silent switch
Geen dialoog, geen aankondiging. Gewoon een ander, volledig gescheiden profiel.
Quiesce, niet stoppen
Het echte profiel bevriest op app niveau, omdat Android weigert user 0 te stoppen.
Identity hiding
Elke naam, avatar en profielstatus klopt met het perspectief van de huidige sessie.
Build & signing
Verified boot is een keten, niet één commando.
Een build die groen draait bewijst niet dat hij klopt. Elke stap van source tot fysiek toestel heeft een eigen, onafhankelijke controle.
- 01
Source build
GrapheneOS gebouwd vanaf een geverifieerde manifest-tag. Reproduceerbaarheid onafhankelijk gecheckt, niet aangenomen.
- 02
Split signing
Een offline sleutel-host die kort opent, tekent, onafhankelijk verifieert en zichzelf weer afsluit.
- 03
Verified boot
Elke image krijgt een AVB descriptor, gecontroleerd op twee losse machines voor er geflasht wordt.
- 04
Fysieke hardware
Elke claim hierboven ook echt geflasht en gebooot op een Pixel 7a, met een schone boot als bewijs.
- 05
Eigen OTA-server
Een zelf gehoste update-server levert signed metadata. De Updater-app installeert een update net als bij een gewone build.
- 06
Incidenten opgelost
Een bootloop, een signature mismatch en een AVB rollback bug zijn hier allemaal echt gebeurd en met bewijs opgelost.
Dit is een actief, onaf project. Dat staat hier zo, niet verbloemd als klaar.
Vastgelegd
Grenzen
Geen publieke of stabiele release. De bootloader blijft bewust ontgrendeld.
Geen telemetry, analytics of phone home gedrag, van welke aard dan ook.
AI stelt tijdens development alleen typed, gecontroleerde acties voor. Nooit shell of root.
Nog niet af: Network Policy, Worlds en Secure Share staan nog op ontwerpniveau.