pos機硬件攻擊,Visa混合的銀行卡品牌混淆攻擊

 新聞資訊2  |   2023-05-25 14:38  |  投稿人:pos機之家

網(wǎng)上有很多關(guān)于pos機硬件攻擊,Visa混合的銀行卡品牌混淆攻擊的知識,也有很多人為大家解答關(guān)于pos機硬件攻擊的問題,今天pos機之家(m.mxllmx.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!

本文目錄一覽:

1、pos機硬件攻擊

pos機硬件攻擊

大多數(shù) EMV 交易需要發(fā)卡機構(gòu)的在線授權(quán)。即商家的支付終端通過支付網(wǎng)絡(luò)向發(fā)卡機構(gòu)發(fā)送授權(quán)請求,該網(wǎng)絡(luò)通常由Visa或萬事達卡等品牌的公司運營。本文表明,從終端的角度來看,有可能導(dǎo)致卡品牌和支付網(wǎng)絡(luò)之間的不匹配。由此產(chǎn)生的銀行卡品牌混淆攻擊(Card Brand Mixup Attack)具有嚴重的安全后果。特別是,它使攻擊者能夠使用受害者的萬事達非接觸式卡購買支付昂貴的商品,而無需知道卡的 PIN 碼。

具體來說,攻擊者欺騙終端相信正在使用的卡是 Visa 卡,然后應(yīng)用最近在 Visa 上報告的 PIN 繞過攻擊。本研究已經(jīng)構(gòu)建了一個 Android 應(yīng)用程序并成功地使用它對 Mastercard 借記卡和信用卡的交易進行了這種攻擊,包括使用 Maestro 借記卡進行的超過 400 美元的交易。最后擴展了 EMV 非接觸式協(xié)議的形式化模型,以對發(fā)現(xiàn)的問題進行機器檢查修復(fù)。

0x01 Introduction

全球有超過 33 億張 Visa 信用卡和借記卡在流通。在萬事達卡品牌下(不包括 Maestro 和 Cirrus 產(chǎn)品),有超過 20 億張銀行卡。這兩家公司與 Europay 一起是 EMV 的創(chuàng)始人,EMV 是店內(nèi)智能卡支付的事實上的協(xié)議標準。美國運通、JCB、Discover 和銀聯(lián)等其他公司也加入了 EMV 聯(lián)盟。

大額 EMV 交易需要發(fā)卡機構(gòu)的在線授權(quán)。為此,支付終端向發(fā)卡機構(gòu)發(fā)送授權(quán)請求,攜帶交易細節(jié)和卡根據(jù)這些細節(jié)計算的加密消息驗證碼 (MAC,Message Authentication Code)。收到后,發(fā)卡機構(gòu)會執(zhí)行各種檢查,包括相關(guān)帳戶是否有足夠的資金以及 MAC 是否正確。雖然這些檢查為持卡人和商戶提供了加密可驗證的保證,但人們必須了解整個支付系統(tǒng)的屬性,包括終端和發(fā)卡行交換請求和響應(yīng)的過程。

上圖顯示了在線授權(quán)過程的通信流程,涉及四方:(1)支付終端; (2) 商戶收單行,即代表商戶處理卡支付的銀行或金融機構(gòu); (3) 連接收單機構(gòu)和發(fā)卡機構(gòu)的支付網(wǎng)絡(luò); (4) 發(fā)行者本身。有多種支付網(wǎng)絡(luò),例如 Visa 或 Mastercard 網(wǎng)絡(luò),收單行選擇授權(quán)請求發(fā)送到的機制稱為路由。通常,路由基于支付卡的品牌。例如,如果卡是 Visa 品牌的,則授權(quán)請求將路由到 Visa 支付網(wǎng)絡(luò)。

支付終端可以從交易期間卡提供的不同數(shù)據(jù)對象確定卡品牌。這些對象包括主帳號 (PAN) 和應(yīng)用程序標識符 (AID)。從 PAN(通常稱為卡號)中,可以從前導(dǎo)數(shù)字推斷出卡品牌。例如,如果 PAN 以 4 開頭,那么它就是一張 Visa 卡,表示該卡支持的 EMV 應(yīng)用程序(例如,Visa Electron 或 V Pay)的 AID 中,可以從稱為注冊應(yīng)用程序提供商標識符的共享前綴推斷出卡品牌,該標識符通常是一個 10 位數(shù)的值( 5 個字節(jié))。

在本文中展示了可以欺騙終端,進而欺騙收單行,使其接受具有指示不同卡品牌的 PAN 和 AID 的非接觸式交易。具體而言,本研究已經(jīng)發(fā)現(xiàn)了一種中間人攻擊,該攻擊誘使終端使用萬事達卡完成 Visa 交易。本文的攻擊稱之為銀行卡品牌混淆,具有災(zāi)難性的后果。特別是,它允許攻擊者在不輸入 PIN 的情況下使用受害者的萬事達卡支付昂貴的商品。該攻擊有效地將卡變成了 Visa 卡,然后應(yīng)用最近的 PIN 繞過攻擊。換句話說,萬事達卡也可以繞過 PIN 碼,到目前為止,萬事達卡被認為可以防止未經(jīng)授權(quán)的購買需要輸入卡所有者的秘密 PIN 碼。

這種新的攻擊濫用了 EMV 非接觸式協(xié)議的兩個基本缺點:(1) 缺乏對終端卡品牌的身份驗證,以及 (2) 攻擊者可以根據(jù)從非 Visa 卡,包括發(fā)卡機構(gòu)授權(quán)交易所需的密碼證明。已經(jīng)構(gòu)建了一個概念驗證 Android 應(yīng)用程序,并成功地使用它來繞過萬事達卡信用卡和借記卡交易的 PIN 驗證,包括兩張 Maestro 借記卡和兩張萬事達信用卡,均由不同銀行發(fā)行。其中一筆交易金額超過 400 美元。

0x02 BackgroundA.Visa的中繼攻擊和PIN繞過

盡管刷卡支付的體驗不可否認,但非接觸式支付技術(shù)仍面臨許多安全問題。支付終端與卡進行無線通信,攻擊者也可以。特別是,近場通信 (NFC,Near Field Communication) 是非接觸式支付使用的通信技術(shù),它允許任何合適的支持 NFC 的設(shè)備與非接觸式卡進行通信并進行欺詐交易。雖然 NFC 信號的范圍通常只有幾厘米,但它可以通過中繼攻擊擴展到更大的范圍。中繼攻擊者使用兩個無線連接的移動設(shè)備,使受害者的卡與遠程支付終端進行交易。有關(guān)圖形表示,請參見下圖。

然而,中繼攻擊對攻擊者來說似乎并不有利可圖,因為它們可能僅適用于小額購買(例如,在大多數(shù)歐洲國家低于 25 歐元),因為需要卡的 PIN 以進行更高的交易金額。然而在之前的工作中,發(fā)現(xiàn)了一種中間人攻擊,它不僅可以讓攻擊者進行中繼攻擊,還可以繞過 PIN 使用 Visa 卡進行非接觸式交易(演示在 https://youtube/JyUsMLxCCt8 )。

在技術(shù)層面上,這種攻擊只是將卡交易限定符 (CTQ,Card Transaction Qualififiers) 設(shè)置為值 0x0280。 CTQ 是從卡傳輸?shù)浇K端的數(shù)據(jù)對象,并指示后者必須使用哪種持卡人驗證方法 (CVM,Cardholder Verifification Method) 進行交易。 CTQ 值 0x0280 告訴終端不需要 PIN 驗證,并且持卡人已在消費者的設(shè)備上進行了驗證。導(dǎo)致這種攻擊的 Visa 協(xié)議中的缺陷是缺乏對 CTQ 數(shù)據(jù)對象的身份驗證。這種攻擊不適用于萬事達卡協(xié)議,因為與 Visa 協(xié)議相比,該卡(缺乏)對消費者設(shè)備上持卡人驗證的支持受到加密保護,不會被修改。

B.EMV 非接觸式協(xié)議

EMV 的非接觸式交易規(guī)范包含超過 1,200 頁的文檔。在本節(jié)中總結(jié)了該規(guī)范。將總結(jié)分為非接觸式交易的四個重疊階段,并在適用的情況下簡要指出本文攻擊利用的潛在安全缺陷。

(1)應(yīng)用選擇

使用六個 EMV 非接觸式協(xié)議之一執(zhí)行交易。每筆交易都從應(yīng)用程序選擇過程開始,其中終端發(fā)出 SELECT 命令,卡為支持的應(yīng)用程序(也稱為內(nèi)核或協(xié)議)提交應(yīng)用程序標識符 (AID,Application Identififier)。根據(jù)收到的 AID,終端激活交易的內(nèi)核,它是以下之一:

? 用于萬事達卡 AID 的內(nèi)核 2,

? 用于簽證援助的內(nèi)核 3,

? 用于美國運通 AID 的內(nèi)核 4,

? 用于 JCB AID 的內(nèi)核 5,

? 用于發(fā)現(xiàn) AID 的內(nèi)核 6,

? 銀聯(lián)AID 內(nèi)核7。

與本文工作最相關(guān)的內(nèi)核是萬事達卡,在下圖中對其進行了概述。

(2)離線數(shù)據(jù)認證

在內(nèi)核被激活并通過第二個 SELECT 命令向卡宣布后,卡請求處理數(shù)據(jù)對象列表 (PDOL,Processing Data Object List),它指示卡為協(xié)議所需的一些特定于交易的數(shù)據(jù)對象。這些數(shù)據(jù)對象包括但不限于交易金額、終端的國家代碼和終端生成的隨機數(shù)。

使用 GET PROCESSING OPTIONS 命令,終端向卡提供請求的 PDOL 數(shù)據(jù)。后者使用應(yīng)用程序交換配置文件 (AIP,Application Interchange Profifile) 和應(yīng)用程序文件定位器 (AFL,Application File Locator) 進行響應(yīng)。 AIP 將卡的功能告知終端,而 AFL 是終端用于使用 READ RECORD 命令請求卡的靜態(tài)數(shù)據(jù)(也稱為記錄)的數(shù)據(jù)對象。這些記錄包括:

? 主要數(shù)據(jù)帳號,例如卡號(稱為主要帳號)、卡的有效期以及支持的CVM 列表;

? PKI 數(shù)據(jù),例如卡的公鑰(PK,Public Key)證書、發(fā)卡機構(gòu)的PK 證書以及證書頒發(fā)機構(gòu)(CA,Certifificate Authority)的PK 索引;

? 處理和風(fēng)險數(shù)據(jù),例如第一個和第二個卡風(fēng)險管理數(shù)據(jù)對象列表(分別為 CDOL1 和 CDOL2,Card Risk Management Data Object List.),通常包括 PDOL 和其他特定于交易的數(shù)據(jù)。

此時,終端對卡進行密碼驗證。此過程稱為離線數(shù)據(jù)身份驗證 (ODA,Offlfline Data Authentication),并使用以下三種方法之一:

1.靜態(tài)數(shù)據(jù)認證 (SDA,Static Data Authentication):發(fā)卡機構(gòu)在卡的靜態(tài)數(shù)據(jù)上傳輸簽名,例如主帳號 (PAN,Primary Account Number)、卡的到期日期和 AIP。此簽名稱為簽名靜態(tài)身份驗證數(shù)據(jù) (SSAD,Signed Static Authentication Data),在生產(chǎn)過程中生成并存儲在卡上。

2.動態(tài)數(shù)據(jù)認證(DDA,Dynamic Data Authentication):在這種方法中,終端發(fā)送帶有動態(tài)數(shù)據(jù)對象列表(DDOL,Dynamic Data Object List)作為有效載荷的INTERNAL AUTHENTICATE命令。 DDOL 是一個數(shù)據(jù)對象,必須包含終端的新號碼,稱為不可預(yù)測號碼 (UN,Unpredictable Number)。該卡回復(fù)簽名動態(tài)認證數(shù)據(jù) (SDAD, Signed Dynamic Authentication Data):在其自己的新號碼 NC 和 DDOL 上的簽名。

3.組合動態(tài)數(shù)據(jù)認證(CDA,Combined Dynamic Data Authentication):該方法也涉及SDAD,但在簽名中包含額外的交易數(shù)據(jù),例如金額。如果終端的 GENERATE AC 命令要求,則不使用內(nèi)部驗證命令,而是稍后由卡提供 SDAD。這種 ODA 方法按時間順序?qū)嶋H上屬于交易的另一個階段,稱為交易授權(quán)。

