整理 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

还记得上周,苹果宣布即将推出 CSAM 检测系统时,遭到了 4000 多个组织及个人的公开反对,他们质疑苹果此举会破坏用户隐私和端到端加密机制。彼时,苹果给出的回答是:将利用一种名为 NeuralHash 的加密算法,不会直接查看用户相册。

本以为这个神秘的 NeuralHash 会在苹果力排众议真正推出 CSAM 检测系统时才能感受到,不曾想原来它早已藏在了 iOS 14.3 中!

近日,一位 Reddit 用户 Asuhariet Ygvar 通过逆向工程将隐藏在 iOS 14.3 中的 NeuralHash 完全“破解”,并在 GitHub 上分享了他用 Python 重建的整个 NeuralHash 算法,甚至在 macOS 和 Linux 上都可以尝试体验。

这还没完,在  NeuralHash 算法被公开的几个小时后,一件令苹果更为头疼的事发生了:一位英特尔实验室的研究人员 Cory Cornelius 发现 NeuralHash 存在“哈希冲突”的问题

隐藏在 iOS 14.3 中的秘密

据 Asuhariet Ygvar 在 Reddit 上的说法,NeuralHash 算法早就存在于 iOS 14.3,只不过藏在了模糊的类名之下因此难以发现。

在对隐藏的 API 进行挖掘时,Asuhariet Ygvar 发现了 NeuralHash,随后通过逆向工程将其模型(在 iOS 14.3 中名为 MobileNetV3)导出到 ONNX,并用 Python 进行重新构建。(注:ONNX 是一种针对机器学习所设计的开放式的文件格式,用于存储训练好的模型。)

经 Asuhariet Ygvar 研究,总体来说 NeuralHash 就是一种基于神经网络的图像感知哈希,具体步骤如下:

  • 将图像转换为 RGB 模式;

  • 将图像大小调整为 360x360;

  • 将 RGB 值标准化为 [-1, 1] 范围;

  • 用 NeuralHash 模型进行推理;

  • 将运算得到的 128 个浮点数向量与 96x128 矩阵相乘;

  • 通过单位阶跃函数将得到的 96 个浮点向量转化为二进制;

  • 将 1.0 和 0.0 的向量转换为比特,生成 96 位二进制数据。

相关代码及用法可前往其 GitHub 地址进行查看:https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX。

说到这里,或许会有人提出质疑:苹果都没有发布过,他怎么就确定这是 NeuralHash 算法?

Reddit 上就有一位用户 @fourthie 在 Asuhariet Ygvar 的这则帖子下评论道:“能否详细解释一下你是如何知道你提取的模型与将用于 CSAM 检测的 NeuralHash 相同?”

对此,Asuhariet Ygvar 给出了 2 个理由:

  • 首先,模型文件的前缀“NeuralHashv3b-”与苹果文档中所提到的术语相同。

  • 其次,苹果文档中 Technology Overview -> NeuralHash 章节所描述的算法细节与 Asuhariet Ygvar 提取的模型完全一致。

例如,文档中提到:“其次,描述符通过哈希方案将 N 个浮点数转换为 M 位。这里,M 比表示 N 个浮点数所需的位数要小得多。”

这点可从以下 Asuhariet Ygvar 在 GitHub 上分享的代码得出:N=128,M=96。

此外,Asuhariet Ygvar 在 iOS 14.3 中发现的 NeuralHash 也能完美实现苹果文档中所描述的“无论调整图像大小或压缩图像,哈希值几乎不会改变”。

打脸苹果的 Bug

这两个强有力的理由赢得了许多人的信任,因此部分开发者立即着手研究 Asuhariet Ygvar 开源在 GitHub 上的 Python 脚本,理解其工作原理并试图搜寻漏洞的存在。

结果,苹果真的被“打脸”了:这个苹果此前反复强调安全的 NeuralHash 算法存在 Bug 并可被滥用

一位英特尔实验室的研究人员 Cory Cornelius 在 Asuhariet Ygvar 的 GitHub 下评论:你能验证下面这两张图存在哈希冲突吗?

