Android操作系统中的一个漏洞允许与WiFi路由器物理接近的***者跟踪路由器范围内用户的位置。

漏洞(CVE-2018-9581)允许进程间通信,导致信息泄漏。虽然Android系统上的应用程序通常由操作系统彼此隔离,同时各应用与操作系统本身隔离,但在需要时在它们之间仍然存在共享信息的机制,如intent。

应用程序或操作系统本身可以发送“intent”消息,这种消息在系统范围内广播并且可以被其他应用程序接收。如果没有适当的访问限制和相关权限设定,恶意应用程序可能会拦截不该访问的信息。

Nightwatch网络安全系统的研究人员表示,虽然存在限制对象允许阅读此类消息的功能,但应用程序[和OS]开发人员往往忽略了如何正确实施这些限制,保护敏感数据,这导致Android应用程序中的一个常见漏洞产生,即在同一设备上运行的恶意应用程序可以监视并捕获其他应用程序正在广播的消息。

根据Nightwatch的说法,在CVE-2018-9581的影响下,Android操作系统本身存在Bug。它发现Android OS使用两种不同的intents定期广播有关WiFi连接的信息。该系统定期广播WiFi强度值(RSSI),访问此信息无需特殊许可。RSSI值表示设备接收的信号的相对强度,但不与实际物理信号强度(dBm)直接相关。

靠近WiFi路由器的电话将接收到更强的信号,因此可以推断用户在家庭或办公室内的位置。虽然从表面上看这似乎没什么问题,因为考虑到某人通过视觉观察追踪一个人的局部动作可能更容易,但它或许对那些有意伤害或策划入室盗窃的人有用。另外,部分不良雇主甚至可以通过强度值判断员工是否一直呆在办公区或滞留于非办公区太久。

研究者认为所有版本的Android系统都会受到影响(尽管在Android 9上,两种广播类型中的一种不再显示敏感数据,但其实这是受修复相关bug CVE-2018-9489的影响)。研究人员表示,他们不确定这种漏洞是否已在野外被开发利用。虽然该补丁尚未发布,但Google已承认此问题。

Android系统的跨进程信息泄漏并不新鲜。事实上,这个错误是一系列相关Bug的一部分,这些错误具有相同的根源(不正确实现的intents消息)。同系列Bug包括CVE-2018-9489和CVE-2018-15835。CVE-2018-9489允许***者通过暴露一系列WiFi信息来探索和***本地WiFi网络,或识别并物理跟踪任何Android设备。这些信息包括设备的MAC地址,WiFi接入点的BSSID和网络名称,以及各种网络信息,如本地IP范围,网关IP和DNS服务器地址,泄露的信息会被用户设备上运行的所有应用程序读取。

有了这些信息,***者可能会带来各种类型的破坏,比如利用网络信息进一步嗅探和***本地WiFi网络。此外,由于MAC地址是硬编码的,所以即使使用MAC地址随机化,它们也可用于唯一地识别和跟踪任何Android设备。

至于CVE-2018-15835,来自Android操作系统的intents消息公开了有关电池的详细信息,可用于在没有特殊权限的情况下在应用程序之间识别和跟踪用户。Android版本5.0及更高版本受到影响,但Google表示它不会将此错误归类为安全问题,并且尚未发布任何修复计划。