Apple пытается создать для своих гаджетов на iOS репутацию самых защищенных в мире. Компания даже придумала слоган: «Что происходит на iPhone, остается на iPhone». Однако лишь за последние несколько месяцев исследователи нашли десятки «дыр», через которые данные пользователей могут попасть в руки злоумышленников. Эксперты говорят, что Apple сейчас должна перейти от закрытия отдельных уязвимостей к общему пересмотру архитектуры iOS и ее компонентов. И первыми стоит проанализировать браузер Safari и мессенджер iMessage, которые снижают защищенность системы.
«Дыры» в Safari и iMessage открывают злоумышленникам лишь общий доступ к iOS. Для более глубокого погружения в систему хакеру нужно использовать другие уязвимости операционной системы. Однако, как показала практика, именно поверхностные «дыры» в Safari и iMessage стали толчком для недавних громких взломов iOS.
«Если нужно скомпрометировать iPhone, эти два приложения являются лучшим способом это сделать, – говорит исследователь кибербезопасности Линус Хенц. Он стал знаменитым после обнаружения уязвимости в ноутбуках Apple, когда система macOS позволяла воровать ключи. Он и другие исследователи безопасности iOS говорят, что когда речь заходит о безопасности iMessage и браузерного движка WebKit, на котором основаны Safari и другие браузеры для iOS, чувствуется любовь Apple к собственному коду. – Apple доверяет своему программному коду больше, чем коду других. Они просто не принимают факт, что также допускают ошибки в своем коде».
Проблемы Safari
Яркий пример: Apple требует, чтобы все браузеры для iOS, включая Chrome, Firefox, Brave и другие, использовали один двигатель WebKit – на нем работает Safari. «На самом деле это похоже на запуск Safari с другим интерфейсом», – говорит Хенц. По его словам, Apple требует использования WebKit из-за того, что так можно использовать лайфхак под названием just-in-time (JIT), который позволяет быстрее выполнять скрипты JavaScript на сайтах. При этом если программы на iOS должны иметь криптографическую подпись Apple или аккаунт одобренного программиста, код JIT не требует этого.
Проблема в обязательном использовании WebKit заключается в том, что этот двигатель Apple в некоторых случаях менее безопасен, чем двигатель Chrome. Основатель компании Ret2 Эми Бурнет проводит тренинги по использованию уязвимостей Chrome и WebKit. Она говорит, что неясно, какой из двух браузеров имеет больше «дыр». Но она считает, что баги Chrome закрывают быстрее. Google также предлагает денежное вознаграждение за поиск «дыр» в Chrome. Apple предлагает деньги, лишь когда «дыра» в WebKit используется как элемент общей атаки на iOS.
Еще одним специфическим элементом архитектуры WebKit, который делает его более уязвимым, является «документная объектная модель», известная как WebCore. Исследователь Лука Тодеско говорит, что WebCore используется в WebKit для отображения сайтов. WebCore требует тщательного отслеживания всех объектов на странице, и любая ошибка может привести к сбою. Хакер может поместить на место сбоя нужный ему код.
Собственный вариант WebCore в Chrome имеет инструмент под названием «мусоросборщик». Он удаляет данные об уже несуществующих объектах, и если программист забыл убрать информацию, за него это сделает алгоритм.
Проблемы iMessage
«Дыры» в iMessage встречаются значительно реже, чем в WebKit, но при этом они значительно более угрожающие. Например, недавно исследователи разоблачили целую коллекцию уязвимостей в iMessage, которые позволяли удаленно захватывать контроль над iPhone.
Эксперты говорят, что природа этих индивидуальных багов iMessage одна – доступ хакеров к компоненту под названием «десериализатор», который распаковывает разные типы данных и пересылает их на устройство через iMessage. Исследователь Патрик Вардл сравнивает это с наполненной компонентами коробкой, из которых нужно собрать нужное. При этом не выполняется проверок безопасности. «Я могу положить компоненты бомбы в коробку, – говорит Вардл. – Если Apple позволяет десериализировать все эти объекты, это открывает доступ к угрожающим атакам».
Опасность повышает то, что iMessage имеет увеличенные права в iOS. Приложения не от Apple на iOS отделены от других жесткими песочницами. Благодаря этому, если стороннюю программу взломают, злоумышленник не сможет получить доступ к остальной части системы. «Я не понимаю, почему они не размещают iMessage в песочнице, – говорит Хенц. – Они должны допускать, что их код имеет дыры, и заботиться о его безопасности так же, как для сторонних приложений».
В итоге
Свою репутацию безопасной системы Apple построила на тщательном отборе приложений для публикации в магазине App Store. Но даже после этого компания изолирует посторонние утилиты от возможности широкого доступа к компонентам iOS. Но последние громкие найденные дыры показывают, что компании необходимо пересмотреть подход к своей системе безопасности. Это особенно касается собственных приложений Apple.
По материалам Wired