三星 Find My Mobile 安全漏洞

  • 时间:
  • 来源:网络

   

三星 Find My Mobile (FMM)服务允许三星设备所有者远程定位其智能手机或平板电脑、备份设备上的数据到云端、擦除本地数据、阻止三星 pay 的使用。在本届 DEF CON 大会上,葡萄牙网络安全公司 Char49 研究人员分享了三星 Find My Mobile 安卓应用程序的多个安全漏洞。攻击者利用目标设备上安装的恶意 app 可以发起 man-in-the-disk(中间人)攻击来劫持后端服务器的通信,并监听受害者。

fmm.prop 测试文件漏洞

app 会检查文件 /sdcard/fmm.prop 的存在,并从中加载 2 个特性:mg.url 和 dive.url。该位置允许恶意引用来创建文件并有效修改 URL 终端,FMM 用 URL 终端来与后端服务器进行通信。因此,攻击者可以创建中间人攻击的场景,监控 FMM 调用后端。

通过修改文件是不够的,必须让 FMM APP 获取文件的控制前。此外,事实上只有 mg.url 被使用了。

PCWReceiver 漏洞

App 中有 3 个没有被任何权限保护的导出的广播接收器,本例中是 com.sec.pcw.device.receiver.PCWReceiver。通过发送含有 action com.samsung.account.REGISTRATION_COMPLETED 和非空 bundle 的广播,就会导致 DM 服务器和 DS 服务器 URL 终端更新到攻击者控制的值。

在服务器端,攻击者有许多敏感信息。首先,受害者通过请求的 IP 地址来获取位置,还有许多的 PII 信息。

SPPReceiver 漏洞

有漏洞的类为 com.sec.pcw.device.receiver.SPPReceiver,研究人员分析发现有漏洞的代码中有一个未受到保护的广播接收器—— com.sec.pcw.device.receiver.SPPReceiver。通过发送 action 为 fb0bdc9021c264df 的广播,就可以发送消息给 SPPReceiver。

如果发送特定消息的子集,就会获取与 DM 服务器通信的 FMM。因为 MG 服务器会注册和传递报告,而 DM 服务器会保存用户的动作。因此,不仅可以定位手机,还可以根据 API 等级和 FMM 版本擦除设备上所有的数据,提取电话和短信日志、解锁设备等。

DM syncml:auth 漏洞

来自和发送 DM 服务器的请求和回复都有 syncml:auth-md5,syncml:auth-md5 是认证来自服务器的消息的 base64 编码的字符串。工作原理如下:

· 客户端连接和在会话的第一个请求中发送 syncml:auth-md5 域;

·服务器在响应中响应其他的 syncml:auth-md5 域,其中第 1 个是依赖于客户端挑战和 IMEI 的;

·客户端接受所有服务器响应。

该机制中没有消息签名和任何预防消息被篡改的机制,这对攻击者来说是一个攻击面。

完整攻击链

攻击中攻击者可以将 4 个漏洞链起来实现在用户手机上执行任意 FMM 操作:

·Fmm.prop 修改为攻击者控制的 MG 服务器;

·广播发给 PCWReceiver,迫使其他后端服务器更新,尤其是 DM 服务器;

·广播发送给 SPPReceiver,使得 FMM 联系攻击者控制的 DM 服务器,取回任意操作;

·攻击者 DM 服务器 Mitm 链接,连接到原始的 DM 服务器,获取 auth-md5 响应并在给客户端的回复中注入自己的 action;

· 智能手机执行攻击者的 action,比如获取用户物理位置、锁定手机、监听用户、擦除手机信息(恢复出厂设置)等。

漏洞影响

有漏洞的 Find my Mobile 版本为:

Package: com.samsung.android.fmm Application Label: Find My Mobile Process Name: com.samsung.android.fmm Version: 6.9.25

漏洞影响包括 Galaxy S7、S8、 S9+ 设备在内的所有运行该版本的三星账号所有者。

更多技术细节参见:https://char49.com/tech-reports/fmmx1-report.pdf