关于 Apple 扫描儿童色情照片的技术讨论

2021-08-10 18:34:30 +08:00
 minsheng

这两天看了无数人讨论 Apple 的 CSAM,感觉大家说的话都互相冲突,也没有人讨论 Apple 所谓的本地扫描的具体实现,有点难受。于是我自己相对认真的读了一下 Apple 发布的技术总结。这里简单分享一下我的理解,欢迎做纯技术讨论。

首先,Apple 非常明确,它做的是图片匹配,不是图片识别。图片的来源是第三方 NGO 机构,但它们仅提供图片,不存在提供神经网络模型的地方。Apple 希望自己的系统实现以下几点:

我个人把系统理解成三个部分:

本地的 voucher 生成系统确保了用户既无法访问 CSAM 图片数据库,也不知道自己的哪张图片被标记了。后者则从数学上确保了 Apple 无法访问不匹配的用户图片。更重要的是,即使误伤了,也需要误伤足够多的次数,Apple 才可以解开匹配的图片。这里分别用了「 private set intersection 」和「 threshold secret sharing 」这两项技术。

NeuralHash

NeuralHash 是 neural + hash 两个部分组成。Apple 训练了一个 CNN 网络,输入图像,输出一个图像的向量表示。这个 CNN 的目的是,让相近的图片映射到相近的表示上去。紧接着,Apple 使用称之为 hyperplane locality-sensitive hashing (LSH) 的技术对生成的向量表示进行处理。

我完全没听过 LSH 这个概念,根据维基百科的描述,LSH 把近似的输入放到同一个 bucket 里面;与软件开发日常接触的 hash 相比,普通的 hash 尽可能避免碰撞,而 LSH 从某种意义上最大化了碰撞。感觉这是一种对数据集做聚类的办法。

Apple 用 NeuralHash 想解决的一个问题是优化空间。把几十万张色情图片存到每个人的手机里显然是不可能的;即使通过 CNN 提取特征向量,结果也很大,但是得到的特征向量再进一步 hash,Apple 实现了可以给每一部设备上放下完整的 CSAM 数据集。

Apple 还简单描述了一下 CNN 的训练,是一个很简单的无监督学习,即给网络一对图片,输出两张图片的差。一方面,Apple 会从一张图片生成一个篡改过但视觉相等的图片,让网络输出的差尽可能小;另一方面,将两张不同的图片放在一起,让网络输出的差尽可能大。后者很有必要,不然网络可能会给任何一对图片都输出零,这样就没有意义了。

Hyperplane LSH 跟图片没啥关系,它的任务就是对图片的特征向量做压缩,并满足让相近的两个向量输出的结果相同

Private Set Intersection

但其实 NeuralHash 只是解决了图片匹配的问题。真正体系 Apple 这套系统对隐私的保护的是 Private Set Intersection (PSI) 和 Threshold Secret Share 。没有人关心,但非常有趣,所以我就简单说一下。

首先,Apple 需要对每张图片生成一定的额外信息( payload ),这些信息的具体设计会在后面提及,而它们的目的,则是在发现某个用户匹配足够多的图片的时候,帮助 Apple 读取相应的图片,人工审核。PSI 的设计是,当且仅当某张用户的图片 NeuralHash 等于 CSAM 数据库里的某张图片的 NeuralHash 时,对应的 payload 才会被解开。因此,这个问题也就变成了根据 NeuralHash,构造一个密钥,用来加密 payload 。如果这个密钥能成功解密 payload,那么这个 payload 所属的图片,必然匹配该 NeuralHash 对应的图片。若解密失败,则该 payload 的原始图片不是我们想要的图片,且因为 payload 无法被解开,用户信息也不会被泄漏。

这里的点主要在于:

Apple 的实现思路是这样的:

在 iCloud 服务器上,服务器可以重做这一步。首先,根据用户上传的 ID 和 payload,拿到图片的 NeuralHash 。然后,用 blinded NeuralHash 和该图片的 NeuralHash 计算密钥,并解密 payload 。如果用户的图片确实对应了 CSAM 数据库里的图片,那么 payload 可以正确解密;若只是 hash 碰撞,解密会失败,匹配失败,用户的 payload 隐私得到了保护。

