Ciao a tutti,
come forse saprete in questi giorni un hacker russo è riuscito ad aggirare il sistema dell’In-App Purchase predisposto da Apple per permettere l’acquisto di funzionalità all’interno delle nostre App.
Questo sistema era ritenuto, fino ad oggi, come l’unica soluzione possibile per combattere la pirateria. Infatti quasi tutti gli sviluppatori si sono visti pubblicare le proprie applicazioni su Installous, in forma gratuita e sprotetta. Questo sistema, oltre a creare danni reali per chi sviluppa ha creato un meccanismo perverso grazie al quale gli sviluppatori hanno cercato di ridurre il numero di copie illegali abbassando i prezzi delle proprie applicazioni, purtroppo senza risultato.
Con l’introduzione da parte di Apple del sistema In-App Purchase il problema sembrava essere stato risolto, difatti l’applicazione può essere distribuita gratuitamente, anche per permetterne il test, ma per essere sbloccata l”utente deve acquistarne le funzionalità tramite lo store interno all’applicazione. La sicurezza della transazione era data dal fatto che oltre a fare una richiesta diretta al server Apple, era comunque possibile richiedere un ulteriore controllo della ricevuta rilasciata dai server Apple per controllarne la veridicità.
Questo doppio controllo ha permesso di ristabilire un pò gli acquisti reali delle applicazioni. L’hacker russo ha però trovato un modo per aggirare questo meccanismo, rilasciando, infatti, uno specifico certificato permette agli utenti di cambiare i DNS del dispositivo iOS facendo così puntare ad un server differente per il controllo e per la transasione di acquisto. Tecnica ulteriormente affinata in questi giorni.
Faccio un breve cappello, dedicato ai siti italiani, per quelli esteri vale lo stesso discorso, solo che vorrei, una volta tanto, che ci distinguessimo per correttezza, fornire la notizia senza aggiungere particolari sarebbe stato sufficiente, l’utente intenzionato ad eseguire il misfatto si sarebbe dovuto sobbarcare delle relative ricerche. Purtroppo molte notizie hanno fornito link al sito dell’hacker ed ai relativi video su Youtube per eseguire l’operazione, fornendo poi in coda alla notizia una nota di condanna verso chi compie tale operazione. In questo caso più che dovere di cronaca ci intravedo ben altro.
Un punto debole nel sistema predisposto dall’hacker, però, c’è. Come arete letto nelle righe precedenti, l’operazione viene compiuta alterando i DNS del dispositivo e realizzando, così, una specie di attacco Man in the middle. Questo attacco prevede la presenza di un computer che si frappone tra il client iOS ed il server Apple fingendo di volta in volta di essere l’uno o l’altro e filtrando così le richieste.
Nelle specifiche della documentazione Apple per l’implementazione degli acquisti In-App è previsto che il controllo finale della ricevuta avvenga non tra il dispositivo ed il server Apple (anche se ciò è ammesso e consigliato se non bisogna effettuare download esterni), ma tra un server dello sviluppatore ed il server Apple restituendo al client iOS l’esito del controllo.
La procedura da seguire è dettagliatamente descritta nella documentazione dell’In-App Purchase fornita da Apple.
Questo sistema, anche se più costoso da implementare (è richiesta una comunicazione https tra il server dello sviluppatore ed il server Apple e non tutti gli ISP la prevedono), garantisce che la transazione sia effettiva.
Apple è comunque al lavoro per risolvere il problema in tempi brevi, anche se, probabilmente, per ottenere una soluzione valida dovremo attendere un update del sistema operativo.
Roberto S.