選擇的 ODA 方法通常是上述列表中終端和卡都支持的最后一種(也是最強的一種)??ㄖС值?ODA 方法在 AIP 中編碼。

(3)持卡人驗證

持卡人驗證方法 (CVM) 如下:

1.在線PIN:終端將在終端鍵盤上輸入的密碼加密后發(fā)送給發(fā)卡機構(gòu)進行驗證。

2.消費設(shè)備CVM:持卡人驗證在消費設(shè)備上進行。此方法主要用于 Google Pay 和 Apple Pay 等移動支付應(yīng)用程序,通過指紋或面部識別等生物識別技術(shù)驗證持卡人。

3.紙質(zhì)簽名:持卡人(用筆)在購買收據(jù)上簽名,收銀員對照銀行卡背面的物理簽名進行核對。

如果適用,通常當(dāng)金額高于 CVM 要求的限額時,終端通過選擇上述三種方法中的一種(或兩種)來驗證持卡人。選擇取決于卡的受支持 CVM 列表(如果卡提供)。如果未提供此 CVM 列表(例如,在 Visa 交易中),則終端建議在線 PIN 驗證,并且該建議在終端交易限定符 (TTQ) 或類似數(shù)據(jù)對象中進行編碼,具體取決于內(nèi)核。 TTQ 通常是 PDOL 的一部分。與之前的 PIN 繞過攻擊特別相關(guān),因此這次新攻擊是消費者設(shè)備 CVM (CDCVM,Consumer Device CVM) 。關(guān)于如何以及是否使用 CDCVM,內(nèi)核可以分為兩組:

