Android 4.4 KitKat sikkerhetsforbedringer

I tillegg til de mange brukervendte forbedringer i den siste inkarnasjonen av Android annonsert i går, er det en rekke interessante sikkerhet forbedringer, som ser ut til å indikere at Google ikke helt har forsømt plattformsikkerheten i denne nye utgivelse. Denne artikkelen vil gå gjennom hva som er nytt, og hva det betyr for deg.

SELinux i Enforce Mode

I Android 4.4 har SELinux gått fra å kjøre i permissiv modus (som bare logger feil), til håndhevingsmodus. SELinux, som ble introdusert i Android 4.3, er et obligatorisk tilgangskontrollsystem innebygd i Linux-kjernen, for å hjelpe til med å håndheve de eksisterende tilgangskontrollrettighetene (dvs. tillatelser), og for å forsøke å forhindre eskaleringsangrep (dvs. en app som prøver å få root-tilgang på enheten din).

Støtte for elliptisk kurvekryptering (ECDSA) signeringsnøkler i AndroidKeyStore

Den integrerte Android-nøkkellagerleverandøren inkluderer nå støtte for Eliptic Curve-signeringsnøkler. Mens Eliptic Curve Cryptography kan ha fått litt (uberettiget) dårlig publisitet i det siste, er ECC en levedyktig form for offentlig nøkkelkryptering som kan gi et godt alternativ til RSA og annet slikt algoritmer. Selv om asymmetrisk kryptografi ikke vil tåle utviklingen av kvantedatabehandling, er det godt å se at Android 4.4 introduserer flere alternativer for utviklere. For langsiktig datalagring er symmetrisk kryptering fortsatt den beste metoden.

SSL CA-sertifikatadvarsler

Mange bedrifts IT-miljøer inkluderer SSL-overvåkingsprogramvare, som legger til en Certificate Authority (CA) til datamaskinen og/eller nettleseren din, for å tillate bedriftens webfiltreringsprogramvare å utføre et "mann i midten"-angrep på HTTPS-øktene dine for sikkerhet og overvåking formål. Dette har vært mulig med Android ved å legge til en ekstra CA-nøkkel til enheten (som tillater bedriftens gateway-server å "late som om" den er hvilken som helst nettside den velger). Android 4.4 vil advare brukere hvis enheten deres har fått et slikt CA-sertifikat lagt til, slik at de er klar over muligheten for at dette kan skje.

Automatisert bufferoverløpsdeteksjon

Android 4.4 kompilerer nå med FORTIFY_SOURCE som kjører på nivå 2, og sikrer at all C-kode er kompilert med denne beskyttelsen. Kode kompilert med clang dekkes også av dette. FORTIFY_SOURCE er en sikkerhetsfunksjon i kompilatoren, som prøver å identifisere noen bufferoverløpsmuligheter (som kan utnyttes av skadelig programvare eller brukere for å få vilkårlig kodekjøring på en enhet). Selv om FORTIFY_SOURCE ikke eliminerer alle muligheter for bufferoverløp, er den absolutt bedre brukt enn ubrukt, for å unngå åpenbare forglemmelser ved tildeling av buffere.

Google-sertifikatfesting

Android 4.4 utvider støtten for sertifikatfesting i tidligere versjoner av Jellybean, og legger til beskyttelse mot sertifikaterstatning for Google-sertifikater. Sertifikatfesting er handlingen for å tillate at bare visse hvitelistede SSL-sertifikater brukes mot et bestemt domene. Dette beskytter deg mot at leverandøren din erstatter (for eksempel) et sertifikat gitt til den i henhold til en ordre fra myndighetene i landet ditt. Uten sertifikatfesting, ville enheten din godta dette gyldige SSL-sertifikatet (ettersom SSL tillater enhver pålitelig CA å utstede et hvilket som helst sertifikat). Med sertifikatfesting vil bare det hardkodede gyldige sertifikatet bli akseptert av telefonen din, og beskytter deg mot et mann-i-midten-angrep.

Det ser absolutt ut til at Google ikke har hvilet på laurbærene med Android-sikkerhet. Dette kommer i tillegg til inkludering av dm-verity, noe som muligens kan få alvorlige konsekvenser for folk som liker å roote og modifisere enhetene sine med låste oppstartslastere (dvs. som håndhever kjernesignaturer).