原文链接:https://mp.weixin.qq.com/s/P_EYQxOEupqdU0BJMRqWsw
一、背景
最近,国内网络安全公众号“DarkNavy”昨日公布文章《2022 年度最“不可赦”破绽》称,有出名互联网厂商继续开掘新的安卓 OEM 零碎相干破绽,在其公开公布的 App 中实现对目前市场支流手机零碎的破绽攻打。(疑似 PDD)
依据 DarkNavy 的表述,该互联网厂商应用了多种黑客伎俩,实现对用户手机的提权、隐衷信息收集、利用防卸载、利用长期驻留后盾等守法违规行为。
比方,该互联网厂商旗下 App 利用了多个安卓手机厂商 OEM 代码中的反序列化破绽,实现手机零碎提权。实现提权后,该 App 事实上曾经实现了反客为主,通过 App 管制了用户的整个手机零碎。
在提权管制手机零碎之后,该 App 即开启了一系列的违规操作,绕过隐衷合规监管,大肆收集用户的隐衷信息(包含社交媒体账户材料、地位信息、Wi-Fi 信息、基站信息甚至路由器信息等)。
之后,该 App 进一步应用其余黑客技术伎俩,冲破零碎沙箱机制、绕开权限零碎改写零碎要害配置文件为本身保活(注:放弃过程继续沉闷),批改用户桌面配置暗藏本身或坑骗用户实现防卸载,通过多种操作实现更加荫蔽的长期驻留,甚至还实现了和特务软件一样的“云控开关”遥控机制,来规避平安检测。
最终,该互联网厂商通过上述一系列荫蔽的黑客技术伎俩,在其非法 App 的背地,达到了荫蔽装置晋升装机量、非法晋升 DAU/MAU、用户无奈卸载、攻打竞争对手 App、窃取用户隐衷数据、回避隐衷合规监管等各种违规守法目标。
二、破绽剖析
2022 年,Google 的 Project Zero 公布了一个在朝破绽利用的剖析,正告攻击者曾经瞄准各手机厂商的 OEM 代码局部,挖掘出其中的软弱点和破绽,组合出了一套残缺的提权攻打 Exploit。Project Zero 剖析的破绽利用链蕴含四个局部,齐全由三星代码中的破绽组成。
第一步,攻击者利用了 破绽 (CVE-2021-25337),这是一个 system_server 中导出的 semclipboardprovider 所存在的任意文件读写,容许攻击者以 untrusted_app 身份读写 users_system_data_file,也就是个别 system_app 的公有数据文件。
第二步,攻击者参考了三星 TTS 破绽研究成果,利用 TTS 中从本身配置文件加载任意动态链接库的能力,将第一个破绽转化为了一个 system_app 提权破绽。
在获取了 system_app 权限的代码执行能力后,攻击者执行最初两步,向内核进发:
首先,将三星设施中未更新的 Mali GPU 驱动内核信息泄露破绽 (CVE-2021-25369),和三星本人的 kmsg 泄露“个性”组合利用,最终取得内存基址和 addr_limit 地址。
而后,应用 DECON driver 中的 UAF 破绽 (CVE-2021-25370),联合堆数据,最终,利用 signalfd 零碎调用批改 addr_limit,转化为内核任意地址读写,实现提权。至此,一套残缺的提权攻打 Exploit 全副实现(上述攻打所波及破绽目前已全副修复)。
三星 OEM 破绽攻打是一个很典型的案例,能够看出,与 AOSP、上游 Kernel 的破绽开掘难度相比,手机厂商 OEM 代码局部的破绽开掘难度要低很多,且利用通常也相当稳固。于是咱们常常能够看到,各种特务软件的作者会频繁利用手机 OEM 代码破绽作恶。
因为,就有了某出名互联网厂商竟继续开掘新的安卓 OEM 相干破绽,在其公开公布的 App 中实现对目前市场支流手机零碎的破绽攻打。
该互联网厂商在自家看似有害的 App 里,应用的第一个黑客技术伎俩,是利用一个近年来看似石破天惊、但理论攻打成果十分好的 Bundle 风水 – Android Parcel 序列化与反序列化不匹配系列破绽,实现 0day/Nday 攻打,从而绕过零碎校验,获取零碎级 StartAnyWhere 能力。
上图即是其破绽利用链中的外围环节,利用了多个安卓手机厂商 OEM 代码中的反序列化破绽,实现了第一步黑客攻击:提权。实现了提权,该 App 事实上曾经实现了反客为主,通过 App 管制了用户的整个手机零碎。
家喻户晓,Android Framework 中一个外围的对象传递机制是 Parcel,心愿被通过 Parcel 传递的对象须要定义 readFromParcel 和 writeToParcel 接口函数,并实现 Parcelable 接口。
实践上来讲,匹配序列化和反序列化函数该当是自反等效的,但零碎 ROM 的开发者在编程过程中可能会呈现不匹配的状况,例如写入的时候应用了 writeLong,读取的时候却应用了 readInt。
这类问题在运行过程中个别不会引起留神,也不会导致解体或谬误,但在攻击者精心布局下,却可最终利用 Settings 和 system_server 过程,将这个渺小的谬误转化为 StartAnyWhere 提权。
Android 近年来累计已修复上百个这类破绽,并在 Android 13 中对 Parcel 机制做了改革,彻底杜绝了大部分此类攻击面。但对于鸿蒙和绝大部分未降级到 Android 13 的设施和用户来说,他们仍处于危险之中。
提权管制手机零碎之后,该 App 即开启了一系列的违规操作,绕过隐衷合规监管,大肆收集用户的隐衷信息(包含社交媒体账户材料、地位信息、Wi-Fi 信息、基站信息甚至路由器信息等):
之后,该 App 进一步应用的另一个黑客技术伎俩,是利用手机厂商 OEM 代码中导出的 root-path FileContentProvider,进行 System App 和敏感零碎利用文件读写;进而冲破沙箱机制、绕开权限零碎改写零碎要害配置文件为本身保活,批改用户桌面 (Launcher) 配置暗藏本身或坑骗用户实现防卸载;
随后,还进一步通过笼罩动静代码文件的形式劫持其余利用注入后门执行代码,进行更加荫蔽的长期驻留;甚至还实现了和特务软件一样的遥控机制,通过远端“云控开关”管制非法行为的启动与暂停,来规避检测。
最终,该互联网厂商通过上述一系列荫蔽的黑客技术伎俩,在其非法 App 的背地,达到了:
- 荫蔽装置,晋升装机量
- 伪造晋升 DAU/MAU
- 用户无奈卸载
- 攻打竞争对手 App
- 窃取用户隐衷数据
- 回避隐衷合规监管
等各种涉嫌违规守法目标。目前,已有大量终端用户在多个社交平台上投诉反馈:该 App 存在莫名装置、透露隐衷、无奈卸载等问题。
参考:
[1] https://googleprojectzero.blogspot.com/2022/11/a-very-powerfu…
[2] https://xz.aliyun.com/t/2364