Exploit nell’applicazione SKY Guida TV: è possibile addebitare acquisti sulle Smart Card senza l’autorizzazione dell’utente! [ESCLUSIVA iPhoneItalia]

Grazie all’utente DYNAMIC+, già creatore di SMSPower, siamo venuti a conoscenza di un’importante falla di sicurezza dell’applicazione SKY Guida TV (link): un qualsiasi malintenzionato esperto di informatica può infatti addebitare acquisti su qualsiasi Smart Card, senza che l’utente ne venga mai a conoscenza, se non tramite bolletta Sky a fine mese! Ma vediamo nel dettaglio questo importante exploit di SKY Guida TV.

Ecco il report redatto da DYNAMIC+:

La versione è indifferente, tuttavia l’ultima è la 1.2.2, quindi prendiamo in considerazione questa anche se “il giochetto” vale pure per le precedenti. Il test è stato effettuato sulla versione 1.2.1.

Quello che mi ha stupito è che, una volta installata la App, nella sua configurazione chiedeva il numero della smart card e non user/password, che si usano anche via web per controllare l’abbonamento.

Con questo numero si possono acquistare eventi e film, ma anche pianificare le registrazioni.

Ora, usando l’applicazione, si potrebbe, “a mano”, provare le varie combinazioni di smart-card per arrivare ad un utente esistente, ma sarebbe un “lavoraccio” lungo e noioso. Ho deciso di andare a fondo per vedere come funzionala cosa. Sorpresa delle sorprese, l’algoritmo di comunicazione è veramente banale, tant’è che si può fare un software, in pochi minuti, che controlla centinaia di migliaia di smart-card e addebita loro uno o più eventi casuali.

Il problema è che l’utente ignaro non potrà mai dimostrare di non aver acquistato un determinato evento PPV proprio perchè non c’è una vera autenticazione, ritrovandosi così costretto a pagare nella prossima bolletta decine o centinaia di euro addebitati per “scherzo”. La cosa ancor più fastidiosa è che probabilmente se ne accorgerebbe solo in bolletta, chissà quanti giorni dopo l’accaduto.

Indagando, analizzando i pacchetti scambiati tra l’applicazione e il server REST, ho avuto conferma che il traffico dati è in chiaro, nemmeno crittografato via SSL.

Vi illustro parte del protocollo, omettendo la chiave privata per generare la firma per prevenire abusi al servizio.

Per acquistare un evento l’applicazione chiama la seguente URL: /******/serv***/ppv sull’hostname iphone.******.it con verbo di chiamata POST, ma la beffa è che si può richiamare (semplicemente da browser) anche con modalità GET.

Per finezza si usa un user-agent consono, che nel caso dell’iPhone, per la versione sopra citata è SkyTvGuide/1.2.1 CFNetwork/485.10.2 Darwin/10.3.1

Questi invece sono solo alcuni parametri (in ordine) veri e propri del server REST:

  • *** è il numero della smart card con tutte le cifre, anche non significative
  • *** è l’ID dell’evento
  • ***  in formato GGMMAA è la data di fine giorno dell’evento: corrisponde solitamente al giorno stesso
  • *** è la data di richiesta registrazione in formato GGMMAAOOMMSS
  • *** è in pratica la firma per convalidare la chiamata e si calcola in modo semplicissimo, in quanto è il risultato dell’algoritmo MD5 (maiuscolizzato) applicato alla concatenazione dei valori dei parametri citati sopra e di una chiave privata appesa alla fine. per ulteriori informazioni sull’MD5 si puo’ dare un’occhiata qui: http://it.wikipedia.org/wiki/MD5.

Non vi svelo ovviamente la chiave privata, ma vi garantisco che ricavarla è semplicissimo, quanto semplice è la chiave stessa!

Ovviamente per attivare la registrazione sul MySky, il procedimento è analogo.

Ad ogni modo, una mia considerazione: con tutto quel che costa l’abbonamento Sky, considerati gli elevati ricavi che ha la PayTV, forse si potrebbe investire in persone piu’ qualificate per progettare il software, soprattutto quando si tratta di applicazioni che coinvolgono i soldi dei clienti. E poi, al giorno d’oggi, un certificato HTTPS costa abbastanza poco: perche’ non implementarlo?

the village is no more secret

Questo report è stato redatto solo e soltanto per informare gli addetti SKY sul grave problema che investe l’applicazione. Ogni uso improprio costituisce reato. Specifichiamo, inoltre, che l’applicazione SKY Guida TV fa da “tramite” per chiunque voglia effettuare lo “scherzo” sulle Smart Card, a prescindere se la vittima abbia o meno installato l’applicazione su iPhone.

DYNAMIC+ è disponibile, in privato, a spiegare tutti i dettagli ai responsabili SKY, al fine di risolvere quanto prima questo bug. Intanto il primo passo da fare sarebbe eliminare l’applicazione dall’App Store e bloccare in qualche modo i server REST che erogano questi servizi.

Grazie DYNAMIC+

HotAcquista iPhone 15 su Amazon!
Applicazioni App Store