Apple 并没有讨论如果用户的图片的 NeuralHash 的 ID 不匹配数据库里的任意条目的情况。这种情况说明该图片肯定不在 CSAM 中,但是这会提前暴露用户匹配结果。我估计 Apple 的做法是通过调整 hash,是 ID 空间变小,并对不存在的条目,生成假的 blinded NeuralHash,一并发给用户。在服务器上只需要检测 ID,如果来自假的条目,则直接匹配失败,且用户设备不知道这一点。

Threshold Secret Sharing

这个系统的具体算法 Apple 一笔带过。我问了了解相关领域的同学,发现其实是一个非常基本的技术。其解决的问题 Apple 也大概描述了一下:

举个例子,比如说你有一个一元二次多项式 P(x) = ax^2 + bx + s,s 就是你要保守的秘密,有四个人,你可以告诉每个人 P(1)、P(2)、P(3)、P(4) 分别是多少。每个人都可以化简自己的等式:

当我们只知道一个或者两个人的数字的时候,是无法解密的,但比如说我们知道 P(1)、P(2)、P(3) 均是 0 的时候,就很容易解出 s = 0 。

简单来说,Apple 做了一个双重加密系统。首先,Apple 给每个账号生成一个密钥,只存在用户设备里。然后,Apple 用这个密钥加密每张图片的 payload,并且将加密的结果和这个密钥的一部分( secret share ),一起用 NeuralHash 导出的密钥进行加密。

首先,如果一张图片压根没有匹配 CSAM 数据集,那么 Apple 将无法获得用户密钥的任何 share 。只有等匹配了之后,Apple 才能拿到一个 share 。当拿到的 share 数目超过一个阈值之后,Apple 才能用这些信息构建出用户密钥,解密图片的 payload 。即使在这个时候,也只有匹配的图片的 payload 可以被解开,因为其它图片的数据被 NeuralHash 衍生的密钥保护着。

Apple 还提到用户设备会随机生成假的 voucher 。这些 voucher 在 iCloud 中会通过第一层匹配,但是其 payload 并不会包含任何有意义的信息,无法解开第二层的密钥。通过调参,这些生成的 voucher 的数目会和匹配的图片的数目处于同一数量级,这样,在解开第二层密钥之前,Apple 就无法准确判断一个用户究竟有多少图片已经匹配,最大程度保护用户隐私。不过这一段的具体思路我没有特别看懂。

欢迎大家讨论。

11554 次点击
所在节点    Apple
124 条回复
Greatshu
2021-08-11 09:12:55 +08:00
@imnpc #59 是扫描手机照片而不是 iCloud 吗,哈人。相当于是系统级的后门,合法监控每一台 iPhone,FBI 再也不用担心解不开锁屏密码了。
Greatshu
2021-08-11 09:18:24 +08:00
hello2066
2021-08-11 09:19:28 +08:00
@imnpc 要是动了有何后果?
hello2066
2021-08-11 09:24:34 +08:00
@Greatshu 这个,苹果监测到上报 FBI, FBI 直接就能把人扔牢里去了吗?要法院判吗?要法庭上出示证据吗?以后就手机里有拜登光屁股的照片就会坐牢了?
o00o
2021-08-11 09:25:44 +08:00
为了万分之一非法用户影响万分之 9999 的正常用户,除了审查想不出其他理由,为了以后反恐?
tutustream
2021-08-11 09:29:07 +08:00
讨论来讨论去也没啥用,那些把苹果技术方面说的头头是道的老哥不知道是真不懂还是假不懂,这玩意主要问题不是在技术上,而是在对苹果和老美的信任上。
Greatshu
2021-08-11 09:34:53 +08:00
@hello2066 #64 微信公众号有一些文章是可以查看但禁止分享的,苹果完全可以这么干,对于敏感但有没必要动用暴力机构的照片,不允许被其它软件访问
xingyuc
2021-08-11 09:43:02 +08:00
@levn 成分?成分是地主,要打倒吗
hello2066
2021-08-11 09:44:50 +08:00
@Greatshu 那个的前提是美国社会到了那个地步,没有一个公司能脱离社会现实存在,所以讨论苹果的话,只要讨论这技术就行了,什么监控机密文件啦,监控负面内容啊,这根本就不是苹果一家公司的事。
xingyuc
2021-08-11 09:47:42 +08:00
@Greatshu 众所周知,中文互联网不管墙内墙外都全身是敏感点
xingyuc
2021-08-11 09:49:27 +08:00
@tutustream 一直以来,我国政。府都在教育我们不要相信美帝国主义
cxe2v
2021-08-11 10:05:58 +08:00
@xingyuc #71 政什么?你连个完整的词都打不出来哈哈哈
anzu
2021-08-11 10:06:43 +08:00
CSAM 数据库由其它机构提供。假设上层需要追查一个 CIA 在逃雇员,于是在数据库中插入此人在家中计算机遗留的手机照片数据,其中包括其孩子的照片。

