Cerca nel blog

2022/02/01

SMS Premium Challenge: riuscite a creare un sito che catturi il numero di telefonino e faccia mandare l’SMS di conferma di nascosto?

Ultimo aggiornamento: 2022/02/02 10:55. Ringrazio tutti i lettori e commentatori che hanno contribuito e stanno tuttora contribuendo ad ampliare questo articolo.

Per ora non posso rivelare i dettagli, ma ho una sfida per voi: creare un sito dimostrativo che imiti in modo innocuo i siti truffaldini che fanno abbonare con l’inganno gli utenti ai servizi SMS Premium. Il committente è disposto a pagare.

Premessa: cosa sono gli SMS Premium e perché sono il male

Gli SMS Premium sono degli SMS a costo fortemente maggiorato: costano vari euro/franchi a messaggio inviato o ricevuto (in Svizzera un singolo messaggio una tantum può costare fino a 100 CHF; per gli abbonamenti i singoli messaggi costano di solito 5 CHF). Fanno parte dei cosiddetti servizi a valore aggiunto. Il loro costo viene addebitato direttamente sulle bollette telefoniche. Esistono in quasi tutti i paesi del mondo. In Italia, per esempio, sono descritti qui da Vodafone.

In teoria questi SMS Premium dovrebbero servire a fornire informazioni a pagamento (oroscopi, previsioni meteo, notizie) o consentire il pagamento di servizi (biglietti di trasporto, parcheggi, suonerie o contenuti erotici) su richiesta degli utenti, ma in pratica moltissimi utenti lamentano di essersi trovati abbonati a questi servizi senza aver fatto alcuna richiesta. Se ne accorgono quando trovano sulla propria bolletta degli addebiti inattesi.

Sempre in teoria, abbonarsi a questi servizi richiede due invii di SMS: uno di richiesta del servizio e uno di conferma della richiesta. Sembrerebbe quindi impossibile iscriversi agli SMS premium senza accorgersene.

Eppure succede: è successo di recente con il malware Joker, un’app pubblicata anche sul Play Store di Google, che fingeva per esempio di essere un’app di sfondi di Squid Game ma in realtà, spiega Kaspersky, è “in grado di iscrivere di nascosto le proprie vittime ai servizi in abbonamento premium simulando il processo di abbonamento”. Punto Informatico scrive che Joker agisce “[s]imulando i tocchi e intercettando gli SMS”. Un altro esempio è la famiglia di app truffaldine per Android UltimaSMS descritta da Avast (2021): la vittima viene convinta a digitare il proprio numero di telefono e poi l’app provvede ad abbonarla. Su Android le app possono inviare SMS; su iPhone no. Le app possono anche cancellare le tracce della richiesta di abbonamento.

Wired.it si è occupata della questione per l’Italia nel 2016, descrivendo l’uso del DNS e della connessione cellulare come ingredienti essenziali delle attivazioni indesiderate. 

Inoltre c’è stata una condanna dell’AGCOM a TIM per non aver “adottato con la dovuta tempestività e esaustività misure idonee a prevenire l’attivazione dei servizi premium in assenza del previo consenso degli utenti né a impedirne l’addebito anche in casi di chiara incompatibilità del servizio con l’espressione del consenso”. L’attivazione era avvenuta anche su SIM che non erano inserite in telefonini ma erano “dedicate al controllo da remoto di particolari dispositivi (es. telesorveglianza, teleallarme) e/o prive di connessione dati” (PDF). Ad agosto 2021 l’AGCOM ha multato WindTre, Vodafone e TIM per attivazione dei servizi premium senza il consenso degli utenti (HWupgrade.it).

--- 

Adesso ho per le mani una serie di casi nei quali è quasi certo che sugli smartphone delle vittime non sono state installate app ostili. È possibile che le vittime abbiano semplicemente visitato dei siti che sarebbero riusciti a simulare le azioni degli utenti, carpendo il loro numero di telefonino e mandando automaticamente gli SMS di richiesta e/o di conferma di abbonamento.

Molte compagnie telefoniche rifiutano di rimborsare questi abbonamenti ottenuti con l’inganno argomentando che a) non è possibile che l’utente non si accorga della procedura in corso b) comunque loro sono solo intermediari che forniscono il servizio per conto terzi. E questa cosa va avanti da oltre dieci anni. È un problema di cui ho già scritto in varie occasioni.

Ci si può difendere preventivamente chiedendo al proprio operatore il blocco dei servizi SMS Premium; di solito basta un SMS apposito o una telefonata gratuita all’operatore. In Svizzera le istruzioni su come procedere sono pubblicate per esempio qui da Swisscom, qui da Salt e qui da Sunrise.

Si può inoltre risalire alla società che gestisce il servizio pagato tramite gli SMS Premium usando gli elenchi dei loro numeri brevi (qui su Swisscom; qui su Salt; qui su Sunrise).

Maggiori informazioni sono qui sul sito dell'Ufficio federale delle comunicazioni (UFCOM), che include il codice di comportamento di questi fornitori di servizi e precisa che la conferma di abbonamento può essere inviata dall’utente tramite SMS, MMS o WAP. 

Per l’Italia il codice di condotta è pubblicato qui da Vodafone e l’AGCOM a gennaio 2021 ha disposto che le nuove SIM abbiano bloccati per default i servizi SMS Premium (l’annuncio di Tim.it è qui). La stessa Autorità ha anche predisposto un servizio di conciliazione per le attivazioni non volute di servizi premium.

Insomma, gli utenti sono protetti, grazie alla possibilità di bloccare questi servizi (in Svizzera) o al blocco per default (in Italia) e all’obbligo di inviare un SMS di conferma (in entrambi i paesi). Il messaggio che arriva dagli operatori è molto chiaro: se gli utenti si trovano abbonati a questi servizi SMS Premium, è solo colpa loro.

È davvero così?

La sfida: fare un sito che dimostri un abbonamento fatto di nascosto

Non c’è dubbio che si possano creare app che abbonano di nascosto gli utenti. Ma è possibile creare un sito che faccia altrettanto, senza installare nulla sul telefonino?

Il sito dovrebbe:

  1. Prendere il controllo del telefonino della vittima in modo da fargli inviare un normale SMS contenente un testo preciso (per esempio “START INFO”) a un numero specifico.
  2. Restando aperto sullo smartphone della vittima, riconoscere l’SMS di richiesta di conferma che le arriva. Questo SMS può anche essere visibile e salvato.
  3. Mandare a un numero specifico un SMS che faccia da richiesta di conferma (di solito costituita semplicemente da un “SI”). Facoltativamente, questo SMS può essere cancellato.

Inoltre dovrebbe fare tutto questo, se possibile, senza mostrare nulla di significativo sullo schermo. 

Il sito, essendo dimostrativo, dovrà avere un nome e una grafica che ne indichi chiaramente la natura di pura dimostrazione giornalistica.

