三星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

你可能感兴趣的:(三星Find My Mobile安全漏洞)