Visa 組由 Visa、Discover 和銀聯(lián)內(nèi)核組成,其中該卡對 CDCVM 的支持通過加密未受保護的 CTQ 或類似數(shù)據(jù)對象向終端宣布,具體取決于特定內(nèi)核。Mastercard 組由 Mastercard、Amer ican Express 和 JCB 內(nèi)核組成,其中該卡對 CDCVM 的支持通過加密保護的 AIP 和可能的附加數(shù)據(jù)對象向終端宣布,具體取決于特定的內(nèi)核。

之前的 PIN 繞過攻擊針對的是 Visa 組中的卡,就其提供的保護而言,Visa 組比 Mastercard 組弱。雖然 CDCVM 不適用于實體卡,但攻擊者可以通過欺騙終端接受此 CVM 來使用受害者的實體卡進行購買來濫用它。這里的關(guān)鍵點是,每當(dāng)攻擊者讓終端相信 CDCVM 已成功執(zhí)行時,后者錯誤地假設(shè)實際驗證已委托給外部設(shè)備,因此不會要求輸入 PIN。這就是之前的攻擊所利用的缺陷的本質(zhì)。

本研究的新攻擊也利用了消費設(shè)備 CVM,但結(jié)合了 EMV 應(yīng)用程序選擇的缺陷。因此,這種攻擊的目標是可能受到更好保護的萬事達卡組中的卡。

(4)交易授權(quán)