Cory Cornelius 补充道,他根据  Asuhariet Ygvar 给出的 NeuralHash 用法进行操作,结果发现这两张迥然不同的图像的哈希值居然一模一样

$ python3 nnhash.py NeuralHash / model.onnx neuralhash_128x96_seed1.dat beagle360.png
59a34eabe31910abfb06f308
$ python3 nnhash.py NeuralHash / model.onnx neuralhash_128x96_seed1.dat collision.png
59a34eabe31910abfb06f308

Asuhariet Ygvar 随后也证实了这个问题:“是的!我可以确认这两个图像在我的 iPhone 上生成了完全相同的哈希值,与你生成的一样。”

这种情况的出现,显然推翻了苹果在介绍 CSAM 检测系统文件所提到的描述“名为 NeuralHash 的哈希技术会分析图像并将其转换为特定于该图像的唯一编号”。

有开发者向 Cory Cornelius 提问能否因此制造哈希冲突,Cory Cornelius 给予了肯定回答:“我相信可以根据一些所需的哈希值,生成对应的灰度图像。”

苹果:这只是一个早期版本罢了

Cory Cornelius 的回答也就表示了 NeuralHash 算法不仅存在缺陷,并且还有被滥用的可能:如果有人借此创建出与色情图像或虐童图像的哈希值一致的“假图像”,并将其发送给苹果用户,那这些人岂不是都会被 CSAM 检测系统判定为可疑?

为此,有媒体向苹果询问了这个问题,苹果的回应却是:“用户在 GitHub 上分析的那个版本只是一个早期版本,并非是用于对 iCloud 照片进行 CSAM 检测的最终版本。”

此外,苹果还解释称,他们不仅依靠 CSAM 检测系统,还有“人工审查”这个双保险:苹果 CSAM 检测技术将在用户设备上运行,该系统依赖于国家失踪与受虐儿童中心 (NCMEC) 和其他儿童保护组织提供的已知 CSAM 照片的哈希数据库。当用户上传 iCloud 照片时,苹果系统会进行扫描确定是否有与CSAM 照片匹配的哈希值,如果匹配的次数超过 30,系统将其进行标记,并交由苹果团队人工审核

但苹果始终没有正面回应 NeuralHash 算法可制造“哈希冲突”的疑问,SIXGEN 网络产品总监 Ryan Duff 也表示:“看起来苹果的算法非常容易受到原像攻击。”

自本月苹果宣布即将推出 CSAM 检测系统以来,就不断被质疑和反对,许多隐私和安全专家都担忧这一系统恐会被滥用。而这几天 Asuhariet Ygvar 和 Cory Cornelius 的发现,又再次将人们抗议的声音推向了新高度,即使苹果及时回应似乎也无法缓和这持续了近半个月的反对浪潮。

那么你对苹果宣布推出的 CSAM 检测系统有什么看法?

参考链接:

  • https://www.apple.com/child-safety/pdf/CSAM_Detection_Technical_Summary.pdf

  • https://www.vice.com/en/article/wx5yzq/apple-defends-its-anti-child-abuse-imagery-tech-after-claims-of-hash-collisions

  • https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX

☞iPhone 13或有8款配色;vivo百万年薪招工程师;特斯拉新增行车记录视频紧急情况自动保存功能|极客头条☞对话图灵奖得主、CNN之父Yann LeCun:我在中国看到了AI研究热潮☞计算机先驱诞生日;万维网面世 30 周年|历史上的今天

