此次攻击旨在匿名比特币地址和比特币钱包应用用户之间的匿名交易。近年来,比特币的匿名性成为热门研究课题。已经证明,如果SPV客户端(比特币钱包应用)有少量的比特币地址(例如小于20个),攻击者用单个过滤器就能从拦截的filterload消息中正确猜测出所有这些比特币地址的概率为80%,过滤器使用的目标误报率为0.05%。然而,现有技术有三个关键限制。首先,如果攻击者不能长时间持续监控受害者,攻击者可能无法拦截受害者发送的filterload。其次,猜测受害者所有比特币地址的准确性很大程度上取决于受害者使用的比特币地址数量。例如,当SPV客户有50个比特币地址时(0.05%的目标误报),考虑到区块链已经增加了7.149亿个比特币地址,直到2020年9月1日,攻击者正确猜测所有这些比特币地址的概率将大大降低到6.67×10(212)%。第三,现有技术没有识别比特币钱包应用用户的真实身份(例如姓名),因此对现实世界的损害有限。
本研究中的比特币匿名攻击旨在解决上述问题。通过利用漏洞V1,攻击者可以强制受害者的SPV客户端主动传输多个不同的filterload消息。每封邮件都有一个默认误报率为0.001%的过滤器。通过处理多个过滤器,攻击者可以将识别的比特币地址的错误率降低到可接受的水平(例如,三个不同的过滤器获得10%到13%的错误率)。具体来说,在这次攻击中,考虑到所有使用的比特币地址(即7.149亿),误识别的比特币地址数量为0.0000072。由于差错率低,识别出的比特币地址可以开发成新的唯一钱包指纹。两个用户生成同一个比特币地址的可能性极小。此外,通过利用智能手机上流行的Wi-Fi呼叫服务(也称为WiFi语音,VoWiFi)的漏洞,攻击者可以发现比特币钱包应用程序用户的身份。请注意,直到2019年2月,52个国家/地区的许多蜂窝网络运营商都广泛支持Wi-Fi呼叫服务。
攻击者假设受害者的智能手机支持Wi-Fi呼叫服务,攻击者可以在公共场所(如星巴克、沃尔玛、麦当劳)附近的受害者附近部署Wi-Fi网络和监控摄像头。事实上,攻击者要达到这个目的并不是很难。例如,攻击者可以通过在智能手机上使用移动热点服务,并将智能手机用作面向受害者的监控摄像头,来部署流氓AP(如模拟星巴克的Wi-Fi)。
攻击设计:上图说明了这次攻击的流程图。首先,如前所述,攻击者可以拦截所有受害者包。其次,为了分析这些数据包,开发了一个比特币地址匿名器,该匿名器由两个模块组成:(1)用户身份推断模块和(2)比特币地址发现模块。接下来,将详细介绍这两个模块的设计。用户身份推断:利用新部署的蜂窝网络服务、Wi-Fi呼叫服务和可视化技术,推断智能手机上比特币钱包所有者的用户身份。该模块通过使用独特的人类通话动作(即接听电话时将手机移至右/左耳,通话结束时放下手机)和视觉检查技术来推断用户身份。