交易授權(quán)是通過讓卡計算和傳輸應(yīng)用密碼 (AC,Application Cryptogram) 來實現(xiàn)的。這是一個基于 MAC 的交易加密證明,通過交易細節(jié)、AIP 和應(yīng)用交易計數(shù)器(ATC,在每次交易時遞增)計算得出。除了依賴于內(nèi)核的 AC 和其他數(shù)據(jù)外,卡還傳輸:

? 密碼信息數(shù)據(jù)(CID,Cryptogram Information Data),它對請求的授權(quán)類型進行編碼;

? 應(yīng)用交易柜臺(ATC,Application Transaction Counter);

? 簽名動態(tài)身份驗證數(shù)據(jù) (SDAD),如果在命令負載中請求了 CDA;

? 發(fā)行人申請數(shù)據(jù) (IAD,Issuer Application Data),其中包含傳輸給發(fā)行人的專有申請數(shù)據(jù)。

卡的計算(以及發(fā)卡方的驗證)使用會話密鑰 s,該密鑰源自 ATC 和僅發(fā)卡方和卡知道的對稱密鑰 mk。因此,終端無法驗證 AC。交易可以由終端離線授權(quán),由發(fā)卡行在線發(fā)送授權(quán),或由卡離線拒絕。選擇取決于多種因素,包括終端和卡對交易細節(jié)進行的檢查,例如金額、貨幣(交易與卡)、國家(交易與發(fā)卡機構(gòu))以及連續(xù)離線交易的限制數(shù)量。最常見的交易授權(quán)類型是由發(fā)行人在線進行的。

對于使用 Visa 組內(nèi)的內(nèi)核執(zhí)行的交易,AC 在卡對 GET PROCESSING OPTIONS 的響應(yīng)中發(fā)送。通常,不執(zhí)行離線數(shù)據(jù)驗證過程,也不使用 GENERATE AC 命令。對于 Mastercard 組中的那些內(nèi)核,AC 是響應(yīng) GENERATE AC 命令而傳輸?shù)?。如果交易要由發(fā)行人在線授權(quán),則 AC 稱為授權(quán)請求密碼 (ARQC,Authorization Request Cryptogram),CID 等于 0x80。實際授權(quán)來自終端和發(fā)行者之間的請求-響應(yīng)交換。終端的請求攜帶 ARQC,發(fā)行者的響應(yīng)編碼在授權(quán)響應(yīng)代碼(ARC,Authorization Response Code)中。 EMV 未進一步指定此交換。

如果終端離線接受交易,則 AC 稱為交易密碼 (TC,Transaction Cryptogram),在這種情況下,CID 等于 0x40。此外,假設(shè)終端已經(jīng)在離線數(shù)據(jù)認證階段驗證了交易。交易也可以離線拒絕,在這種情況下,AC 稱為應(yīng)用程序身份驗證密碼 (AAC,Application Authentication Cryptogram),CID 等于 0x00。請注意,AID 不會通過卡向終端進行驗證。也就是說,終端沒有密碼證明卡支持它在應(yīng)用程序選擇階段公布的 AID。事實證明,這是攻擊所利用的新的、基本的安全缺陷。另請注意,EMV 沒有指定任何機制來將卡的 PAN 與廣播的 AID 相匹配。

0x03 PIN Bypass via Card Brand MixupA.威脅模型

針對這次攻擊和后文描述的形式化分析所考慮的威脅模型如下:

1.攻擊者可以訪問受害者的卡。

2.攻擊者在卡和終端之間的無線信道上具有主動(所謂的Dolev-Yao)攻擊者的能力。也就是說,攻擊者可以在該通道上讀取、阻止和注入消息。

3.支付終端和銀行基礎(chǔ)設(shè)施之間的通道是安全的,因為它滿足真實性和保密性。

該模型在實踐中是現(xiàn)實的。攻擊者可以訪問丟失或被盜的受害者卡。實際上,在實踐中,僅在物理上靠近受害者的卡(幾厘米內(nèi))就足夠了。此外,使用支持 NFC 的標準智能手機可以對無線信道進行主動中間人攻擊。

B.攻擊描述

對于支付終端執(zhí)行萬事達卡內(nèi)核的交易,無法繞過 PIN 驗證。根據(jù)該內(nèi)核的規(guī)范,AIP(特別是字節(jié) 1 的第 2 位)是唯一指示卡支持設(shè)備上持卡人驗證的數(shù)據(jù)對象。因此,修改 AIP 將導(dǎo)致交易被拒絕,因為它是使用卡的 PK 證書、應(yīng)用程序密碼 (AC) 和簽名動態(tài)身份驗證數(shù)據(jù) (SDAD) 進行身份驗證的。已經(jīng)用幾張卡驗證了這一點。

與 AIP 不同,卡的應(yīng)用標識符 (AID) 不受保護。事實上,AID 僅在 SELECT 命令交換期間使用。這些交換完成后,終端根據(jù)從卡上接收到的AID激活相應(yīng)的內(nèi)核。例如,如果首選 AID(或第一個,取決于終端的選擇方法)是 AIDVisa = 0xA0000000031010,則終端激活 Visa 內(nèi)核。如果 AID 改為 AIDMastercard = 0xA0000000041010,則終端激活 Mastercard 內(nèi)核。

