想象一下一家银行里有两名员工,一名是处理财务敏感信息的分析师而另一名是负责沟通的通讯员。他们看起来在各司其职:分析师在分析财务数据而通讯员在负责与外界的沟通。但实际上他们在做些不法勾当:分析师悄悄将一些财务秘密交给通讯员,他们合谋将其转给竞争对手。
现在,假设银行是你的Andriod智能手机,员工是手机中的应用程序,而敏感信息则是关于你的精确定位。
就像上述两名员工一样,安装在同一台Andriod智能手机上的成对应用程序能够轻易提取出用户的敏感信息,且很难被检测到。目前对于安全研究人员来说,弄清单个应用程序是否会收集用户敏感信息并秘密发送至某个服务器比较简单。但当两个应用程序组合起来发送敏感信息的话,就比较隐秘了。由于Andriod应用程序的数量巨大,弄清不同应用程序组合情况下是否存在窃取用户敏感信息,也是一项非常艰巨的任务。
本周发布的一项新研究开发出解决此类问题的新方法,该研究也发现,超过20000对应用程序组合存在用户数据泄漏问题。据悉,弗吉尼亚理工大学的四名研究人员开发了一个系统,通过此深入研究了Andriod应用程序架构,以及这些应用程序如何在同一部手机上与其他应用程序交换信息。这一名为DIALDroid的系统能够模拟手机应用程序之间的信息交互,弄清不同应用程序之间的组合是否会泄漏用户敏感信息。
当研究人员利用DIALDroid系统分析了使用频率较高的100206个Andriod应用程序后,他们发现近23500对应用程序组合存在泄漏数据问题,其中超过16700对应用程序组合存在越权升级问题,这意味着在这些应用程序组合中,其中一个应用程序能够接受那些通常会被禁止访问的敏感信息。
该研究列举了一个为用户提供祷告时间的应用程序。其能够检索用户所在的位置,并将其开放给手机上的其他应用程序。据研究,有逾1500个应用程序如果和该应用安装在同一部手机上时,都能够获取该应用发送的手机位置,而其中有39个应用程序会将该位置信息发送出去,存在泄漏信息的危险性。
虽然单个应用程序的漏洞并不大,但相互联系在一起之后,其信息泄漏的危险性就大大增加。而有问题的应用程序组合涵盖了从娱乐、运动到摄影等生活方方面面。
当然,研究人员指出,在大多数情况,这种应用程序组合造成的信息泄漏并不是故意而为。但毕竟会对用户造成一定的危害。
在某些情况下,应用程序组合中的其中一个会有恶意情况。例如这种恶意应用程序会利用另一个应用程序的安全漏洞来窃取数据并将相关信息发送至远程服务器。在大多数情况下,信息泄漏主要是因为两个应用程序设计不当,使得相关数据能够从一个应用流向另一个应用,然后再被这个应用发送至手机日志文件。
研究发现,智能手机位置更容易泄漏。当研究人员在分析泄露数据的最终流向时,他们发现将近一半存在漏洞的应用会将敏感数据发送至日志文件。通常这些记录的信息仅仅适用于创建日志文件的应用,但很多网络攻击能够从日志文件中提取数据。更有甚者,很多应用程序组合会通过互联网或者SMS方式发送数据。