我们每个人都可能会出现这样的情况,手机快要没电了但是又没有带充电器,可是我们要回一个非常重要的电话、短信或是邮件,所以不能让手机没电关机。
在这种情况下人们一般都会去找一个可以充电的地方,不管是什么样的USB接口都可以。但是这样安全吗?当然不!事实上,这样的做法十分危险:别人可以通过这样的USB连接窃取文件、感染整部手机,甚至是毁掉它。
在我们讨论数据窃取的问题之前,必须要指出的一点就是并不是每一种电力来源都适用手机。网络中总是充满着各种抱怨投诉,而写下这些抱怨的大多数用户都没有使用原装充电器给自己的手机充电。在某些案例中,不使用原装充电器会让手机彻底瘫痪。最离奇的是,甚至有人因为手中的手机而受伤甚至付出生命的代价。
Teen在睡觉时因充电iPhone触电死亡 —-2014年7月31日,《每日邮报》在线
可怕的是,这些案例不仅仅是意外。比如说去年,出现了一种畸形装置,名叫USB杀手。它的里面有一组不得了的电容器,安置在一个USB闪存驱动器大小的框架里,这组电容器会给USB接口提供220V的电力。这样的强大电源不仅会烧坏USB接口,甚至最糟糕的情况下有可能毁掉整个计算机主板。我们觉得使用这种装置的人可能是想测试一下自己手机的耐用程度。
第二,人们设计USB接口不仅是为了充电,更多的是为了传送数据。所以只要一部手机和USB接口相连,那么它就会尝试着进行数据传送。最严重的数据泄露会发生在那些使用Android4.x版本的手机身上,如果这些手机在默认模式下连接到MTP(媒体传输协议)的话,所有的手机文件都会被暴露在外。
平均来说,要想让主机系统获取手机的文件信息大概要花费100kb的数据量。当然,这仅供参考,100kb大概是《爱丽丝梦游仙境》电子书的大小。
锁定手机就可以免于这种数据泄露。但是说实话,谁会在手机充电时就不用手机?要是充电的时候收到一条短信怎么办?
现在,我们将手机设置为锁定模式,让我们再仔细看看通过USB接口传输的数据。数据量因手机平台和操作主机的不同而有所不同,但是任何情况下,锁定模式都不意味着“只充电”,正如我们看到的,这种情况下传送到主机的数据包括了设备名称、供应商名称和序列号。
你可能觉得这样的数据传输不是什么大问题,但是在我们研究了某个特定供应商的公开信息之后发现,更大的问题就是这种USB连接可以让操作者进行超越系统的很多操作。
这怎么可能呢?
这种功能是由于一种被称为AT的系统遗留指令。几十年前人们为了推广调制解调器和PC通信的使用开发了AT指令。在那之后,这种设置被列入了GSM标准中,所以现在的所有手机都支持这项功能。
使用AT指令可以做些什么呢?它使得攻击者可以获取相关的手机号码,并且下载存储在SIM卡中的联系人信息。然后他们就可以使用受害人的话费拨打任何一个号码。(如果受害人正在漫游,这种“意外来电”有可能让其很快就欠费。)根据供应商的差异,这种模式还会让攻击者可以在手机中安装任意的应用程序,包括恶意软件。
而以上的所有后果都是可能发生的,就算锁定了手机也无济于事。
综上所述:记住,我们永远也不知道看到的USB接口的另一端是什么。一个USB接口有可能就是一个系统,连有存在缺陷的电源、电力十足的电容器或是一台可以在手机中安装后门程序的电脑,而目的就是收集与其连接手机的数据。在将手机插入接口之前谁都不知道会有什么后果,所以最好的办法就是不要使用未知的USB接口。