由于缺乏對 AID 的認證,攻擊者可以惡意替換它們,從而在終端上激活所需的內(nèi)核。這是攻擊利用的基本安全缺陷。上圖顯示了攻擊的概述,下面是分步說明:

1.激活Visa內(nèi)核:終端首先激活Visa內(nèi)核。為此,攻擊者應(yīng)用了剛才描述的技巧,即用 AIDVisa 替換卡的合法 AID。

2.請求處理選項:在協(xié)商 AID 后,攻擊者從卡接收處理數(shù)據(jù)對象列表 (PDOL) 的請求(即標簽和長度)。攻擊者將此請求轉(zhuǎn)發(fā)到終端,并添加對終端交易限定符 (TTQ,Terminal Transaction Qualififiers) 和 Visa 內(nèi)核指定的所有其他處理數(shù)據(jù)對象的請求。攻擊者的請求中還包括萬事達內(nèi)核指定的First Card Risk Management Data Object List (CDOL1)所引用的數(shù)據(jù)對象,通常是終端類型(TT,Terminal Type)和持卡人驗證方法結(jié)果(CVMR,Cardholder Verifification Method Results)。

3.運行萬事達卡會話:一旦攻擊者從終端接收到 GET PROCESSING OPTIONS,攻擊者就會運行與卡的萬事達卡會話。該步驟不涉及終端。子步驟如下:

(a) 攻擊者構(gòu)建并向卡發(fā)送 GET PROCESSING OPTIONS 命令以及卡請求的 PDOL 數(shù)據(jù),該數(shù)據(jù)從終端的命令有效載荷中填充。該卡使用應(yīng)用程序交換配置文件 (AIP) 和應(yīng)用程序文件定位器 (AFL) 響應(yīng)攻擊者的命令。

(b) 攻擊者使用收到的 AFL 繼續(xù)讀取卡的記錄。收集的相關(guān)記錄是 PAN、卡的到期日期、發(fā)卡行國家代碼、應(yīng)用程序使用控制以及 CDOL1 標簽和長度。

(c) 攻擊者構(gòu)建并向卡發(fā)送GENERATE AC 命令,其載荷是CDOL1 數(shù)據(jù),其中填充了從終端的GET PROCESSING OPTIONS 命令的載荷中解析出的PDOL 數(shù)據(jù)。 CDOL1 通常是 PDOL 的超集。如果卡支持 CDA(即 AIP 字節(jié) 1 的第 1 位已設(shè)置),則該命令應(yīng)請求 CDA。此外,必須分別清除和設(shè)置命令參考控制參數(shù)(即字節(jié) 3)的第 7 位和第 8 位。這告訴銀行卡正在請求 ARQC。

(d) 根據(jù)卡對 GENERATE AC 命令的響應(yīng),攻擊者收集 CID、ATC、IAD 以及 AC 或 SDAD,具體取決于是否請求了 CDA。如果發(fā)送 SDAD,則攻擊者必須使用卡的公鑰 (PK) 提取 AC。使用收到的銀行卡記錄,攻擊者使用以下步驟檢索銀行卡的 PK:

i.從 CA 的索引中檢索 CA 的 PK,

ii.使用 CA 的 PK 從頒發(fā)者的 PK 證書中檢索頒發(fā)者的 PK,

iii.使用發(fā)行人的 PK 從卡的 PK 證書中檢索卡的 PK。

4.PIN繞過:此時對Visa 進行PIN 繞過攻擊。也就是說,攻擊者注入一個值為 0x0280 的 CTQ 數(shù)據(jù)對象,它指示終端不需要在線 PIN 驗證并且執(zhí)行了消費設(shè)備 CVM。攻擊者與 CTQ 一起提供 AIP、值為 0x18010100 的人工 AFL、AC、IAD 以及 Visa 內(nèi)核指定的所有其他數(shù)據(jù)對象。

5.傳輸記錄:響應(yīng)終端的 READ RECORD 命令,由于人工 AFL 為 0x00B2011C00,攻擊者回復(fù) PAN、到期日期、應(yīng)用程序使用控制 (AUC,Application Usage Control) 和發(fā)行國。

C.實施攻擊

為了演示PIN 繞過攻擊,本研究開發(fā)了一個概念驗證 Android 應(yīng)用程序,包含大約 3,700 行 Java 代碼。在商家方面,使用了 SumUp 商業(yè)化的支付工具包:一家獲得英國金融行為監(jiān)管局許可的 EMV 和 PCI DSS(支付卡行業(yè)數(shù)據(jù)安全標準)認證公司。該套件售價約 50 美元,包括一個讀卡器,可用于接觸式和非接觸式卡,以及可用于 iOS 和 Android 設(shè)備的后端移動應(yīng)用程序。 SumUp 讀卡器通過 PCI PTS(支付卡行業(yè) PIN 交易安全)認證。下圖顯示了測試環(huán)境的組件。