Apple 收到扫描警报,但在检查过程中发现只是一些普通的儿童照片,询问相关机构,答复是:这名儿童正在遭受侵害,请提供该手机用户的信息。

那么如果你是 Apple 的工作人员,在无法得知更多信息的情况下,你是否会提供用户信息?

更进一步地,上层甚至可以伪造信息,将这些正常照片发布至非法网站,作为证据提交给 Apple 。苹果能应对多少?

但是上面这些都不重要。从一开始就不是技术问题。

问题的本质是,苹果从一个中立的第三方机构,一个被执法者,上升为执法者,甚至是检察官的身份,这是权力的扩张,结果必然是用户的权利(隐私权)收到侵害。
datoo
2021-08-11 10:13:48 +08:00
完全支持这个技术。有个这个技术警察就不需要单独扫描手机了,直接检测 iCloud 账户。谁敢传播违法图片,直接抓人
kop1989
2021-08-11 10:21:54 +08:00
@minsheng #6 “非常单纯的图片匹配系统”却可以识别“相近”,或者说“被故意更改特征”的图片,而不是完全相同的图片。所以我在上文中用了“模型”而不是“特征库”。

换而言之,这是每个人心里对于“泛化识别模型”与“特征库智能识别”之间定义的区别。

苹果通过将 key 碎片化( share )实现了“突破阈值才能解密”。但阈值是苹果定的,“特征库”智能纠错匹配的冗余度是苹果训练的。甚至训练图片的内容,都是无法监督的。

所以他整套技术在目前公开的信息看来,隐私方面只解决了个寂寞。
一切的关键变量与阈值都是无法通过技术客观佐证与呈现的。
但其对于“识别”、“加密”这块又浓墨重彩的宣传了一波。

这就导致从客户角度看苹果非常拧巴,一边大肆宣传他的算法多么的可靠,但另外一边又是千疮百孔。
上身是西装,下身是内裤。

@tmado #29 楼主也说了,其实其这套技术本身,实现很强,但基础知识并不高深,也都是业界的常规操作。所以没什么可“讨论”的。(你会去讨论加减乘除、牛顿力学么?)

如果必须要讨论技术的话:

1 、share key 的阈值是否动态可变?有没有技术特征保证其不可变?比如上公共区块链?
2 、识别结果不呈现给用户,那么如何佐证与呈现“特征库”的识别范围?有没有监督机制?
3 、技术上如何呈现“关闭 icloud 就不会被匹配”?(毕竟匹配是本地的)
hahastudio
2021-08-11 10:28:13 +08:00
你看英国当时用同样的理由让 ISP 封网站,结果变成了什么?
去看一下维基百科上面的 Web blocking in the United Kingdom
mikeven
2021-08-11 10:33:14 +08:00
@ufjfeng #59 感觉 9 成以上的用户都会用 icloud 相册,很难有不用的
hello2066
2021-08-11 10:33:25 +08:00
@anzu 既然你这么说,有哪家企业能抵抗 zf 的要求呢?在大街上一个警察让你交出身份证你不也乖乖的。你自己都做不到的事要求别人不合适吧。
doveyoung
2021-08-11 10:37:37 +08:00
《疑犯追踪》是一部好剧,系统在设计之初就决定了内部不可见
系统分布式存储,AI 自己把自己邮寄到各个地方
人类不知道具体存放地点
有且仅有这个 AI 知道所有的监控信息,
监控案件时 AI 只会吐出社保号码
你无法得知这个社保号码是加害者还是被害者,或者是相关人

