
Разработчик утверждает, что смог провести обратную разработку алгоритма NeuralHash, используемого в системе обнаружения CSAM от Apple. Высказываются противоречивые мнения относительно того, сможет ли это позволить обойти систему обнаружения материалов, связанных с сексуальным насилием над детьми…
Разработчик Асухариет Игвар опубликовал код на GitHub.
- Преобразовать изображение в RGB.
- Изменить размер изображения до
360x360
. - Нормализовать значения RGB до диапазона
[-1, 1]
. - Выполнить инференс на модели NeuralHash.
- Рассчитать скалярное произведение
96x128
матрицы с полученным вектором из 128 чисел с плавающей запятой. - Применить пороговую функцию Хевисайда к полученному вектору из 96 чисел с плавающей запятой.
- Преобразовать вектор из 1.0 и 0.0 в биты, в результате чего получится 96-битные двоичные данные.
В ветке на Reddit один из комментаторов спросил, как он может быть уверен в правильности, и Игвар изложил доказательства.
Прежде всего, файлы моделей имеют префикс NeuralHashv3b-, что совпадает с термином в документе Apple.
Во-вторых, в этом документе Apple описала детали алгоритма в разделе «Обзор технологий» -> «NeuralHash», который полностью совпадает с тем, что я обнаружил. Например, в документе Apple:
«Дескриптор проходит через схему хэширования для преобразования N чисел с плавающей запятой в M битов. Здесь M намного меньше, чем количество битов, необходимых для представления N чисел с плавающей запятой.»
И, как вы можете видеть здесь и здесь, N=128, а M=96.
Более того, хэш, генерируемый этим скриптом, почти не меняется при изменении размера или сжатии изображения, что опять же совпадает с описанием в документе Apple.
Он также объясняет, почему хэши отличаются на несколько битов.
Это происходит потому, что нейронные сети основаны на вычислениях с плавающей запятой. Точность сильно зависит от оборудования. Для меньших сетей это не будет иметь никакого значения. Но NeuralHash имеет 200+ слоев, что приводит к значительным кумулятивным ошибкам. На практике весьма вероятно, что Apple реализует сравнение хэшей с допуском в несколько бит.
Некоторые предполагают, что знание алгоритма позволит людям генерировать как ложноотрицательные результаты – изображения CSAM, которые не будут обнаружены, несмотря на наличие в базе данных, – так и ложноположительные, которые могут завалить человеческих рецензентов Apple безобидными изображениями.
Однако другие говорят, что система «ослепления», используемая Apple, сделает оба варианта невозможными.
Есть один важный шаг, на котором Apple использует алгоритм «ослепления» для изменения хэша. Чтобы обучить декодер делать это, вам понадобится доступ к алгоритму «ослепления», к которому имеет доступ только Apple.
Без сомнения, эксперты по безопасности скоро выскажутся.
Фото: Джон Тайсон/Unsplash