逆向工程破解苹果监控iPhone图片的算法:原来iOS14.3上就有了

机器之心报道
编辑:泽南、杜伟
神秘的NeuralHash算法 , 打开一看是MobileNetV3 。
苹果要在新操作系统里内置机器学习扫描程序 , 监控所有人的手机了 。
本月初 , 当这个消息爆出之后 , 整个科技圈都大为震动 。 虽然苹果一再表示扫描照片的算法仅在本地运行 , 该算法也仅会在部分国家上线 , 但人们对于科技大厂忽视隐私安全的担忧仍然成为了主流 。
逆向工程破解苹果监控iPhone图片的算法:原来iOS14.3上就有了】对于开发者们来说 , 机器学习算法是不是真的侵犯隐私 , 还是要看代码是怎么写的 。 近日 , 有程序员就把苹果的neuralMatch算法给逆向工程了 。
逆向工程破解苹果监控iPhone图片的算法:原来iOS14.3上就有了
文章图片
一切都真相大白 , 甚至还有预料之外的发现 。
该破解者在GitHub上建立了名为AsuharietYgvar的账号 , 并公开了代码 。 首先 , 他发现这个扫描色情信息的算法早在iOS14.3上就已经存在 , 其隐藏在混淆的类名下 。 不过苹果在随后发给Motherboard的一份声明中表示 , 在iOS14.3中发现的NeuralHash版本并不是与iOS15一起发布的最终版本 。
在对隐藏的API进行了一些挖掘和逆向工程之后 , 程序员设法将其模型(即MobileNetV3)导出到ONNX , 并在Python中重建了整个NeuralHash算法 。 大家现在可以直接在Linux上尝试了 。
逆向工程破解苹果监控iPhone图片的算法:原来iOS14.3上就有了
文章图片
GitHub链接:https://github.com/AsuharietYgvar/AppleNeuralHash2ONNX
出于显而易见的原因 , 这里没有训练好的模型文件 。 但是按照作者的操作指南 , 想要导出一个非常容易 , 你也不需要使用任何苹果设备 。
经过作者的简单测试 , 苹果的图像识别算法可以容忍图像大小调整和压缩 , 但如果有人裁剪或旋转了图片 , 那么AI就无法识别了 。 当然你也可以使用黑客松上破解人脸识别的方法 , 通过加入扰动欺骗算法将两张完全不同的图片识别为同一张 。
现在我们可以更加全面地了解NeuralHash算法 , 并在所有iOS设备上启用该算法前了解它的潜在问题了 。
根据苹果的官方说法 , 其正在与儿童安全专家合作 , 在三个领域引入儿童安全功能 。 首先 , 新工具将使父母能够在孩子进行使用Messages接收到敏感信息时获得警告 。
接下来 , iOS和iPadOS将使用新的加密应用程序限制CSAM(儿童色情内容)的传播 。 CSAM检测将帮助苹果向执法部门提供有关iCloud照片中CSAM集合的信息 。
最后 , Siri和搜索的更新将为父母和儿童提供更多信息 , 并在他们遇到不安全情况时提供帮助 。 当用户尝试搜索CSAM相关主题时 , Siri和搜索也会进行干预 。
苹果表示在检测敏感信息的同时 , 自己无法获知信息本身的内容 。 这些功能将于今年晚些时候在iOS15、iPadOS15、watchOS8和macOSMonterey的更新中推出 。
逆向工程破解苹果监控iPhone图片的算法:原来iOS14.3上就有了
文章图片
在检测到敏感信息时 , iMessage会弹出提示 。
具体怎么实现的?
苹果的NeuralHash是一种基于神经网络的图像感知哈希算法 , 它可以实现图像缩放和压缩 。 哈希算法的步骤是这样的:
将图像转换为RGB格式;将图像大小调整为360x360;将RGB值范围归一化为[-1,1];在NeuralHash模型上执行推理;计算96x128矩阵与128浮点结果向量的点积;将二进制应用于96浮点结果向量;将1.0和0.0的向量转换为bit , 得到96bit的二进制数据 。在这个项目中 , 作者将苹果的NeuralHash模型转换为了ONNX格式 , 还提供了测试模型的演示脚本 。
系统要求