В Google создан инструмент для взлома iPhone

Эксперт по безопасности Google Project Zero Иен Бир (Ian Beer) обнаружил в ядре iOS версии 11.1.2 уязвимость, приводящую к повреждению памяти. По итогам исследования он написал концептуальный эксплойт, который теоретически можно использовать для джейлбрейка устройства на базе iOS.

Проблема iOS заключается в Mach interface generator (MIG) - генераторе интерфейса микроядра Mach, используемого в устройствах на базе iOS. Еще в 2016 г. Бир выявил две уязвимости в MIG - CVE-2016-7612 и CVE-2016-7633.

Новый баг, описанный Биром в сопроводительной записке к его пробному эксплойту, позволяет производить прямую атаку на MIG.

По словам Бира, он воспользовался «недавним добавлением к ядру, возможно, использовавшемуся в качестве дебаггера, помогающего пронумеровать области, где ядро случайно раскрывает указатели в пользовательском пространстве. Текущая реализация нумерует kqueues и сбрасывает ряд значений из них».

Согласно собственным пояснениям Бира, он использовал уязвимость в proc_pidlistuptrs, чтобы выявить адрес произвольных значений ipc_ports. Затем он выполнял чтение областей разных размеров с помощью функции kalloc для обнаружения типичных утечек указателей ядра.

 

После этого он направил несколько запросов на Mach, чтобы получить «значительное количество областей местоположения kalloc». Набрав достаточное число местоположений портов, он составил страницу, содержавшую только «его» порты. Раскрытие адресов портов позволило выяснить «порт, который располагается на странице в определённых границах». Найдя его, исследователь применил уязвимость IOSurface для выявления висящего указателя к этому порту.

«Затем я очистил ранее определённые местоположения kalloc и все остальные порты, и приступил к заданию местоположений kalloc.4096 (снова с помощью запросов к Mach); тщательное перемещение (по 1 МБ за раз) спровоцировало активизацию функции «уборки мусора», благодаря чему была сформирована страница, на которую указывал висящий указатель».

Далее, как пояснил Beer, прием "bsdinfo->pid" позволл ему сформировать запрос, позволяющий выявить vm_map задачи ядра и ipc_space самого ядра, позволяя ему переместить буфер kalloc.4096 с портом фальшивой задачи ядра.

По словам Бира, эксплойт был протестирован на iPhone 6s, iPhone 7, iPod Touch 6G, а также Mac OS 10.13 на MacBook Air 5.2.

Версия для печатиВерсия для печати

Регион: 

Рубрики: 

Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Читайте также

 

Комментарии

Аватар пользователя savely

И опять mental молчит... 

Аватар пользователя mental

А что мне вам сказать? 

Аватар пользователя mike

mental пишет:

А что мне вам сказать? 

Похоже, он не нашёлся, что сказать.laugh

Эксперт по безопасности Google Project Zero Иен Бир (Ian Beer) обнаружил в ядре iOS версии 11.1.2 уязвимость, приводящую к повреждению памяти. По итогам исследования он написал концептуальный эксплойт, который теоретически можно использовать для джейлбрейка устройства на базе iOS.

 Ну хоть какой-то прогресс в деле джейлбрейка iOS. А то совсем у народа руки уже опустились, с джейлбрейком этим. (С)