Автор Telegram-канала RUH8 рассказал, какой механизм стоит за взломом устройств при помощи картинок.
На днях исследователи в области кибербезопасности из Google Project Zero проанализировали вредоносное ПО FORCEDENTRY , разработанное израильской компанией NSO Group. Оно позволяло взламывать устройства Apple без ведома владельца и устанавливать шпионскую программу Pegasus. Исследователи назвали FORCEDENTRY “одним из наиболее технически сложных эксплоитов», который они когда-либо видели.
FORCEDENTRY использовало уязвимость в службе Apple iMessage. Как пояснил RUH8, люди отправляют друг другу гифки, а iMessage делает так, чтобы они крутились вечно. Для этого в заголовке GIF нужно поправить флажок. Чтобы не портить файл, iMessage делает его копию. Но по ошибке вместо копирования вызывается рендеринг картинок. Так, вредоносное ПО под видом гифки подсовывает PDF. А внутри PDF имеется картинка JBIG2. Этот формат графики для ксероксов. Чтобы файлы получались маленькими, он режет картинку на кусочки. Если куски, например буква “а» достаточно похожи между собой, то он использует один глиф для всего, как типографскую литеру. Чтобы избежать путницы в связи с этим, в формат добавили маски — разницу между “похожим» глифом и тем, что нужно воспроизвести. Эти исправления накладываются на глиф с помощью операций AND, OR, XOR и XNOR.
Далее авторы эксплоита использовали целочисленное переполнение, чтобы выйти за границы буфера. В результате они получили два основных примитива чтение и запись в произвольные места памяти.
Если кратко, то всё делалось так: пользователю приходит гифка, которая на самом деле PDF, её по ошибке пытаются прочитать, а в ней находится картинка в формате ксероксов, которая в результате целочисленного переполнения может писать в память. Внутри этой “картинки» семьдесят тысяч блоков логических операций, которые эмулируют небольшой компьютер. Он находит то место в памяти, которое нужно пропатчить, чтобы убежать из песочницы.
Источник: Ferra