Специалисты из Университета Индианы и Технологического института Джорджии опубликовали отчет о ряде 0-day уязвимостей в Apple iOS и OS X. Используя найденные дырки, исследователи сумели получить информацию, хранящуюся в Keychain, взломали «песочницу» и достали конфиденциальные данные из приложений Evernote, Facebook и не только.

Основой всему послужила атака XARA (Cross-App Resource Access), суть которой заключается в том, что крупные приложения могут предоставлять малвари доступ к информации других, легитимных приложений. Анализ 1612 самых популярных приложений для Mac и 200 для приложений iOS выявил, что 88.6% используют уязвимые для XARA-атак ресурсы системы.

Одна из обнаруженных исследователями проблем касается Keychain. Данная функция присутствует в iOS 7.0.3 и OS X 10.9 Mavericks и выше. Она предназначена для хранения аутентификационных данных, токенов, ключей, данных о банковских картах, информации о сетях Wi-Fi и так далее.

По сути, каждому приложению принадлежит свой, небольшой кусочек Keychain, доступ к которому, должен быть только у этого приложения. Но исследователи выяснили, что можно создать зловреда, который мимикрирует под атрибуты обычного приложения, обманув Keychain.

Приведу пример. Пользователь скачал условное приложение «A» и создает пароль для него. В Keychain будет произведен поиск соответствующих атрибутов, чтобы понять, куда поместить идентификационные данные, вдруг в системе уже есть такое приложение? Если перед этим пользователь установил приложение-малварь, которое заранее подделало атрибуты приложения «А», система сохранит аутефикационную информацию таким образом, что доступ к ней будут иметь оба приложения – настоящее приложение «А» и малварь, созданная хакерами. И даже если пользователь установит вредоносное приложение после установки легитимного, произойдет то же самое. Более того, существующая в Keychain запись вообще может быть удалена другим неавторизованным приложением.

Исследователи протестировали свою атаку на Keychain на Apple’s Internet Accounts и Google Chrome на OS X 10.10. Им удалось извлечь аутентификационные токены для аккаунтов iCloud и Facebook. Согласно отчету, Apple заблокировала возможность такой атаки на iCloud в 10.10.4, но это не остановит хакеров, которые могут просто удалить из Keychain запись.

Еще одна большая проблема лежит в «песочнице» Mac’ов. Чтобы защитить приложения от влияния извне, всему софту присваиваются идентификаторы Bundle ID (BID), которые определяют, что может делать то или иное приложение вне своего контейнера, и какие данные ему доступны. Данные идентификаторы должны быть уникальны для каждого приложения, и Apple проверяет на дубликаты все, что добавляют в App Store. Однако Apple не справляется с проверкой подпрограмм в приложениях. Подпрограммы могут использовать тот же BID, что и другое легитимное приложение. Получается, что оба приложения работают в одной «песочнице» и имеют доступ к данным друг друга.

Также была обнаружена уязвимость в протоколе WebSocket, интегрированном в HTML5. Этим протоколом пользуется WebView в браузере, когда делает запрос к другому приложению в системе, через конкретный TCP-порт. Никакой аутентификации здесь просто нет, так что вредоносное приложение без проблем может получить доступ к контенту и прослушать данный порт.

Все вышеупомянутое относилось только к OS X, но еще одна уязвимость затрагивает, в том числе, и iOS. Как известно, приложения в обеих ОС могут делить друг с другом задачи, используя URL-схемы. В данном случае, как и в случае с WebSocket, атакующий может создать вредоносное приложение, которое будет использовать такую же URL-схему, что и другое, нормальное приложение. Скажем, в системе появилось два приложения, и оба заявляют, что умеют открывать ссылки. Android в таких случаях спрашивает у пользователя, каким именно приложением ему воспользоваться. Устройства Apple не спрашивают ничего и не имеют никаких механизмов авторизации на такой случай. OS X просто выберет приложение, которое успело отозваться первым. iOS, напротив, отдаст предпочтение приложению, которое ответило последним. В результате малварь снова может «дублировать» функциональность легального приложения, отсылая данные куда захочет и делая, что пожелает.

Примечательно, что для проведения испытаний, авторы отчета написали собственное приложение для кражи логинов и паролей, и Apple пропустила его как в App Store, так и Mac App Store.

Также исследователи утверждают, что сообщили обо всех найденных 0-day в Apple еще в октябре 2014 года, однако за прошедшие полгода в Купертино так и не занялись устранением перечисленных дырок. Устав ждать, исследователи обнародовали данные.

Фото: andylangager@flickr

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    4 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии