玩转无线电 -- 温哥华天车 RFID 票务系统

0x00 前言

如今物联网 RFID系统已经完全融入了我们的生活当中. 从楼宇门禁到 Apple Pay. 可以说其身影是无处不在.很多网友也分享了自己对RFID系统的安全测试心得.不过大多还是基于门禁卡和 Mifare-Classic 而言. 实际上在 Mifare 系列的大家族中还有着许多其他类别. 比如 Mifare-DESFire 和本文的主角 Mifare-Ultralight.

温哥华交通公司Translink 在 2015年开始逐渐淘汰老旧的打印票务系统. 并全面推广RFID为基础的票务系统, 并为其取名为 Compass. 此系统为了方便不同乘客的需要, 使用了Mifare-DESFire 作为月票卡. 同时还以Mifare-Ultralight 作为一次性车票.因 Mifare-Ultralight 成本低廉, 使其成为车票的不二之选. 但也正是为了节省成本, 其安全性近乎于零. 它的天生残疾为攻击者打开了一道方便之门.本文将以此轻轨RFID 票务系统为例, 跟大家一起来场RFID 系统的探索之旅.

0x01 Mifare-Ultralight 简介

Mifare-Ultralight 是 NXP 公司出品的众多Mifare系列中的一款. 其同样工作在 13.56 Mhz. 但跟它的老大哥 Mifare-Classic 不同的是, 它并无使用任何加密, 其数据内容是可以任意访问的. 因为造价低廉很多需要一次性门票的场合都将其作为首选.比如 2006 的世界杯比赛.其数据结构非常简单明了. 总共 64 bytes. 分为16 个区, 每个区为4 bytes. 而 4 - 15 区通常会用于数据存储, 存有时间; 入口和站台名等. 值得一提的是此区可任意读写无需认证哦. ;)

UID区

其 UID 区在默认情况下是不可写的. 占有 9 个 bytes, 但只有 7 个bytes 作为 UID 使用. 比如 “ 04 e2 a8 c6 ba e2 43 80 9b ” 其中只有 04 e2 a8 ba e2 43 80 被识别为UID, 而 c6 和 9b 是作为校验值 Check Bytes 存在的.

OTP 区

前面提到Ultralight 的安全性近乎于零, 是因为它设有这个One time programmable 区. 整个区分为 4 bytes, 默认数值为 00 00 00 00. 通常将其作为为车票的计数器使用. 通过 01 对每个 bits 进行 OR 不可逆运算. 直到 00 全部用完车票作废.不过这个OTP 也是可以通过激活 Lock Byte 来 bypass. 因为 Compass 系统并无使用OTP , 所以无做此测试.

0x02 实战测试 — Single Fare Reset Attack

需要事先声明整个测试过程使用的是预先支付的车票. 并仅是在车站入口处测试了 Reset 攻击, 并无实际逃票行为. 所以不要担心会发生被请喝茶的悲剧. 而且在下也反对滥用此类技术来做坏事... :p

其实整个攻击过程非常简单. 因为Data 区可任意读写无需认证. 所以我们可以事先 dump 出 Compass 车票的原始数据. 等车票过期无法使用后, 用手机 APP 将原始数据写回车票. 从而实现 Reset 攻击, 达到系统绕过目的. :) 整个攻击过程出奇的简单对吗? 而从 Translink 的角度来看, 又有哪些防御方案呢? 其实 NXP 公司早就提供了3DES加密的 MIFARE Ultralight C. 不知道为什么 Translink 在系统设计之初不考虑呢?

0x03 总结

最后要感谢在整个研究过程中提供过帮助的弟兄们. 同时在下认为系统安全加固, 有时也取决于自身对问题的态度. 出了问题不积极修复, 却试图将问题隐藏. 并寄希望于掌握了解方法的人越少越好. 这是十分不明智的处理态度.

在这里强烈鄙视温哥华交通公司 TransLink. 在漏洞曝光后明知系统存在隐患的情况下仍放任不理. 当记者采访时还摆出一副有种你咬我的嘴脸. 那好吧 May the luck be with you…FXXK YOU…Now we all know how to hack you..

0x04 参考文献

时间: 2024-10-03 11:50:26

玩转无线电 -- 温哥华天车 RFID 票务系统的相关文章

大型票务系统性能测试浅析

其中,优化项所有内容必须满足,附加项可以不满足,在评测结果中Y代表满足.N代表不满足.Null代表无优化项相关技术.评测结果共分为A.B.C.D.E和U六个级别.具体对应关系如下表所示: 表2 评级标准 4.2 后端性能测试方法 测试主要采用商业级别的性能测试工具进行测试,如HP Loadrunner.通过大规模模拟实际用户的操作行为,测试核心售票系统中注册.浏览.座位选择.支付等关键业务的响应时间和服务器实时处理能力,重点关注CPU.内存.I/O等信息,为操作系统.中间件和数据库以及服务器的性

南加州大狼屋水上乐园部署RFID腕带系统

识别解决方案提供商PDC近日宣布在南加州大狼屋水上乐园安装智能RFID腕带系统. PDC的这一系统被用于电子门禁和无现金支付,以取代传统现金支付及实体访问卡进出.PDC的RFID技术在腕带内内置了13.56MHz无源RFID标签,可在公园内的读取器进行扫描以收集及传输数据.每个芯片都编码有一个唯一字母数字代码,因此无法被复制. (PDC腕带) 登记入内时,大狼屋客户会分到一个不可转让,防水的智能腕带,该腕带可用于无钥匙进入房间,食品购买,游戏代币,水上乐园凭证等应用.该腕带还可用于识别游客身份.

李明远传媒大学谈移动智能:票务系统需要颠覆

摘要: 带着BAT史上最年轻副总裁的头衔,李明远在中国传媒大学举办的活动中和大家聊起移动互联网中的智能提现.其中提到了百度最近刚刚 曝光的自动驾驶技术,再一次强调了 无人驾驶始终 带着"BAT史上最年轻副总裁"的头衔,李明远在中国传媒大学举办的活动中和大家聊起移动互联网中的智能提现.其中提到了百度最近刚刚曝光的"自动驾驶技术",再一次强调了"无人驾驶始终存在阻碍,丰富司机驾驶体验提高安全性才是百度关注的重点". 之前听一位创业者爆料说百度要做票务

轻松玩转VMWare虚拟机之安装GHOST系统图文教程第1/2页_安装教程

VMWare是一个"虚拟PC"软件.它使你可以在一台机器上同时运行二个或更多Windows.DOS.LINUX系统.与"多启动"系统相比,VMWare采用了完全不同的概念.多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器.VMWare是真正"同时"运行,多个操作系统在主系统的平台上,就象标准Windows应用程序那样切换.而且每个操作系统你都可以进行虚拟的分区.配置而不影响真实硬盘的数据,你甚至可以通过网卡将几台虚拟机用网卡连接

如何对RFID应用系统方案进行测试

企业或RFID系统集成商在进行RFID系统现场实施之前,需要对所制订的RFID系统方案进行测试,校核方案的可行性,降低RFID项目的实施风险.有别于对RFID芯片.读写器.天线等产品进行的性能测试,这种测试是一种应用测试,是在接近实际应用环境的场景下,对RFID实施方案进行测试,RFID系统实施者可以根据测试结果不断修改和完善方案,并积累RFID项目实施经验,尽可能减少在企业现场实施时出现问题的可能性,这样可以增强企业对RFID技术的信心,有利于RFID技术的应用推广. 根据系统架构在测试服务器

玩转Win 7扫清障碍让系统顺畅运行

  1.程序直接运行的权限 有些用户在使用Windows7系统时发现,非系统安装盘的另一块挂接硬盘中的很多绿色软件不能双击直接运行,必须在右键功能菜单中选择"以管理员身份运行"才能顺利打开,非常麻烦.怎样能取消这一限制呢?安装VC 2005 运行库(Vcredist 2005)就可以解决这一问题. 2.拒绝系统蚕噬内存 一般来说,2G及以上内存的机器是完全能够顺畅运行Windows7系统的,但有些时候也会出现"内存不足"的警告.若此时运行的程序并不是很多,系统资源不

打开网页慢玩穿越卡白屏windows7的系统

  电脑已经老了,你说的事属于年老力衰的缘故,除非有青春泉水可以喝,否则就不要坚持从一而终的不舍不弃的观点,放手让它离休好了!喜新厌旧这不怪你的,买新电脑去吧.

系统城教你玩转win8上手指南系列

Windows8系统作为一款具有划时代意义的操作系统在微软的发展历程扮演着及其重要的角色,因为这是微软被用户所习惯的windows xp.windows vista乃至逐渐替代windows xp成为主流操作系统的基础上的一个全新且大胆的冒险与变革.不过作为一款新开发出来的操作系统,windows8与其崭新的用户交互操作模式和用户使用体验让很多新接触它的用户不知道从何下手.小编特地为此编写了这篇名为<系统城教你玩转win 8上手指南系列>希望能够让新老用户从具有鲜明特色的Metro UI和传统

64位系统不能玩英雄联盟怎么办?

  很多人用Windows7的64位版本的时候会发现,以前在32位Windows7系统能玩的游戏,在64位不能玩了,主要是因为很多人玩的游戏是针对32位系统的,所以游戏内的DirectX9插件安装不正确,所以才会提示出错,比如提示:缺少d3dx9_43.dll 很多人会好奇,Windows7不是内置了DirectX 11了吗?为什么还要提示缺少DirectX 9.0呢? 这是因为XP系统的DirectX 9和Vista系统的DirectX 10以及Windows7系统的DirectX 11其实各