Компания, занимающаяся безопасной передачей сообщений, Signal успешно использовала iPhone SE для взлома программного обеспечения Cellebrite для взлома телефонов. Компания заявляет, что любой может поместить файл на свой iPhone, который фактически делает бесполезным любое извлечение данных с телефона, и что она будет делать это для пользователей Signal.
Signal утверждает, что этот файл также может скомпрометировать все прошлые и будущие отчеты, сгенерированные приложением Cellebrite для Windows…
Signal явно получила доступ к программному обеспечению каким-то способом, который она не раскрывает, так как описание начинается с шутливого описания того, как это произошло.
По совершенно невероятному стечению обстоятельств, когда я недавно прогуливался, я увидел, как небольшой пакет упал с грузовика впереди меня. Когда я приблизился, тусклый корпоративный шрифт медленно проявился: Cellebrite. Внутри мы нашли последние версии программного обеспечения Cellebrite, аппаратный ключ, предназначенный для предотвращения пиратства (это кое-что говорит о их клиентах, полагаю!), и причудливо большое количество кабельных адаптеров.
Компания заявила, что сама природа программного обеспечения означала, что оно, скорее всего, окажется уязвимым, если Cellebrite не предпримет шагов для его защиты.
Любой, кто знаком с безопасностью программного обеспечения, сразу поймет, что основная задача программного обеспечения Cellebrite заключается в анализе «недоверенных» данных из самых разных форматов, используемых множеством различных приложений. Другими словами, данные, которые программное обеспечение Cellebrite должно извлекать и отображать, в конечном итоге генерируются и контролируются приложениями на устройстве, а не «доверенным» источником, поэтому Cellebrite не может делать никаких предположений о «правильности» получаемых отформатированных данных. Именно здесь возникают практически все уязвимости безопасности.
Невероятно, но выяснилось, что Cellebrite оставила свое приложение полностью открытым, приведя в пример один DLL-файл, которому не хватало более 100 обновлений безопасности! По словам Signal, это сделало взлом кода детской игрой.
Учитывая имеющиеся возможности, мы обнаружили, что можно выполнить произвольный код на машине Cellebrite, просто включив специально отформатированный, но в остальном безобидный файл в любое приложение на устройстве, которое впоследствии подключается к Cellebrite и сканируется. Практически нет ограничений на выполняемый код.
Очевидный способ сделать извлечение данных практически бесполезным — это вставить или удалить данные из загрузки Cellebrite. Таким образом, было бы невозможно узнать, что на самом деле было на телефоне, а что было добавлено или удалено в результате взлома. Такое повреждение данных могло быть применено к *любым* данным, извлеченным программным обеспечением, в прошлом или будущем.
Возможно выполнение кода, который изменяет не только создаваемый в ходе этого сканирования отчет Cellebrite, но и все предыдущие и будущие отчеты Cellebrite со всех ранее просканированных устройств и всех будущих просканированных устройств любым произвольным образом (вставка или удаление текста, электронной почты, фотографий, контактов, файлов или любых других данных), без обнаружения изменений временных меток или сбоев контрольных сумм. Это могло бы происходить даже случайным образом и серьезно поставило бы под сомнение целостность данных отчетов Cellebrite.
Signal демонстрирует видео, в котором она заставила машину, работающую с программным обеспечением Cellebrite, отображать произвольное сообщение, но говорит, что это всего лишь безобидный концептуальный пример.
В эпической попытке троллинга Signal заявляет, что расскажет Cellebrite, как она это сделала, если компания-взломщик телефонов в свою очередь раскроет свои собственные секреты.
Мы, конечно же, готовы ответственно раскрыть Cellebrite конкретные уязвимости, о которых мы знаем, если они сделают то же самое для всех уязвимостей, которые они используют в своих физических экстракциях и других услугах для соответствующих поставщиков, сейчас и в будущем.
Кроме того, Signal гарантирует, что будущие версии ее приложения будут разработаны для взлома ПК с работающими приложениями Cellebrite, если они когда-либо будут к ним подключены.
В совершенно несвязанных новостях, будущие версии Signal будут периодически получать файлы для размещения в хранилище приложений. Эти файлы никогда не используются для чего-либо внутри Signal и никогда не взаимодействуют с программным обеспечением или данными Signal, но они выглядят красиво, а эстетика важна в программном обеспечении.
Обновление: Signal теперь обновила запись в блоге с дополнительными подробностями, а также заявила, что теперь будет случайным образом размещать разные файлы на разных телефонах, что затруднит Cellebrite узнать, присутствует ли она, и позволит вариациям дольше оставаться необнаруженными.
Наконец, Signal отмечает, что Cellebrite, похоже, использует DLL-файлы Apple iTunes, что почти наверняка является нарушением авторских прав. Запись в блоге — это действительно веселое чтение.