Wi-Fi Direct移动文件传输的新型滥用
Wi-Fi Direct规范(又称“点对点”或“P2P”Wi-Fi)于2020年4月迎来十周年。这项802.11扩展自Android 4.0起通过专用API提供,利用设备内置硬件直接通过Wi-Fi互连而无需中间接入点。多家移动厂商和早期采用者迅速利用该标准为产品提供快速可靠的文件传输解决方案。
近十年后,绝大多数移动OEM仍依赖定制化封闭实现进行文件传输,尽管大型跨厂商联盟(如“点对点传输联盟”)和谷歌等巨头(通过近期“Nearby Share”功能)正推动改变这一现状。
复现性设计模式
在多数OEM解决方案中,移动文件传输应用会启动两个服务器:
- 文件传输控制器/客户端(FTC):管理大部分配对和传输控制流程
- 文件传输服务器(FTS):检查会话有效性并提供目标共享文件
这两个服务用于设备发现、配对会话、授权请求和文件传输功能,通常作为共享父应用的类协调整个传输过程。关键点在于:P2P Wi-Fi连接建立后,其网络接口(p2p-wlan0-0)对设备上所有拥有android.permission.INTERNET
权限的应用开放,这使得本地应用可与文件共享应用启动的FTS/FTC服务交互,开启多种攻击途径。
LG SmartShare Beam漏洞
LG的SmartShare解决方案使用FTS(FileTransferTransmitter
)和FTC(FileTransferReceiver
)分别在54003和55003端口监听。研究发现存在以下问题:
- 无需有效会话ID即可完成传输:攻击者可通过向固定端口55432发送PUT请求劫持传输
- 文件名和类型可被任意篡改:PUT请求路径可被修改为任意值
- 无需用户确认即可批量发送文件:RX端口开启后可实现多文件无声传输
恶意应用可利用这些缺陷劫持合法传输,甚至实现蠕虫式APK传播。
华为Share服务崩溃滥用
华为Share的FTS(FTSService
)和FTC(FTCService
)分别在8058和33003端口监听。虽然协议设计较LG更为完善,但服务稳定性存在严重问题:
- 通过特制HTTP请求可触发FTCService/FTSService崩溃
- 利用UPnP事件通知架构(GENA),攻击者可在服务崩溃后绑定端口并窃取会话ID
- 崩溃对用户完全透明,且存在多个可复现的崩溃向量
小米Mi Share混合架构风险
小米MiShare采用双API架构:
- HTTP RESTful接口
- 默认启用的WebSocket Secure(WSS)接口
发现的安全问题包括:
- 文件大小参数可信度漏洞导致存储空间耗尽攻击
- 19位会话令牌(taskId)使用弱随机数生成器(
java.util.Random
) - 第三方应用可干扰传输过程(尽管服务重启速度较快限制了攻击窗口)
值得肯定的是,MiShare通过每会话TLS证书加强了WSS/HTTPS通信的安全性。
结论
本文描述的攻击可复现于其他移动文件传输解决方案。尽管核心技术已存在多年,OEM厂商仍在保护其P2P共享方案方面面临挑战。其他常见漏洞包括访问控制缺陷、路径遍历、XXE、文件管理不当和中间人攻击等。
所有漏洞已于2020年4月至6月间负责任地披露给相关OEM安全团队。
相关文章推荐:
One Bug To Rule Them All: Modern Android Password Managers and FLAG_SECURE Misuse
2019年8月22日发布