NFC-smarttelefoner gjorde det mulig for forskere å hacke salgssteder og minibanker

Smarttelefoner med NFC aktivert tillot forskere å hacke salgssteder og minibanker, og fikk tilpasset kodekjøring på noen av dem.

Til tross for at det er en av de eneste måtene å få penger ut av bankkontoen din mens du er på farten, har minibanker notorisk hatt en rekke sikkerhetsproblemer gjennom årene. Selv nå er det ikke mye som stopper en hacker fra å plassere en kortskimmer på en minibank, siden de fleste aldri vil legge merke til at den er der. Det har selvfølgelig også vært en del andre angrep opp gjennom årene som er mer komplekse enn som så, men i det store og hele bør du alltid være forsiktig når du bruker minibank. Nå er det en ny måte å hacke en minibank på, og alt det krever er en smarttelefon med NFC.

Som Kablet rapporter, Josep Rodriguez er forsker og konsulent ved IOActive, et sikkerhetsfirma med base i Seattle, Washington, og han har brukt det siste året på å finne sårbarheter i NFC-lesere som brukes i minibanker og salgssteder. Mange minibanker rundt om i verden lar deg trykke på debet- eller kredittkortet ditt for deretter å taste inn PIN-koden og ta ut kontanter, i stedet for å kreve at du setter den inn i selve minibanken. Selv om det er mer praktisk, kommer det også rundt problemet med en fysisk kortskimmer som er tilstede over kortleseren. Kontaktløse betalinger på salgssteder er også allestedsnærværende på dette tidspunktet.

Kilde: Google

Hacking av NFC-lesere

Rodriquez har bygget en Android-app som gir telefonen hans kraften til å etterligne kredittkortkommunikasjon og utnytte feil i NFC-systemenes fastvare. Han vifter med telefonen over NFC-leseren og kan lenke sammen flere utnyttelser for å krasje salgssteder, hacke dem å samle inn og overføre kortdata, endre verdien av transaksjoner og til og med låse enhetene med en løsepengemelding.

Videre sier Rodriguez at han til og med kan tvinge minst ett navngitt merke av minibanker til å dele ut penger, selv om det bare fungerer i kombinasjon med feil han fant i minibankens programvare. Dette kalles "jackpotting", som det er mange måter kriminelle har forsøkt gjennom årene for å få tilgang til en minibank for å stjele kontanter. Han nektet å spesifisere merket eller metodene på grunn av taushetserklæringer med minibankleverandørene.

"Du kan modifisere fastvaren og endre prisen til én dollar, for eksempel selv når skjermen viser at du betaler 50 dollar. Du kan gjøre enheten ubrukelig, eller installere en slags løsepengevare. Det er mange muligheter her," sier Rodriguez om angrepene på salgsstedet han oppdaget. "Hvis du lenker angrepet og også sender en spesiell nyttelast til datamaskinen til en minibank, kan du gi en jackpot i minibanken - som utbetalinger, bare ved å trykke på telefonen."

Kilde: Josep Rodriguez

Berørte leverandører inkluderer ID Tech, Ingenico, Verifone, Crane Payment Innovations, BBPOS, Nexgo og en navngitt minibankleverandør, og alle ble varslet for mellom 7 måneder og et år siden. De fleste salgsstedssystemer mottar imidlertid ikke programvareoppdateringer eller gjør det sjelden, og det er sannsynlig at mange av dem krever fysisk tilgang for å gjøre det. Derfor er det sannsynlig at mange av dem forblir sårbare. "Å lappe så mange hundretusenvis av minibanker fysisk, det er noe som vil kreve mye tid," sier Rodriguez.

For å demonstrere sårbarhetene delte Rodriguez en video med Kablet viser ham vifte med en smarttelefon over NFC-leseren til en minibank i Madrid, noe som får maskinen til å vise en feilmelding. Han viste ikke jackpottingangrepet, siden han bare kunne teste det på lovlig vis på maskiner som ble anskaffet som en del av IOActives sikkerhetsrådgivning, som da ville bryte taushetserklæringen deres. spurte Rodriguez Kablet ikke å publisere videoen i frykt for juridisk ansvar.

Funnene er "utmerket forskning på sårbarheten til programvare som kjører på innebygde enheter," sier Karsten Nohl, grunnleggeren av sikkerhetsfirmaet SRLabs og firmware-hacker, som gjennomgikk arbeidet til Rodriguez. Nohl nevnte også at det er noen ulemper for virkelige tyver, inkludert at en hacket NFC leser ville bare tillate en angriper å stjele mag stripe kredittkortdata, ikke PIN-koden eller dataene fra EMV sjetonger. ATM jackpot-angrepet krever også en sårbarhet i ATM-fastvaren, som er en stor barriere.