苹果藏在 iOS 14.3 中的新算法被发现,CSAM 检测技术再遭抗议!相关推荐

  1. 苹果新算法已混进 iOS 14.3!CSAM 检测技术再遭网友争议

    整理 | 禾木木.郑丽媛 出品 | AI科技大本营(ID:rgznai100) 苹果宣布即将推出 CSAM 检测系统时,遭到了 4000 多个组织及个人的公开反对,他们质疑苹果会破坏用户隐私和端到端加 ...

  2. ios如何介入苹果广告_苹果公司的iOS 14广告股票面临新的重大挑战

    ios如何介入苹果广告 This earnings season promises to be a wild ride across the tech sector as initial impact ...

  3. 苹果6怎样分屏_不熬夜!3分钟提前看苹果WWDC,iOS 14透露iPhone 12的秘密

    [PConline 杂谈]距离一年一度的苹果公司全球开发者大会只有几天的时间,但今年注定是特殊的一年,苹果公司将首次举行线上模式的WWDC 2020全球开发者大会.要知道在往年,苹果会邀请来自世界各地 ...

  4. 苹果最新动态 苹果推送 iOS 14 正式版发布

    苹果发布会此次虽然没有公布新手机,预计是在国庆期间吧,不过发布会上还是公布了一些信息,下面给大家整理下苹果的最新动态,一起来看看! 苹果推送 iOS 14 正式版 9 月 17 日,苹果正式推送了 i ...

  5. iOS 各版本中的新特性(What's New in iOS)- 目录翻译完成

    iOS 各版本中的新特性(What's New in iOS) 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&q ...

  6. 一文看懂苹果WWDC20:iOS 14更好玩,可Intel要哭瞎了

    作者 | 吴波 出品 | 网易手机 苹果于 6 月 23 日凌晨 1 点如约带来了 WWDC20 全球开发者大会的开幕演讲,由于受到今年疫情的影响,苹果也是 33 年来首次将 WWDC 开幕演讲改为线 ...

  7. 苹果新手机软件测试,苹果即将发布iOS 14.5正式版,测试工作已进入最后阶段

    按照苹果的规划,本月他们将会发布iOS 14.5正式版,而目前新系统的测试工作已经进入到最后阶段. 据悉,在iOS和iPadOS 14.5测试版中,苹果隐私设置中的 "位置服务"菜 ...

  8. ios点击推送闪退_苹果推送iOS 14.2 beta 1:千万别更新,大批应用闪退

    大家好,我是佚名.苹果昨天才推送iOS14 正式版系统.而在今天又推送了iOS 14.2 beta 1 开发者测试版系统.由于这个版本问题非常明显,所以我先说结论: 千万不要更新! 千万不要更新! 千 ...

  9. 苹果推送iOS 14.3,支持 ProRAW!

    苹果今日凌晨正式发布iOS14.3 .iPadOS 14.3 正式版以及watchOS7.2 正式版更新. iOS 14.3 包括了对Apple Fitness+ 和AirPods Max 的支持.本 ...

最新文章

  1. onmouseout事件与onchange事件分析
  2. 7 centos 设置jvmgc_centos7配置java环境变量
  3. C#-数组定义及使用数组的好处 046
  4. 解决Android studio 加载不出网络图片的步骤
  5. [noip2017]列队 splay
  6. 2018-03-02 GNUtls 对 TPM1.2 的原生支持
  7. ZOJ - 2865 A very easy task
  8. 转载 - LINUX下查看CPU使用率的命令
  9. hadoop入门-centos7.2安装hadoop2.8
  10. 错误信息:org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type
  11. IP地址格式 点分十进制
  12. 【Godot】对 Godot 节点设计的思考
  13. github windows系统监控_windows快速制作U盘启动工具Rufus
  14. 皮影机器人ppt_机器人皮影戏装置的制作方法
  15. 劳动与社会保障法-作业
  16. 万能险生存金什么意思,一文告诉你!
  17. 支付宝、微博牛人专家来袭!详解春节红包技术(全程直播)
  18. php怎么魔方加密,深度解析php混淆加密解密的手段,希望对大家解读魔方加密有所帮助 [tihuan]...
  19. pg_bulkload
  20. WPF 最简单的TextBox水印

热门文章

  1. Github的README中插入图片,Github仓库项目主页显示图片
  2. Java SE 8 docs:Static Methods、Instance Methods、Abstract Methods、Concrete Methods和Fields
  3. 算法不会,尚能饭否之队列
  4. struts2学习笔记(一) MVC模式
  5. 守护线程和非守护线程
  6. 淘宝爬取某人的所有购物订单
  7. webpack ,react
  8. 鼠标在某个控件上按下,然后离开后弹起,如何捕获这个鼠标弹起事件
  9. 《数值分析》学习笔记 ·003——数值计算中应该注意的几个问题
  10. Auto.js 如何WIFI连接VS Code插件