Архитектура x86, похоже, добралась до iPhone

0

Недавно редактор авторитетного ресурса OSNews Том Холверда (Thom Holwerda) опубликовал материал, посвящённый некоторым выводам на основе его исследований работы модемов в iPhone. Одним из направлений его деятельности является выявление уязвимостей устройств широкополосной связи. После того, как Apple анонсировала новую серию смартфонов iPhone, он загрузил некоторые прошивки OTA с ipsw.me и приступил к анализу тех частей, которые относятся к модему LTE.


Архитектура x86, похоже, добралась до iPhone


Как правило, современные модемы для управления беспроводной связью 2G / 3G / 4G / CDMA / 5G оснащаются собственными мощными процессорами, причём достаточно общего назначения ввиду чрезвычайной сложности стандартов. Поэтому времена специализированных FPGA давно прошли (по крайней мере, для основной массы модемов) и сегодня, как правило, применяются чипы ARM (Cortex-M, Cortex-R или что-то подобное), Qualcomm Hexagon (своего рода процессор общего назначения, VLIW DSP) или другие более или менее известные архитектуры.

Apple ничем не отличалась в данном отношении, и вплоть до iPhone X применяла два варианта модемов: для рынков с сетями CDMA и для остальных стран. CDMA был основан на Qualcomm Hexagon DSP, а GSM-версия — на Intel XMMxxxx. Те, кто следит за связанными с Apple новостями, наверняка знает, что в новом поколении смартфонов из-за деловых разногласий компания решила полностью отказаться от Qualcomm в пользу исключительно модемов Intel.


Архитектура x86, похоже, добралась до iPhone

Люди, знакомые с процессом обратной разработки старых прошивок модемов Intel, знают, что они содержат код ARM. Другими словами, Intel применяла собственные версии ядер с архитектурой ARM в однокристальных системах для своих модемов. Но при попытке провести процедуру дизассемблирования в новых прошивках Том Холверда неизменно получал негативный результат.

Сначала он подумал, что код зашифрован и не может быть подвергнут дизассемблированию обычными методами, но анализ энтропии кода показал, что это не так. Тогда он попробовал провести процедуру с прицелом на RISC-архитектуры, которые знал: почти все, начиная от Dreamcast SH4 и заканчивая Fujitsu/Siemens в Nikon D90. Результат был столь же безуспешным.

Архитектура x86, похоже, добралась до iPhone

Тогда специалист сделал совершенно безумное, как ему казалось, предположение: раз речь идёт об Intel, почему бы не попробовать в конце концов провести обратное проектирование с прицелом на x86. Не веря своим глазам, он обнаружил, что прошивки для новых модемов Intel, используемых в iPhone, действительно написаны для процессора x86. Так что, если кому-то не хватало ещё одного ядра x86, его можно получить, приобретя iPhone XS или XR.