停车付款安全性研究

在本文中,我想谈一谈自动停车支付系统的安全性。 大约如此图片所示。

图片

在入口处发放停车票,在出口处将其推回终点站。 基本上有两种类型的优惠券:带条形码/ QR码的纸和非接触式塑料卡,将讨论后者。

像往常一样,我想立即保留一句话,即所有信息仅出于提供信息的目的而提出,并不以支持恐怖主义和建立世界统治为目标。

有一次,我使用大都市购物中心的停车场,受到了有关TroikaPodorozhnik的文章的启发,以及出于纯粹的好奇心,在支持 NFC的手机上启动了MifareClassicTool应用程序,并试图读取地图上的内容。 逻辑上假设付款验证是在线进行的,并且该卡仅用作用户ID。 在这种情况下,如果不访问内部网络就没有任何事可做,而这篇文章根本就不存在,但事实证明真有趣。 我的眼睛看到了这样的东西:


屏幕截图略有减少,以方便读者。 该卡是Mifare Classic 1K,分为16个扇区。 在扇区1-9中,记录了一些信息,并且它们的密钥未知。 其余为空,并使用默认键。 很好奇 对我们来说幸运的是,这些卡中使用的专有crypto1加密协议已广为人知并具有漏洞。

我们需要一台笔记本电脑,非接触式读卡器,例如ACR122U和mfoc应用程序,它使您能够在合理的时间内用任意钥匙从任何扇区还原所有其他读卡器。 我们将跳过这些内容的组装和配置阶段,让我们直接讲一下。 我们将卡放在读取器上,运行程序,将笔记本电脑留在车上去购物,因为这是我们来到这里的原因。 一个小时过去了,所有密钥都已还原,我们正在尝试再次读取卡。


它变得更加好奇,但是不清楚这里写的是什么。 我们离开停车场,立即再次致电。 我们已经有了密钥,您可以立即进行转储比较。


差异不多,但是它们看起来像什么? 是的,这是BCD格式的输入时间11:25:47。 它的旁边是日期11/12/2018。 我们几天前更改了日期,转到付款终端,他高兴地报告说我们欠他很多钱。 我们改回日期,设置当前时间,并免费离开停车场。

原则上,这可以停止,但是对研究的热爱使懒惰变得无能为力,我们去了另一个购物中心并在那里重复操作。 密钥不同,但是数据格式相似。 参观了几个购物中心和一个车站,并进行了几次实验,这很清楚。 在第一个扇区中,存储卡的有效期,在我们的示例中,该有效期一直持续到12/31/2050。 在第二个中-进入时间,时间和付款金额,直到允许离开的时间。 第三和后续扇区的块应在little-endian中读为4个数字。 让我们尝试在示例中解密数据。


停车场之间描述关税的区块有所不同,第3区的第一个区块用作标题,但其格式未知,在公共领域找不到文档,因此并不重要。

可能在这里有必要得出一些结论。 系统开发人员可以使用在线验证,可以使用Desfire / Ultralight C类型的卡,这些卡没有已知的漏洞,但是依赖于过时技术的安全性。 另一方面,这不是银行卡,而且虽然车站的出租车司机会很高兴,但损失不大。

Source: https://habr.com/ru/post/zh-CN431570/


All Articles