NSO Group создала эксплойт для взлома iOS-устройств, не требующий взаимодействия с жертвой

Участники проекта Google Project Zero, работающие в сфере информационной безопасности, совместно с коллегами из Apple Security Engineering and Architecture подробно изучили сложный эксплойт FORCEDENTRY, который разработан израильской компанией NSO Group и предназначен для взлома устройств на базе iOS. Результаты проделанной работы были недавно опубликованы в официальном блоге проекта.

Атака начинается с отправки на смартфон жертвы файла с расширение GIF. В iOS для работы с текстовыми и анимированными сообщениями используется приложение iMessage, которое автоматически зацикливает GIF-анимации для более удобного просмотра. Сразу после получения анимации iMessage использует специальный API для рендеринга исходного файла в новый, который будет в зацикленном режиме воспроизводиться при просмотре.

Однако расширение GIF ещё не означает, что файл является анимацией. На деле злоумышленник использует такое расширение для передачи PDF-файла, который iMessage также пытается обработать как обычный GIF-файл. Это происходит из-за того, что используемая для определения формата файлов библиотека не обращает внимания на их расширения. Внутри PDF-файла находятся изображения в формате JBIG2 (формат сжатия картинок, который в прошлом использовался в принтерах и копировальных аппаратах). В таком формате сжатие происходит путём разделения изображения на элементы и, если находятся достаточно похожие друг на друга части, то для их последующего отображения используется один и тот же элемент.

В конечном счёте вредоносное ПО использует целочисленное переполнение для выхода за пределы буфера, для чего применяется виртуальный процессор, построенный на основе базовых логических операций при накладывании разницы элементов изображений в потоке JBIG2. Более 70 тыс. логических элементов определяют архитектуру виртуального компьютера с такими функциями, как регистры и полный 64-битный сумматор и компаратор, которые используются для поиска смещений памяти и выхода за пределы песочницы. После этого злоумышленники получают полный контроль над атакуемым устройством.

Исследователи из Project Zero своевременно уведомили Apple о выявленной проблеме. Исправление уязвимости стало частью iOS 14.8, которая была выпущена в сентябре этого года.