For those confused about how this could work with chip cards, the malware has two components, one installed on the victims phone and one on the attacker’s. The attacker initiates the contactless authentication at an ATM or contactless payment and their phone communicates in real time with the victim’s, which is tricked by the malware into reacting to that event and producing the one time token which is then relayed to the attacker and used.
They also previously social-engineered the card PIN from the victim, in case the contactless event requires it (definitely in case of ATM login).
The fact you can trick the NFC system on the phone into reacting to “phantom” payment events and intercept the resulting token sounds like a pretty big problem. The former should be entirely hardware controlled, and the latter should not allow the token to go anywhere else except to the hardware.
The fact you can trick the NFC system on the phone into reacting to “phantom” payment events and intercept the resulting token sounds like a pretty big problem.
That’s not what’s happening though? It’s relaying a physical card’s nfc not tricking mobile contactless payments
That’s what I mean, it shouldn’t be possible to relay anything. It should only trigger when there’s a reader physically in proximity to the phone.
Please keep in mind this is happening on the victim’s phone which is not rooted, the malware is a regular non-system app.
If it were happening on a rooted phone I could understand being able to subvert the NFC chain because at some point it has to pass from hardware to software and if you’re privileged enough you can cut in there. But the malware app is not privileged.
There is nothing being subverted, nfc has applications other than contactless payments that require it acting as the reader, which is why it’s supported. It would be better if it was behind an explicit permission (just like other sensors would) but limiting it to only responding to readers is like limiting Bluetooth to audio transmission.
This isn’t about subscribing to NFC events, the malware is creating fake NFC events without the NFC sensor being involved in a physical interaction with a tag or reader.
The attacker uses phone A and touches the ATM NFC reader. This creates a NFC event on phone A that requests a token.
Phone A sensds the request data to the malware running on victim’s Phone V.
The malware on phone V creates a fake NFC event that makes it look like the phone V was touched against the ATM. <– this is the huge security issue IMO
The app on phone V that’s currently associated with NFC contactless payments responds to the fake NFC event by issuing a token.
The malware on Phone V sends the token to phone A.
Phone A uses the token to “prove” to the ATM that the real customer is in front of it.
The ATM asks for the PIN and the attacker supplies the correct PIN (which they’ve previously obtained via social engineering).
Attacker can now withdraw cash from the ATM from the victim’s account.
What scenario are you talking about?? From the article:
NGate malware can relay NFC data from a victim’s card through a compromised device to an attacker’s smartphone, which is then able to emulate the card and withdraw money from an ATM.
…
Masquerading as a legitimate app for a target’s bank, NGate prompts the user to enter the banking client ID, date of birth, and the PIN code corresponding to the card. The app goes on to ask the user to turn on NFC and to scan the card.
In that case I call bullshit. What I described can work (relaying banking apps on the victim’s phone to authenticate to ATM), with cards it should not. If you read the comments on the site you’ll see people are just as confused as to how this can work.
For those confused about how this could work with chip cards, the malware has two components, one installed on the victims phone and one on the attacker’s. The attacker initiates the contactless authentication at an ATM or contactless payment and their phone communicates in real time with the victim’s, which is tricked by the malware into reacting to that event and producing the one time token which is then relayed to the attacker and used.
They also previously social-engineered the card PIN from the victim, in case the contactless event requires it (definitely in case of ATM login).
The fact you can trick the NFC system on the phone into reacting to “phantom” payment events and intercept the resulting token sounds like a pretty big problem. The former should be entirely hardware controlled, and the latter should not allow the token to go anywhere else except to the hardware.
That’s not what’s happening though? It’s relaying a physical card’s nfc not tricking mobile contactless payments
That’s what I mean, it shouldn’t be possible to relay anything. It should only trigger when there’s a reader physically in proximity to the phone.
Please keep in mind this is happening on the victim’s phone which is not rooted, the malware is a regular non-system app.
If it were happening on a rooted phone I could understand being able to subvert the NFC chain because at some point it has to pass from hardware to software and if you’re privileged enough you can cut in there. But the malware app is not privileged.
There is nothing being subverted, nfc has applications other than contactless payments that require it acting as the reader, which is why it’s supported. It would be better if it was behind an explicit permission (just like other sensors would) but limiting it to only responding to readers is like limiting Bluetooth to audio transmission.
This isn’t about subscribing to NFC events, the malware is creating fake NFC events without the NFC sensor being involved in a physical interaction with a tag or reader.
No? The nfc sensor is next to the credit card, which is why it’s able to communicate with it to relay it.
Why would it need to create fake events? How would that even help?
There’s no credit card involved in this scenario.
What scenario are you talking about?? From the article:
Physical card is involved, mobile payments isn’t.
In that case I call bullshit. What I described can work (relaying banking apps on the victim’s phone to authenticate to ATM), with cards it should not. If you read the comments on the site you’ll see people are just as confused as to how this can work.
android permissions arent meant to be bypassable either but i bet theres malware that does it. its kinda what it does.
When it happens it’s a security flaw and it needs to get patched. It’s not normal everyday thing.
exactly! thats what i mean.