RFID智能卡犯罪:小心你的社保卡、支付卡、交通卡和饭卡

随着智能设备以及NFC的普及,用RFID卡支付变得越来越流行。现在的非接触式卡片(包括但不限于社保卡、饭卡、交通卡、门禁卡等)都是使用的RFID技术。与此同时,RFID智能卡也越来越受到攻击者的关注。

北京地铁票卡被黑,以及不久前在智利发生的交通卡被黑事件都是典型例子:窃贼将NFC手机轻轻靠近交通卡就篡改了卡中的余额。

北京地铁票卡被黑

从演示视频中可以看出,利用APP可以随意对北京地铁票卡进行扣费、充值,原来免费充值还真是可以的。

专攻RFID智能卡的APP

这是一款名为Punto BIP!的安卓APP,它可以用来黑掉NFC电子支付系统Tarjeta BIP!,而且犯罪成本非常低,人们甚至在各大论坛和博客都可以下载到。趋势科技发布了一篇文章,阐释了如何利用该安卓应用黑掉RFID支付卡,里面专门讨论了RFID支付的风险。

14174489318389

Freebuf小科普

RFID技术:无线射频识别技术,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。
NFC技术:即近距离无线通讯技术,该技术由免接触式射频识别(RFID)演变而来。
MIFARE卡:目前世界上使用量最大、技术最成熟、性能最稳定、内存容量最大的一种感应式智能IC卡。Mifare系列卡片根据卡内使用芯片的不同,分为Mifare UltraLight,又称为MF0;Mifare S50和S70,又称为MF1;Mifare Pro,又称为MF2;Mifare Desfire,又称为MF3。

犯罪成本低:普通人分分钟变黑客

14174450498796

在智利那个交通卡案例里,即使不懂技术的犯罪者,只需要在存在NFC功能的安卓手机上安上该APP,然后把该交通卡贴近手机屏幕,并按下“Cargar 10k”,那么就可以立即为交通卡充值1万智利比索(约合17美元)。钱虽不多,但长期下来还是很大一笔收益。

这款安卓APP有四个主要功能:

1、número BIP:用于取得卡号
2、saldo BIP:获得卡内可用余额
3、Data carga:充值可用余额
4、número BIP:改变卡号

最后一个功能尤为危险,卡号被更改的后果非常严重,一旦这种技术被恶意利用,会造成极大的负面社会影响和经济损失。

原理分析

通过对该安卓程序的源码分析,我们发现攻击者会把事先准备好的数据写进卡里,然后随意的调节卡内余额。它之所以能够任意读写RFID卡中的数据而不受认证机制所限制,是因为相应的智能卡为老版本的Mifare中存在多个安全漏洞。这些漏洞允许黑客使用普通设备(如Proxmark3)克隆改写Mifare Classic卡里的内容。

14172989931124

黑客可以轻易地通过使用普通工具,破解该卡的认证密钥。在认证密钥和本地NFC的支持下,攻击者可以轻易的对卡重写,而再克隆一张新卡也是轻而易举。

14172990272126

本站提供安全工具、程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

为了便于大家进行安全研究,在这里提供通过搜索引擎得到的该恶意软件下载源。不过据某国外安全研究人员所述,与原来的程序相比,升级后的版本已经有所改变,想要下载研究的童鞋请谨慎。

社保卡、支付卡和饭卡存在风险

不仅MIFARE Classic卡受到影响,连MIFARE DESFire和MIFARE Ultralight(上文中有介绍)卡也不幸中招。

趋势科技称,目前受影响的至少有三种卡片:社会保障卡(关联银行服务)、支付卡和就餐卡。社会保障卡(关联银行服务)、支付卡是MIFARE DESFire卡,它们容易受到侧信道攻击;就餐卡是一种Mifare Classic卡,攻击者可以对其额度进行修改;

14174259143433

这些卡内的密码系统发生信息泄漏时若有监控措施,那么密钥可以在七小时内恢复。如果密钥不随机,这些卡会像MIFARE Classic一般被修改克隆。更糟的是,就连信用卡也能被配备有NFC的移动设备的安卓应用所操作。

为什么这么危险?除了因为这些卡片采用的是过时的技术外,也有节约制卡成本或者说“便宜无好货”的原因。

专家建议

留意卡内余额,设置扣费提醒,并检查是否自己使用的RFID卡是文中所述的哪一类。

[参考来源securityaffairstuicooltrendmicro,由FreeBuf小编dawner翻译整理,转载请注明来自FreeBuf.COM]

原创文章转载请注明:转载自 七行者博客

本文固定链接: http://www.qxzxp.com/5757.html

RFID智能卡犯罪:小心你的社保卡、支付卡、交通卡和饭卡:等您坐沙发呢!

发表评论

8 + 4 =

快捷键:Ctrl+Enter