Den sÀkra mobila plattformen GrapheneOS har slÀppts (version 2024011300), som Àr en avgrening av Androids kÀllkod (AOSP, Android Open Source Project) och har utvidgats och modifierats för att förbÀttra sÀkerhet och integritet. Tidigare utvecklades projektet under namnet AndroidHardening och avgrenades dÀrefter frÄn CopperheadOS efter en konflikt mellan grundarna. GrapheneOS stöder officiellt de flesta aktuella Google Pixel-enheterna (Pixel 4/5/6/7/8, Pixel Fold, Pixel Tablet). Projektets arbete sprids under MIT-licensen.
GrapheneOS innehÄller mÄnga experimentella teknologier relaterade till förstÀrkt isolering av appar, detaljerad Ätkomsthantering, blockering av vanliga sÄrbarheter och komplicering av exploatering. Till exempel anvÀnds en egen implementering av malloc och en modifierad version av libc med skydd mot minnesfel, samt en strÀngare uppdelning av processens adressutrymme. IstÀllet för JIT i Android Runtime anvÀnds endast förhandskompilering (AOT, ahead-of-time). MÄnga ytterligare skyddsmekanismer har lagts till i Linux-kÀrnan, sÄsom canary-taggar i slub för att blockera buffertöverflöden. SELinux och seccomp-bpf anvÀnds för att förbÀttra isoleringen av appar.
Möjlighet finns att ge Ätkomst till nÀtverksoperationer, sensorer, kontaktlista och extern utrustning (USB, kamera) endast till utvalda appar. à tkomst till urklipp tillÄts endast för appar dÀr fokus för inmatning Àr aktivt. Som standard Àr det förbjudet att hÀmta information om IMEI, MAC-adress, serienummer för SIM-kort och andra hÄrdvaruidentifierare. Ytterligare ÄtgÀrder har vidtagits för att isolera processer relaterade till Wi-Fi och Bluetooth och för att förhindra lÀckage pÄ grund av trÄdlös aktivitet. MÄnga av de sÀkerhetsförstÀrkningar som utvecklats inom projektet har överförts till Androids huvudkodbas.
GrapheneOS anvÀnder kryptografisk verifiering av laddade komponenter och avancerad datakryptering pÄ nivÄer av filsystemen ext4 och f2fs (data krypteras med hjÀlp av AES-256-XTS, och filnamn - AES-256-CTS med HKDF-SHA512 för att generera en separat nyckel för varje fil), och inte pÄ blocknivÄ. Data i systempartitioner och i varje anvÀndarprofil krypteras med olika nycklar. TillgÀnglig hÄrdvarukapacitet utnyttjas för att pÄskynda krypteringsoperationer. PÄ lÄsskÀrmen visas en avloggningsknapp, som nÀr den trycks pÄ, ÄterstÀller nycklarna för avkryptering och lagringen övergÄr till ett inaktivt tillstÄnd. Det finns en instÀllning för att förhindra installation av extra applikationer för valda anvÀndarprofiler. För att skydda mot lösenordsförsök anvÀnds ett system för fördröjningar, beroende pÄ antalet misslyckade försök (frÄn 30 sekunder till 1 dag).
I GrapheneOS inkluderas principiellt inte applikationer och tjÀnster frÄn Google, eller alternativa implementationer av Google-tjÀnster, sÄsom microG. Det finns dock möjlighet att installera Google Play-tjÀnster i en separat isolerad miljö utan sÀrskilda privilegier. Projektet utvecklar ocksÄ flera egna applikationer som fokuserar pÄ informationssÀkerhet och integritet. Till exempel erbjuds webblÀsaren Vanadium baserat pÄ Chromium och en modifierad version av WebView-motorn, en skyddad PDF-visare, brandvÀgg, applikationen Auditor för verifiering av enheter och upptÀckten av intrÄng, en applikation för kameran som syftar till att sÀkerstÀlla konfidentialitet, och systemet för att skapa krypterade sÀkerhetskopior Seedvault.
Bland förÀndringarna i den nya versionen:
- Implementeringen av automatiska omstartsmekanismen har helt omarbetats, vilken nu anvÀnder en timer under init-processen, snarare Àn i system_server-processen, vilket har ökat sÀkerheten och förhindrat omstart av en enhet som aldrig har lÄsts upp. Tiden för automatisk omstart har minskats frÄn 72 till 18 timmar. Huvudidén med den automatiska omstarten Àr att ÄterstÀlla aktiverade (avkrypterade) partitioner med anvÀndardata till sitt ursprungliga, oavkrypterade tillstÄnd efter en viss period av inaktivitet.
AnvĂ€ndardata i ĐżŃĐŸŃОл efter omstart av enheten finns i krypterad form och avkrypteras endast efter att anvĂ€ndaren har matat in lösenordet för inloggning. Om anvĂ€ndaren inte har lĂ„st upp den aktiverade sessionen pĂ„ mer Ă€n 18 timmar kommer enheten automatiskt att startas om (timeout kan Ă€ndras i instĂ€llningarna Settings > Security > Auto reboot) för att förhindra analys av nycklar som finns kvar i minnet, om enheten hamnar i fel hĂ€nder.
Som en demonstration av behovet av automatisk omstart nÀmnde utvecklarna av GrapheneOS nyligen upptÀckta sÄrbarheter i Google Pixel- och Samsung Galaxy-smartphones, vilket gör det möjligt för företag som specialiserar sig pÄ kriminalteknisk analys att spionera pÄ anvÀndare och extrahera data nÀr enheten Àr i aktiverat tillstÄnd (nÀr sessionen Àr aktiv och data Àr avkrypterade).
- En loggvy har lagts till (Settings > System > View logs), vilket möjliggör bedömning av problem som uppstÄr och förenklar förberedelsen av felrapporter.
- GrÀnssnittet för att skicka felrapporter har omarbetats.
- I adevtool har stöd för Pixel Camera Service lagts till, vilket möjliggör anvÀndning av nattlÀge i appar pÄ Pixel 6+-smartphones.
- Stödet för enheter som inte stöds i Android 14 har upphört i adevtool.
- Notifieringar om aktivering av minnesfel-detektorn i malloc har lagts till.
- Stödet för sysrq har inaktiverats i Linux-kÀrnan.
- Linux-kÀrnan har uppdaterats till den senaste GKI (Generic Kernel Image) 5.10.206 för Pixel 6, Pixel 6 Pro, Pixel 6a, Pixel 7, Pixel 7 Pro, Pixel 7a, Pixel Tablet, Pixel Fold, samt till version 5.15.145 för Pixel 8 och Pixel 8 Pro. Ytterligare byggnader har förberetts med kÀrna 6.1.69.
- WebblÀsaren Vanadium har uppdaterats till Chromium 120.0.6099.210.0-kodbasen.
KĂ€lla: opennet.ru
