Android 4.4 KitKat sikkerhedsforbedringer

Ud over de mange brugervendte forbedringer i den seneste inkarnation af Android annonceret i går, er der en række interessante sikkerhed forbedringer, som synes at indikere, at Google ikke totalt har forsømt platformsikkerheden i dette nye frigøre. Denne artikel gennemgår, hvad der er nyt, og hvad det betyder for dig.

SELinux i Enforce Mode

I Android 4.4 er SELinux gået fra at køre i tilladelig tilstand (som blot logger fejl), til håndhævelsestilstand. SELinux, som blev introduceret i Android 4.3, er et obligatorisk adgangskontrolsystem indbygget i Linux-kernen for at hjælpe med at håndhæve de eksisterende adgangskontrolrettigheder (dvs. tilladelser), og for at forsøge at forhindre privilegie-eskaleringsangreb (dvs. en app, der forsøger at få root-adgang på din enhed).

Understøttelse af elliptisk kurvekryptering (ECDSA) signeringsnøgler i AndroidKeyStore

Den integrerede Android-nøglelagerudbyder inkluderer nu understøttelse af Eliptic Curve-signeringsnøgler. Mens Eliptic Curve Cryptography kan have modtaget noget (ubegrundet) dårlig omtale på det seneste, er ECC en levedygtig form for offentlig nøglekryptering, der kan give et godt alternativ til RSA og andre sådanne algoritmer. Selvom asymmetrisk kryptografi ikke vil modstå udviklingen af ​​kvantecomputere, er det godt at se, at Android 4.4 introducerer flere muligheder for udviklere. Til langsigtet datalagring er symmetrisk kryptering fortsat den bedste metode.

SSL CA-certifikatadvarsler

Mange virksomheders it-miljøer inkluderer SSL-overvågningssoftware, som tilføjer en Certificate Authority (CA) til din computer og/eller browser for at tillade virksomhedens webfiltreringssoftware at udføre et "mand i midten"-angreb på dine HTTPS-sessioner for sikkerhed og overvågning formål. Dette har været muligt med Android ved at tilføje en ekstra CA-nøgle til enheden (som tillader din virksomheds gateway-server at "foregive" at være en hvilken som helst hjemmeside, den vælger). Android 4.4 vil advare brugere, hvis deres enhed har fået tilføjet et sådant CA-certifikat, så de er opmærksomme på muligheden for, at dette kan ske.

Automatiseret bufferoverløbsdetektion

Android 4.4 kompilerer nu med FORTIFY_SOURCE, der kører på niveau 2, og sikrer, at al C-kode er kompileret med denne beskyttelse. Kode kompileret med clang er også omfattet af dette. FORTIFY_SOURCE er en sikkerhedsfunktion i compileren, som forsøger at identificere nogle bufferoverløbsmuligheder (som kan udnyttes af ondsindet software eller brugere til at opnå vilkårlig kodeudførelse på en enhed). Selvom FORTIFY_SOURCE ikke eliminerer alle muligheder for bufferoverløb, er det bestemt bedre brugt end ubrugt, for at undgå åbenlyse forglemmelser ved tildeling af buffere.

Fastgørelse af Google-certifikat

Android 4.4 udvider understøttelsen af ​​certifikatfastgørelse i tidligere versioner af Jellybean og tilføjer beskyttelse mod certifikaterstatning for Google-certifikater. Certifikatpinning er handlingen, der kun tillader visse hvidlistede SSL-certifikater at blive brugt mod et bestemt domæne. Dette beskytter dig mod, at din udbyder erstatter (for eksempel) et certifikat, som den har fået leveret i henhold til en ordre fra dit lands regering. Uden certifikatstifting ville din enhed acceptere dette gyldige SSL-certifikat (da SSL tillader enhver betroet CA at udstede ethvert certifikat). Med certifikatpinning vil kun det hårdkodede gyldige certifikat blive accepteret af din telefon, hvilket beskytter dig mod et mand-i-midten-angreb.

Det ser bestemt ud til, at Google ikke har hvilet på laurbærrene med Android-sikkerhed. Dette er i tillæg til inklusion af dm-verity, hvilket muligvis kan have alvorlige konsekvenser for folk, der kan lide at roote og ændre deres enheder med låste bootloadere (dvs. som håndhæver kernesignaturer).