SHEIN shopping-app gaat schurkenstaten, haalt prijs- en URL-gegevens van uw klembord

SHEIN shopping-app gaat schurkenstaten, haalt prijs- en URL-gegevens van uw klembord

Bronknooppunt: 2005243

Het Chinese 'fast fashion'-merk SHEIN is geen onbekende in controverse, niet in de laatste plaats vanwege een datalek in 2018 dat het toenmalige moederbedrijf Zoetop niet opmerkte, laat staan ​​stopte, en vervolgens oneerlijk behandelde.

Zoals Letitia James, procureur-generaal van de staat New York, zei in een verklaring eind 2022:

De zwakke digitale beveiligingsmaatregelen van SHEIN en [zustermerk] ROMWE maakten het hackers gemakkelijk om persoonlijke gegevens van consumenten te stelen. […]

Er werden persoonlijke gegevens gestolen en Zoetop probeerde die te verdoezelen. Het niet beschermen van de persoonlijke gegevens van consumenten en erover liegen is niet trendy. SHEIN en ROMWE moeten hun cyberbeveiligingsmaatregelen aanscherpen om consumenten te beschermen tegen fraude en identiteitsdiefstal.

Ten tijde van de uitspraak van de rechtbank in New York spraken we onze verbazing uit over de ogenschijnlijk bescheiden boete van $ 1.9 miljoen die werd opgelegd, gezien de omvang van het bedrijf:

Eerlijk gezegd zijn we verrast dat Zoetop (nu SHEIN Distribution Corporation in de VS) er zo lichtjes vanaf kwam, gezien de omvang, rijkdom en merkmacht van het bedrijf, het schijnbare gebrek aan zelfs elementaire voorzorgsmaatregelen die het gevaar hadden kunnen voorkomen of verminderen door de inbreuk, en de voortdurende oneerlijkheid bij de behandeling van de inbreuk nadat deze bekend werd.


De code van de Snoopy-app is nu onthuld

Wat we niet wisten, zelfs toen deze zaak door het rechtssysteem van New York schuurde, was dat SHEIN een merkwaardige (en dubieuze, zo niet kwaadaardige) code aan zijn Android-app toevoegde die het in een basissoort van " marketing spyware-tool".

Dat nieuws kwam eerder deze week naar voren toen Microsoft-onderzoekers een retrospectieve analyse van versie 7.9.2 van de Android-app van SHEIN, vanaf begin 2022.

Hoewel die versie van de app vele malen is bijgewerkt sinds Microsoft zijn dubieuze gedrag meldde, en hoewel Google nu enkele maatregelen heeft toegevoegd aan Android (zie hieronder) om je te helpen apps te herkennen die proberen weg te komen met SHEIN's soort bedrog...

…dit verhaal herinnert ons er sterk aan dat zelfs apps die zijn "doorgelicht en goedgekeurd" in Google Play op slinkse manieren kunnen werken die uw privacy en veiligheid ondermijnen - zoals in het geval van die apps frauduleuze "Authenticator"-apps schreven we ongeveer twee weken geleden.



De Microsoft-onderzoekers hebben niet gezegd wat hun interesse in deze specifieke SHEIN-app heeft gewekt.

Voor zover we weten, hebben ze misschien gewoon een representatieve steekproef van apps met hoge downloadaantallen gekozen en hun gedecompileerde code automatisch doorzocht op intrigerende of onverwachte oproepen naar systeemfuncties om een ​​korte lijst met interessante doelen te maken.

In de eigen woorden van de onderzoekers:

We hebben eerst een statische analyse van de app uitgevoerd om de relevante code te identificeren die verantwoordelijk is voor het gedrag. Vervolgens hebben we een dynamische analyse uitgevoerd door de app in een geïnstrumenteerde omgeving uit te voeren om de code te observeren, inclusief hoe deze het klembord las en de inhoud ervan naar een externe server stuurde.

De app van SHEIN heeft naar verluidt meer dan 100 miljoen downloads, wat behoorlijk ver onder superhoogvliegende apps zoals Facebook (5B+), Twitter (1B+) en TikTok (1B+) ligt, maar daarboven met andere bekende en veelgebruikte apps zoals Signal (100M+) en McDonald's (100M+).

Aan het graven in de code

De app zelf is enorm, met een gewicht van 93 MBytes in APK-vorm (een APK-bestand, een afkorting van Android-pakket, is in wezen een gecomprimeerd ZIP-archief) en 194 MBytes bij uitpakken en uitpakken.

Het bevat een aanzienlijk stuk bibliotheekcode in een reeks pakketten met de naam op het hoogste niveau van com.zzkko (ZZKKO was de oorspronkelijke naam van SHEIN), inclusief een reeks hulpprogramma-routines in een pakket met de naam com.zzkko.base.util.

Die basishulpprogramma's bevatten een functie genaamd PhoneUtil.getClipboardTxt() dat zal het klembord pakken met behulp van standaard Android-coderingstools die zijn geïmporteerd uit android.content.ClipboardManager:

Zoeken in de SHEIN/ZZKKO-code voor aanroepen van deze hulpprogramma-functie laat zien dat deze op slechts één plaats wordt gebruikt, een pakket met de intrigerende naam com.zzkko.util.­MarketClipboardPhaseLinker:

Zoals uitgelegd in de analyse van Microsoft, leest deze code, wanneer geactiveerd, wat er ook op het klembord staat, en test vervolgens om te zien of het beide bevat :// en $, zoals je zou verwachten als je een zoekresultaat had gekopieerd en geplakt met betrekking tot de website van iemand anders en een prijs in dollars:

