Эксперты «Лаборатории Касперского» накануне представили на 37 конгрессе хакеров Chaos Communication Congress (37C3) в Гамбурге доклад, посвящённый серии эксплойтов «Триангуляция» и основанной на ней кампании по взлому Apple iPhone. Механизм взлома, по мнению авторов доклада, может оказаться самым сложным за всю историю — в нём используются четыре ныне закрытые уязвимости нулевого дня. Информация об одной из них едва ли могла происходить из какого-либо источника за исключением самой Apple или Arm.
► Показать
О массовой кампании по взлому iPhone ФСБ сообщила в начале июня: неизвестные заразили вредоносным ПО тысячи телефонов, включая устройства, принадлежащие сотрудникам посольств и дипломатических миссий. Кампания работала в течение как минимум четырёх лет — заражение начиналось с отправки сообщения ........, после чего на телефон через сложную цепочку эксплойтов устанавливалось вредоносное ПО, не требуя от жертвы каких-либо действий. Устройства заражались мощным шпионским ПО, способным передавать записи с микрофона, фотографии, геолокацию и другие данные.
При реализации цепочки эксплойтов использовались уязвимости CVE-2023-32434, CVE-2023-32435, CVE-2023-38606 и CVE-2023-41990, которые в настоящий момент значатся как закрытые — в частности, с обновлением Apple iOS 16.2. Эти критические уязвимости нулевого дня присутствовали не только на iPhone, но также на Mac, iPod, iPad, Apple TV и Apple Watch. Обнаруженные экспертами «Лаборатории Касперского» эксплойты были специально разработаны для запуска на этих устройствах.
До сих пор самой загадочной из этих уязвимостей остаётся CVE-2023-38606 — она основана на незадокументированной аппаратной функции, благодаря которой злоумышленники обходили расширенную аппаратную защиту памяти. Этот механизм предназначается для защиты целостности устройства даже после того, как злоумышленник получил доступ к ядру системы — на большинстве других платформ хакер при таком сценарии получает полный контроль над ней. На устройствах Apple с этой защитой злоумышленники даже при получении доступа к ядру не могут менять его код, получать конфиденциальные данные ядра или внедрять вредоносный код в любые процессы. Уязвимость незадокументирвоанной аппаратной функции позволила обойти эту мощную защиту, присутствующую также в процессорах Apple M1 и M2.
Исследователям «Лаборатории Касперского» удалось узнать о секретной аппаратной функции спустя несколько месяцев изучения заражённых «Триангуляцией» устройств при помощи методов обратного проектирования. При изучении MMIO (Memory Mapped Input/Output) — механизма взаимодействия устройств с процессором через интерфейс обращения к памяти — они выявили несколько адресов, которые не идентифицировались в дереве устройств. Это машиночитаемый набор оборудования, к которому обращаются в процессе обратного проектирования: после изучения исходных кодов, образов ядра и прошивки исследователи не обнаружили никаких упоминаний о некоторых адресах MMIO. Из-за этой особенности злоумышленники получили возможность записывать нужные данные, адреса назначения и хеши в аппаратные регистры чипа, которые не использовались прошивкой, и система о них «не знала».
Экспертам так и не удалось определить, как возникла эта аппаратная особенность — к примеру, она могла использоваться инженерами Apple или системой Arm CoreSight в целях отладки и тестирования. Но поскольку функция не используется прошивкой, непонятно, как о ней узнали злоумышленники, и как они нашли способ её эксплуатировать. В «Лаборатории Касперского» также не знают, кому можно приписать настолько изощрённую кибератаку — цепочка эксплойтов «Триангуляция» обладает уникальными характеристиками, не совпадающими ни с одной из известных кампаний.
На начальном этапе взлома на устройство жертвы через ........ поступало сообщение с вредоносными данными, эксплуатирующими уязвимость CVE-2023-41990 в реализации Apple обработки шрифтов TrueType — соответствующая инструкция существовала с девяностых годов — здесь злоумышленники удалённо выполняли код с минимальными привилегиями и переходили на следующий этап, целью которого был доступ к ядру iOS. Манипуляции с ядром осуществлялись с использованием уязвимостей CVE-2023-42434 и CVE-2023-39606. Эксплуатация первой открывала доступ на чтение и запись ко всей физической памяти устройства, использование второй через секретные регистры MMIO позволяло обходить механизм Page Protection Layer (PPL) после компрометации ядра. Здесь запускался процесс IMAgent с полезной нагрузкой, стирающей следы атаки с устройства и параллельно эксплуатировалась уязвимость CVE-2023-32435 в браузере Safari, связанная с выполнением шелл-кода. Далее запускался второй эксплойт ядра, основанный на тех же уязвимостях CVE-2023-32434 и CVE-2023-38606, который позволял получить root-доступ, необходимый для установки последней полезной нагрузки — шпионского ПО.
«Мы обнаружили в реальной среде уже более тридцати уязвимостей нулевого дня в продуктах Adobe, Apple, Google и Microsoft и уведомили об этом производителей, однако в данном случае речь идёт, безусловно, о самой изощрённой цепочке атак, которую мы когда-либо наблюдали», — отметили в «Лаборатории Касперского».
При реализации цепочки эксплойтов использовались уязвимости CVE-2023-32434, CVE-2023-32435, CVE-2023-38606 и CVE-2023-41990, которые в настоящий момент значатся как закрытые — в частности, с обновлением Apple iOS 16.2. Эти критические уязвимости нулевого дня присутствовали не только на iPhone, но также на Mac, iPod, iPad, Apple TV и Apple Watch. Обнаруженные экспертами «Лаборатории Касперского» эксплойты были специально разработаны для запуска на этих устройствах.
До сих пор самой загадочной из этих уязвимостей остаётся CVE-2023-38606 — она основана на незадокументированной аппаратной функции, благодаря которой злоумышленники обходили расширенную аппаратную защиту памяти. Этот механизм предназначается для защиты целостности устройства даже после того, как злоумышленник получил доступ к ядру системы — на большинстве других платформ хакер при таком сценарии получает полный контроль над ней. На устройствах Apple с этой защитой злоумышленники даже при получении доступа к ядру не могут менять его код, получать конфиденциальные данные ядра или внедрять вредоносный код в любые процессы. Уязвимость незадокументирвоанной аппаратной функции позволила обойти эту мощную защиту, присутствующую также в процессорах Apple M1 и M2.
Исследователям «Лаборатории Касперского» удалось узнать о секретной аппаратной функции спустя несколько месяцев изучения заражённых «Триангуляцией» устройств при помощи методов обратного проектирования. При изучении MMIO (Memory Mapped Input/Output) — механизма взаимодействия устройств с процессором через интерфейс обращения к памяти — они выявили несколько адресов, которые не идентифицировались в дереве устройств. Это машиночитаемый набор оборудования, к которому обращаются в процессе обратного проектирования: после изучения исходных кодов, образов ядра и прошивки исследователи не обнаружили никаких упоминаний о некоторых адресах MMIO. Из-за этой особенности злоумышленники получили возможность записывать нужные данные, адреса назначения и хеши в аппаратные регистры чипа, которые не использовались прошивкой, и система о них «не знала».
Экспертам так и не удалось определить, как возникла эта аппаратная особенность — к примеру, она могла использоваться инженерами Apple или системой Arm CoreSight в целях отладки и тестирования. Но поскольку функция не используется прошивкой, непонятно, как о ней узнали злоумышленники, и как они нашли способ её эксплуатировать. В «Лаборатории Касперского» также не знают, кому можно приписать настолько изощрённую кибератаку — цепочка эксплойтов «Триангуляция» обладает уникальными характеристиками, не совпадающими ни с одной из известных кампаний.
На начальном этапе взлома на устройство жертвы через ........ поступало сообщение с вредоносными данными, эксплуатирующими уязвимость CVE-2023-41990 в реализации Apple обработки шрифтов TrueType — соответствующая инструкция существовала с девяностых годов — здесь злоумышленники удалённо выполняли код с минимальными привилегиями и переходили на следующий этап, целью которого был доступ к ядру iOS. Манипуляции с ядром осуществлялись с использованием уязвимостей CVE-2023-42434 и CVE-2023-39606. Эксплуатация первой открывала доступ на чтение и запись ко всей физической памяти устройства, использование второй через секретные регистры MMIO позволяло обходить механизм Page Protection Layer (PPL) после компрометации ядра. Здесь запускался процесс IMAgent с полезной нагрузкой, стирающей следы атаки с устройства и параллельно эксплуатировалась уязвимость CVE-2023-32435 в браузере Safari, связанная с выполнением шелл-кода. Далее запускался второй эксплойт ядра, основанный на тех же уязвимостях CVE-2023-32434 и CVE-2023-38606, который позволял получить root-доступ, необходимый для установки последней полезной нагрузки — шпионского ПО.
«Мы обнаружили в реальной среде уже более тридцати уязвимостей нулевого дня в продуктах Adobe, Apple, Google и Microsoft и уведомили об этом производителей, однако в данном случае речь идёт, безусловно, о самой изощрённой цепочке атак, которую мы когда-либо наблюдали», — отметили в «Лаборатории Касперского».