La demo da realizzare sarebbe questa:

  • il telefonino-vittima (uno smartphone sacrificabile con SIM altrettanto sacrificabile) visita il sito
  • manda un SMS al mio telefonino
  • il mio telefonino manda un SMS al telefonino-vittima (simulando la richiesta di conferma di un abbonamento
  • il telefonino-vittima risponde mandando un SMS con scritto “SI” al mio telefonino
  • il tutto riducendo al minimo possibile le azioni della vittima e la visibilità di quello che sta succedendo.

In alternativa o in aggiunta, sto cercando qualcuno del settore che mi possa raccontare in dettaglio le tecniche usate per ottenere questi abbonamenti fraudolenti. Offro la garanzia giuridica dell’anonimato giornalistico.

---

Per il passo 1 forse ci si può appoggiare a funzioni come l’invio di SMS tramite link HTML: la vittima verrebbe quindi convinta a cliccare su un link. La sintassi è di questo tipo:

    <a href="sms:numero&body=messaggio">Testo visibile</a> 
  

Se servono degli spazi nel messaggio basta usare %20 al posto dello spazio. Invece di un testo visibile si può usare un’immagine. Qui trovate un generatore di pulsanti che mandano SMS.

Un’alternativa è usare le tecniche adoperate dai vari siti che invitano l’utente a digitare il proprio numero di telefonino con qualche scusa (facili da trovare, per il mercato svizzero, cercando diciture come Gib Deine Handynummer Ein oppure Gib Deine Handy-Nr. ein). Ne ho salvato un esempio qui su Archive.is; il JavaScript che (mi pare di capire) gestisce l’acquisizione e l’invio del numero di telefonino è qui.

---

Per i passi 2 e 3 forse si può usare la funzione OTP Autofill, descritta in questo mio articolo. Alcune delle tecniche usate dalle società che erogano questi servizi sono descritte in questo Reddit al quale partecipa una persona che dice di aver lavorato nel settore in Italia.

Esistono vari sistemi. I più banali sono: porte usb di luoghi pubblici che mandano informazioni e reti wifi pubbliche che fanno altrettanto. Se ti trovi a casa in una rete sicura è invece molto probabile che tu abbia installato qualche app (a cui tu hai dato il consenso) che manda il tuo numero ad un servizio di adv. Quando capiti in uno di questi siti malevoli mentre stai sicuramente facendo qualche ricerca universitaria, ci sono vari script che abilitano il servizio simulando un tuo consenso attivo.

Se non ricordo male, il wifi dei freccia rossa (almeno 4 anni fa) ti chiedeva il numero di telefono per fare l'accesso. Ed ecco che hanno il tuo numero. Con le USB invece fidati che fanno quello che vogliono, soprattutto se hai Android...ti basta una superficiale googlata per trovare migliaia di attacchi, alcuni ancora validi dal 2010.

La maggior parte delle volte i servizi vengono attivati tramite script che prendono azioni al posto tuo, trojan vari che ti infettano il sistema o, nel peggiore dei casi ma fortunatamente più raro, semplicemente qualcuno con una lista di numeri inizia ad abbonarli in modo arbitrario. Purtroppo di programmazione capisco poco e niente, non so darti i dettagli tecnici. Posso dirti però che il metodo informatico usato diventa più complesso a seconda della regolamentazione. Se il paese prevede un flusso abbonamenti 1 click (vale a dire, è sufficiente che il cliente clicchi una volta per abbonarsi) allora è sufficiente uno script nella pagina che incrementi la sensibilità del pulsante o che simuli un'azione. Se invece vige il pin (per abbonarti devi scrivere una password che ti viene mandata al cellulare) allora per riuscirci devi per forza infettare il sistema o trovare un bug lato operatore da sfruttare. Questi 'bug' sono comunemente considerati lasciati volontariamente dagli operatori tra i miei colleghi.


---

Per nascondere il tutto, segnalo due tecniche molto in voga qualche tempo fa fra i truffatori (e forse usate tuttora):

  • Indurre la vittima a toccare tante volte lo schermo in rapida successione, facendo poi comparire il pulsante di invio degli SMS a sorpresa (il pulsante può anche essere invisibile, per esempio dello stesso colore dello sfondo); questo di solito frega la vittima, che non fa in tempo ad accorgersi che è cambiata la schermata e quindi tocca il pulsante di invio.
  • Prendere il tocco dell’utente, fatto su una pagina del tutto innocente, e passarlo a una schermata sottostante che conteneva il pulsante di invio dell’SMS.

Se avete idee, consigli o suggerimenti, i commenti sono a vostra disposizione. Se siete in grado di creare un sito del genere, mandatemi i vostri preventivi via mail e li girerò al committente.

Questo articolo vi arriva gratuitamente e senza pubblicità grazie alle donazioni dei lettori. Se vi è piaciuto, potete incoraggiarmi a scrivere ancora facendo una donazione anche voi, tramite Paypal (paypal.me/disinformatico) o altri metodi.

Nessun commento: