一名 17 歲高中生利用 NFC 讀寫器竄改悠遊卡餘額,半年內退刷超過 40 次,非法獲利近 70 萬元。這起事件讓沉寂多年的 MIFARE Classic 漏洞再次浮出檯面,迫使主管機關與資安界重新審視智慧支付基礎設施面臨的安全漏洞。
(前情提要:Adam Back防量子電腦「破解比特幣」:建議用SLH-DSA整合Taproot )
(背景補充:申屠青春:我破解了一個1350個BTC的Trezor錢包 )
台灣近日爆出,一名 17 歲休學高中生利用 NFC 讀寫器竄改悠遊卡餘額,半年內退刷超過 40 次,非法獲利近 70 萬元。這起事件讓沉寂多年的 MIFARE Classic 漏洞再度浮出檯面,也迫使主管機關與資安圈重新檢視支付基礎設施的「老問題」。
MIFARE Classic 早就被破解
資安專家胡立 Huli 見到此事件,發文表示台大電機系教授鄭振牟早在 2010 年 HITCON 與 CCC 的演講講題《Just Don’t Say You Heard It From Me: MIFARE Classic IS Completely Broken》,已經示範過破解 MIFARE Classic 所採用的 CRYPTO1 演算法,這也是當前悠遊卡所使用的規格,早在 15 年前就已被完整破解。
CRYPTO1 加密的漏洞弱點、側通道攻擊(SPA、DPA)以及開源工具 Proxmark3,形成了「三部曲」,使得悠遊卡的複製、竄改與Clone流程的門檻大幅降低。
專家胡立 Huli 指出:
「加值紀錄存放在伺服器端,金額對不上終究會被發現;真正的風險是晶片太容易改,偵測與執法成本被迫外包給警方。」
回顧 2011 年一名吳姓資安顧問破解悠遊卡在超商消費遭到逮捕的案件,當時這名資安顧問是直接透過消費進行套現,而這次高中生則是改用退費機制,「由於退款之後捷運公司並不是直接跟悠遊卡請款,因此中間會有時間差,不會馬上被發現。根據新聞報導,似乎是過了幾個月對帳的時候察覺異常才被發現?而且這次的金額滿大的,居然有數十萬。」但本質上都是修改卡片端資料。
胡立 Huli 補充說明:「新版悠遊卡已經更換了底層技術,但只要舊卡仍在市面流通,就無法徹底根絕類似的事件發生。若是要解決,應該只能把所有用舊系統的卡片收回淘汰吧?」
高中生悠遊卡竄改手法
警方調查發現,這名高中生在網路購買了中國製的 NFC 讀寫器,透過自學掌握了晶片內悠遊卡金額欄位的修改方式,並反覆將卡片金額寫入 1000 元,接著前往捷運站進行退刷,整個單次循環過程不到 3 分鐘。
悠遊卡公司在 2024 年底透過後台對帳發現異常狀況,並於今年 2 月報警逮捕了這名學生。悠遊卡公司表示,已經強化了監控邏輯,但由於案件已經進入司法程序,目前不便公開更多細節。
外部延伸閱讀: