玩转无线电 -- 温哥华天车 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 参考文献
- http://www.nxp.com/documents/data_sheet/MF0ICU1.pdf
- https://www.youtube.com/watch?v=Czvn4L1r6f4(Building safe NFC system --30c3)
- http://www.cbc.ca/news/canada/british-columbia/compass-ticket-hack-1.3535955
- http://bc.ctvnews.ca/security-flaw-lets-smartphone-users-hack-transit-gates-1.2852464
- https://www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2012/september/ultrareset-bypassing-nfc-access-control-with-your-smartphone/

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
IBM Watson物联网平台的两个MQTT工具
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/51348004 IBM Watson物联网平台的两个MQTT工具 作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 一、MQTT Helper Bluemix平台提供了一个MQTT Helper工具,使用它可以连接到MQTT代理Broker,并进行订阅和发布到MQTT主题(topic)等操作。 MQTT Helper工具是一个在线网页工具,使用它的关键在于正确理解表单的信息。 具体见: http://mqtt-helper.mybluemix.net/ Server: 1o56n8.messaging.internetofthings.ibmcloud.com (用自己的IoT组织名替换“1o56n8”) Port: 1883 Client ID: d:1o56n8:TestDeviceType:TestDevice (替换组织、设备类型、设备ID) Us...
-
下一篇
德歌:PostgreSQL独孤九式搞定物联网
【直播预告】5月27日,阿里云高级技术专家德歌将在云栖社区直播《云数据库RDS for PostgreSQL最佳实践》:https://yq.aliyun.com/webinar/join/15,为你分享阿里云云数据库PostgreSQL的最佳技术实战,包括PostgreSQL使用技巧、上云实战、数据迁移与同步、插件使用等内容,纯干货。 物联网行业不再仅仅只是设备的接入,设备接入后数据的采集和融合,以及融合后的分析,会为整个社会带来重要的价值。数据,让我们更真实的了解社会与自然,让人与自然、与社会更加的融合。但物联网也远没你想的那么难,经典的物联网架构分为感知层、网络层和应用层。感知层主要包括传感器网关、节点等数据采集工具;采集到的数据再经过互联网、移动通信网等传输网传递到物联网的“大脑”-应用层加以分析应用。随着物联网的越来越广泛使用,特定应用场景的需求也越发明显,如智能物流中需要对地理位置信息处理需求强烈;公安刑侦中的模糊化搜索等等。这不仅对物联网中的硬件是个挑战,同时对物联网中数据库管理系统也提出了更高的要求。 本文即为大家分享关于PostgreSQL如何搞定物联网的“独孤九式”...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL数据库在高并发下的优化方案
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8编译安装MySQL8.0.19
- Dcoker安装(在线仓库),最新的服务器搭配容器使用