Kill switch di iphone ed android, ecco come funziona

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]

Ti potrebbero interessare

iPhone Firmware 3.0 vs. Android Cupcake Il grafico qui sopra (ripreso da Spaziocellulare) riporta una comparazione tra iPhone 2.2.1, iPhone...
Motorola Droid X vs iPhone 4 in un fotoconfronto E' la sfida dell'estate probabilmente, almeno negli USA dove il . Possiamo evincere ben poco da questo...
Pure Calendar Widget: un calendario completo Ecco un simpatico widget per avere sempre sotto controllo la lista delle nostra attività registrate...
Pure Music: splendido widget per la nostra musica Ecco un altro fantastico widget della serie che stiamo recensendo, il widget in questione è un widget...

Categorie: News

Tags:

AB/468x60.jpg

RSSComments (6)

Lascia un Commento | Trackback URL

  1. Luca Leone scrive:

    Vorrei che l'articolo sottolineasse un'enorme differenza tra la procedura di Apple e quella di Google parlando di telefoni che montano STOCK rom e che non siano stati oggetto di rooting/jailbreaking.

    Il cliente Apple può installare applicazioni solo tramite il market di Apple che mantiene il controllo su *tutte* le applicazioni installate.

    Il cliente Google, abilitando il simpatico switch "origini sconosciute" può *scegliere* di non passare per il market di Google, fare il download dell'applicazione (magari dal sito dello sviluppatore) e installarsela.
    Su queste ultime, Google non ha il controllo.

    Ovviamente sempre se ci si fida … il punto focale comunque è "LA POSSIBILITA' DI SCEGLIERE" !

    • M0rF3uS scrive:

      Quel punto non vi è nemmeno bisogno di sottolinearlo, è forse la differenza maggiore tra iphone ed android. C'è chi vuole che qualcuno scelga per lui, c'è chi vuole scegliere per se stesso.

      Alla fine, se ci pensi, anche questa è una scelta. :)

  2. Simone Covre scrive:

    "l’ssl si può bucare" più teoria che reale pericolo. A prescindere da quanti bit di criptazione usa (ma punterei su 256) c'è comunque bisogno che il mib abbia il certificato di google o abbia cambiato nel terminale i certificati ritenuti accettabili e visto che non c'è come su windows una opzione "considera attendibile il certificato x", attivata dal browser mentre visiti una pagina web dubbia, la vedo un po' dura. Certo se si flasha una rom con i certificati modificati il rischio diventa più concreto.

    • M0rF3uS scrive:

      LA roba dei certificati non è del tutto esatta, a quanto pare oltre ai certificati google, il telefono ha preinstallate anche altre CA. E cmq il problema dei certificati non si pone, perchè se riesci a fare un MITM sei già dentro il tunnel, non hai bisogno di falsificare il certificato con cui ti presenti perchè è già stato autenticato, devi solo spoofare il messaggio di INSTALL_ASSET.

  3. [...] This post was mentioned on Twitter by Android World, Android Italia News. Android Italia News said: Kill switch di iphone ed android, ecco come funziona: Torno per un attimo a parlare della notizia che ha fatto sca… http://bit.ly/dfegSK [...]

  4. Linker scrive:

    ma non è vero il certficato serve proprio per evitare il mitm, se io ho una lista di n certificate e non aggiungo un nuovo certificato per comunicare con me l' altro dovrà per forza avere un certificato attendibile e non credo che quello di google sia così semplice da decriptare e riprodurre. quello che dice tu sarebbe fattibile che mediante tecniche di "inganno" dell'utente fosse possibile fare aggiungere certificati direttamente dall' utonto. Sto preparando un progetto di laboratorio di programmazione internet che sfrutta tutto questo per simulare transazioni tra una banca e uno shop online e ti assicuro che, almeno per quanto ho letto qui (non mi sono informato nel dettaglio), il problema se esite è minimo. Sinceramente il discorso della sicurezza dell' ssl mi ha sempre fatto ridere, tutto è bucabile ma bisogna anche valutare il tempo/costo richiesto per farlo.

Leave a Reply