Xiaomi-telefonbugg tillåten betalningsförfalskning

Mobila transaktioner kunde ha inaktiverats, skapats och undertecknats av angripare.

Smartphonetillverkaren Xiaomi, världens nummer tre telefontillverkare bakom Apple och Samsung, rapporterade att den har åtgärdat ett allvarligt fel i sin "pålitliga miljö" som används för att lagra betalningsdata som öppnade några av dess telefoner för attack.

Forskare på Check Point Research avslöjade förra veckan i en rapport som släpptes på DEF CON att Xiaomi-smarttelefonfelet kunde ha tillåtit hackare att kapa det mobila betalningssystemet och inaktivera det eller skapa och signera sina egna förfalskade transaktioner.

Den potentiella poolen av offer var enorm, med tanke på att en av sju av världens smartphones är tillverkade av Xiaomi, enligt Q2/22 data från Canalys. Företaget är den tredje största leverantören globalt, enligt Canalys.
Infosec Insiders nyhetsbrev"Vi upptäckte en uppsättning sårbarheter som kunde göra det möjligt att förfalska betalningspaket eller inaktivera betalningssystemet direkt från en oprivilegierad Android-applikation. Vi kunde hacka in WeChat Pay och implementerade ett fullt fungerande proof of concept”, skrev Slava Makkaveev, säkerhetsforskare på Check Point.

Han sa att Check Point-studien är första gången Xiaomis betrodda applikationer har granskats för säkerhetsproblem. WeChat Pay är en mobil betalnings- och digital plånbokstjänst utvecklad av ett företag med samma namn, baserat i Kina. Tjänsten används av över 300 miljoner kunder och låter Android-användare göra mobilbetalningar och onlinetransaktioner.

Felet

Det är oklart hur länge sårbarheten funnits eller om den utnyttjades av angripare i det vilda. Felet, spåras som CVE-2020-14125, patchades av Xiaomi i juni och har en CVSS-svårighetsgrad på hög.

"En överbelastningssårbarhet finns i vissa Xiaomi-modeller av telefoner. Sårbarheten orsakas av out-of-bound läs/skriv och kan utnyttjas av angripare för att göra denial of service”, enligt NISTs gemensamma sårbarhet och exponeringsbeskrivning av felet.

Även om detaljerna om buggens påverkan var begränsade när Xiaomi avslöjade sårbarheten i juni, har forskare vid Check Point beskrivit i sin obduktion av den korrigerade buggen och den fulla potentiella effekten av felet.

Kärnproblemet med Xiaomi-telefonen var mobiltelefonens betalningsmetod och TEE-komponenten (Trusted Execution Environment) i telefonen. TEE är Xiaomis virtuella enklav av telefonen, ansvarig för att bearbeta och lagra ultrakänslig säkerhetsinformation såsom fingeravtryck och kryptografiska nycklar som används för att signera transaktioner.

"Om den inte är patchad kunde en angripare stjäla privata nycklar som används för att signera WeChat Pay-kontroll- och betalningspaket. I värsta fall kunde en oprivilegierad Android-app ha skapat och undertecknat ett falskt betalningspaket”, skrev forskare.

Två typer av attacker kunde ha utförts mot telefoner med felet enligt Check Point.

  • Från en oprivilegierad Android-app: Användaren installerar en skadlig applikation och startar den. Appen extraherar nycklarna och skickar ett falskt betalningspaket för att stjäla pengarna.
  • Om angriparen har målenheterna i sina händer: Angriparen rotar enheten, nedgraderar sedan förtroendemiljön och kör sedan koden för att skapa ett falskt betalningspaket utan en applikation.

Två sätt att flå en TEE

Att kontrollera TEE, enligt Check Point, är en MediaTek-chipkomponent som behövde vara närvarande för att genomföra attacken. För att vara tydlig, var felet inte i MediaTek-chippet - men felet var endast körbart i telefoner konfigurerade med MediaTek-processorn.

"Den asiatiska marknaden," konstaterade forskarna, "representeras huvudsakligen av smartphones baserade på MediaTek-chips." Xiaomi-telefoner som körs på MediaTek-chips använder en TEE-arkitektur som kallas "Kinibi", inom vilken Xiaomi kan bädda in och signera sina egna betrodda applikationer.

"Vanligtvis har pålitliga appar i Kinibi OS MCLF-formatet" - Mobicore Loadable Format - "men Xiaomi bestämde sig för att komma med en av sina egna." Inom deras eget format fanns dock ett fel: en frånvaro av versionskontroll, utan vilken "en angripare kan överföra en gammal version av en betrodd app till enheten och använda den för att skriva över den nya appfilen." Signaturen mellan versionerna ändras inte, så TEE känner inte till skillnaden, och den laddar den gamla.

I huvudsak kunde angriparen ha vridit tillbaka tiden och kringgått alla säkerhetsfixar gjorda av Xiaomi eller MediaTek i det mest känsliga området av telefonen.

Som ett exempel riktade forskarna sig på "Tencent soter", Xiaomis inbäddade ramverk som tillhandahåller ett API till tredjepartsappar som vill integrera mobila betalningar. Soter är det som ansvarar för att verifiera betalningar mellan telefoner och backend-servrar, för hundratals miljoner Android-enheter över hela världen. Forskarna genomförde tidsresor för att utnyttja en godtycklig lässårbarhet i soter-appen. Detta gjorde det möjligt för dem att stjäla de privata nycklar som användes för att signera transaktioner.

Den godtyckliga lässårbarheten är redan korrigerad, medan versionskontrollsårbarheten "fixas".

Dessutom kom forskarna på ett annat knep för att utnyttja soter.

Genom att använda en vanlig, oprivilegierad Android-applikation kunde de kommunicera med den betrodda soter-appen via "SoterService", ett API för att hantera soter-nycklar. "I praktiken är vårt mål att stjäla en av de soter privata nycklarna", skrev författarna. Men genom att utföra en klassisk heap overflow-attack kunde de "komplett kompromettera Tencent soter-plattformen", vilket ger mycket större kraft att till exempel signera falska betalningspaket.

Telefoner förblir ogranskade

Mobilbetalningar tas redan emot mer granskning från säkerhetsforskare, eftersom tjänster som Apple Pay och Google Pay blir populära i västvärlden. Men frågan är ännu viktigare för Fjärran Östern, där marknaden för mobila betalningar redan ligger långt framme. Enligt uppgifter från Statista, var det halvklotet ansvarigt för hela två tredjedelar av mobila betalningar globalt 2021 – totalt cirka fyra miljarder dollar i transaktioner.

Och ändå har den asiatiska marknaden "ännu inte utforskats i stor utsträckning", konstaterade forskarna. "Ingen granskar pålitliga applikationer skrivna av enhetsleverantörer, som Xiaomi, istället för av chiptillverkare, även om säkerhetshantering och kärnan i mobila betalningar är implementerade där."

Som tidigare noterat, hävdade Check Point att detta var första gången Xiaomis betrodda applikationer har granskats för säkerhetsproblem.

Tidsstämpel:

Mer från sårbarheter