L'app per lo shopping di SHEIN diventa una canaglia, prende i dati sui prezzi e sugli URL dai tuoi appunti

L'app per lo shopping di SHEIN diventa una canaglia, prende i dati sui prezzi e sugli URL dai tuoi appunti

Nodo di origine: 2005243

Il marchio cinese di "fast fashion" SHEIN non è estraneo alle polemiche, anche a causa di una violazione dei dati del 2018 che la sua allora società madre Zoetop non è riuscita a individuare, figuriamoci a fermare, e quindi gestita in modo disonesto.

Come ha affermato Letitia James, procuratore generale dello Stato di New York, in a dichiarazione a fine 2022:

Le deboli misure di sicurezza digitale di SHEIN e [marchio gemello] ROMWE hanno reso facile per gli hacker rubare i dati personali dei consumatori. […]

I dati personali sono stati rubati e Zoetop ha cercato di nasconderli. Non proteggere i dati personali dei consumatori e mentire su di essi non è di moda. SHEIN e ROMWE devono abbottonare le loro misure di sicurezza informatica per proteggere i consumatori da frodi e furti di identità.

Al momento della sentenza del tribunale di New York, abbiamo espresso sorpresa per l'apparentemente modesta multa di 1.9 milioni di dollari inflitta, considerando la portata dell'attività:

Francamente, siamo sorpresi che Zoetop (ora SHEIN Distribution Corporation negli Stati Uniti) sia andata così alla leggera, considerando le dimensioni, la ricchezza e il potere del marchio dell'azienda, la sua apparente mancanza anche di precauzioni di base che avrebbero potuto prevenire o ridurre il pericolo rappresentato dalla violazione e dalla sua continua disonestà nel gestire la violazione dopo che è diventata nota.


Svelato il codice dell'app Snoopy

Quello che non sapevamo, anche se questo caso stava attraversando il sistema giudiziario di New York, era che SHEIN stava aggiungendo un codice curioso (e dubbio, se non addirittura dannoso) alla sua app per Android che lo trasformava in una sorta di " strumento di marketing spyware”.

Quella notizia è emersa all'inizio di questa settimana quando i ricercatori Microsoft hanno pubblicato a analisi retrospettiva della versione 7.9.2 dell'app Android di SHEIN, dall'inizio del 2022.

Sebbene quella versione dell'app sia stata aggiornata molte volte da quando Microsoft ha segnalato il suo comportamento discutibile, e sebbene Google abbia ora aggiunto alcune mitigazioni in Android (vedi sotto) per aiutarti a individuare le app che cercano di farla franca con il tipo di inganno di SHEIN...

...questa storia è un forte promemoria del fatto che anche le app che sono "verificate e approvate" in Google Play possono operare in modi subdoli che minano la tua privacy e sicurezza, come nel caso di quelle app "Authenticator" non autorizzate abbiamo scritto circa due settimane fa.



I ricercatori Microsoft non hanno detto cosa ha suscitato il loro interesse in questa particolare app SHEIN.

Per quanto ne sappiamo, potrebbero semplicemente aver scelto un campione rappresentativo di app con un numero elevato di download e aver cercato automaticamente nel loro codice decompilato chiamate intriganti o inaspettate a funzioni di sistema per creare un breve elenco di obiettivi interessanti.

Nelle stesse parole dei ricercatori:

Per prima cosa abbiamo eseguito un'analisi statica dell'app per identificare il codice pertinente responsabile del comportamento. Abbiamo quindi eseguito un'analisi dinamica eseguendo l'app in un ambiente strumentato per osservare il codice, incluso il modo in cui leggeva gli appunti e inviava i suoi contenuti a un server remoto.

L'app di SHEIN è designata per avere più di 100 milioni di download, che è un bel modo al di sotto di app di altissimo livello come Facebook (5 miliardi +), Twitter (1 miliardi +) e TikTok (1 miliardi +), ma lassù con altre ben note e ampiamente utilizzate app come Signal (oltre 100 milioni) e McDonald's (oltre 100 milioni).

Scavando nel codice

L'app stessa è enorme, con un peso di 93 MByte in formato APK (un file APK, abbreviazione di Pacchetto Android, è essenzialmente un archivio ZIP compresso) e 194 MByte una volta decompresso ed estratto.

Include una porzione considerevole di codice di libreria in un insieme di pacchetti con un nome di primo livello di com.zzkko (ZZKKO era il nome originale di SHEIN), incluso un insieme di routine di utilità in un pacchetto chiamato com.zzkko.base.util.

Queste utilità di base includono una funzione chiamata PhoneUtil.getClipboardTxt() che catturerà gli appunti utilizzando gli strumenti di codifica Android standard importati da android.content.ClipboardManager:

La ricerca nel codice SHEIN/ZZKKO per le chiamate a questa funzione di utilità mostra che è utilizzata in un solo posto, un pacchetto dal nome intrigante com.zzkko.util.­MarketClipboardPhaseLinker:

Come spiegato nell'analisi di Microsoft, questo codice, quando attivato, legge qualsiasi cosa si trovi negli appunti e quindi verifica se contiene entrambi :// ed $, come ci si potrebbe aspettare se avessi copiato e incollato un risultato di ricerca che coinvolge il sito web di qualcun altro e un prezzo in dollari:

