Помилка телефону 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 були спосіб оплати за допомогою мобільного телефону та компонент довіреного середовища виконання (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, набувають популярності на Заході. Але ця проблема ще більш актуальна для Далекого Сходу, де ринок мобільних платежів вже далеко попереду. За даними з Статисти, у 2021 році ця півкуля відповідала за повні дві третини мобільних платежів у всьому світі – загалом транзакції на суму близько чотирьох мільярдів доларів.

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

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

Часова мітка:

Більше від Уразливості