嘿,你正堵在路上吗?一位德国研究人员在欧洲BlackHat大会上演示了黑客是怎样通过影响实时交通流量分析系统来让现实世界中的交通变得混乱的,尤其是在那些有很多人使用谷歌地图或Waze导航系统的地区。谷歌和Waze都在它们的智能手机应用中提供了导航服务,同时它们也利用来自那些手机的信息进行实时交通状况分析。
然而,只要利用软件公司在用户隐私与数据采集这两方面做出的一些折衷设置,黑客们就可以匿名地影响导航软件来让其实时交通分析系统记录一些根本不存在的信息,这样就可以将司机带入歧途,也就可以影响现实中的交通状况,达到“以假堵车造成真堵车”的效果。汉堡科技大学分布式应用安全研究所的博士生托比亚斯·杰斯克(Tobias Jeske)说:“你不需要任何特殊设备就能实现这一切,而且可以在全球范围内操纵交通数据。
”他还表示,除了GPS,谷歌和Waze都可以利用Wi-Fi来进行定位。不过如果仅仅开启了Wi-Fi,就只会传输周围区域内无线接入点和无线小区的信息,这使得导航系统只能粗略估计用户位置。研究人员在德国汉堡进行的一次交通堵塞仿真。左图为攻击前高速公路上的实时路况,右图为使用错误的交通数据进行攻击后仿真出来的路况。谷歌提供的导航服务基于移动设备上谷歌地图应用产生的实时交通信息。
传输位置信息所用的协议则受一个TLS(Transport Layer Security,安全传输层协议)通道的保护来确保数据的完整性,同时也可以防止攻击者在不被谷歌发现的情况下监听外部电话或修改信息。但是,如果TLS通道的源头被攻击者控制了的话,它也就无法发挥作用。杰斯克在一部安卓4.0.4系统手机上演示了一次中间人攻击——将自己插入到智能手机与谷歌的通讯之中。
一旦攻击者控制了通道的源头,错误信息就可以在不被监测的情况下发送。攻击者同样可以通过这种方法来影响交通流量的分析,杰斯克称。他还在研究论文中称,假设一名攻击者通过驱动路由搜集到了发送给谷歌的数据,那么这名黑客之后就可以用一个修改过的Cookie、平台密钥和时间标记再次将这些数据发出。
通过使用不同的Cookie、平台密钥多次发送延时数据,冒充大量的车流,攻击的效果就可以得到显著放大,现实中的交通也会越混乱。不过事实上攻击者并不需要驱动路由来处理数据,因为谷歌在没有周围接入点信息的情况下也可以从手机接收数据,这也使得攻击者可以影响全球的交通数据。类似的攻击方案也适用于Waze,但是杰斯克表示想在Waze上影响其他司机的导航将会有一点困难。
因为Waze将位置数据与用户账户关联在了一起,这意味着攻击者需要用不同的邮箱地址注册不同的账户才能冒充更多的车流。其实杰斯克也发现了无需身份验证即可让攻击者匿名向Waze发送位置数据的方法,但他拒绝透露相关细节。需要强调的是,攻击者若想从本质上对现实中的交通情况造成影响,一个必要条件就是要有相当数量的Waze或Google导航用户聚集在同一个区域。
以前这一情况对于Waze来说不太可能发生,不过去年七月,Waze在全球范围内的用户数量达到了2000万,所以在某些区域这种情况也是有可能发生的。当前还有很多其他服务(包括百度路况高德地图blahblah)也能提供实时交通数据,尽管杰斯克并未测试它们的脆弱性,但由于其工作方式与Google和Waze大同小异,所以他认为在那些系统上进行相似的攻击也是可行的。当然,这一问题也是有办法解决的!
提供导航应用的公司可以将位置信息与具有固定时间标记的动态口令关联起来。通过这样的方法,每部设备每次发送的有效数据包数量的最大值会被限制,从而有助于保证系统的安全。嗯……看这篇文章时都过去好几分钟啦,前面还堵着吗?