Se il test ha esito positivo, il codice chiama una funzione compilata nel pacchetto con il nome privo di fantasia (e presumibilmente generato automaticamente) k(), inviandogli come parametro una copia del testo spiato:

Come puoi vedere, anche se non sei un programmatore, quella funzione poco interessante k() impacchetta i dati degli appunti sniffati in un file POST richiesta, che è un tipo speciale di connessione HTTP che dice al server: "Questa non è una richiesta GET tradizionale in cui ti chiedo di inviarmi qualcosa, ma una richiesta di caricamento in cui ti invio dei dati".

Il POST la richiesta in questo caso viene caricata nell'URL https://api-service.shein.com/marketing/tinyurl/phrase, con contenuti HTTP che in genere sarebbero simili a questo:

 POST //marketing/tinyurl/phrase Host: api-service.shein.com . . . Content-Type: application/x-www-form-urlencodedphrase=...contenuto codificato del parametro passato a k()...

Come Microsoft ha gentilmente notato nel suo rapporto:

Sebbene non siamo a conoscenza di alcun intento dannoso da parte di SHEIN, anche i comportamenti apparentemente innocui nelle applicazioni possono essere sfruttati con intenti dannosi. Le minacce che prendono di mira gli appunti possono mettere a rischio il furto o la modifica da parte di aggressori di qualsiasi informazione copiata e incollata, come password, dettagli finanziari, dati personali, indirizzi di portafogli di criptovaluta e altre informazioni sensibili.

I simboli del dollaro negli appunti non denotano invariabilmente le ricerche di prezzo, anche perché la maggior parte dei paesi del mondo ha valute che utilizzano simboli diversi, quindi un'ampia gamma di informazioni personali potrebbe essere sottratta in questo modo...

… ma anche se i dati acquisiti provenissero davvero da una ricerca innocente e senza importanza che hai fatto altrove, non sarebbero comunque affari tuoi.

La codifica URL viene generalmente utilizzata quando si desidera trasmettere URL come dati, in modo che non possano essere confusi con URL "live" che dovrebbero essere visitati e in modo che non contengano caratteri illegali. Ad esempio, gli spazi non sono consentiti negli URL, quindi vengono convertiti in dati URL in %20, dove il segno di percentuale significa "il byte speciale segue come due caratteri esadecimali", e 20 è il codice ASCII esadecimale per lo spazio (32 in decimale). Allo stesso modo, una sequenza speciale come :// sarà tradotto in %3A%2F%2F, perché i due punti sono ASCII 0x3A (58 in decimale) e una barra è 0x2F (47 in decimale). Il simbolo del dollaro risulta come %24 (36 in decimale).

Cosa fare?

Secondo Microsoft, la risposta di Google a questo tipo di comportamento in app altrimenti attendibili (quello che si potrebbe considerare un "tradimento involontario") è stata quella di rafforzare il codice di gestione degli appunti di Android.

Presumibilmente, rendere le autorizzazioni di accesso agli appunti molto più rigide e più restrittive sarebbe stata una soluzione migliore in teoria, così come sarebbe stato più rigoroso con il controllo delle app del Play Store, ma supponiamo che queste risposte siano state considerate troppo invadenti nella pratica.

In parole povere, più recente è la versione di Android che hai (o a cui puoi eseguire l'aggiornamento), più restrittivamente vengono gestiti gli appunti.

Apparentemente, in Android 10 e versioni successive, un'app non può leggere gli appunti a meno che non sia in esecuzione attivamente in primo piano.

Certo, questo non aiuta molto, ma impedisce alle app che hai lasciato inattivo e forse anche dimenticato di ficcare il naso nel tuo copia e incolla tutto il tempo.

Android 12 e versioni successive visualizzeranno un messaggio di avviso per dire "App XYZ incollata dagli appunti", ma a quanto pare questo avviso appare solo la prima volta che accade per qualsiasi app (che potrebbe essere quando te lo aspettavi), non nelle successive acquisizioni degli appunti (quando non l'hai fatto).

E Android 13 cancella automaticamente gli appunti ogni tanto (non siamo sicuri di quanto spesso sia effettivamente) per fermare i dati che potresti aver dimenticato di rimanere in giro a tempo indeterminato.

Dato che apparentemente Google non intende controllare l'accesso agli appunti così strettamente come potresti sperare, qui ripeteremo il consiglio di Microsoft, che va sulla falsariga di "Se vedi qualcosa, dì qualcosa... e vota con i tuoi piedi, o almeno le tue dita”:

Prendi in considerazione la rimozione di applicazioni con comportamenti imprevisti, come le notifiche di accesso agli appunti […], e segnala il comportamento al fornitore o all'operatore dell'app store.

Se disponi di una flotta di dispositivi mobili aziendali e non hai ancora adottato una qualche forma di gestione dei dispositivi mobili e protezione anti-malware, perché non dare un'occhiata a cosa c'è in offerta ora?



Timestamp:

Di più da Sicurezza nuda