Als de test slaagt, roept de code een functie aan die in het pakket is gecompileerd met de fantasieloze (en vermoedelijk automatisch gegenereerde) naam k(), door het een kopie van de besnuffelde tekst als parameter te sturen:

Zoals je kunt zien, zelfs als je geen programmeur bent, die oninteressante functie k() verpakt de uitgesnuffelde klembordgegevens in een POST verzoek, wat een speciaal soort HTTP-verbinding is die de server vertelt: "Dit is geen traditioneel GET-verzoek waarbij ik je vraag om me iets te sturen, maar een uploadverzoek waarin ik gegevens naar je stuur."

De POST verzoek wordt in dit geval geüpload naar de URL https://api-service.shein.com/marketing/tinyurl/phrase, met HTTP-inhoud die er doorgaans ongeveer zo uitziet:

 POST //marketing/tinyurl/phrase Host: api-service.shein.com . . . Content-Type: application/x-www-form-urlencoded phrase=...gecodeerde inhoud van de parameter doorgegeven aan k()...

Zoals Microsoft vriendelijk opmerkte in zijn rapport:

Hoewel we niet op de hoogte zijn van enige kwaadaardige bedoelingen van SHEIN, kan zelfs ogenschijnlijk goedaardig gedrag in applicaties worden misbruikt met kwaadaardige bedoelingen. Bedreigingen gericht op klemborden kunnen het risico vormen dat gekopieerde en geplakte informatie wordt gestolen of gewijzigd door aanvallers, zoals wachtwoorden, financiële gegevens, persoonlijke gegevens, adressen van cryptocurrency-portemonnees en andere gevoelige informatie.

Dollartekens op uw klembord duiden niet altijd op prijszoekopdrachten, niet in de laatste plaats omdat de meeste landen ter wereld valuta's hebben die verschillende symbolen gebruiken, dus een breed scala aan persoonlijke informatie kan op deze manier worden overgeheveld...

... maar zelfs als de verzamelde gegevens inderdaad afkomstig zijn van een onschuldige en onbelangrijke zoekopdracht die u ergens anders hebt uitgevoerd, zou het nog steeds niemand anders zijn zaak zijn dan die van u.

URL-codering wordt over het algemeen gebruikt wanneer u URL's als gegevens wilt verzenden, zodat ze niet kunnen worden verward met "live" URL's die zouden moeten worden bezocht, en zodat ze geen illegale tekens bevatten. Spaties zijn bijvoorbeeld niet toegestaan ​​in URL's, dus worden ze in URL-gegevens geconverteerd naar %20, waarbij het procentteken betekent "speciale byte volgt als twee hexadecimale tekens", en 20 is de hexadecimale ASCII-code voor spatie (32 in decimalen). Ook een speciale reeks zoals :// zal worden vertaald in %3A%2F%2F, omdat een dubbele punt ASCII 0x3A (58 in decimalen) is en een schuine streep naar voren 0x2F (47 in decimalen). Het dollarteken komt eruit als %24 (36 in decimalen).

Wat te doen?

Volgens Microsoft was de reactie van Google op dit soort gedrag in anderszins vertrouwde apps - wat je zou kunnen beschouwen als "onbedoeld verraad" - het verbeteren van de Android-code voor het hanteren van het klembord.

Vermoedelijk zou het in theorie een betere oplossing zijn geweest om de toegangsrechten voor het klembord veel strenger en restrictiever te maken, net als strenger zijn bij het doorlichten van Play Store-apps, maar we gaan ervan uit dat deze reactie in de praktijk als te opdringerig werd beschouwd.

Losjes gezegd, hoe recenter de versie van Android die je hebt (of kunt upgraden), hoe restrictiever het klembord wordt beheerd.

Blijkbaar kan een app in Android 10 en later het klembord helemaal niet lezen, tenzij deze actief op de voorgrond wordt uitgevoerd.

Toegegeven, dit helpt niet veel, maar het zorgt er wel voor dat apps die je inactief hebt gelaten en misschien zelfs bent vergeten, de hele tijd rondsnuffelen in je kopiëren en plakken.

Android 12 en hoger zullen een waarschuwingsbericht weergeven om te zeggen "XYZ-app geplakt vanaf uw klembord", maar blijkbaar verschijnt deze waarschuwing alleen de eerste keer dat het gebeurt voor een app (wat zou kunnen zijn wanneer u het verwachtte), niet bij volgende klembordgrepen (toen je dat niet deed).

En Android 13 veegt het klembord af en toe automatisch weg (we weten niet zeker hoe vaak dat eigenlijk is) om te voorkomen dat gegevens die u misschien bent vergeten voor onbepaalde tijd rondslingeren.

Aangezien Google blijkbaar niet van plan is om de toegang tot het klembord zo strikt te controleren als je zou hopen, herhalen we hier het advies van Microsoft, dat in de trant van: "Als je iets ziet, zeg dan iets... en stem met je voeten, of tenminste je vingers”:

Overweeg om applicaties met onverwacht gedrag te verwijderen, zoals meldingen over toegang tot het klembord […], en meld het gedrag aan de leverancier of app store-operator.

Als u een vloot van mobiele bedrijfsapparaten heeft en u nog geen enkele vorm van beheer van mobiele apparaten en anti-malwarebescherming hebt toegepast, kijk dan eens naar wat er nu in de aanbieding is?



Tijdstempel:

Meer van Naakte beveiliging