3.2 攻击意图
为了确定RFID系统攻击的类型,就必须了解RFID系统潜在的攻击目标,这有助于确定RFID系统安全攻击的性质。
某些人攻击RFID系统的目的可能只是偷东西,而另外某些人的目的则是为了阻止单独的店铺或者连锁店的所有销售业务的顺利进行。一些攻击者很可能是使用伪造的信息去替代后台数据库中的数据而导致系统瘫痪。某些攻击者只是想获得对系统真正的控制权而对数据没有任何兴趣。对任何考虑RFID系统安全的人来说,弄清楚资产是如何保护的以及他们是如何成为安全攻击的目标是非常重要的。
正如RFID系统是由几个基本的部分组成的一样,RFID系统攻击也有几种不同的方法。每一种RFID系统安全攻击方法都指向RFID系统的某一部分。这些系统攻击方法包括:空中攻击(On-the-air Attacks)、篡改电子标签数据(Manipulating Data on the Tag)、伪造中间件数据(Manipulating Middleware Data)、攻击后台数据(Attacking the Data at the Backend)。在下面的内容里,我们简要讨论一下这些攻击方法。
3.2.1 射频操控
攻击RFID系统最简单的方法之一是阻止阅读器对标签进行探测和阅读。既然大多数金属能够屏蔽射频信号,那么要对付RFID系统,只需要将物品用铝箔包裹或者把它放进有金属涂层的塑料袋中就可以避免电子标签被阅读。该种技术方法非常有效,以至于在纽约已经出现了一种具有金属涂层的带有“快易通”标志的塑料袋。
从RFID空中攻击的角度来看,标签和阅读器可以看作是一个实体。尽管他们的工作方式相反,但实质上都是系统的同一射频单元部分的两个不同的侧面。
从标签和阅读器的空中接口进行攻击的技术方法目前主要有以下几种:欺骗(Spoofing)、插入(Insert)、重播(Replay)以及拒绝服务(Denial of Service, DOS)。
3.2.1.1 欺骗
欺骗攻击是系统攻击者向系统提供和有效信息极其相似的虚假信息以供系统接收。具有代表性的欺骗攻击有域名欺骗(A fake Domain Name)、IP欺骗(Internet Protocol Address)、MAC欺骗(Media Access Code)。在RFID系统中,当需要得到有效的数据时,使用的一种欺骗方法是在空中广播一个错误的电子产品编码(EPC)。
3.2.1.2 插入
插入攻击是在通常输入数据的地方插入系统命令。这种安全攻击方法攻击成功的原因是已经假定数据都是通过特殊路径输入,没有无效数据的发生。
插入攻击常见于网站上,一段恶意代码被插入到网站的应用程序中。这种安全攻击的一个典型的应用是在数据库中插入SQL语句。同样的攻击方式也能够应用到RFID系统中。在标签的数据存储区中保存一个系统指令而不是有效数据(比如电子产品编码)。
3.2.1.3 重播
在重播攻击中,有效的RFID信号被中途截取并且把其中的数据保存下来,这些数据随后被发送给阅读器在那里不断地被“重播”。由于数据是真实有效的,所以系统对这些数据进行就会以正常接收的方式来处理。
3.2.1.4 拒绝服务攻击
拒绝服务攻击也称为淹没攻击,当数据量超过其处理能力而导致信号淹没时发生拒绝服务攻击。因为曾经有人利用这种系统攻击方法对对微软和Yahoo的系统成功地进行过攻击而使其深受影响,因而使得这种系统攻击方法名声大噪。这种攻击方法在RFID领域的的变种就是众所周知的射频阻塞(RF Jamming),当射频信号被噪声信号淹没后就会发生射频阻塞。还有另外一种情况,结果也是非常相似的:就是使系统丧失正确处理输入数据的能力。这两种RFID系统攻击方法都能够使RFID系统失效。
3.2.2 篡改标签数据
3.2.2.1 简述
我们已经了解了对于那些企图偷盗单一商品的人是如何阻止射频系统工作的。然而,对于一些想偷盗多种商品的人来说,更为有效的方法就是修改贴在商品上的标签的数据。依据标签的性质,价格、库存号以及其它任何数据都可以被修改。通过更改价格,小偷可以获得巨大的折扣,但是系统仍然显示为正常的购买行为。对标签数据的修改还可以使顾客购买诸如X-或R-类的受限制购买的影视制品而不会受到限制。
当标签数据被修改的商品通过自助收银通道时,没有人会发现数据已经被修改了。只有库存清单才能够显示某一商品的库存和通过结算系统的销售记录不相符。
2004年,卢卡斯·格林沃德(Lukas Grunwald) 演示了他编写的一个名叫“RF垃圾”(RF Dump)的程序。该程序是由Suns Java语言编写的,能够在装有 Debian Linux 或 Windows XP 的PC机上运行。该程序通过连接在电脑串口上的ACG牌的RFID阅读器扫描RFID标签。当阅读器识别到一张卡时,该程序将卡上的数据被添入到电子表格中,使用者可以输入或修改电子表格中的数据然后重新写入到RFID标签中(如图 3.1所示)。该程序通过添加零或者适当截断数据确保写入的数据的长度符合标签要求。
另外,出现了一个可以应用在诸如 Hewlett-Packard iPAQ Pocket 上的一个名叫PDA RF 垃圾(RF Dump-PDA)的程序。该程序由陂尔(Perl)写的,能够运行在装有Linux系统的移动PC上。
应用一个带有 RF Dump-PDA 程序的 PDA,一个小偷可以毫不费力的更改商店商品标签上的数据。
Grunwald也演示了对应用相同的基于EPC的RFID系统的对德国莱茵伯格(Rheinberg)城市未来商店的攻击。未来商店被设计成为工作中的超级市场和动态技术展示商店,该商店是由德国最大的零售商(全球零售15名)Metro AG所拥有和经营。
3.2.2.2 中间件攻击
中间件攻击发生在阅读器到后台数据处理系统的任何一个环节,让我们先来考虑一下埃克森美孚公司的快易通系统中间件的攻击的理论场景。
顾客的快易通RFID标签由安装在空中的阅读器激活。该阅读器与油泵或者收款机相连。阅读器和标签握手并将加密的序列号读出来。
阅读器和油泵与加油站的数据网络相连,该数据网络又和位于加油站的甚小口径天线终端的卫星信号发射机相连。
甚小口径天线终端的发射机将该序列号发送给卫星,该卫星又将该序列号中继给卫星地面站。
卫星地面站将该序列号发送给埃克森美孚公司的数据中心,数据中心验证该序列号并确认与帐号相连的该信用卡的授权。
授权信息通过相反的路径发送给泵。
收款机或油泵收到该授权信息后才允许顾客加油。
在上述环节的任何一处,系统都有可能遭受到外部的攻击。但是这种攻击需要非常复杂的发射系统,对卫星系统的攻击可以追溯到八十年代。
然而,上述场景中最薄弱的环节可能还是本地网络。系统攻击者可以相对容易的在本地网络中窃取有效数据,并用来进行重播攻击,或者该数据重新输入到本地网络,从而导致拒绝服务攻击破坏加油站的支付系统。这种设备也能够用于非授权的信号发射。
另一种可能性是技术比较娴熟的人员在得到在该系统服务的一份工作后而对中间件采取的攻击。这些人为了有机会接触到该目标系统,可以接受较低的薪金待遇。一旦他们得到了接触目标的机会,就会发生一些所谓的“社会工程”(Social Engineering)攻击。
顺着数据线路,另一个中间件攻击的地方是卫星地面站和储存快易通序列号的数据中心节点。数据中心和信用卡连接的节点也是中间数据易受攻击的地方。
3.2.2.3 后台攻击
无论是从数据传输的角度还是从物理距离的角度来讲,后台数据库都是距离RFID标签最远的节点,这似乎能够远离那些对RFID系统的攻击。但是,必须明白的是它仍然是系统攻击的目标之一,正如威利·萨顿(Willy Sutton)所说,因为它是整个系统“钱所在的地方”。
如果数据库包含顾客信用卡序列号方面的信息,那就变得非常有价值。一个数据库可能保存有诸如销售报告或贸易机密等有价值的信息,这些信息对于竞争对手来讲可以说是无价之宝。
数据库受到攻击的公司可能会面临失去顾客信任以致最终失去市场的危险,除非他们的数据库系统具有较强的容错能力或者能够快速恢复系统。很多报纸和杂志的商业版曾经报道过许多商店因为与内部IT系统相关的失误而导致客户对它们信任度的降低从而遭受巨大损失的事例。
篡改数据库也可能会造成实际的损失而不仅仅是失去顾客的购买能力。我们可以想象,更改医院的病历系统可能会造成病人的死亡或者更改病人数据库中的病人的资料也将是致命的。假如该病人需要输血,而其血型中的一个字母被修改了,这样,就会使该病人步入死亡的边缘,医院必须经过多次核对信息的准确性来应付这种问题的发生。但是,这种多次核对并不能完全阻止因数据被篡改而导致的事故发生。也只能是在降低风险。
3.2.2.4 混合攻击
攻击者可以综合应用各种攻击手段来对系统进行混合攻击。可以采用对RFID系统的各种攻击手段来对付某一单个的子系统。但是,随着那些攻击RFID系统的攻击者的技术水平的提高,他们可能会采取混合攻击的方法来对RFID系统进行混合性攻击。一个攻击者可能用带有病毒的标签攻击零售商的射频接口,该病毒就有可能由此进入中间件体系,最终使后台系统把信用卡账号通过匿名服务器发向一个秘密网络,从而造成顾客和企业的损失。


