今天给大家介绍的论文Wear’s my Data? Understanding the Cross-Device Runtime Permission Model in Wearables来自IEEE S&P 2024,是一篇关注可穿戴设备上用户隐私安全的研究论文
这篇论文讨论的应用场景如下图所示。其实这个场景——手机和可穿戴设备上两个APP配合起来工作——并不算全新的一个场景,以前也有论文讨论过(在RAID 2020上有一篇非常类似的Wearflow论文)。简单来说,就是手机APP和可穿戴设备APP之间共享了数据,因此两者的权限应该视为是它们在各自设备上的权限的并集,但是手机和可穿戴设备的OS(Wear OS)之间却很少会互相“沟通”这些情况,因此会出现下图这种矛盾的情况:用户在可穿戴设备上拒绝了特定的APP对地理位置信息的请求,但是忘记了拒绝这个APP在手机上的“同伙”APP的同类权限请求,两个APP最后通过数据共享都获得了地理位置信息这类敏感数据。
如果攻击者把这种数据共享的特性利用起来,就会形成作者所谓的cross-device permission phishing attack这样一种攻击(如下图所示)。不过如果你许多年前就开始关注Android安全的话,对这种攻击其实并不会感到陌生。实际上,早年间在Android系统上具有相同开发者签名的APP可以共享权限的特性,也同样被攻击者和恶意代码开发者利用过,天底下并没有什么特别新鲜的安全攻击~
既然这个安全问题并不是那么的出人意料,那么解决方案其实也比较的中规中矩。“老一辈”的Android安全研究人员都很熟悉基于数据流分析(污点分析)的隐私数据流追踪,特别是利用大名鼎鼎的TaintDroid系统来帮忙。在本文中,作者分析表明,只需要改造一下传统的数据流追踪,防止在下面这种例子的情况下“断流”即可。实际上,我们可以认为,当隐私数据从手机(或者可穿戴设备)流出到可穿戴设备(或手机)时,也将其认定为是一类新的数据sink,就自然拓展了原有的模型。
基于此,作者设计了FlowFinder
系统(工作流程图如下,非常直观),并利用其分析了150款APP(包括Android和Wear OS上的APP)。
针对这些APP(主要涉及了四家可穿戴设备厂商——Google、Apple、Fitbit和Garmin),作者发现其中有28个APP存在数据违规行为(包括敏感数据在未严格声明的情况下,从手机流向可穿戴设备和从可穿戴设备流向手机的情况),下表展示了具体存在问题的APP信息:
由于本文的研究方向和RAID 2020那篇Wearflow论文非常接近,作者也直接对比了Wearflow
系统和自己开发的FlowFinder
,展示了FlowFinder
的优势:
本文的最后一部分,作者总结到:针对这种跨设备的数据共享使用,大部分APP都(无意或者有意)存在数据安全问题。作者认为,要想从本质上解决这个问题,就要设计新的数据权限模型,从根本上解决开发人员容易犯错的现状。因此在论文的第五章,作者花了很大的篇幅来记录了他们所做的一项user study,去了解到底开发人员对这种跨设备开发的安全认识有多深入,以及可能存在哪些“坑”。这部分内容虽然比较“软”,但是就像科幻爱好者经常说的“软科幻”和“硬科幻”都是好的科幻作品一样,我们写论文也要更重视这种人文关怀,多学习一下和usability相关的内容,不能一味的技术至上论。
论文:https://www.computer.org/csdl/proceedings-article/sp/2024/313000a077/1RjEaMvw3iE
代码与数据:https://github.com/purseclab/WearOS
原文始发于微信公众号(安全研究GoSSIP):G.O.S.S.I.P 阅读推荐 2023-11-06 Wear’s my Data
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论