小米预装的安全应用程序中存在漏洞

释放双眼,带上耳机,听听看~!

清明三天在外,手机编辑,见谅

本文原文链接:

https://research.checkpoint.com/vulnerability-in-xiaomi-pre-installed-security-app/

在外没细翻,感兴趣请直接点击阅读原文观看,以下全文粗翻,大概看看意思即可。

智能手机通常附带预先安装的应用程序,其中一些是有用的,还有一些根本就没有被使用过。然而,用户不希望预装的应用程序对他们的隐私和安全构成实际的负担。

Check Point Research最近在世界上最大的移动厂商小米的预装应用程序中发现了一个漏洞,小米拥有近8%的市场份额排名第三在手机市场。具有讽刺意味的是,它是预先安装的安全应用程序‘MIUI安全组件’(com.miui.guardprovider),它应该通过检测恶意软件来保护手机,而恶意软件实际上会让用户受到攻击。

简单地说,由于进出警卫提供商的网络流量不安全,威胁行为者可以连接到与受害者相同的Wi-Fi网络,并实施中间人攻击(MITM)。然后,作为第三方sdk更新的一部分,他可以禁用恶意软件保护,并注入他选择的任何恶意代码,例如窃取数据、植入勒索软件或跟踪或安装任何其他类型的恶意软件。

Check Point负责任地向小米透露了这个漏洞,小米随后发布了一个补丁。

小米预装的安全应用,被称为“MIUI安全组件”

小米的MIUI安全组件是小米所有主流手机中的一个预装应用程序,它使用多个第三方软件开发工具包(Sdk)作为其提供的安全服务的一部分,包括各种类型的设备保护、清理和升级。

这款应用包括三个不同的反病毒品牌,用户可以选择使用这些品牌来保护自己的手机,这三个品牌分别是:AVASION、AVL和腾讯。在选择应用程序时,用户选择这些提供者中的一个作为默认的反病毒引擎来扫描设备。

在解释潜在的攻击场景之前,重要的是要指出在同一个应用程序中使用几个SDK实际上存在一些隐藏的缺点。由于它们都共享应用程序上下文和权限,这些主要缺点是:

一个SDK中的问题会危及其他所有SDK的保护。

一个SDK的私有存储数据不能隔离,因此可以由另一个SDK访问。

 

通过小米这个app的案例,我们在下面展示了在集成两个SDK和有问题的行为时,远程代码执行(RCE)攻击是如何发生的。

简单地说,由于guardprovider的网络流量由于任何小米设备都是不安全的,这使得它可以通过中间人攻击(Mitm)被拦截,并作为第三方sdk更新的一部分注入流氓代码。让我们来看看可能的攻击场景。

第1阶段:捕捉AVARCH更新

默认情况下,应用程序的安全扫描器设置为一个庞大的程序,该应用程序通过下载宏达-Android-VPs-v4-Relase.apk保护提供者私有目录的apk文件:/data/com.miui.guardprovider/app_dex/vps_update_<时间戳>.apk.

然后,该APK文件将在设备扫描之前由ALargeSDK加载和执行,并包含下载该文件时的时间戳。例如,vps_update_20190205-124933.apk。

一个庞大的更新文件

不幸的是,由于更新机制使用不安全的HTTP连接来下载该文件,威胁参与者可以通过MITM攻击检测AVARCH更新的时间,并预测磁盘的APK文件名将是什么。攻击者只需拦截http:/au.ff.avast.sec.miui.com/android/avast-Andro-VPs-v4-Relase.apk连接。

巨大的更新流量

请记住这一点,因为在攻击的第二步中,将使用AVAXAGE更新的预测文件名。

通过初始拦截,MITM攻击者能够通过将“404错误”响应为“404错误”来防止将来的大规模更新。http:/au.ff.avast.sec.miui.com/android/vps_v4_info.vpx请求。

第二阶段:通过一个AVL更新路径-遍历漏洞覆盖ALargeUpdateAPK

一旦攻击者开始主动阻止连接到AWARCH服务器,用户就会将默认的防病毒切换到另一种-在这个场景中-AVL反病毒。记住,AVL防病毒SDK也是卫队提供程序的内置部分。

在AVL成为默认杀毒软件后,它将立即用其病毒数据库更新应用程序。它通过请求配置文件来检查是否存在新的病毒签名(例如http:/update.avlyun.sec.miui.com/avl_antiy/miuistd/siglib/20180704.cj.conf)。这个.conf文件有一个纯文本格式,指示带有新签名的ZIP存档的URL、大小和MD5散列。

更新配置文件

在处理配置文件之后,avl将下载读更新url字段并将其解压缩到卫队提供程序目录。

再次,MITM攻击者能够更改.conf文件的内容,因为它是通过非安全连接下载的,使用is_new=0若要显示新更新的存在,并提供到精心编制的ZIP文件的URL链接,请执行以下操作。

修补AVL更新配置文件。

事实证明,AVLSDK易受另一个安全问题的影响,这有助于攻击者执行攻击的第二阶段:解压缩过程中的路径遍历。因此,攻击者能够使用精心编制的存档覆盖应用程序沙箱中的任何文件,包括与另一个SDK相关的文件。

因此,巧尽心思构建的APK作为“../app_dex/vps_update_20190205-124933.apk”进入ZIP签名存档将成功地覆盖以前从AVASCH下载的更新,因为两个反病毒SDK组件在各自的sdk中使用相同的沙箱。

如果您还记得,在MITM攻击的第一步就检测到了上一次AVARCH更新的APK文件名。

使用AVL签名构建的存档。

攻击者现在所需要做的就是释放广域网通信,阻止AVL的通信,直到用户再次选择AVARCH作为主动反病毒。当发生这种情况时,构建的恶意APK文件将由AawySDK加载并执行。

攻击是成功的,因为在加载之前,之前还没有验证过之前的AawyUPDATE的签名文件,而卫队提供程序在第一次下载时已经检查了它。因此,它假定没有理由再次验证它。通过这种方式,可以下载并运行精心构建的恶意文件,因为他实际上是在警卫的背上偷偷溜来跑去的。

 

结语

用户信任智能手机制造商的预装应用是完全可以理解的,特别是当这些应用声称保护手机本身的时候。然而,小米的“警卫供应商”发现了这一漏洞,这就引发了一个令人担忧的问题,那就是由谁来保护守护者。虽然监护人不一定需要保护,显然在应用程序的开发方面,即使是智能手机厂商内置的应用程序,也不能太小心。

上述攻击场景还说明了在一个应用程序中使用多个SDK的危险。虽然每个SDK中的小错误往往是一个独立的问题,但是当多个SDK在同一个应用程序中实现时,可能会有更严重的漏洞出现。

上期精彩请看历史文章列表

感谢您的长按扫码关注,更多干货请看历史文章

望老板们点个赞,转个发,让我开个锅

本文源自微信公众号:黑鸟

人已赞赏
安全工具

提问的智慧: 如何适当的提出问题。

2019-10-16 10:40:24

安全工具

每日关注之安全资讯第8期

2019-10-16 10:40:38

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索