Ошибка телефона Xiaomi позволила подделать платеж

Мобильные транзакции могли быть отключены, созданы и подписаны злоумышленниками.

Производитель смартфонов Xiaomi, занимающий третье место в мире по производству телефонов после Apple и Samsung, сообщил, что устранил серьезную уязвимость в своей «доверенной среде», используемой для хранения платежных данных, которая открывала некоторые из его телефонов для атак.

Исследователи Check Point Research показал, На прошлой неделе в отчете, опубликованном на DEF CON, говорилось, что уязвимость смартфона Xiaomi могла позволить хакерам захватить систему мобильных платежей и отключить ее или создать и подписать свои собственные поддельные транзакции.

Потенциальный пул жертв был огромным, учитывая, что каждый седьмой смартфон в мире производится Xiaomi, согласно данным Q2/22 от Canalys. По данным Canalys, компания является третьим по величине поставщиком в мире.
Информационный бюллетень для инсайдеров Infosec«Мы обнаружили набор уязвимостей, позволяющих подделывать платежные пакеты или отключать платежную систему напрямую из непривилегированного Android-приложения. Нам удалось взломать WeChat Pay и внедрить полностью отработанное доказательство концепции», — написал Слава Маккавеев, исследователь безопасности Check Point.

Он сказал, что исследование Check Point знаменует собой первую проверку доверенных приложений Xiaomi на предмет проблем с безопасностью. WeChat Pay — это сервис мобильных платежей и цифровых кошельков, разработанный одноименной фирмой из Китая. Сервис используется более чем 300 миллионами клиентов и позволяет пользователям Android совершать мобильные платежи и онлайн-транзакции.

Недостаток

Неясно, как долго существовала уязвимость и использовались ли ею злоумышленники в дикой природе. Ошибка, отслеживаемая как CVE-2020-14125, был исправлен Xiaomi в июне и имеет высокий рейтинг серьезности CVSS.

«В некоторых моделях телефонов Xiaomi существует уязвимость отказа в обслуживании. Уязвимость вызвана внешним чтением/записью и может быть использована злоумышленниками для отказа в обслуживании», — говорится в распространенной уязвимости NIST и экспозиция описание бага.

Хотя детали воздействия ошибки были ограничены в то время, когда Xiaomi раскрыла уязвимость в июне, исследователи из Check Point изложили в своем вскрытии исправленную ошибку и полное потенциальное влияние уязвимости.

Основной проблемой телефона Xiaomi был способ оплаты мобильных телефонов и компонент Trusted Execution Environment (TEE) телефона. TEE — это виртуальный анклав телефона Xiaomi, отвечающий за обработку и хранение сверхчувствительной информации о безопасности, такой как отпечатки пальцев и криптографические ключи, используемые при подписании транзакций.

«Если не исправить, злоумышленник может украсть закрытые ключи, используемые для подписи контрольных и платежных пакетов WeChat Pay. В худшем случае непривилегированное Android-приложение могло создать и подписать поддельный платежный пакет», — пишут исследователи.

По данным Check Point, на телефоны с уязвимостью могли быть совершены два типа атак.

  • Из непривилегированного приложения Android: пользователь устанавливает вредоносное приложение и запускает его. Приложение извлекает ключи и отправляет поддельный платежный пакет, чтобы украсть деньги.
  • Если у злоумышленника есть целевые устройства в руках: злоумышленник рутирует устройство, затем понижает доверительную среду, а затем запускает код для создания поддельного платежного пакета без приложения.

Два способа зачистки TEE

Контроль TEE, согласно Check Point, является компонентом чипа MediaTek, который должен был присутствовать для проведения атаки. Чтобы было ясно, ошибка была не в чипе MediaTek — однако ошибка была исполняемой только в телефонах, сконфигурированных с процессором MediaTek.

«Азиатский рынок, — отмечают исследователи, — в основном представлен смартфонами на базе чипов MediaTek». Телефоны Xiaomi, работающие на чипах MediaTek, используют архитектуру TEE под названием «Kinibi», в рамках которой Xiaomi может встраивать и подписывать свои собственные доверенные приложения.

«Обычно доверенные приложения ОС Kinibi имеют формат MCLF» — Mobicore Loadable Format — «но Xiaomi решила придумать свой собственный». Однако в их собственном формате был недостаток: отсутствие контроля версий, без которого «злоумышленник может перенести старую версию доверенного приложения на устройство и использовать ее для перезаписи нового файла приложения». Подпись между версиями не меняется, поэтому TEE не видит разницы и загружает старую.

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

В качестве примера исследователи нацелились на «Tencent soter», встроенную платформу Xiaomi, предоставляющую API для сторонних приложений, которые хотят интегрировать мобильные платежи. Soter отвечает за проверку платежей между телефонами и внутренними серверами для сотен миллионов устройств Android по всему миру. Исследователи совершили путешествие во времени, чтобы использовать уязвимость произвольного чтения в приложении soter. Это позволило им украсть закрытые ключи, используемые для подписи транзакций.

Уязвимость произвольного чтения уже исправлена, а уязвимость контроля версий «исправляется».

Кроме того, исследователи придумали еще один трюк для эксплуатации сотера.

Используя обычное непривилегированное приложение для Android, они смогли связаться с доверенным приложением soter через «SoterService» — API для управления ключами soter. «На практике наша цель — украсть один из приватных ключей soter», — написали авторы. Однако, выполнив классическую атаку переполнения кучи, они смогли «полностью скомпрометировать платформу Tencent soter», предоставив гораздо больше возможностей, например, для подписи поддельных платежных пакетов.

Телефоны остаются неподконтрольными

Мобильные платежи уже принимаются БОЛЕЕ рассмотрение от исследователей безопасности, поскольку такие сервисы, как Apple Pay и Google Pay, набирают популярность на Западе. Но вопрос еще более актуален для Дальнего Востока, где рынок мобильных платежей уже далеко впереди. По данным из Statista, на это полушарие приходилось полных две трети мобильных платежей в мире в 2021 году — всего около четырех миллиардов долларов транзакций.

И все же азиатский рынок «пока еще недостаточно изучен», отмечают исследователи. «Никто не проверяет доверенные приложения, написанные производителями устройств, такими как Xiaomi, а не производителями чипов, хотя там реализовано управление безопасностью и ядро ​​мобильных платежей».

Как отмечалось ранее, Check Point утверждает, что доверенные приложения Xiaomi впервые были проверены на наличие проблем с безопасностью.

Отметка времени:

Больше от Уязвимости