29 августа группа Project Zero после тщательного исследования опубликовала детальную информацию об обнаруженных векторах атак в ходе массовой кампании по похищению данных пользователей iPhone.
Результатом успешной атаки на пользователя являлся запуск агента слежения («импланта») с привилегированными правами в фоновом режиме.
В процессе исследования в рамках векторов атак было обнаружено 14 используемых уязвимостей:
- 7 уязвимостей браузера iPhone;
- 5 уязвимостей ядра;
- 2 уязвимости обхода песочницы.
Хотя обнаруженная информация была предоставлена Apple 1 февраля 2019 г., в результате чего уже через неделю был выпущен внеплановый релиз iOS 12.1.4, как минимум одна уязвимость повышения привилегий до сих пор остается уязвимостью нулевого дня и не имеет патча (CVE-2019-7287).
Обнаружение кампании
В 2019 году группа Threat Analysis Group (TAG) из Google обнаружила несколько взломанных веб-ресурсов, которые использовались для нецелевых атак на посетителей сайтов с помощью 0-day уязвимостей iPhone. При этом атаковался любой посетитель захваченных ресурсов и в случае успеха на устройстве устанавливался «имплант», похищавший данные пользователя. Предположительно, аудитория сайтов составляла до нескольких тысяч посетителей в неделю.
TAG определила 5 уникальных и независимых векторов атак, применимых к iOS версий 10-12 (за исключением iPhone 8/8+ Xr/Xs), что указывает на постоянные попытки взломать пользователей в течение как минимум 2 лет. Далее Google совместно с командой Project Zero провели доскональный анализ обнаруженного вредоносного ПО.
По мнению Project Zero, «Основная причина [данных уязвимостей]...: [в данном случае] мы наблюдаем примеры неработающего кода без необходимого контроля качества кода или даже простого тестирования и обзора до доставки на пользовательские устройства».
The root causes I highlight here are not novel and are often overlooked: we'll see cases of code which seems to have never worked, code that likely skipped QA or likely had little testing or review before being shipped to users. © Project Zero: A very deep dive into iOS Exploit chains found in the wild
Диаграмма от Project Zero показывает временной период с 13 сентября 2016 года по 22 января 2019 года и применяемые в него векторы атаки.
Детали поведения импланта
Имплант специализировался на краже файлов и выгрузке данных о текущей геолокации пользователя посредством запроса команд с сервера злоумышленников каждые 60 секунд. Из-за привилегированных прав запуска у импланта был доступ ко всем файлам на устройстве жертвы, в том числе и к базам мессенджеров с шифрованием: Whatsapp, Telegram, iMessage, Hangouts.
Пример данных, собираемых имплантом
Имплант также выгружал keychain устройства, содержащий данные о сохраненных или используемых на момент выполнения реквизитов доступа пользователя.
Дополнительно собиралась и отправлялась следующая информация об устройстве:
- модель iPhone model;
- имя устройства (например, Ian's iPhone);
- уникальный номер ICCID SIM-карты;
- серийный номер iPhone;
- телефонный номер;
- версия iOS;
- размер и свободное место носителя информации;
- активные сетевые интерфейсы.
Автор: Jet CSIRT