运营商底层协议“漏洞”:通过手机号算出使用者的现实位置,几乎零成本
2023-6-21 15:30:17 Author: hackernews.cc(查看原文) 阅读量:43 收藏

一个大学研究团队发表论文,提出了新型侧信道攻击方法“离奇泄密短信(Freaky Leaky SMS)”,可根据短信送达报告的时间推断接收者的现实位置。

短信送达报告由移动网络的短信服务中心(SMSC)处理,通知用户短信是否已传送、被接受、发送失败、无法送达、已过期或被拒绝。虽然这个过程涉及路由、网络节点传播和处理延迟,但移动网络的固定性质和特定物理特征决定了短信送达报告在标准信号路径的传播时间具有可预测性。

研究人员开发了一种机器学习算法,通过分析短信送达报告中的时间数据确定接收者位置。如接收者位置位于不同国家,算法准确率可达96%;如两个接收者位置位于同一国家,算法准确率可达86%。

准备工作

攻击者首先需要收集一些测量数据,用于建立短信送达报告与目标已知位置之间的具体关联。

14cd03079a55af5e2f9508094a472d48

短信传输图解(arxiv.org)

攻击者获取的目标行踪的数据越精确,机器学习模型在攻击阶段对位置的分类结果将更准确。

为了收集数据,攻击者必须向目标发送多条短信。他们可以将这些短信伪装成广告信息,这样接收者会忽视它们或将其视为垃圾短信。攻击者也可以使用静默短信。静默短信是一种没有内容的0级短信,在目标屏幕上不产生任何通知,但SMSC上的设备仍会确认接收。

在实验中,论文作者使用安卓调试工具(ADB),向美国、阿联酋和七个欧洲国家的多台测试设备,连续三天每小时发送20条静默短信,范围涵盖了十家运营商,涉及多种不同代际的通信技术。

随后,他们测量了每个案例短信发送报告的时间,并将数据与匹配的位置标识符相结合,生成了一个全面的机器学习评估数据集。

机器学习模型总共使用了60个节点(10个输入节点、10个输出节点、40个隐藏节点)。训练数据还包括接收位置、连接条件、网络类型、接收者距离等信息。

853b4fdab54f6f23cd06536f28bc56c0

攻击步骤图解(arxiv.org)

定位接收者

实验侧重于“封闭世界”攻击场景。该场景中存在多个预定位置,研究目标是将目标分类到某一预定位置。研究人员发现他们的模型能够非常准确地区分国内和海外位置(准确性高达96%),对不同国家的分类准确率也相当高(92%),亦可以较好地区分同一地区的不同位置(62%至75%)。

6365b6d44c18ff4c0c31002973498640

全球分类结果(arxiv.org)

准确性取决于位置、运营商和条件。以德国为例,实验系统对57个不同类别的平均准确率为68%,分地区预测准确率最高可达92%。系统在比利时取得了最佳结果,平均正确预测准确率为86%,分地区预测准确率最高可达95%。

58087df2e171c51da8e134173b5c5255

完整实验结果(arxiv.org)

如考虑德国的三个位置,模型的平均预测准确率下降至54%,分地区预测准确率最高达到83%。尽管如此,准确率仍然明显高于随机预测算法的33%。如考虑希腊的三个位置,模型实现了不错的平均预测准确率,达到了79%(随机预测算法为33%),分地区预测准确率最高达到82%。

9444370deda693f213a2f378bac6196f

实验结果摘要(arxiv.org)

研究人员将在未来探讨目标访问未知位置的“开放世界”场景,并在论文中简要解释预测模型将如何适应这些场景。

简而言之,基于概率输出、异常检测,并在机器学习训练数据集中纳入地标和其他感兴趣位置,将可以实现开放世界攻击。不过,攻击规模将呈指数增长,这超出了本文的讨论范围。

结论

“离奇泄密短信”攻击方法准备工作繁琐,实施过程复杂,并非适用于所有情况,且面临若干实际限制。虽然有这些局限,它依然对用户带来了潜在隐私风险。

这篇论文的一个作者Evangelos Bitsikas告诉外媒BleepingComputer,本实验中,研究人员将自己视为基准攻击者。也就是说,他们限制了攻击者的资源、机器学习知识和技术能力。这意味着,拥有更多资源、经验丰富的攻击者理论上可以产生更大的影响,甚至在“开放世界”攻击场景中有所斩获。

值得注意的是,该研究团队去年还开发了类似的定时攻击,证明通过信息送达报告,可以大致定位Signal、Threema和WhatsApp等流行即时通讯工具的用户。


转自 安全内参,原文链接:https://www.secrss.com/articles/55811

封面来源于网络,如有侵权请联系删除


文章来源: https://hackernews.cc/archives/44225
如有侵权请联系:admin#unsafe.sh