Security Week 40: уязвимость в BootROM мобильных устройств Apple

Security Week 40: уязвимость в BootROM мобильных устройств Apple
В зависимости от ваших предпочтений к этой новости можно подобрать один из двух заголовков. Либо «серьезная уязвимость обнаружена в мобильных устройствах Apple вплоть до iPhone X», либо «наконец-то придумали новый способ для джейлбрейка iДевайсов (но это не точно)». Насчет джейлбрейка пока и правда не ясно (хотя с большой вероятностью новые способы взлома айфонов появятся), а вот уязвимость, похоже, реальна. Хакер, известный как axi0mX, выложил в свободный доступ эксплойт для бага в BootRom ряда мобильных устройств Apple. Деталей об уязвимости пока немного, известно только, что эксплуатируется некое race condition . Но самое важное, что уязвимость впервые за долгое время найдена в коде, который используется для первоначальной загрузки устройства и хранится в ПЗУ, то есть к ней еще и нельзя выпустить патч.

Эксплойт, названный checkm8 (читается как checkmate, «шах и мат»), сам по себе ни на что не способен: он лишь позволяет выполнить произвольный код в процессе загрузки телефона. Что этот код будет делать дальше — большой вопрос, так как BootRom хоть и важный, но не единственный механизм защиты мобильных устройств Apple. Точно известно, что напрямую получить доступ к личным данным пользователя не получится — систему Secure Enclave эксплойт не обходит. В общем, это плохая новость, хорошая новость, плохая новость. Плохая новость: баг есть там, где его нельзя починить. Хорошая новость: данные пользователей, скорее всего, в безопасности. Плохая новость: комбинация этой уязвимости с другими теоретически может дать большие возможности как мирным исследователям безопасности iOS, так и злоумышленникам.

Подробнее об уязвимости можно узнать в этой новости, в интервью автора эксплойта изданию ArsTechnica и на гитхабе .

На Github эксплойт chekm8 выложен в составе утилиты для перепрошивки устройств Apple, вместе с более ранним творением того же автора — эксплойтом alloc8 для телефона iPhone 3Gs, который был опубликован в 2017 году. Понятно, что эксплойт для устройства 2009 года в 2017-м имел чисто теоретический интерес, но он, в отличие от checkm8, перманентный (tethered), то есть возможность выполнения произвольного кода (и полного джейлбрейка устройства) сохраняется после перезагрузки. Checkm8 такой особенности не имеет: после перезагрузки он превращается в тыкву требуется повторный взлом устройства, которое нужно подключить к компьютеру и перевести в режим восстановления прошивки. Отсюда выводится еще одна характеристика уязвимости: ее невозможно эксплуатировать удаленно.

de948e014a28a7dc8cf238dddd1582f8.png

В интервью ArsTechnica автор эксплойта высказывается более осторожно, чем у себя в Твиттере. Почти на все вопросы журналистов он отвечает: «возможно» и «зависит от обстоятельств». Точно определен только список подверженных устройств: это все мобильные девайсы Apple, начиная с iPhone 4 и заканчивая iPhone X. Хотя здесь правильно будет говорить о версиях SoC: подвержены почти все вплоть до A11, исключая только самые современные смартфоны и планшеты на базе чипов A12 и A13. В статье Arstechnica также упоминается, что баг присутствует и в часах Apple Watch. Успешная эксплуатация уязвимости позволяет как минимум расшифровать загрузочный код устройства и включить интерфейс для отладки (JTAG).

Хакер axi0mX у себя в Твиттере говорит о невероятной пользе такого эксплойта для исследователей безопасности устройств Apple. И возможно, «пользу» (если правильно говорить об уязвимости, опубликованной в обход вендора) только исследователи и оценят. Пока что не существует полноценного джейлбрейка любого из подверженных устройств, позволяющего получить права суперпользователя в iOS и установить альтернативный магазин приложений Cydia.

7c8a1aea972443866af32afede3c1f8d.png

Гарантии доступа к данным на устройстве эксплойт, как мы уже упоминали, тоже не дает. Поэтому его ценность для государственных органов и всех, кто желает получить информацию с заблокированного устройства без ведома пользователя, сомнительна. У тех, кто занимается криминалистической экспертизой устройств, наверняка есть другие способы получения информации, и, как было показано недавно, они могут оказаться проще, чем свежеоткрытый эксплойт. Список возможностей из твита выше (перепрошивка устройства на любую другую версию iOS, загрузка альтернативных iOS, брутфорс пароля пользователя) — это скорее потенциальные последствия, а не суровая реальность.

45bdb1e20741efc6134c0cf62e693ee2.png

Впрочем, посмотрим. Через два дня после первой публикации axi0mX выложил видео, в котором показывает загрузку самой свежей версии iOS в режиме verbose. Само по себе это также ничего не доказывает, но говорит о том, что специалистам теперь будет чем заняться. Рекомендации (капитанские, но все же важные) такие: если вы политик диссидент параноик хотите максимально защитить свои данные на iPhone, пора купить устройство посвежее, не подверженное данной уязвимости. Установите не простой пасскод из цифр, а полноценный пароль с комбинацией цифр, букв и спецсимволов. Это затруднит брутфорс, даже если появится возможность для его проведения. Всем остальным переживать пока не стоит: Apple вполне способна снизить потенциал незакрываемой уязвимости в ROM там, где софт можно обновить. Несмотря на победный тон сообщений, даже сам автор эксплойта признает, что безопасность у Apple на высоте. Интересно, не изменится ли это отношение благодаря новым открытиям, которые исследователи сделают, воспользовавшись эксплойтом? Судя по всему, для изучения кода iOS без санкции Apple это почти идеальный инструмент.

Disclaimer: Мнения, изложенные в этом дайджесте, могут не совпадать с официальной позицией «Лаборатории Касперского». Дорогая редакция вообще рекомендует относиться к любым мнениям со здоровым скептицизмом.
Alt text