我们如何绕过 Safari 17 的高级音频指纹保护

主要观点:浏览器可生成不可听的音频文件用于识别访客,Apple 在 Safari 17 中尝试对抗此识别可能性,但措施不完全有效。
关键信息

  • 音频指纹识别技术(audio fingerprinting):利用浏览器的 Audio API 生成音频指纹,其稳定但不独特,是 FingerprintJS 库的一部分,可用于识别匿名的不良行为者。
  • Safari 17 打破音频指纹识别:默认在私人(隐身)模式下启用高级指纹保护,通过向每个音频样本添加随机噪声来降低指纹准确性,导致指纹在正常和私人模式下不匹配,破坏了稳定性。
  • 绕过 Safari 17 高级指纹保护的方法:通过 3 个步骤改进指纹算法,包括减少噪声分散、推远浏览器标识符数字、四舍五入以去除剩余噪声,以去除 Safari 添加的噪声。
  • 性能方面:新指纹算法的性能比旧算法降低 1.5 - 2 倍,但在低端设备上计算时间仍较短,可在 Safari 17 中使用新算法,在其他浏览器中使用旧算法以提高性能。
  • 在隐私浏览器中的情况:像 Tor 这样的隐私浏览器完全禁用 Web Audio API,使音频指纹识别不可能;Brave 则像 Safari 17 一样向音频信号添加噪声,但噪声添加方式与 Safari 不同,之前的去噪方法在 Brave 中不适用,但增加浏览器指纹差异的方法仍有效。
  • 在 FingerprintJS 中的使用:新音频指纹算法已在 FingerprintJS 中替换旧算法,它是生成浏览器指纹的众多信号之一,虽对唯一性贡献小但稳定性高,可增加指纹准确性。
    重要细节
  • Safari 中添加噪声的代码实现及影响的 Audio API 接口。
  • 不同浏览器的音频指纹示例及差异。
  • 去噪过程中的各种步骤及代码实现,如减少噪声的方法、获取多个噪声副本的方法、调整音频节点以增加差异、四舍五入稳定结果等。
  • 性能测试结果及不同浏览器的指纹计算时间。
  • 在隐私浏览器中 Brave 和 Safari 的噪声添加差异及相应的处理方法。
阅读 14
0 条评论