Miglioramenti della sicurezza di Android 4.4 KitKat

Oltre ai tanti miglioramenti rivolti all'utente nell'ultima incarnazione di Android annunciata ieri sono presenti una serie di sicurezza interessanti miglioramenti, che sembrano indicare che Google non ha del tutto trascurato la sicurezza della piattaforma in questa novità pubblicazione. In questo articolo verranno illustrate le novità e cosa significa per te.

SELinux in modalità di applicazione

In Android 4.4, SELinux è passato dall'esecuzione in modalità permissiva (che registra semplicemente gli errori), alla modalità di applicazione. SELinux, introdotto in Android 4.3, è un sistema di controllo degli accessi obbligatorio integrato nel kernel Linux, al fine di aiutare a far rispettare i diritti di controllo degli accessi esistenti (cioè. autorizzazioni) e per tentare di prevenire attacchi di escalation dei privilegi (cioè. un'app che tenta di ottenere l'accesso root sul tuo dispositivo).

Supporto per le chiavi di firma della crittografia a curva ellittica (ECDSA) in AndroidKeyStore

Il provider di chiavi Android integrato ora include il supporto per le chiavi di firma Eliptic Curve. Sebbene la crittografia a curva ellittica possa aver ricevuto una cattiva pubblicità (ingiustificata) ultimamente, l'ECC è un forma praticabile di crittografia a chiave pubblica che può fornire una buona alternativa a RSA e altri simili algoritmi. Anche se la crittografia asimmetrica non resisterà agli sviluppi dell’informatica quantistica, è bello vedere che Android 4.4 introduce più opzioni per gli sviluppatori. Per l’archiviazione dei dati a lungo termine, la crittografia simmetrica rimane il metodo migliore.

Avvisi sul certificato CA SSL

Molti ambienti IT aziendali includono software di monitoraggio SSL, che aggiunge un'autorità di certificazione (CA) al tuo computer e/o browser consentire al software di filtraggio web aziendale di eseguire un attacco "man in the middle" sulle sessioni HTTPS per motivi di sicurezza e monitoraggio scopi. Ciò è stato possibile con Android aggiungendo una chiave CA aggiuntiva al dispositivo (che consente al server gateway della tua azienda di "fingere" di essere qualsiasi sito Web scelga). Android 4.4 avviserà gli utenti se al loro dispositivo è stato aggiunto un certificato CA di questo tipo, in modo che siano consapevoli della possibilità che ciò accada.

Rilevamento automatico del buffer overflow

Android 4.4 ora viene compilato con FORTIFY_SOURCE in esecuzione al livello 2 e garantisce che tutto il codice C venga compilato con questa protezione. Anche il codice compilato con clang è coperto da questo. FORTIFY_SOURCE è una funzionalità di sicurezza del compilatore, che tenta di identificare Alcuni opportunità di buffer overflow (che possono essere sfruttate da software dannosi o utenti per ottenere l'esecuzione di codice arbitrario su un dispositivo). Sebbene FORTIFY_SOURCE non elimini tutte le possibilità di overflow del buffer, è certamente meglio usarlo che non inutilizzarlo, per evitare ovvie sviste durante l'allocazione dei buffer.

Blocco del certificato Google

Espandendo il supporto per il blocco dei certificati nelle versioni precedenti di Jellybean, Android 4.4 aggiunge la protezione contro la sostituzione dei certificati per i certificati Google. Il Certificate Pinning è l'atto di consentire l'utilizzo solo di determinati certificati SSL inseriti nella whitelist su un determinato dominio. Questo ti protegge dal fatto che il tuo fornitore sostituisca (ad esempio) un certificato fornitogli su ordine del governo del tuo paese. Senza il blocco del certificato, il tuo dispositivo accetterebbe questo certificato SSL valido (poiché SSL consente a qualsiasi CA attendibile di emettere qualsiasi certificato). Con il blocco del certificato, solo il certificato valido codificato verrà accettato dal tuo telefono, proteggendoti da un attacco man-in-the-middle.

Sembra certamente che Google non si sia riposato sugli allori con la sicurezza Android. Questo è in aggiunta a inclusione di dm-verity, che potrebbe avere gravi conseguenze per le persone a cui piace eseguire il root e modificare i propri dispositivi con bootloader bloccati (cioè. che impongono le firme del kernel).