Apple iOS - эта самая популярная и современная операционная система для мобильных устройств.
- К концу июня 2012 года Apple продала 400 миллионов устройств на базе iOS, таких как iPhone, iPad и iPod touch. Несмотря на огромную популярность, в истории iOS было обнаружено всего несколько ma-вредоносных приложений. Это в основном объясняется усовершенствованной архитектурой безопасности iOS и строгими правилами App Store.
В дополнение к стандартным функциям безопасности, таким как рандомизация Ad-dress Space Layout Randomization (ASLR), Data Exe-cution Prevention (DEP) и Sandboxing, iOS внедряет обязательные механизмы App Review и подписания кода. App Review проверяет каждое приложение, предоставленное третьими лицами (в двоичной форме) и позволяет ему заходить в App Store только в том случае, если оно не нарушает правила App Store. Для дальнейшего запрещения приложений, распространяемых по каналам, отличным от App Store, механизм подписания кода запрещает использование неподписанного кода на устройствах с iOS. В результате все другие приложения, работающие на устройствах с iOS, должны быть одобрены компанией Apple и не могут быть изменены после получения разрешения.
- Согласно официальным инструкциям App Review, разработчики должны ожидать, что их приложения подвергнутся тщательной проверке на предмет возможных нарушений сроков. В ходе этого процесса многие причины могут привести к отказу приложений, такие как кража данных у пользователей и использование частных API, зарезервированных для системных приложений.
- Хотя технические детали процесса рецензирования в основном остаются неизвестными, широко распространено мнение, что такая избирательная и централизованная модель распространения приложений значительно увеличила сложность и стоимость вредоносных или злонамеренных приложений для конечных пользователей.
Здесь я хочу рассказать о новом методе атаки на процесс проверки App Store и механизм подписания кода. Используя этот метод, злоумышленники могут создавать вредоносные или нарушающие неприкосновенность частной жизни приложения, а также публиковать их в App Store, что в свою очередь открывает новые области атак на устройства под управлением iOS.
Хочу подчеркнуть, что наша атака не предполагает никаких подробностей о том, как Apple рассматривает приложения, а направлена на преодоление теоретических трудностей, с которыми сталкиваются все известные производители метамфетамина для анализа программ. Демонстрируя силу этой практической атаки, я рассказываю о недостатках подхода к предварительному обзору релизов и призываем к созданию дополнительных механизмов мониторинга в режиме реального времени для защиты пользователей iOS в будущем.
Благодаря механизму песочницы доступ к файлам, хранящимся в других приложениях, приложениям iOS перестает быть доступным. Как бы то ни было, iOS предоставляет форму межпроцессного взаимодействия (IPC) между приложениями, использующими обработчики схем URL. Если приложение регистрируется для работы с типом URL-адреса, другие приложения могут запускать и передавать сообщения в это приложение, открывая схему URL-адреса этого типа. Схемы URL-адресов http, mailto, tel и sms поддерживаются встроенными приложениями в iOS. Например, приложение, открывающее http URL-адрес, заставит встроенный браузер Mobile Safari запустить и загрузить веб-страницу. Поскольку злоумышленники могут полностью контролировать content в запросе URL, то такое приложение Jekyll имеет возможность атаковать другие приложения, которые имеют уязвимости при обработке неправильно сформированных запросов URL.
- В доказательство своей концепции Jekyll продемонстрировал атаку на Mobile Safari, в частности, подготовил веб-страницу с вредоносным JavaScript-кодом, который может вызвать незапланированную уязвимость в Mobile Safari. С помощью такого приложения Jekyll можно заставить Мобильное сафари жертвы получить доступ к этой веб-странице.
Наконец, при загрузке веб-страницы из-за ошибки памяти произойдет сбой Mobile Safari, известный инструмент побега из тюрьмы, завершает несвязанный побег через использование уязвимости в Mobile Safari, а затем использует уязвимость ядра. Если новые уязвимости в Mobile Safari будут обнаружены другими исследователями в будущем, а сейчас можно просто воспользоваться этими новыми уязвимостями для запуска подобных мощных атак.
Здесь я рассказал о новой схеме атаки, которая может использоваться разработчиками недругами iOS, чтобы обойти процесс обзора мандатных приложений. Основная идея заключается в том, чтобы динамически вводить новые пути выполнения, которых нет в коде приложения, как описано в Apple. В частности, злоумышленники могут аккуратно поместить несколько искусственных уязвимостей в доброкачественное приложение, а затем внедрить вредоносную логику, разложив ее на отключенные гаджеты кода и скрыв гаджеты во всем пространстве кода приложения.
Такое, казалось бы, доброкачественное приложение может пройти проверку, потому что оно не нарушает никаких правил, навязанных Apple, и не содержит функциональных злонамеренных действий. Однако, когда жертва загружает и запускает приложение, злоумышленники могут удаленно использовать установленные vulnera-устройства и, в свою очередь, собирать устройства для выполнения различных вредоносных задач.
- Я показал универсальность такой атаки, проведя широкий спектр вредоносных операций. Еще недавно обнаруженные нами частные API в iOS, которые могут быть использованы для отправки электронной почты, SMS и твитов без согласия пользователя.
Такое проверенное временем вредоносное приложение было успешно опубликовано в App Store и протестировано на контролируемой группе пользователей. Даже запущенное внутри iOS песочницы, приложение может незаметно размещать твиты, фотографировать, собирать идентификационные данные устройств, отправлять электронную почту и SMS, атаковать другие приложения и даже использовать уязвимости ядра.