Самые опасные атаки на смартфон — те, для которых от жертвы не требуется вообще ничего. Ни перейти по ссылке, ни открыть вложение: сообщение приходит, телефон сам пытается его обработать — и в этот момент срабатывает эксплойт. Именно против такого сценария Apple тихо перестроила механику iMessage в iOS 14, а подробности этой перестройки публично разобрал исследователь Google Project Zero Самуэль Гросс.
Что такое BlastDoor
Новый компонент назвали BlastDoor. Это отдельная, жёстко изолированная «песочница», через которую теперь проходит почти весь разбор недоверенных данных из входящих сообщений. Раньше этим занимался системный процесс imagent — он же расшифровывал содержимое, подтягивал вложения и готовил превью ссылок. Проблема в том, что любая ошибка в таком процессе давала атакующему доступ ко всей системе.
BlastDoor меняет логику: сообщение сначала попадает в замкнутую среду, где его можно спокойно разобрать, и только безопасный результат передаётся дальше. Из этой песочницы почти ничего не доступно — считанные внутренние службы, доступ к файловой системе заблокирован, обращения к драйверам запрещены, исходящий сетевой трафик закрыт. Даже если внутри сообщения спрятан вредоносный код, ему буквально некуда идти.
Отдельно стоит отметить, что BlastDoor написан на Swift — языке, где типовые ошибки с памятью допустить заметно сложнее. Для кода, который каждый день обрабатывает потенциально враждебные данные, это принципиальная разница.
Откуда взялась необходимость
Перестройка стала ответом на реальную атаку. Годом ранее уязвимость в iMessage на iOS 13.5.1 использовали в шпионской кампании против журналистов Al Jazeera — тоже без единого действия со стороны жертв. Исследователи, раскрывшие ту историю, отмечали, что против iOS 14 их эксплойт уже не работает. BlastDoor и стал ядром этих новых защит.
Второй барьер: замедление перебора
Помимо изоляции Apple добавила ещё один приём — торможение повторных запусков аварийно завершившейся службы. Многие эксплойты работают методом перебора: сервис роняют снова и снова, пока не поймают нужное состояние. Теперь между попытками время растёт по нарастающей. По оценке Гросса, атака, которой раньше хватало нескольких минут, теперь может растянуться на часы, а то и на половину суток. Для нападающего это резко повышает и стоимость, и риск быть замеченным.
Почему это важно
Гросс называет изменения близкими к оптимальным с учётом того, что Apple пришлось сохранить обратную совместимость. Идея простая и правильная: не пытаться сделать разбор сообщений идеально безопасным, а заранее запереть его в клетке, из которой взлом ничего не даст. Для мессенджера, которым пользуются сотни миллионов людей, такой подход к безопасности значит больше, чем любая отдельная закрытая уязвимость.
Источник: The Hacker News.