隨著智能設備以及NFC的普及,用RFID卡支付變得越來越流行。現在的非接觸式卡片(包括但不限於社保卡、飯卡、交通卡、門禁卡等)都是使用的RFID技術。與此同時,RFID智能卡也越來越受到攻擊者的關註。北京地鐵票卡被黑,以及不久前在智利發生的交通卡被黑事件都是典型例子:竊賊將NFC手機輕輕靠近交通卡就篡改瞭卡中的餘額。專攻RFID智能卡的APP
這是一款名為PuntoBIP!的安卓APP,它可以用來黑掉NFC電子支付系統TarjetaBIP!,而且犯罪成本非常低,人們甚至在各大論壇和博客都可以下載到。
在智利那個交通卡案例裡,即使不懂技術的犯罪者,隻需要在存在NFC功能的安卓手機上安上該APP,然後把該交通卡貼近手機屏幕,並按下“Cargar10k”,那麼就可以立即為交通卡充值1萬智利比索(約合17美元)。錢雖不多,但長期下來還是很大一筆收益。
這款安卓APP有四個主要功能:
1、númeroBIP:用於取得卡號
2、saldoBIP:獲得卡內可用餘額
3、Datacarga:充值可用餘額
4、númeroBIP:改變卡號
最後一個功能尤為危險,卡號被更改的後果非常嚴重,一旦這種技術被惡意利用,會造成極大的負面社會影響和經濟損失。
原理分析
通過對該安卓程序的源碼分析,我們發現攻擊者會把事先準備好的數據寫進卡裡,然後隨意的調節卡內餘額。它之所以能夠任意讀寫RFID卡中的數據而不受認證機制所限制,是因為相應的智能卡為老版本的Mifare中存在多個安全漏洞。這些漏洞允許黑客使用普通設備(如Proxmark3)克隆改寫MifareClassic卡裡的內容。
黑客可以輕易地通過使用普通工具,破解該卡的認證密鑰。在認證密鑰和本地NFC的支持下,攻擊者可以輕易的對卡重寫,而再克隆一張新卡也是輕而易舉。社保卡、支付卡和飯卡存在風險
不僅MIFAREClassic卡受到影響,連MIFAREDESFire和MIFAREUltralight(上文中有介紹)卡也不幸中招。
目前受影響的至少有三種卡片:社會保障卡(關聯銀行服務)、支付卡和就餐卡。社會保障卡(關聯銀行服務)、支付卡是MIFAREDESFire卡,它們容易受到側信道攻擊;就餐卡是一種MifareClassic卡,攻擊者可以對其額度進行修改;這些卡內的密碼系統發生信息泄漏時若有監控措施,那麼密鑰可以在七小時內恢復。如果密鑰不隨機,這些卡會像MIFAREClassic一般被修改克隆。更糟的是,就連信用卡也能被配備有NFC的移動設備的安卓應用所操作。
為什麼這麼危險?除瞭因為這些卡片采用的是過時的技術外,也有節約制卡成本或者說“便宜無好貨”的原因。
專傢建議
留意卡內餘額,設置扣費提醒,並檢查是否自己使用的RFID卡是文中所述的哪一類。