Бесплатно Экспресс-аудит сайта:

20.08.2021

Исследователи добились коллизии хэш-функции в системе сканирования CSAM от Apple

Исследователи представили коллизию встроенной в iOS хэш-функции, что повышает недоверие пользователей к новой системе сканирования CSAM от компании Apple. Однако сама Apple утверждает, что опасаться нечего, и открытие исследователей никак не угрожает целостности системы.

Проблема затрагивает алгоритм хэширования NeuralHash, позволяющий Apple проверять контент пользователей на наличие изображений детской порнографии, совпадающих с изображениями из баз данных Национального центра пропавших без вести и эксплуатируемых детей (National Center for Missing & Exploited Children, NCMEC). При этом к фотографиям, отсутствующим в базах данных, а также к другой информации пользователей у компании доступа не будет.

Ранее на этой неделе пользователь GitHub Асухариет Игвар (Asuhariet Ygvar) опубликовал код реконструированной Python-версии NeuralHash. По словам пользователя, он осуществил реверс-инжиниринг алгоритма из предыдущих версий iOS. Помимо кода также были опубликованы инструкции по извлечению файлов NeuralMatch из текущих сборок macOS и iOS. Получившийся алгоритм представляет собой, скорее, базовую версию NeuralHash, чем отдельный алгоритм, однако он все равно дает общее представление о сильных и слабых сторонах NeuralHash.

Как показало первое тестирование, алгоритм «видит» изображения с измененным размером или сжатые изображения, но не «видит» обрезанные или перевернутые.

Вскоре после публикации Игвара пользователю Кори Корнеулиусу (Cory Cornelius) удалось осуществить коллизию в алгоритме – создать два изображения с одним и тем же хэшем. Это серьезная проблема, но Apple уверяет, что дополнительные механизмы защиты в системе CSAM заблокируют возможность ее эксплуатации.

Как уверяют в компании, ее система CSAM была изначально создана с учетом коллизий и известных ограничений в перцептивных алгоритмах хэширования. В частности, Apple отметила вторичный алгоритм хеширования на стороне сервера, отдельный от NeuralHash, подробности о котором не разглашаются.

Даже без дополнительной проверки для использования коллизий на практике потребовались бы чрезвычайные усилия. Как правило, коллизионные атаки позволяют исследователям находить идентичные входные данные, которые производят один и тот же хэш. В случае с CSAM это означает создание изображения, запускающего предупреждения, даже если это изображение отсутствует в базах данных, поскольку оно создает тот же хэш, что и изображение в базе данных. Однако для генерации предупреждения потребуется доступ к базе данных хэшей Национального центра пропавших без вести и эксплуатируемых детей (National Center for Missing & Exploited Children, NCMEC), создание более 30 коллидирующих изображений, а затем передача их на телефон жертвы. Даже в этом случае будут генерироваться предупреждения только для Apple и NCMEC, которые легко смогут идентифицировать их как ложные срабатывания.

Коллизионные PoC-атаки всегда представляют большую угрозу криптографическим хэшам, как в случае с коллизией SHA-1, осуществленной в 2017 году, однако перцепционные хэши наподобие NeuralHash считаются более устойчивыми к таким атакам. Хотя ожидается, что Apple внесет некоторые изменения в алгоритм NeuralMatch, в настоящее время присутствующий в iOS, в общих чертах система CSAM останется в том же виде.