本文的攻擊是使用兩部 Android 手機實現(xiàn)的,通過使用 TCP/IP 服務(wù)器客戶端通過 WiFi 通信構(gòu)建的中繼通道連接。一部手機以 POS 模擬器模式運行應(yīng)用程序(上圖中的設(shè)備 4),另一部手機以卡模擬器模式運行應(yīng)用程序(上圖中的設(shè)備 3)。兩臺設(shè)備都必須支持 NFC 并運行 Android 4.4 KitKat(API level 19)或更高版本。此外,Card Emulator 設(shè)備必須支持 Android 的基于主機的卡模擬,以便手機可以啟動由應(yīng)用程序?qū)崿F(xiàn)的 NFC 支付服務(wù)。實際的中間人功能在 POS 仿真器設(shè)備上運行(盡管此選擇無關(guān)緊要),卡仿真器充當(dāng)中繼通道的代理。

使用應(yīng)用程序成功地繞過了使用四張不同卡進行交易的 PIN 輸入:兩張萬事達信用卡和兩張 Maestro 借記卡??梢栽?https://emvrace.github.io/ 中找到攻擊的視頻演示和其他信息。本文實驗結(jié)果總結(jié)在上表中。其中一些交易是使用非 Visa 卡通過 Google Pay 和 Apple Pay 應(yīng)用程序執(zhí)行的。此類交易不需要 PIN 驗證,因此不需要繞過,但它們展示了對 Visa 內(nèi)核的不真實使用。

這里的關(guān)鍵是上表中的交易都是由發(fā)行人在線授權(quán)的。此外,除了終端卡交互之外,這沒有任何對抗性干預(yù),盡管終端和發(fā)卡行之間對為交易選擇的 AID 有不同的看法。 EMV 協(xié)議沒有明確規(guī)定將哪些交易數(shù)據(jù)發(fā)送給發(fā)行人進行授權(quán)。顯然,由于攻擊是可能的,AID 和任何其他內(nèi)核識別數(shù)據(jù)要么不發(fā)送,要么不由發(fā)行者檢查。無法確認終端中的所有 EMV 實施都是這種情況。

卡品牌組合表明,接受 Visa 卡的商家(尤其是他們的終端)也可能被愚弄接受其他 EMV 卡品牌,例如萬事達卡,即使他們通常不會接受它們。請注意,攻擊甚至可能與商家勾結(jié)以逃避稅收或費用。攻擊者可能利用卡品牌混淆攻擊的另一種情況如下。他們可能會將自己的萬事達品牌卡轉(zhuǎn)換為 Visa 進行高價值交易,然后要求報銷,聲稱終端故障或欺詐,理由是他們沒有 Visa 卡。為了支持他們的索賠,在購買收據(jù)上將打印“Visa”標簽和 Visa AID,這在仔細審查下看起來很可疑。

可用性和范圍:攻擊需要最少的硬件來執(zhí)行,即兩部支持 NFC 的 Android 手機,售價不到 300 美元。這對攻擊者來說是一次性投資,當(dāng)他們可以使用自己的手機時,甚至可能是不必要的。此外,這種硬件的使用并不顯眼,因為在支付過程中只需看到一部手機,而且很容易被店員發(fā)現(xiàn),因為應(yīng)用程序的外觀與 Google Pay 和 Apple Pay 等合法支付應(yīng)用程序非常相似。為了讓攻擊起作用,很明顯授權(quán)請求必須到達發(fā)卡機構(gòu)。為此,商家的收單行必須將請求路由到:

? 與真實卡品牌相匹配的支付網(wǎng)絡(luò),無論終端認為該品牌是什么,

? 處理不同品牌卡交易的支付網(wǎng)絡(luò),包括萬事達卡和Visa卡。

SumUp 收購方很可能采用第一種方法。第二種方法在一些國家是通過法律手段強制執(zhí)行的,這使得銀行卡品牌混淆攻擊的范圍非常廣泛。例如在美國,2010 年被稱為德賓修正案的聯(lián)邦法律規(guī)定,如果商家、持卡人或卡(通過 AID)選擇,則所有國內(nèi)借記交易都必須有選擇權(quán),被路由到一個共同的支付網(wǎng)絡(luò),稱為美國共同借記網(wǎng)絡(luò)。無論卡品牌如何,該網(wǎng)絡(luò)都會將授權(quán)請求轉(zhuǎn)發(fā)給發(fā)卡機構(gòu)。因此,如果受害者的卡是在美國發(fā)行的萬事達品牌借記卡,并且商家也在美國,那么攻擊應(yīng)該是有效的,在應(yīng)用程序選擇期間使用 Visa US Common Debit AID 0xA0000000980840 而不是 AIDVisa = 0xA0000000031010階段。這種替換還會欺騙終端運行有缺陷的 Visa 內(nèi)核。澳大利亞和新西蘭等其他國家也在推動類似的方法將借記交易路由到本地支付網(wǎng)絡(luò)而不是全球支付網(wǎng)絡(luò)。銷售點電子資金轉(zhuǎn)賬 (EFTPOS) 系統(tǒng)就是這些國家此類舉措的一個例子。

不成功的嘗試:嘗試在 Discover 和銀聯(lián)交易中使用萬事達卡進行支付,因為這兩個內(nèi)核與 Visa 內(nèi)核相似,在這兩種情況下都沒有成功。在這些測試中,觀察到終端沒有通過選擇階段,并要求插入卡或嘗試使用另一張卡。這表明在進行實驗的瑞士可能會限制在非接觸式界面上使用這些品牌的卡。

