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

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

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

本文目錄一覽:

1、pos機(jī)硬件攻擊

pos機(jī)硬件攻擊

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

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

0x01 Introduction

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

? 用于美國運(yùn)通 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)核是萬事達(dá)卡,在下圖中對(duì)其進(jìn)行了概述。

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

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

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

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

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

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

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

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

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

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

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

(3)持卡人驗(yàn)證

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3.支付終端和銀行基礎(chǔ)設(shè)施之間的通道是安全的,因?yàn)樗鼭M足真實(shí)性和保密性。

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

B.攻擊描述

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

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

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

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

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

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

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

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

(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)請(qǐng)求 CDA。此外,必須分別清除和設(shè)置命令參考控制參數(shù)(即字節(jié) 3)的第 7 位和第 8 位。這告訴銀行卡正在請(qǐng)求 ARQC。

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

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

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

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

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

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

C.實(shí)施攻擊

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

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

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

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

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

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

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

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

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

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

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

0x04 CountermeasuresA.之前的 EMV 模型

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

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

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

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

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

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

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

B.基于 PAN 路由的擴(kuò)展模型

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

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

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

? 使用的卡是萬事達(dá)卡,

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

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

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

C.驗(yàn)證防御對(duì)策

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

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

2.終端必須始終驗(yàn)證簽名動(dòng)態(tài)認(rèn)證數(shù)據(jù) (SDAD)。

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

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

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

第一個(gè)對(duì)策概括了在本節(jié)前面列出的兩個(gè)修復(fù)方法。第二個(gè)對(duì)策正是針對(duì)在本文中描述的銀行卡品牌混淆攻擊。使用擴(kuò)展模型為這些對(duì)策制作了機(jī)器檢查的安全證明。這意味著它們可以有效地防止卡品牌混淆攻擊以及 PIN 繞過攻擊。請(qǐng)注意,第二個(gè)對(duì)策將是昂貴的,因?yàn)樗枰匦掳l(fā)行卡。

D.萬事達(dá)卡的防御對(duì)策

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

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

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

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

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

0x05 Conclusions

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

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

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

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

你可能會(huì)喜歡:

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