在最近的过去,我们目睹了许多OEM厂商为了使各种目标(例如提高基准测试结果)而乱七八糟。我们还听说过制造商和运营商在其设备上添加了跟踪软件,以便收集有关设备性能的数据,有关设备与无线电塔之间语音和数据连接性的统计信息,甚至是电池运行时间数据(您正在监听CarrierIQ吗?) 。但是,今天有 报道称 ,印度电话制造商Micromax的某些设备的用户注意到,未经他们同意或许可,静默安装了应用程序。
看来,即使卸载这些应用程序也无济于事,因为不久之后,它们只会再次出现。显然,这在很多层面上都是错误的,但是无论如何我想指出一些关键问题:
无法控制设备上安装了哪些应用程序会带来巨大的安全风险,因为您无需检查应用程序的权限,也不知道这些应用程序确实是原始应用程序(或在恶意软件中可能进行了修改)方式)
Micromax设备往往不是您可以找到的最高端,因此存储空间仍然被认为是奢侈的(总计4GB),并且该设备的存储空间中充满了随机应用程序当然不是最好地利用该宝贵空间
使用移动网络时也会进行下载,因此,如果您的手机不断尝试下载您不想拥有的应用程序,那么昂贵的全速数据将大大减少
尽管这些做法本身已经听起来非常错误,但不幸的是还没有结束。除了下载应用程序外,这些设备似乎还不时在通知栏中显示广告。一名reddit用户报告说,一次显示8-10个广告,并在查找负责应用程序的这些令人不安的通知时,向他展示了一个名为“软件更新”的系统应用程序。
因此,在这一点上,听起来肯定像是Micromax添加了自定义软件,该软件可以远程安装应用程序并将广告推送到用户的设备。但是,如果我们停止假设事情,只是简单地告诉您有关某人在互联网上主张事物的故事,我们就不会在XDA Developers上。因此,我们决定拆除该应用程序,并查看其中的内容。
证据
当开始拆除应用程序(在文件系统上实际称为FWUpgrade.apk)时,您注意到的第一件事是它是第三方应用程序。一家名为Adups的中国公司开发了它,以替代Google OTA股票服务。显然,Micromax决定使用它而不是库存产品。您需要进行进一步分析的第一个障碍是字节码级别的混淆,并且大多数资料的阅读确实不是一种乐趣。但是,如果您知道要查找的内容,则该应用程序将无法隐藏其真正的本性。此处提供的证据从一些代码开始,向您显示了该应用程序的潜在功能,并以更有趣的内容结束了。
让我们从静默安装的应用程序开始。要从另一个应用程序中执行此操作,您需要直接使用Android PackageManager API,或从外壳发出安装命令。第二种情况在这里是正确的,如以下代码所示(请注意:这是简化的Java代码,由于混淆,实际代码看上去有些不同):
在这里,您可以看到一个新创建的StringBuilder,其中包含命令pm install,后跟s2,在这种情况下,它是一个字符串变量,其中包含下载的apk文件的文件系统路径。然后将完成的字符串传递给执行以下操作的新方法:
在这里,您可以看到带有shell命令的字符串用于启动一个执行该命令的进程,实际上该进程无提示地安装了apk文件。在这一点上,我们可以肯定地说,Micromax ROM中的OTA检查服务不仅可以下载和刷新系统OTA,而且还可以静默安装应用程序。这本身并不意味着太多,因为它不一定是一件坏事,但是还有更多的事情要做。
在该应用程序内部,我发现了一些对该公司网站的引用,其中包括具有广泛功能列表的引用。我们来看看最有趣的部分吗?
用公司自己的话说,就在那里。应用推送服务。设备数据挖掘。移动广告。这与reddit的初始报告非常吻合,您不觉得吗?因此,这里的坏人实际上是Micromax,因为这些是Adups应用程序的官方功能,而且Micromax很可能从强制性应用程序安装和通知广告中获得收入。他们还选择了与该提供商合作,而不是将自己的服务器与Google的OTA服务一起使用,因此他们完全意识到这会对用户产生什么影响。