---
尽管如此,最后还是被高层想办法复制了一份,得到了所有他们想得到的信息
VIVVACI
2021-08-11 10:59:16 +08:00
让我简单分析一下这个垃圾的策略
1 、安全性。理论上,哈希是敏感的,一个比特改变就会产生不同的哈希结果,这个显然不符合 apple 的初衷,所以一定是采用了图像处理技术。也就是说,这个算法可以直接拿到我的相册的真实内容。这意味着如果程序设计出问题、有人做出漏洞,也可以看到我的相册内容。所以不安全。
2 、可靠性。虽然图像处理技术是可以避免哈希的敏感程度,但是用神经网络的就会有对抗攻击,那么我在原始图片下加入某种噪声,人眼看几乎没有任何区别,但是可以让敏感图片脱敏,神经网络失效。同样的,如果别人用加了某种噪声的正常图片发给我,那么有可能可以做到恶意的诬陷。所以不可靠。
3 、敏感的界定。如果父母,记录孩子的成长过程,比如第一次洗澡的纪录,是否会触发?
4 、算力开销问题。我的本地设备要生成 hash,那么这部分的算力开销是我自己承担的,也就是我花钱买了一个对我完全没有任何益处的功能。耗电量?手机性能损失?发热?这些问题谁来负责。
5 、有什么权利扫描我的东西。如果是我分享了链接、发布了消息、别人都看的到,那么你去扫描去。但是我我自己的东西你为什么要扫描?顺便看一下 iCloud 的条款,可以看到一点条款都没有违反,但是让人感觉十分不爽。
“You understand that by using the Service you may encounter Content that you may find offensive, indecent, or objectionable, and that you may expose others to Content that they may find objectionable. Apple does not control the Content posted via the Service, nor does it guarantee the accuracy, integrity or quality of such Content.”
首先是别人用 icloud 给你发了让你不爽的或者淫秽的内容,诶,我苹果不管,跟我没有半毛钱关系。
“You acknowledge that Apple is not responsible or liable in any way for any Content provided by others and has no duty to screen such Content. However, Apple reserves the right at all times to determine whether Content is appropriate and in compliance with this Agreement, and may screen, move, refuse, modify and/or remove Content at any time, without prior notice and in its sole discretion, if such Content is found to be in violation of this Agreement or is otherwise objectionable.”
“Apple reserves the right to take steps Apple believes are reasonably necessary or appropriate to enforce and/or verify compliance with any part of this Agreement. You acknowledge and agree that Apple may, without liability to you, access, use, preserve and/or disclose your Account information and Content to law enforcement authorities, government officials, and/or a third party, as Apple believes is reasonably necessary or appropriate, if legally required to do so or if Apple has a good faith belief that such access, use, disclosure, or preservation is reasonably necessary to: (a) comply with legal process or request; (b) enforce this Agreement, including investigation of any potential violation thereof; (c) detect, prevent or otherwise address security, fraud or technical issues; or (d) protect the rights, property or safety of Apple, its users, a third party, or the public as required or permitted by law.”
然后再说,只要我乐意去调查,看看你的内容是不是违反了 iCloud 的使用条款,那么我就可以随时看。

只能说两个字,恶心。我花了钱买设备,买当初你们宣传的性能,现在突然要分出去一点给你们做处理,完成你们的业绩,真是恶心。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/794903

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX