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

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

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

本文目錄一覽:

1、pos機硬件攻擊

pos機硬件攻擊

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

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

0x01 Introduction

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

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

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

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

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

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

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

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

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

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

B.EMV 非接觸式協議

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

(1)應用選擇

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

? 用于萬事達卡 AID 的內核 2,

? 用于簽證援助的內核 3,

? 用于美國運通 AID 的內核 4,

? 用于 JCB AID 的內核 5,

? 用于發現 AID 的內核 6,

? 銀聯AID 內核7。

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

(2)離線數據認證

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

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

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

? PKI 數據,例如卡的公鑰(PK,Public Key)證書、發卡機構的PK 證書以及證書頒發機構(CA,Certifificate Authority)的PK 索引;

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

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

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

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

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

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

(3)持卡人驗證

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

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

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

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

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

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

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

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

(4)交易授權

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

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

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

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

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

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

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

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

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

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

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

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

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

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

B.攻擊描述

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

C.實施攻擊

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

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

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

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

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

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

? 與真實卡品牌相匹配的支付網絡,無論終端認為該品牌是什么,

? 處理不同品牌卡交易的支付網絡,包括萬事達卡和Visa卡。

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

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

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

0x04 CountermeasuresA.之前的 EMV 模型

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

1.發卡行接受終端接受的所有交易。

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

3.所有接受的交易都通過卡和終端向發卡機構進行認證。

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

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

多個配置的使用使人們能夠將安全分析集中在那些由目標配置的相應選擇定義的感興趣的事務上。例如,人們可能對使用萬事達卡內核和支持 DDA 作為離線數據身份驗證方法和在線 PIN 作為持卡人驗證方法的卡執行的高價值交易是否適用于終端身份驗證感興趣。

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

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

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

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

? 使用的卡是萬事達卡,

? 終端使用 Visa 內核運行交易,

? 未執行持卡人驗證,

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

C.驗證防御對策

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

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

2.終端必須始終驗證簽名動態認證數據 (SDAD)。

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

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

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

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

D.萬事達卡的防御對策

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

1.要求萬事達卡收單行在授權數據中包含 AID,允許發卡行根據 PAN 檢查 AID。

2.萬事達卡在授權請求中還有其他數據點可以用來識別攻擊。

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

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

0x05 Conclusions

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

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

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

轉發請帶上網址:http://www.tonybus.com/newsone/57058.html

你可能會喜歡:

版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 babsan@163.com 舉報,一經查實,本站將立刻刪除。