已經(jīng)對其他支付終端進行了額外的測試,包括兩個由 SIX 提供(https://www.six-group.com/ )。從與萬事達卡的披露過程中,了解到這些交易都沒有被路由到萬事達卡網(wǎng)絡(luò),并且因此,SIX acquirer大概將授權(quán)請求路由到 Visa 支付網(wǎng)絡(luò),該網(wǎng)絡(luò)將卡標記為非 Visa 并拒絕交易。很明顯,EMV 標準應(yīng)該指定一種明確的加密機制,以檢測和避免 AID 和 PAN 之間的不匹配,就它們所宣傳的卡品牌而言。在下一節(jié)中將分析實現(xiàn)這一目標的對策。

0x04 CountermeasuresA.之前的 EMV 模型

為了設(shè)計和驗證針對攻擊的內(nèi)核級對策,擴展了之前的 EMV 非接觸式協(xié)議模型。本研究開發(fā)了這個模型,重點關(guān)注以下三個安全屬性:

1.發(fā)卡行接受終端接受的所有交易。

2.所有接受的交易都由卡和發(fā)卡行(如果在線授權(quán))向終端進行驗證。

3.所有接受的交易都通過卡和終端向發(fā)卡機構(gòu)進行認證。

第一個屬性表達了接受和拒絕事件的因果關(guān)系:每當(dāng)終端接受交易時,發(fā)行人也將接受(或等效地,發(fā)行人不會拒絕它)。對于身份驗證屬性,使用單射一致性。簡而言之,協(xié)議屬性驗證,每當(dāng)必須對交易進行身份驗證的代理達到交易被接受的狀態(tài)時,該代理就會觀察到與身份驗證代理相同的交易細節(jié)。為屬性達成一致的交易細節(jié)是:PAN、AIP、CVM、ATC、AC 數(shù)據(jù)輸入(即X)、AC 本身和 IAD。

指定了 EMV 非接觸式協(xié)議的通用模型,該模型允許分析使用 Visa 和 Mastercard 內(nèi)核執(zhí)行的交易。其余四個內(nèi)核可以通過其中之一建模。在以前的工作和當(dāng)前的工作中使用的分析方法是由目標配置構(gòu)成的。目標配置是從下表中選擇最多四個參數(shù)(取決于內(nèi)核)。目標模型源自 EMV 非接觸式協(xié)議模型,并允許后者的任何執(zhí)行,同時僅評估共享相同的已接受交易的安全性目標配置。

多個配置的使用使人們能夠?qū)踩治黾性谀切┯赡繕伺渲玫南鄳?yīng)選擇定義的感興趣的事務(wù)上。例如,人們可能對使用萬事達卡內(nèi)核和支持 DDA 作為離線數(shù)據(jù)身份驗證方法和在線 PIN 作為持卡人驗證方法的卡執(zhí)行的高價值交易是否適用于終端身份驗證感興趣。

B.基于 PAN 路由的擴展模型

之前的 EMV 非接觸式協(xié)議模型指定了終端發(fā)行方通道,這使得這兩方始終就用于在線授權(quán)交易的內(nèi)核達成一致。換句話說,假設(shè)交易授權(quán)請求被路由到一個支付網(wǎng)絡(luò),該網(wǎng)絡(luò)只處理由所使用的內(nèi)核(或等效地在應(yīng)用程序選擇階段選擇的 AID)確定的品牌卡。例如,如果交易是用 Visa 內(nèi)核處理的,那么授權(quán)請求將路由到只處理 Visa 卡的網(wǎng)絡(luò)。

這種建模假設(shè)意味著萬事達卡只能用于使用萬事達內(nèi)核執(zhí)行的交易。顯然,品牌混淆攻擊展示了其他明智的做法。即,在某些情況下,授權(quán)請求到達發(fā)卡機構(gòu),即使該卡不是由終端使用的內(nèi)核確定的品牌。使用更通用的路由模型擴展了之前的模型,其中終端將授權(quán)路由到由卡的 PAN 確定的支付網(wǎng)絡(luò)。所采用的建模技術(shù)是標準的。

在上表中,總結(jié)了使用擴展模型進行的分析結(jié)果。所有目標模型平均有 56 條 Tamarin 規(guī)則和大約 800 行代碼。表中的備注 1 和 2 表示身份驗證問題,這些問題首先由原始模型識別。備注 3 和 4 表示新發(fā)現(xiàn)的 EMV 非接觸式交易中使用的 AID 和 CVM 缺乏身份驗證。這是導(dǎo)致銀行卡品牌混淆攻擊的潛在缺陷。對于每個受影響的目標模型,Tamarin 分析揭示了一個可接受的交易,其中包含以下陳述:

? 使用的卡是萬事達卡,

? 終端使用 Visa 內(nèi)核運行交易,

? 未執(zhí)行持卡人驗證,

? 如果交易價值很高,那么從終端的角度來看,CDCVM 已成功執(zhí)行。

C.驗證防御對策

對 Visa 的 PIN 繞過攻擊提出了兩個修復(fù)程序。這些修復(fù)是:

1.終端必須始終設(shè)置終端交易限定符 (TTQ) 字節(jié) 1 的第 1 位。

2.終端必須始終驗證簽名動態(tài)認證數(shù)據(jù) (SDAD)。

