Kill switch di iphone ed android, ecco come funziona

M0rF3uS -

Torno per un attimo a parlare della notizia che ha fatto scandalo poco tempo fa, la scoperta che pure su android c’è del codice che consente a google di installare/rimuovere le applicazioni, e del relativo accostamento che è stato fatto con il kill switch presente sui dispositivi iphone.

Ne parlo perchè ho finalmente trovato un post molto dettagliato che ne spiega il funzionamento. Ma partiamo dall’inizio, qualcuno in questo blog mi ha chiesto di fare luce su questa cosa magari con articolo dedicato.

Tempo fa un certo Jonathan Zdziarski scoprì che dentro l’iphone vi è del codice che consentirebbe ad Apple di inibire l’accesso a determinate applicazioni. Il funzionamento è questo, periodicamente l’iphone si connette ai server apple e scarica una blacklist di applicazioni, se anche solo una di queste applicazioni è presente nel telefono ne viene interdetto l’uso. Dopo qualche settimana di indiscrezioni arrivò la conferma da parte di Steve Jobs sulla realtà della cosa, giustificandosi dicendo che fosse normale avere una “maniglia da tirare” nei casi d’emergenza.

Dopo un pò di tempo spunta la medesima notizia per i telefoni android, ed è di nuovo polemica tra i fan boy del robottino e della mela.

Sostanzialmente i meccanismi fanno la stessa identica cosa, con la differenza che però nessuno potrà mai aver ben chiaro le condizioni per le quali una determinata applicazione entra in blacklist per iphone (visto i criteri altamente soggettivi che vengono applicati alla censura), mentre per android viene usata solamente per software che violano la licenza e malware in genere.

Ci sono delle implicazioni legali in tutto questo, come afferma Daniele Minotti, prima fra tutte la diffusione di malware (nuovo testo dell’art. 615-quinques c.p., post Budapest) in quanto la possibilità di gestione remota del dispositivo da terzi è, di per se, un malware; e se viene effettuata la cancellazione fisica si aggiungono anche accesso abusivo con danneggiamento (ex art. 615-ter c.p.), oppure danneggiamento informatico (635-bis c.p.).

In questo Apple, è da riconoscere, è più furba secondo me perchè con il suo tipo di kill-switch incorre solo nella prima effrazione, quella di diffusione di malware, in quanto il suo sistema inibisce l’uso da parte dell’utente ma non la cancella fisicamente come viene fatto su android, che invece incorre anche negli ultimi due articoli.

Veniamo adesso al funzionamento del kill switch su Android che è un pò più complesso. Come abbiamo visto android comunica con i server google tramite dei brevi messaggi/comando; il kill switch si basa sempre su questo principio.

L’installazione e la rimozione dei software su android non sono operazioni “autonome” non è quindi il telefono stesso che installa od elimina la apps, questo tramite il market, e più precisamente tramite il GTalkService, chiede ai server google di poter installare/rimuovere le applicazioni, il server risponde con un messaggio – che può essere appunto di tipo INSTALL_ASSETT o REMOVE_ASSET – e quindi il telefono completa l’operazione.

Questo avviene perchè il telefono mantiene una sessione TCP/SSL/XMPP costantemente aperta con i server google tramite il GTalkService, la persistenza viene mantenuta da dei messaggi di heartbeat che manda il telefono periodicamente, in modo da reinstaurarla ogni volta che il telefono switcha tra connessione 2g/3g/hsupa/wifi.

Google tramite questo “tunnel” può inviare questi messaggi al nostro telefono e quindi impartirgli ordini, ed è proprio cosi che funziona il kill switch, viene mandato un messaggio di remove_asset e l’applicazione scompare dal telefono..

istruzioni install_asset e remove_asset fornite dall'apk vending.

Adesso, mentre l’istruzione remove_asset può solo causare fastidio, è l’istruzione install_asset che genera rischi di sicurezza, abbiamo visto che questi messaggi viaggiano in chiaro dentro una sessione SSL tra i server google ed il telefono, ma l’ssl si può bucare, e quindi un attaccante può effettuare un MITM (attacco Man In The Middle) spoofando questi messaggi ed impartendo quindi istruzioni a chi sa quanti telefoni, installando il suo malware potenzialmente ovunque (Pagina 14 delle slide di jon oberheide).

[Via Il Portalinux]