安全研究員 Samy Kamkar 發現,當美國運通卡被通報失竊時,補發卡片的卡號可以從原卡推導出來——補發卡的有效期限也一樣,可從舊卡被取消的日期推斷。他在 2015 年告訴《WIRED》:「那張卡被取消的那天,只要它一被拒絕,兩秒後我就知道你的新卡號和有效期限會是什麼。如果我從事詐騙,那會相當有用。」這個手法可以無限重複,以 AmEx 發卡的速度竊取新卡號。

在通報此事三個月後,Kamkar 打造出概念驗證:MagSpoof,一台手錶大小的裝置,成本約 10 美元,實作了他的預測演算法,並能在標準讀卡機上無線偽造卡片的磁條。如果偽造的卡被拒絕——這是卡片已被取消的明確跡象——按下按鈕就能讓裝置切換到預測的下一組卡號。詐騙者接著幾乎能立刻盜走補發卡,反覆不斷。

限制確實存在:此攻擊無法取得四位數的 CVV,而且 MagSpoof 的外觀不像一張卡。但 Kamkar 證明,像 Coin 這類數位卡片裝置可以儲存預測出的卡號,讓這個手法能在服務生面前派上用場;他在兩家餐廳示範了 MagSpoof 交易成功,其中一家是高檔餐廳,他消費超過 100 美元。Coin 回應稱其安全步驟——社會安全碼位數與帳單郵遞區號驗證——能防止詐騙,而 Kamkar 在 Kiwicon 一場關於破解這些防護的演講前對此提出異議。

美國運通拒絕將這種可預測性視為可修補的風險。在 Kamkar 多次聯繫後,一名 AmEx 工程師在一小時的討論中向他保證,可預測的卡號並非公司打算修補的嚴重安全風險。一名發言人補充說,AmEx 使用者受到磁條資料中內嵌的額外安全碼保護——Kamkar 證實這在某些情況下能阻擋該攻擊——也受到晶片與 PIN 推行措施的保護,並指出該安全碼「會隨卡號改變,且無法預測」。

補發卡片被視為一次安全重置,但如果新卡號與有效期限是確定性的,取消一張卡就只是提前兩秒公布了它的後繼者。

這項洞見顛覆了卡片政策中根深柢固的假設:補發——對被盜卡號的通用應對措施——唯有在新卡號不可預測時,才算得上重置。

攻擊迴圈會自我餵養:每次拒絕都揭露了取消的事實,每次取消都揭露了下一組卡號,因此一張遭入侵的卡永遠不會停止入侵。

MagSpoof 讓這套理論變得便宜且具體:10 美元的硬體把預測演算法變成可運作的支付偽造工具,並在真實餐廳中示範。

廠商的反應——一名工程師裁定此缺陷不值得修補——使本案成為研究機構如何為不起眼的風險定價的案例。

任何確定性的安全輪換都不是輪換:如果防禦方能算出下一個祕密,攻擊方也能——而修補之道必須是熵,而非程序。

AmEx 公開倚重其磁條安全碼與 EMV 晶片推行作為緩解措施,而非改變其卡號生成機制。Kamkar 則繼續這項研究,計畫在 Kiwicon 發表演講,說明如何破解 Coin 的驗證。WIRED 於 2015 年 11 月 24 日發表這些發現。

追溯依據

參考來源

  1. A $10 Tool Can Guess (And Steal) Your Next Credit Card Number WIRED · wired.com ·