首页 > 代码库 > 黑客破解NFC公交卡,可无限次乘车
黑客破解NFC公交卡,可无限次乘车
近日,国外两名移动安全调查人员发现可以通过手机的NFC功能破解地铁、公交乘车卡,更可实现无限次乘车,难道天下真有“免费的公车”?
这两名调查人员还发现这一破解技术只要稍加学习就可以用到破解其他国家的NFC乘车卡上,黑客只需要一部带有NFC功能的智能手机就可以在地铁门口捡起一张别人丢弃的乘车卡然后再次利用。这一漏洞的爆出让人们不知道是应该谴责黑客还是谴责生产企业。
这一破解事件的当事人是Intrepidus公司的移动安全顾问Corey Benninger,他和通知Max Sobell出差时玩弄手机Google Nexus S和手机上附带的NFC近场通讯功能。他们乘车使用的公交卡是被动式NFC设备,乘车刷卡扣费。Benninger意外发现Nexus S的NFC功能可以扫描这一张“Muni巴士”公交卡,也就是说可以与这张NFC公交卡进行数据交换,甚至修改公交卡里的信息。
两人回到纽约之后就开始着手研究是否可以利用手机的NFC功能修改这张被动式NFC公交卡上的信息。这张“Muni巴士”公交卡由荷兰一家企业生产,采用NXP芯片,可用作非接触式交通卡、酒店钥匙、演唱会门票等。
Benninger和Sobell两人意外发现这张公交卡上记载的可乘车次数不仅可以查看,而且还能修改!这两个非专业编程人员便开始编写能够修改NFC卡信息的应用程序。此前的Android SDK开发包不支持NFC功能,后来增加了NFC的API接口,让两人编写相应的应用程序变得非常简单。
Benninger说:
“我们只花了一个晚上的时间就写出了这个应用程序,并没有想象中那么难。”
这样意味着对于一些“别有用心”的黑客来说,编写一个篡改交通卡信息的应用程序更是轻而易举。Benninger还说:“我开始担心破解太简单,可能会引导人们开始模仿这一不良示范。”他们两人开发的应用程序名叫UltraReset,打开应用程序之后,扫描可乘车次数为0的交通卡可以重置乘车次数。
移动安全专业的博士后研究人员Collin Mulliner表示Benninger的破解方法确实可行。他说,“这两人利用了NFC交通卡生产公司‘粗糙的工程漏洞’,使用‘常见’的智能手机就可以破解交通卡。以前想要破解交通卡起码需要买一台读卡器,还需要使用适当的软件才有可能破解,如今只需要一部带有NFC功能的手机和一个应用程序就能破解。这么一来,NFC交通卡毫无安全可言。而且现在市场上已经有多款NFC手机可用,无形中降低了破解交通卡的门槛,相信会有不少人来破解交通卡,毕竟可以省很多钱。”
此前还有黑客利用手机的NFC功能漏洞,用户扫描一个经过特殊设置过的NFC Tag后便会被强制打开一个网页。