В мае этого года Apple исправила уязвимость в iPhone — ошибку памяти в ядре iOS, которая давала злоумышленникам удаленный доступ ко всему устройству посредством Wi-Fi, без какого-либо участия самого пользователя.
Теперь об этом эксплойте подробно рассказал Ян Бир, исследователь из Project Zero, подразделения Google по исследованию уязвимостей. Он описал уязвимость и экспериментальный эксплойт, на разработку которого потратил шесть месяцев.
Бир объяснил, что с использованием Wi-Fi злоумышленник может просто проникнуть в смартфон пользователя. Атака работала за счет использования ошибки переполнения буфера в драйвере AWDL (Apple Wireless Direct Link), проприетарного протокола ячеистой сети, который используется Airdrop. «Достаточно тривиальная ошибка программирования переполнения буфера в коде C ++ в ядре, анализирующем ненадежные данные, открытые для удаленных злоумышленников», — говорит Бир.
Исследователь отмечает, что у AWDL есть потенциал для серьезных взломов. А, поскольку AWDL анализирует пакеты Wi-Fi, эксплойты работают без какого-либо участия пользователя.
Бир продемонстрировал атаку, которая позволяет получить полный доступ к личным данным пользователя, включая электронную почту, фотографии, сообщения, а также пароли и криптографические ключи. В атаке можно использовать ноутбук, Raspberry Pi и некоторые адаптеры Wi-Fi. Хорошо написанный эксплойт внедрит пакет взломщика в iPhone за «несколько секунд». Эксплойты работают только на устройствах, находящихся в зоне действия Wi-Fi злоумышленника.
На этом видео демонстрации атаки IPhone 11 Pro жертвы находится в комнате, отделенной от злоумышленника закрытой дверью:
С направленными антеннами, более высокой мощностью передачи и чувствительными приемниками диапазон таких атак может быть значительным, отмечает исследователь.
Бир считает, что Apple пора пересмотреть часть критически важного устаревшего кода, составляющего ядро iOS. vm_map.c был написан в 1985 году и используется до сих пор. По его словам, повреждение памяти в стороннем приложении для обмена сообщениями, сопровождаемое логической ошибкой vm_map, даст злоумышленнику возможность использовать данные. Бир полагает, что корпорации стоит задуматься о краткосрочной стратегии улучшения качества нового кода, нарастить инвестиции в автоматическое тестирование и проверку кода. Наконец, он отмечает, что важно делать акцент на обнаружении уязвимостей с использованием не только фаззинга.
Бир сказал, что Apple устранила уязвимость до запуска интерфейса отслеживания контактов COVID-19, встроенного в iOS 13.5 в мае. Исследователь сказал, что у него нет доказательств того, что уязвимость когда-либо эксплуатировалась, хотя он отметил, что, по крайней мере, один продавец эксплойтов знал о критической ошибке в мае, за семь месяцев до ее раскрытия.
В августе 2019 года в Project Zero установили, что iPhone с версиями iOS от 10 до 12 почти два года были уязвимы для атак через разные специально зараженные интернет-сайты. Взлом таких сайтов был незаметным для их хозяев и заключался во внедрение вредоносного кода, который использовал неизвестные ранее уязвимости в iOS (уязвимости нулевого дня). Таким образом могли быть случайно атакованы любые пользователи с iPhone, которые открывали зараженную страницу в браузере Safari своего устройства.