研究人员在iOS的内置散列函数算法中发现了碰撞攻击漏洞,引起了人们对苹果公司CSAM扫描系统的新关注,但苹果公司表示,这一发现并没有威胁到该系统的完整性。
该漏洞影响了名为NeuralHash的散列算法,该算法允许苹果公司在不拥有任何图片或收集任何非匹配图片信息的情况下,检查图片与已知的虐待儿童图像是否完全匹配。周二,一个名为Asuhariet Ygvar的GitHub用户发布了一个重建的Python版本的NeuralHash代码,他声称已经从以前的iOS版本中逆向开发了这个版本。
该GitHub帖子还包括如何从当前macOS或iOS构建中提取NeuralMatch文件的说明。由此产生的算法是NeuralHash的通用版本,而不是拟议的CSAM系统部署后将使用的具体算法,但它仍然给出了该算法的优势和劣势的总体概念。
早期测试表明,它可以容忍图像的大小和压缩,但不能容忍裁剪或旋转。Asuhariet Ygvar在Reddit上分享了新代码,希望这能帮助外界更好地理解NeuralHash算法,并在它在所有iOS设备上启用之前知道它的潜在问题。此后不久,一个叫Cory Cornelius的用户在算法中发现了碰撞攻击漏洞,可以产生两张相同哈希值的图片。这是一个重要的发现,因为苹果公司说其CSAM系统的额外保护措施将防止它被不法利用。
8月5日,苹果公司推出了一个新系统,用于阻止iOS设备上的虐待儿童图像。在新系统下,iOS将根据国家失踪和被剥削儿童中心(NCMEC)生成和维护的虐待儿童图像的哈希值检查本地存储的文件。该系统包含许多隐私保护措施,将扫描范围限制在iCloud照片上,并设置了一个阈值,即在生成警报前发现多达30个匹配项。然而,隐私倡导者仍然担心扫描本地存储文件的影响,新的发现加剧了人们对该系统可能被利用的担忧。
苹果公司表示,鉴于感知散列算法的已知局限性,其CSAM扫描系统在构建时已考虑到碰撞攻击问题。该公司强调了一个独立于NeuralHash的二级服务器端散列算法,其具体细节没有公开。如果一张由NeuralHash碰撞攻击的图片被系统标记出来,它将被送二级服务器检测,并在人工审核之前被确定为误报。