上述修復(fù)確保使用 Visa 內(nèi)核處理的高價值交易使用 Visa 的安全配置(在線授權(quán)中的 DDA),其中要求卡提供 SDAD,終端對其進行驗證。從結(jié)果(上表,第 4 行)中可以看出,已經(jīng)驗證了這種配置以及上面列出的兩個修復(fù)程序,可以防止將萬事達卡變成 Visa 卡。由于卡簽名以生成 SDAD 的數(shù)據(jù)的特定于內(nèi)核格式,因此修復(fù)工作有效。即,Visa 協(xié)議指定 SDAD 的輸入具有用于在線授權(quán)的標頭 0x95,而萬事達卡內(nèi)核指定使用 0x05 標頭。換句話說,對于需要在線授權(quán)的交易,萬事達卡生成的 SDAD 不會通過運行 Visa 內(nèi)核的終端的驗證。此外,提出了以下新穎的 EMV 范圍對策,內(nèi)核可以在內(nèi)部實施這些對策,以保證安全的在線授權(quán)交易,而不必依賴 Visa 特定的對策:

1.所有交易必須讓卡生成SDAD并由終端驗證。

1.選定的 AID 必須是 SDAD 輸入的一部分。

第一個對策概括了在本節(jié)前面列出的兩個修復(fù)方法。第二個對策正是針對在本文中描述的銀行卡品牌混淆攻擊。使用擴展模型為這些對策制作了機器檢查的安全證明。這意味著它們可以有效地防止卡品牌混淆攻擊以及 PIN 繞過攻擊。請注意,第二個對策將是昂貴的,因為它需要重新發(fā)行卡。

D.萬事達卡的防御對策

作為披露過程的一部分,與萬事達卡分享了本研究的對策,并從他們那里了解到以下信息:

1.要求萬事達卡收單行在授權(quán)數(shù)據(jù)中包含 AID,允許發(fā)卡行根據(jù) PAN 檢查 AID。

2.萬事達卡在授權(quán)請求中還有其他數(shù)據(jù)點可以用來識別攻擊。

作為披露過程的結(jié)果,一旦萬事達卡了解到并非所有發(fā)行人都會檢查 AID 或這些其他數(shù)據(jù)點,他們就會在他們的網(wǎng)絡(luò)上實施這些檢查。與萬事達卡的互動還提供了關(guān)于某些終端(例如來自 SIX 的終端)如何檢測不匹配的 AID 和 PAN 從而從一開始就拒絕交易的更多見解。

完成上述檢查后再次嘗試攻擊。這次失敗了:終端請求將卡插入終端并輸入 PIN。因此,實驗證明,萬事達卡現(xiàn)在部署的這些檢查可以防止Mastercard-Visa 混合攻擊。

0x05 Conclusions

在 EMV 非接觸式協(xié)議中發(fā)現(xiàn)了一個嚴重的、容易被利用的漏洞,即應(yīng)用程序標識符 (AID) 未通過支付終端的身份驗證。 AID 定義了必須為事務(wù)激活協(xié)議的哪個實例(也稱為內(nèi)核)。結(jié)果,攻擊者可以惡意替換合法的 AID 以欺騙終端激活有缺陷的內(nèi)核。本文已經(jīng)展示了如何使用中間人攻擊來利用此漏洞,該攻擊誘使終端使用萬事達卡進行交易,同時相信它是Visa卡。這種卡品牌混合,結(jié)合最近開發(fā)的針對 Visa 的 PIN 繞過攻擊,導(dǎo)致了一種新穎的、關(guān)鍵的攻擊,攻擊者可以繞過萬事達卡的 PIN。該品牌的卡以前假定受 PIN 保護。令人震驚的是,對于終端和發(fā)卡機構(gòu)不同意支付卡品牌的在線授權(quán)交易,這甚至是可能的。

為了實現(xiàn)漏洞利用,開發(fā)了一個概念驗證的 Android 應(yīng)用程序,并成功地測試了對現(xiàn)實世界支付終端的攻擊。例如,在使用 Maestro 借記卡進行 400 瑞士法郎的交易中繞過了 PIN。還擴展了 EMV 的形式化模型,通過對終端發(fā)卡行渠道進行建模,即使這些代理在卡品牌上存在分歧,也允許進行通信。使用擴展模型來形式化驗證提出的適用于 Visa 內(nèi)核的準備部署修復(fù)程序是對Mastercard-Visa 混合攻擊的有效對策。此外還指定并驗證了兩種新的內(nèi)核內(nèi)部對策,它們可以在萬事達卡內(nèi)核上實施,而無需依賴 Visa 的防御。萬事達卡已在網(wǎng)絡(luò)級別實施了一種替代防御機制,已通過實驗證實該機制可有效抵御本文攻擊。

以上就是關(guān)于pos機硬件攻擊,Visa混合的銀行卡品牌混淆攻擊的知識,后面我們會繼續(xù)為大家整理關(guān)于pos機硬件攻擊的知識,希望能夠幫助到大家!

轉(zhuǎn)發(fā)請帶上網(wǎng)址:http://m.mxllmx.com/newsone/57058.html

你可能會喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 babsan@163.com 舉報,一經(jīng)查實,本站將立刻刪除。