Likevel er det å få tilgang til å kjøre kode på disse maskinene en stor sikkerhetsfeil i seg selv, og er ofte det første inngangspunktet i ethvert system selv om det ikke er mer enn tilgang på brukernivå. Når du først kommer forbi det ytre sikkerhetslaget, er det ofte slik at de interne programvaresystemene ikke er i nærheten av like sikre.

Red Balloons administrerende direktør og sjefforsker Ang Cui, var imponert over funnene. "Jeg tror det er veldig plausibelt at når du har kodekjøring på noen av disse enhetene, bør du kunne få rett til hovedkontrolleren, fordi den tingen er full av sårbarheter som ikke har blitt fikset på over en tiår," sier Cui. "Derfra," han legger til, "du kan absolutt kontrollere kassettdispenseren" som holder og frigjør kontanter til brukere.

Utførelse av tilpasset kode

Muligheten til å kjøre tilpasset kode på en hvilken som helst maskin er en stor sårbarhet og gir en angriper muligheten til å undersøke underliggende systemer i en maskin for å finne flere sårbarheter. Nintendo 3DS er et godt eksempel på dette: et spill kalt Kubisk ninja var berømt en av de tidligste måtene å utnytte 3DS og utføre hjemmebrygg. Utnyttelsen, kalt "Ninjhax", forårsaket et bufferoverløp som utløste utførelse av tilpasset kode. Mens selve spillet bare hadde tilgang på brukernivå til systemet, ble Ninjhax basen for ytterligere utnyttelser for å kjøre tilpasset firmware på 3DS.

Kilde: Cloudflare

For å forenkle: et bufferoverløp utløses når volumet av data som sendes overstiger den tildelte lagringen for disse dataene, noe som betyr at overflødig data deretter lagres i tilstøtende minneområder. Hvis en tilstøtende minneregion kan kjøre kode, kan en angriper misbruke denne til å fylle bufferen med søppeldata, og legg deretter til kjørbar kode på slutten av den, hvor den vil bli lest inn i tilstøtende hukommelse. Ikke alle bufferoverløpsangrep kan kjøre kode, og mange vil rett og slett bare krasje et program eller forårsake uventet oppførsel. For eksempel, hvis et felt bare kan ta 8 byte med data og en angriper tvunget inn 10 byte, vil de ytterligere 2 bytene på slutten renne over i et annet minneområde.

Les mer: "PSA: Hvis PC-en din kjører Linux, bør du oppdatere Sudo nå"

Rodriguez bemerker at bufferoverløpsangrep på NFC-lesere og salgssteder er mulig, siden han kjøpte mange av disse fra eBay i løpet av det siste året. Han påpekte at mange av dem led av den samme sikkerhetsbristen: de validerte ikke størrelsen på dataene som ble sendt via NFC fra et kredittkort. Ved å lage en app som sendte data hundrevis av ganger større enn leseren forventer, var det mulig å utløse et bufferoverløp.

Når Kablet kontaktet de berørte selskapene for kommentar, ID Tech, BBPOS og Nexgo svarte ikke på forespørsler om kommentar. ATM Industry Association nektet også å kommentere. Ingenico svarte i en uttalelse at sikkerhetsreduksjoner betydde at Rodriguezs bufferoverflyt bare kunne krasje enheter, ikke få tilpasset kodekjøring. Rodriguez er i tvil om at de faktisk ville ha forhindret kjøring av kode, men har ikke laget et proof of concept for å demonstrere. Ingenico sa at "med tanke på ulempene og virkningen for kundene våre", utstedte det en løsning uansett.

Verifone sa at de hadde funnet og fikset sikkerhetssårbarhetene i 2018 før de ble rapportert, selv om dette bare viser hvordan disse enhetene aldri blir oppdatert. Rodriguez sier at han testet NFC-angrepene sine på en Verifone-enhet på en restaurant i fjor, og fant ut at den fortsatt var sårbar.

"Disse sårbarhetene har vært tilstede i firmware i årevis, og vi bruker disse enhetene daglig for å håndtere kredittkortene våre, pengene våre," sier Rodriguez. — De må sikres. Rodriguez planlegger å dele tekniske detaljer om disse sårbarhetene i et webinar i løpet av de kommende ukene.