EMV Common Attacks Guide

A technical overview of prevalent attack vectors against Europay, Mastercard, and Visa (EMV) chip technology and their respective countermeasures.

Relay Attack

Description

An attacker uses two NFC-enabled devices to "relay" communication between a victim's contactless card and a legitimate terminal. One device is held near the victim's card, while the other interacts with the payment terminal, tricking it into believing the card is physically present.

Mitigation

  • Distance Bounding protocols (measuring RTT)
  • User authentication for mobile wallets
  • RFID-blocking wallets or sleeves

Shimming

Description

A "shim" is a paper-thin device inserted into a card reader's slot. It sits between the card's chip and the reader's contacts to intercept the data exchanged. While it cannot easily clone the dynamic cryptogram, it can capture static data to create a magnetic stripe clone.

Mitigation

  • Regular physical inspection of terminals
  • Tamper-evident hardware sensors
  • Enhanced data encryption in latest specs

Downgrade Attack

Description

The attacker modifies the communication between the card and the terminal to force the use of a less secure protocol. For example, tricking a terminal into thinking the card doesn't support EMV, forcing a "fallback" to the magnetic stripe.

Mitigation

  • Service code validation by issuers
  • Disabling magnetic stripe fallback at POS
  • Strict terminal configuration policies

PIN Bypass (MitM)

Description

An attacker intercepts communication to modify the Cardholder Verification Method (CVM) results. They can trick the terminal into believing an offline PIN was successful, while the card thinks no PIN was required (signature-based).

Mitigation

  • Combined Data Authentication (CDA)
  • Preferring Online PIN verification
  • Cryptographic signing of CVM results

Pre-play Attack

Description

An attacker captures a valid transaction cryptogram from a card and "replays" it later. This is often successful if the terminal's Unpredictable Number (UN) is weak or predictable, allowing the attacker to pre-generate valid cryptograms.

Mitigation

  • Strong hardware random number generators
  • Issuer tracking of transaction counters
  • Rejection of non-sequential cryptograms

Card Brand Mix-up

Description

An attacker tricks the terminal into using a different payment kernel (e.g., treating a Visa card as Mastercard). This exploits brand-specific differences in security checks or CVM handling to bypass protections.

Mitigation

  • Strict Application Identifier (AID) validation
  • Standardization of kernel security requirements
  • Terminal kernel integrity checks